#
tokens: 49901/50000 13/19 files (page 1/7)
lines: on (toggle) GitHub
raw markdown copy reset
This is page 1 of 7. Use http://codebase.md/jayarrowz/mcp-osrs?lines=true&page={x} to view the full context.

# Directory Structure

```
├── .gitattributes
├── .gitignore
├── data
│   ├── iftypes.txt
│   ├── invtypes.txt
│   ├── loctypes.txt
│   ├── npctypes.txt
│   ├── objtypes.txt
│   ├── rowtypes.txt
│   ├── seqtypes.txt
│   ├── soundtypes.txt
│   ├── spottypes.txt
│   ├── spritetypes.txt
│   ├── tabletypes.txt
│   ├── varbittypes.txt
│   └── varptypes.txt
├── Dockerfile
├── glama.json
├── index.ts
├── LICENSE
├── package-lock.json
├── package.json
├── README.md
├── smithery.yaml
└── tsconfig.json
```

# Files

--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------

```
1 | node_modules
2 | dist
```

--------------------------------------------------------------------------------
/.gitattributes:
--------------------------------------------------------------------------------

```
1 | # Auto detect text files and perform LF normalization
2 | * text=auto
3 | 
```

--------------------------------------------------------------------------------
/README.md:
--------------------------------------------------------------------------------

```markdown
  1 | [![MseeP.ai Security Assessment Badge](https://mseep.net/pr/jayarrowz-mcp-osrs-badge.png)](https://mseep.ai/app/jayarrowz-mcp-osrs)
  2 | 
  3 | # OSRS MCP Server [![smithery badge](https://smithery.ai/badge/@jayarrowz/mcp-osrs)](https://smithery.ai/server/@jayarrowz/mcp-osrs)
  4 | 
  5 | MCP Server for interacting with the Old School RuneScape (OSRS) Wiki API and data files. This server provides tools to search the OSRS Wiki and access game data definitions through the Model Context Protocol.
  6 | 
  7 | <a href="https://glama.ai/mcp/servers/@JayArrowz/mcp-osrs">
  8 |   <img width="380" height="200" src="https://glama.ai/mcp/servers/@JayArrowz/mcp-osrs/badge" alt="OSRS Server MCP server" />
  9 | </a>
 10 | 
 11 | ![image](https://github.com/user-attachments/assets/da9d1f48-513d-4a1b-a65b-56f8a012fa83)
 12 | 
 13 | ![image](https://github.com/user-attachments/assets/9e7e4e07-6e47-44f9-ab0c-b3835418bd37)
 14 | 
 15 | ![image](https://github.com/user-attachments/assets/628f35e1-2e85-42f4-8693-4ef4f16591d4)
 16 | 
 17 | 
 18 | ## Tools
 19 | 
 20 | This server implements the following tools:
 21 | 
 22 | ### OSRS Wiki Methods
 23 | 1. `osrs_wiki_search` - Search the OSRS Wiki for pages matching a search term
 24 | 2. `osrs_wiki_get_page_info` - Get information about specific pages on the OSRS Wiki
 25 | 3. `osrs_wiki_parse_page` - Get the parsed HTML content of a specific OSRS Wiki page
 26 | 
 27 | ### Game Data Search Methods
 28 | 4. `search_varptypes` - Search the varptypes.txt file for player variables (varps) that store player state and progress
 29 | 5. `search_varbittypes` - Search the varbittypes.txt file for variable bits (varbits) that store individual bits from varps
 30 | 6. `search_iftypes` - Search the iftypes.txt file for interface definitions used in the game's UI
 31 | 7. `search_invtypes` - Search the invtypes.txt file for inventory type definitions in the game
 32 | 8. `search_loctypes` - Search the loctypes.txt file for location/object type definitions in the game world
 33 | 9. `search_npctypes` - Search the npctypes.txt file for NPC (non-player character) definitions
 34 | 10. `search_objtypes` - Search the objtypes.txt file for object/item definitions in the game
 35 | 11. `search_rowtypes` - Search the rowtypes.txt file for row definitions used in various interfaces
 36 | 12. `search_seqtypes` - Search the seqtypes.txt file for animation sequence definitions
 37 | 13. `search_soundtypes` - Search the soundtypes.txt file for sound effect definitions in the game
 38 | 14. `search_spottypes` - Search the spottypes.txt file for spot animation (graphical effect) definitions
 39 | 15. `search_spritetypes` - Search the spritetypes.txt file for sprite image definitions used in the interface
 40 | 16. `search_tabletypes` - Search the tabletypes.txt file for interface tab definitions
 41 | 
 42 | ### Generic Data File Methods
 43 | 17. `search_data_file` - Search any file in the data directory for matching entries
 44 | 18. `get_file_details` - Get details about a file in the data directory
 45 | 19. `list_data_files` - List available data files in the data directory
 46 | 
 47 | ## Installation
 48 | 
 49 | ### Installing via Smithery
 50 | To install mcp-osrs for Claude Desktop automatically via [Smithery](https://smithery.ai/embed/@jayarrowz/mcp-osrs):
 51 | 
 52 | ```bash
 53 | npx @smithery/cli@latest install @jayarrowz/mcp-osrs --client claude
 54 | ```
 55 | 
 56 | ### Prerequisites
 57 | - Node.js (v16 or later)
 58 | - npm or yarn
 59 | 
 60 | ### Installing the package
 61 | ```bash
 62 | # Clone the repository
 63 | git clone https://github.com/jayarrowz/mcp-osrs.git
 64 | cd mcp-osrs
 65 | 
 66 | # Install dependencies
 67 | npm install
 68 | 
 69 | # Build the package
 70 | npm run build
 71 | ```
 72 | 
 73 | ## Usage with Claude Desktop
 74 | 
 75 | Add the following to your `claude_desktop_config.json`:
 76 | 
 77 | ### Using npx
 78 | ```json
 79 | {
 80 |   "mcpServers": {
 81 |     "osrs": {
 82 |       "command": "npx",
 83 |       "args": ["-y", "@jayarrowz/mcp-osrs"]
 84 |     }
 85 |   }
 86 | }
 87 | ```
 88 | 
 89 | ### Direct Node.js
 90 | ```json
 91 | {
 92 |   "mcpServers": {
 93 |     "osrs": {
 94 |       "command": "node",
 95 |       "args": ["/path/to/mcp-osrs/dist/index.js"]
 96 |     }
 97 |   }
 98 | }
 99 | ```
100 | 
101 | Replace `/path/to/mcp-osrs` with the actual path to your repository.
102 | 
103 | ## Examples
104 | 
105 | ### Search the OSRS Wiki
106 | ```javascript
107 | // Search for information about the Abyssal whip
108 | const result = await callTool("osrs_wiki_search", { 
109 |   search: "Abyssal whip" 
110 | });
111 | ```
112 | 
113 | ### Get Page Information
114 | ```javascript
115 | // Get information about a specific wiki page
116 | const pageInfo = await callTool("osrs_wiki_get_page_info", { 
117 |   titles: "Abyssal_whip" 
118 | });
119 | ```
120 | 
121 | ### Search Game Data
122 | ```javascript
123 | // Search for items in the object definitions
124 | const items = await callTool("search_objtypes", { 
125 |   query: "dragon",
126 |   page: 1,
127 |   pageSize: 10
128 | });
129 | ```
130 | 
131 | ### List Available Data Files
132 | ```javascript
133 | // Get a list of all data files
134 | const files = await callTool("list_data_files", {});
135 | ```
136 | 
137 | ## Development
138 | ```bash
139 | # Install dependencies
140 | npm install
141 | 
142 | # Start the server in development mode
143 | npm start
144 | 
145 | # Build the server
146 | npm run build
147 | ```
148 | 
149 | ## License
150 | This MCP server is licensed under the MIT License. This means you are free to use, modify, and distribute the software, subject to the terms and conditions of the MIT License. For more details, please see the LICENSE file in the project repository.
```

--------------------------------------------------------------------------------
/glama.json:
--------------------------------------------------------------------------------

```json
1 | {
2 |     "$schema": "https://glama.ai/mcp/schemas/server.json",
3 |     "maintainers": [
4 |       "JayArrowz"
5 |     ]
6 |   }
```

--------------------------------------------------------------------------------
/smithery.yaml:
--------------------------------------------------------------------------------

```yaml
 1 | startCommand:
 2 |   type: "stdio"
 3 |   configSchema:
 4 |     type: "object"
 5 |     properties: {}
 6 |     additionalProperties: false
 7 |   commandFunction:
 8 |     # A JS function that produces the CLI command based on the given config to start the MCP on stdio.
 9 |     |-
10 |     (config) => ({
11 |       command: 'node',
12 |       args: ['dist/index.js']
13 |     })
14 | 
```

--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------

```json
 1 | {
 2 |     "compilerOptions": {
 3 |       "target": "ES2020",
 4 |       "module": "ESNext",
 5 |       "moduleResolution": "node",
 6 |       "esModuleInterop": true,
 7 |       "outDir": "./dist",
 8 |       "rootDir": ".",
 9 |       "strict": true,
10 |       "declaration": true,
11 |       "skipLibCheck": true,
12 |       "allowSyntheticDefaultImports": true
13 |     },
14 |     "include": [
15 |       "./**/*.ts"
16 |     ],
17 |     "exclude": [
18 |       "node_modules",
19 |       "**/*.test.ts"
20 |     ]
21 |   }
```

--------------------------------------------------------------------------------
/Dockerfile:
--------------------------------------------------------------------------------

```dockerfile
 1 | # Generated by https://smithery.ai. See: https://smithery.ai/docs/config#dockerfile
 2 | FROM node:lts-alpine
 3 | 
 4 | WORKDIR /app
 5 | 
 6 | # Copy package files and install dependencies
 7 | COPY package.json package-lock.json ./
 8 | COPY data ./data
 9 | RUN npm install --ignore-scripts
10 | 
11 | # Copy the remainder of the application
12 | COPY . .
13 | 
14 | # Build the application
15 | RUN npm run build
16 | 
17 | # Expose port if necessary (optional)
18 | # EXPOSE 3000
19 | 
20 | CMD [ "node", "dist/index.js" ]
21 | 
```

--------------------------------------------------------------------------------
/package.json:
--------------------------------------------------------------------------------

```json
 1 | {
 2 |   "name": "@jayarrowz/mcp-osrs",
 3 |   "version": "0.7.2",
 4 |   "description": "MCP server for Old School RuneScape Wiki API",
 5 |   "license": "MIT",
 6 |   "author": "Jay Arrowz (https://github.com/jayarrowz)",
 7 |   "homepage": "https://github.com/jayarrowz/mcp-osrs",
 8 |   "bugs": "https://github.com/jayarrowz/mcp-osrs/issues",
 9 |   "type": "module",
10 |   "bin": {
11 |     "mcp-osrs": "dist/index.js"
12 |   },
13 |   "files": [
14 |     "dist"
15 |   ],
16 |   "scripts": {
17 |     "build": "rimraf ./dist && tsc && shx chmod +x dist/*.js && npm run copy-data",
18 |     "prepare": "npm run build",
19 |     "watch": "tsc --watch",
20 |     "generate-api": "npx swagger-typescript-api -p openapi.yaml -o ./src/api/ --axios",
21 |     "test": "node --experimental-vm-modules node_modules/jest/bin/jest.js",
22 |     "start": "node dist/index.js",
23 |     "copy-data": "copyfiles -u 1 \"data/**/*\" dist/data"
24 |   },
25 |   "dependencies": {
26 |     "@modelcontextprotocol/sdk": "^1.7.0",
27 |     "axios": "^1.8.4",
28 |     "axios-retry": "^4.5.0",
29 |     "zod": "^3.24.2",
30 |     "zod-to-json-schema": "^3.24.4"
31 |   },
32 |   "devDependencies": {
33 |     "@types/jest": "^29.5.12",
34 |     "copyfiles": "^2.4.1",
35 |     "jest": "^29.7.0",
36 |     "rimraf": "^6.0.1",
37 |     "shx": "^0.3.4",
38 |     "ts-jest": "^29.1.2",
39 |     "typescript": "^5.6.2"
40 |   }
41 | }
42 | 
```

--------------------------------------------------------------------------------
/index.ts:
--------------------------------------------------------------------------------

```typescript
  1 | #!/usr/bin/env node
  2 | 
  3 | import { Server } from "@modelcontextprotocol/sdk/server/index.js";
  4 | import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
  5 | import {
  6 |     CallToolRequestSchema,
  7 |     ListToolsRequestSchema,
  8 | } from "@modelcontextprotocol/sdk/types.js";
  9 | import { z } from 'zod';
 10 | import axios from 'axios';
 11 | import { zodToJsonSchema } from 'zod-to-json-schema';
 12 | import fs from 'fs';
 13 | import path from 'path';
 14 | import readline from 'readline';
 15 | import { fileURLToPath } from 'url';
 16 | 
 17 | const __filename = fileURLToPath(import.meta.url);
 18 | const __dirname = path.dirname(__filename);
 19 | const DATA_DIR = path.join(__dirname, 'data');
 20 | 
 21 | const responseToString = (response: any) => {
 22 |     const contentText = typeof response === 'string' ? response : JSON.stringify(response);
 23 |     return {
 24 |         content: [{ type: "text", text: contentText }]
 25 |     };
 26 | };
 27 | 
 28 | const osrsApiClient = axios.create({
 29 |     baseURL: 'https://oldschool.runescape.wiki/api.php',
 30 |     params: {
 31 |         format: 'json'
 32 |     }
 33 | });
 34 | 
 35 | const OsrsWikiSearchSchema = z.object({
 36 |     search: z.string().describe("The term to search for on the OSRS Wiki"),
 37 |     limit: z.number().int().min(1).max(50).optional().describe("Number of results to return (1-50)"),
 38 |     offset: z.number().int().min(0).optional().describe("Offset for pagination (0-based)")
 39 | });
 40 | 
 41 | const OsrsWikiGetPageInfoSchema = z.object({
 42 |     titles: z.string().describe("Comma-separated list of page titles to get info for (e.g., Dragon_scimitar,Abyssal_whip)")
 43 | });
 44 | 
 45 | const OsrsWikiParsePageSchema = z.object({
 46 |     page: z.string().describe("The exact title of the wiki page to parse (e.g., 'Dragon scimitar', 'Abyssal whip'). Case-sensitive.")
 47 | });
 48 | 
 49 | const FileSearchSchema = z.object({
 50 |     query: z.string().describe("The term to search for in the file"),
 51 |     page: z.number().int().min(1).optional().default(1).describe("Page number for pagination"),
 52 |     pageSize: z.number().int().min(1).max(100).optional().default(10).describe("Number of results per page")
 53 | });
 54 | 
 55 | const GenericFileSearchSchema = z.object({
 56 |     filename: z.string().describe("The filename to search in the data directory (e.g., 'varptypes.txt')"),
 57 |     query: z.string().describe("The term to search for in the file"),
 58 |     page: z.number().int().min(1).optional().default(1).describe("Page number for pagination"),
 59 |     pageSize: z.number().int().min(1).max(100).optional().default(10).describe("Number of results per page")
 60 | });
 61 | 
 62 | const FileDetailsSchema = z.object({
 63 |     filename: z.string().describe("The filename to get details for in the data directory")
 64 | });
 65 | 
 66 | const ListDataFilesSchema = z.object({
 67 |     fileType: z.string().optional().describe("Optional filter for file type (e.g., 'txt')")
 68 | });
 69 | 
 70 | function convertZodToJsonSchema(schema: z.ZodType<any>) {
 71 |   const jsonSchema = zodToJsonSchema(schema);
 72 |   delete jsonSchema.$schema;
 73 |   delete jsonSchema.definitions;
 74 |   return {
 75 |     ...jsonSchema
 76 |   };
 77 | }
 78 | 
 79 | const server = new Server(
 80 |     {
 81 |         name: "mcp-osrs",
 82 |         version: "0.1.0" 
 83 |     },
 84 |     {
 85 |         capabilities: {
 86 |             tools: {}
 87 |         }
 88 |     }
 89 | );
 90 | 
 91 | /**
 92 |  * Search through a file for matching lines
 93 |  * @param filePath Path to the file to search
 94 |  * @param searchTerm Term to search for
 95 |  * @param page Page number for pagination
 96 |  * @param pageSize Number of results per page
 97 |  * @returns Object containing results and pagination info
 98 |  */
 99 | async function searchFile(filePath: string, searchTerm: string, page: number = 1, pageSize: number = 10): Promise<any> {
100 |     //replace spaces with underscores
101 |     searchTerm = searchTerm.replace(" ", "_");
102 |     return new Promise((resolve, reject) => {
103 |         if (!fs.existsSync(filePath)) {
104 |             reject(new Error(`File not found: ${filePath}`));
105 |             return;
106 |         }
107 | 
108 |         const results: {line: string, lineNumber: number}[] = [];
109 |         const fileStream = fs.createReadStream(filePath);
110 |         const rl = readline.createInterface({
111 |             input: fileStream,
112 |             crlfDelay: Infinity
113 |         });
114 | 
115 |         let lineNumber = 0;
116 |         
117 |         rl.on('line', (line) => {
118 |             lineNumber++;
119 |             if (line.toLowerCase().includes(searchTerm.toLowerCase())) {
120 |                 results.push({ line, lineNumber });
121 |             }
122 |         });
123 | 
124 |         rl.on('close', () => {
125 |             const totalResults = results.length;
126 |             const totalPages = Math.ceil(totalResults / pageSize);
127 |             const startIndex = (page - 1) * pageSize;
128 |             const endIndex = startIndex + pageSize;
129 |             const paginatedResults = results.slice(startIndex, endIndex);
130 | 
131 |             // Process the results to extract key-value pairs if possible
132 |             const formattedResults = paginatedResults.map(result => {
133 |                 // Try to format as key-value pair (common for ID data files)
134 |                 const parts = result.line.split(/\s+/);
135 |                 if (parts.length >= 2) {
136 |                     const id = parts[0];
137 |                     const value = parts.slice(1).join(' ');
138 |                     return {
139 |                         ...result,
140 |                         id,
141 |                         value,
142 |                         formatted: `${id}\t${value}`
143 |                     };
144 |                 }
145 |                 return result;
146 |             });
147 | 
148 |             resolve({
149 |                 results: formattedResults,
150 |                 pagination: {
151 |                     page,
152 |                     pageSize,
153 |                     totalResults,
154 |                     totalPages,
155 |                     hasNextPage: page < totalPages,
156 |                     hasPreviousPage: page > 1
157 |                 }
158 |             });
159 |         });
160 | 
161 |         rl.on('error', (err) => {
162 |             reject(err);
163 |         });
164 |     });
165 | }
166 | 
167 | /**
168 |  * Check if a file exists in the data directory
169 |  * @param filename The filename to check
170 |  * @returns Boolean indicating if the file exists
171 |  */
172 | function fileExists(filename: string): boolean {
173 |     const filePath = path.join(DATA_DIR, filename);
174 |     return fs.existsSync(filePath);
175 | }
176 | 
177 | /**
178 |  * Get data file details
179 |  * @param filename The filename to get details for
180 |  * @returns Object with file details
181 |  */
182 | function getFileDetails(filename: string): any {
183 |     try {
184 |         const filePath = path.join(DATA_DIR, filename);
185 |         if (!fs.existsSync(filePath)) {
186 |             return { exists: false };
187 |         }
188 | 
189 |         const stats = fs.statSync(filePath);
190 |         const lineCount = getFileLineCount(filePath);
191 | 
192 |         return {
193 |             exists: true,
194 |             size: stats.size,
195 |             lineCount,
196 |             created: stats.birthtime,
197 |             lastModified: stats.mtime
198 |         };
199 |     } catch (error) {
200 |         console.error(`Error getting file details for ${filename}:`, error);
201 |         return { exists: false, error: 'Error getting file details' };
202 |     }
203 | }
204 | 
205 | /**
206 |  * Get the number of lines in a file
207 |  * @param filePath Path to the file
208 |  * @returns Number of lines in the file
209 |  */
210 | function getFileLineCount(filePath: string): number {
211 |     try {
212 |         const content = fs.readFileSync(filePath, 'utf8');
213 |         return content.split('\n').length;
214 |     } catch (error) {
215 |         console.error(`Error counting lines in ${filePath}:`, error);
216 |         return 0;
217 |     }
218 | }
219 | 
220 | /**
221 |  * List all data files in the data directory
222 |  * @param fileType Optional filter for file type
223 |  * @returns Array of file names
224 |  */
225 | function listDataFiles(fileType?: string): string[] {
226 |     try {
227 |         const files = fs.readdirSync(DATA_DIR);
228 |         
229 |         if (fileType) {
230 |             return files.filter(file => file.endsWith(`.${fileType}`));
231 |         }
232 |         
233 |         return files;
234 |     } catch (error) {
235 |         console.error("Error listing data files:", error);
236 |         return [];
237 |     }
238 | }
239 | 
240 | server.setRequestHandler(ListToolsRequestSchema, async () => {
241 |     return {
242 |         tools: [
243 |             {
244 |                 name: "osrs_wiki_search",
245 |                 description: "Search the OSRS Wiki for pages matching a search term.",
246 |                 inputSchema: convertZodToJsonSchema(OsrsWikiSearchSchema),
247 |             },
248 |             {
249 |                 name: "osrs_wiki_get_page_info",
250 |                 description: "Get information about specific pages on the OSRS Wiki.",
251 |                 inputSchema: convertZodToJsonSchema(OsrsWikiGetPageInfoSchema),
252 |             },
253 |             {
254 |                 name: "osrs_wiki_parse_page",
255 |                 description: "Get the parsed HTML content of a specific OSRS Wiki page.",
256 |                 inputSchema: convertZodToJsonSchema(OsrsWikiParsePageSchema),
257 |             },
258 |             {
259 |                 name: "search_varptypes",
260 |                 description: "Search the varptypes.txt file for player variables (varps) that store player state and progress.",
261 |                 inputSchema: convertZodToJsonSchema(FileSearchSchema),
262 |             },
263 |             {
264 |                 name: "search_varbittypes",
265 |                 description: "Search the varbittypes.txt file for variable bits (varbits) that store individual bits from varps.",
266 |                 inputSchema: convertZodToJsonSchema(FileSearchSchema),
267 |             },
268 |             {
269 |                 name: "search_iftypes",
270 |                 description: "Search the iftypes.txt file for interface definitions used in the game's UI.",
271 |                 inputSchema: convertZodToJsonSchema(FileSearchSchema),
272 |             },
273 |             {
274 |                 name: "search_invtypes",
275 |                 description: "Search the invtypes.txt file for inventory type definitions in the game.",
276 |                 inputSchema: convertZodToJsonSchema(FileSearchSchema),
277 |             },
278 |             {
279 |                 name: "search_loctypes",
280 |                 description: "Search the loctypes.txt file for location/object type definitions in the game world.",
281 |                 inputSchema: convertZodToJsonSchema(FileSearchSchema),
282 |             },
283 |             {
284 |                 name: "search_npctypes",
285 |                 description: "Search the npctypes.txt file for NPC (non-player character) definitions.",
286 |                 inputSchema: convertZodToJsonSchema(FileSearchSchema),
287 |             },
288 |             {
289 |                 name: "search_objtypes",
290 |                 description: "Search the objtypes.txt file for object/item definitions in the game.",
291 |                 inputSchema: convertZodToJsonSchema(FileSearchSchema),
292 |             },
293 |             {
294 |                 name: "search_rowtypes",
295 |                 description: "Search the rowtypes.txt file for row definitions used in various interfaces.",
296 |                 inputSchema: convertZodToJsonSchema(FileSearchSchema),
297 |             },
298 |             {
299 |                 name: "search_seqtypes",
300 |                 description: "Search the seqtypes.txt file for animation sequence definitions.",
301 |                 inputSchema: convertZodToJsonSchema(FileSearchSchema),
302 |             },
303 |             {
304 |                 name: "search_soundtypes",
305 |                 description: "Search the soundtypes.txt file for sound effect definitions in the game.",
306 |                 inputSchema: convertZodToJsonSchema(FileSearchSchema),
307 |             },
308 |             {
309 |                 name: "search_spottypes",
310 |                 description: "Search the spottypes.txt file for spot animation (graphical effect) definitions.",
311 |                 inputSchema: convertZodToJsonSchema(FileSearchSchema),
312 |             },
313 |             {
314 |                 name: "search_spritetypes",
315 |                 description: "Search the spritetypes.txt file for sprite image definitions used in the interface.",
316 |                 inputSchema: convertZodToJsonSchema(FileSearchSchema),
317 |             },
318 |             {
319 |                 name: "search_tabletypes",
320 |                 description: "Search the tabletypes.txt file for interface tab definitions.",
321 |                 inputSchema: convertZodToJsonSchema(FileSearchSchema),
322 |             },
323 |             {
324 |                 name: "search_data_file",
325 |                 description: "Search any file in the data directory for matching entries.",
326 |                 inputSchema: convertZodToJsonSchema(GenericFileSearchSchema),
327 |             },
328 |             {
329 |                 name: "get_file_details",
330 |                 description: "Get details about a file in the data directory.",
331 |                 inputSchema: convertZodToJsonSchema(FileDetailsSchema),
332 |             },
333 |             {
334 |                 name: "list_data_files",
335 |                 description: "List available data files in the data directory.",
336 |                 inputSchema: convertZodToJsonSchema(ListDataFilesSchema),
337 |             },
338 |         ]
339 |     };
340 | });
341 | 
342 | server.setRequestHandler(CallToolRequestSchema, async (request) => {
343 |     const { name, arguments: args } = request.params;
344 | 
345 |     try {
346 |         switch (name) {
347 |             case "osrs_wiki_search":
348 |                 const { search, limit = 10, offset = 0 } = OsrsWikiSearchSchema.parse(args);
349 |                 const searchResponse = await osrsApiClient.get('', {
350 |                     params: {
351 |                         action: 'query',
352 |                         list: 'search',
353 |                         srsearch: search,
354 |                         srlimit: limit,
355 |                         sroffset: offset,
356 |                         srprop: 'snippet|titlesnippet|sectiontitle'
357 |                     }
358 |                 });
359 |                 return responseToString(searchResponse.data);
360 | 
361 |             case "osrs_wiki_get_page_info":
362 |                 const { titles } = OsrsWikiGetPageInfoSchema.parse(args);
363 |                 const pageInfoResponse = await osrsApiClient.get('', {
364 |                     params: {
365 |                         action: 'query',
366 |                         prop: 'info',
367 |                         titles: titles
368 |                     }
369 |                 });
370 |                 return responseToString(pageInfoResponse.data);
371 | 
372 |             case "osrs_wiki_parse_page":
373 |                 const { page } = OsrsWikiParsePageSchema.parse(args);
374 |                 const parseResponse = await osrsApiClient.get('', {
375 |                     params: {
376 |                         action: 'parse',
377 |                         page: page,
378 |                         prop: 'text',
379 |                         formatversion: 2
380 |                     }
381 |                 });
382 |                 return responseToString(parseResponse.data?.parse?.text || 'Page content not found.');
383 | 
384 |             case "search_varptypes":
385 |             case "search_varbittypes":
386 |             case "search_iftypes":
387 |             case "search_invtypes":
388 |             case "search_loctypes":
389 |             case "search_npctypes":
390 |             case "search_objtypes":
391 |             case "search_rowtypes":
392 |             case "search_seqtypes":
393 |             case "search_soundtypes":
394 |             case "search_spottypes":
395 |             case "search_spritetypes":
396 |             case "search_tabletypes":
397 |                 const { query, page: filePage = 1, pageSize: filePageSize = 10 } = FileSearchSchema.parse(args);
398 |                 const filename = `${name.replace('search_', '')}.txt`;
399 |                 const filePath = path.join(DATA_DIR, filename);
400 |                 
401 |                 if (!fileExists(filename)) {
402 |                     return responseToString({ error: `${filename} not found in data directory` });
403 |                 }
404 |                 
405 |                 const fileResults = await searchFile(filePath, query, filePage, filePageSize);
406 |                 return responseToString(fileResults);
407 | 
408 |             case "search_data_file":
409 |                 const { filename: genericFilename, query: searchQuery, page: genericFilePage = 1, pageSize: genericFilePageSize = 10 } = GenericFileSearchSchema.parse(args);
410 |                 
411 |                 // Security check to prevent directory traversal
412 |                 if (genericFilename.includes('..') || genericFilename.includes('/') || genericFilename.includes('\\')) {
413 |                     throw new Error('Invalid filename');
414 |                 }
415 |                 
416 |                 if (!fileExists(genericFilename)) {
417 |                     return responseToString({ error: `${genericFilename} not found in data directory` });
418 |                 }
419 |                 
420 |                 const genericFilePath = path.join(DATA_DIR, genericFilename);
421 |                 const genericFileResults = await searchFile(genericFilePath, searchQuery, genericFilePage, genericFilePageSize);
422 |                 return responseToString(genericFileResults);
423 | 
424 |             case "get_file_details":
425 |                 const { filename: detailsFilename } = FileDetailsSchema.parse(args);
426 |                 
427 |                 // Security check to prevent directory traversal
428 |                 if (detailsFilename.includes('..') || detailsFilename.includes('/') || detailsFilename.includes('\\')) {
429 |                     throw new Error('Invalid filename');
430 |                 }
431 |                 
432 |                 const details = getFileDetails(detailsFilename);
433 |                 return responseToString(details);
434 | 
435 |             case "list_data_files":
436 |                 const { fileType } = ListDataFilesSchema.parse(args);
437 |                 const files = listDataFiles(fileType);
438 |                 return responseToString({ files, path: DATA_DIR });
439 | 
440 |             default:
441 |                 throw new Error(`Unknown tool: ${name}`);
442 |         }
443 | 
444 |     } catch (error) {
445 |         if (error instanceof z.ZodError) {
446 |             throw new Error(
447 |                 `Invalid arguments: ${error.errors
448 |                     .map((e) => `${e.path.join(".")}: ${e.message}`)
449 |                     .join(", ")}`
450 |             );
451 |         }
452 | 
453 |         const err = error as any;
454 |         if (axios.isAxiosError(err)) {
455 |              console.error("Axios Error Details:", {
456 |                 message: err.message,
457 |                 url: err.config?.url,
458 |                 method: err.config?.method,
459 |                 params: err.config?.params,
460 |                 data: err.config?.data,
461 |                 responseStatus: err.response?.status,
462 |                 responseData: err.response?.data,
463 |                 stack: err.stack
464 |             });
465 |              throw new Error(`Error executing tool ${name}: ${err.message}${err.response?.data ? ` - Wiki Response: ${JSON.stringify(err.response.data)}` : ''}`);
466 |         } else {
467 |             console.error("Error details:", {
468 |                 message: err.message,
469 |                 stack: err.stack,
470 |                 name: err.name,
471 |                 fullError: JSON.stringify(err, Object.getOwnPropertyNames(err), 2)
472 |             });
473 |             throw new Error(`Error executing tool ${name}: ${err.message}`);
474 |         }
475 |     }
476 | });
477 | 
478 | async function main() {
479 |     try {
480 |         //console.log("Starting MCP OSRS Server...");
481 |         const transport = new StdioServerTransport();
482 |         await server.connect(transport);
483 |         //console.log("MCP OSRS Server running on stdio");
484 |     } catch (error) {
485 |         console.error("Error during startup:", error);
486 |         process.exit(1);
487 |     }
488 | }
489 | 
490 | main().catch((error) => {
491 |     console.error("Fatal error in main():", error);
492 |     process.exit(1);
493 | });
494 | 
```

--------------------------------------------------------------------------------
/data/spritetypes.txt:
--------------------------------------------------------------------------------

```
  1 | 0	mapfunction
  2 | 1	mapscene
  3 | 2	mapfunction_infoicon
  4 | 3	worldmap_marker
  5 | 4	scroll_icon
  6 | 5	worldmap_marker_mini
  7 | 6	door
  8 | 7	water
  9 | 8	wall
 10 | 9	planks
 11 | 10	elfdoor
 12 | 11	darkwood
 13 | 12	roof
 14 | 13	damage
 15 | 14	leafytree
 16 | 15	treestump
 17 | 16	crag
 18 | 17	mossy
 19 | 18	railings
 20 | 19	painting1
 21 | 20	painting2
 22 | 21	marble
 23 | 22	wood2
 24 | 23	fountain
 25 | 24	thatched
 26 | 25	cargonet
 27 | 26	books
 28 | 27	elfroof2
 29 | 28	elfwood
 30 | 29	mossybricks
 31 | 30	mossybricks02
 32 | 31	water_animated
 33 | 32	gungywater
 34 | 33	web
 35 | 34	elfroof
 36 | 35	mossydamage
 37 | 36	bamboo
 38 | 37	willowtex3
 39 | 38	lava
 40 | 39	bark
 41 | 40	mapletree
 42 | 41	stars
 43 | 42	elfbrick
 44 | 43	elfwall
 45 | 44	chainmail
 46 | 45	mummy
 47 | 46	elfpainting
 48 | 47	lava_animated
 49 | 48	lava_animated_red
 50 | 49	lava_animated_white
 51 | 50	leafytree_diseased
 52 | 51	marble_poh
 53 | 52	stone_tiles
 54 | 53	roof2
 55 | 54	old_tiles
 56 | 55	old_tiles_green
 57 | 56	pebblefloor
 58 | 57	wall_white
 59 | 58	glyphs
 60 | 59	canvas
 61 | 60	old_tiles_lighter
 62 | 61	woodenfloor_new
 63 | 62	xmas_snowflake
 64 | 63	mirror
 65 | 64	cherryblossom
 66 | 65	infernal_cape
 67 | 66	leafytree_tiled
 68 | 67	blank
 69 | 68	leafytree_tiled02
 70 | 69	leafytree02
 71 | 70	ice
 72 | 71	roof_snow
 73 | 72	roof_snow02
 74 | 73	texture_test01
 75 | 74	texture_stone01
 76 | 75	hieroglyphic_set1
 77 | 76	hieroglyphic_set2
 78 | 77	fog01
 79 | 78	fog02
 80 | 79	fog03
 81 | 80	skulls01
 82 | 81	skulls02
 83 | 82	skulls03
 84 | 83	skulls04
 85 | 84	cobblestone01
 86 | 85	cobblestone02
 87 | 86	leafy_acacia01
 88 | 87	leafy_stonepine01
 89 | 88	stone_brick01
 90 | 89	stone_brick02
 91 | 90	leafytree_frosty
 92 | 91	leafytree_tiled_frosty
 93 | 92	icon_skull
 94 | 93	icon_crown
 95 | 94	icon_wizard
 96 | 95	icon_comedy
 97 | 96	icon_helmet
 98 | 97	icon_swords
 99 | 98	icon_tragedy
100 | 99	icon_tools
101 | 100	icon_tools2
102 | 101	icon_arrows
103 | 102	icon_balance
104 | 103	icon_bandit
105 | 104	icon_bones
106 | 105	icon_cabbage
107 | 106	icon_cat
108 | 107	icon_compass
109 | 108	icon_fish
110 | 109	icon_heart
111 | 110	icon_holy
112 | 111	icon_hunter
113 | 112	icon_ring
114 | 113	icon_robin
115 | 114	icon_rose
116 | 115	icon_shield
117 | 116	icon_unholy
118 | 117	icon_iron_standard
119 | 118	icon_iron_ultimate
120 | 119	logo
121 | 120	logo_deadman_mode
122 | 121	logo_seasonal_mode
123 | 122	logo_osrs
124 | 123	logo_speedrunning
125 | 124	titlebox
126 | 125	titlebutton
127 | 126	runes
128 | 127	sl_back
129 | 128	sl_flags
130 | 129	sl_arrows
131 | 130	sl_stars
132 | 131	sl_button
133 | 132	titlebutton_large
134 | 133	play_now_text
135 | 134	login_icons
136 | 135	titlebutton_wide
137 | 136	titlebutton_wide42
138 | 137	volume_options_bobble_slider
139 | 138	title_mute
140 | 139	fsw_banner_large01
141 | 140	fsw_banner_medium01
142 | 141	fsw_banner_small01
143 | 142	osm_banner_large01
144 | 143	osm_banner_medium01
145 | 144	osm_banner_small01
146 | 145	cross
147 | 146	clickcross
148 | 147	clickcircle_filled
149 | 148	clickcircle_filled_yellow_only
150 | 149	clickcircle_outline
151 | 150	mapdots
152 | 151	scrollbar
153 | 152	mapmarker
154 | 153	mapedge
155 | 154	mod_icons
156 | 155	mod_icons_interface
157 | 156	headicons_pk
158 | 157	headicons_prayer
159 | 158	headicons_hint
160 | 159	overlay_multiway
161 | 160	overlay_td_multiway
162 | 161	ge_icons
163 | 162	ge_smallicons
164 | 163	ge_itembackdrop
165 | 164	ge_backbutton
166 | 165	ge_textbackdrop
167 | 166	ge_textbackdrop_tall
168 | 167	ge_cancel
169 | 168	hiscores_icons
170 | 169	hiscores_activities
171 | 170	hiscores_bosses
172 | 171	oge_title
173 | 172	open_buttons
174 | 173	oge_images
175 | 174	hloading2
176 | 175	options_poh_icon
177 | 176	poh_room_layouts
178 | 177	stony_basalt
179 | 178	icy_basalt
180 | 179	poh_board_icons
181 | 180	orb_frame
182 | 181	orb_filler
183 | 182	orb_icon
184 | 183	orb_xp
185 | 184	ring_34
186 | 185	ring_40
187 | 186	ring_30
188 | 187	worldmap_icon
189 | 188	worldmap_icon_large
190 | 189	wiki_icon
191 | 190	bankbuttons
192 | 191	bankbutton_arrow_green
193 | 192	banktabs
194 | 193	banktab_icons
195 | 194	banktabs_small
196 | 195	tex_brown
197 | 196	tex_red
198 | 197	number_button
199 | 198	ca_progress_bar
200 | 199	ca_tier_swords
201 | 200	ca_tier_swords_small
202 | 201	osm_press_fnmode
203 | 202	osm_drag_camera
204 | 203	osm_press_interact
205 | 204	osm_press_minimise
206 | 205	osm_tap_interact
207 | 206	osm_tap_press
208 | 207	osm_function_buttons
209 | 208	osm_fn_mode_icons
210 | 209	osm_status_icons
211 | 210	osm_chat_buttons
212 | 211	upgrade_membership_button
213 | 212	upgrade_membership_button_highlight
214 | 213	welcomescreen_banner_default
215 | 214	membership_banner_skill
216 | 215	membership_banner_area
217 | 216	membership_banner_boss
218 | 217	membership_banner_diary
219 | 218	membership_banner_minigame
220 | 219	membership_banner_quest
221 | 220	membership_banner_transport
222 | 221	membership_banner_worn
223 | 222	membership_banner_dragonslayer
224 | 223	leagues_membership_banner
225 | 224	worldswitcher_stars
226 | 225	worldswitcher_flags
227 | 226	worldswitcher_filter
228 | 227	worldswitcher_filtered
229 | 228	pvpa_rankicons
230 | 229	pvpa_heart
231 | 230	dt2_icons
232 | 231	tli_button01_square_40x40
233 | 232	tli_button01_rectangle_58x40
234 | 233	tli_button01_rectangle_52x40
235 | 234	tli_button01_rectangle_58x24
236 | 235	tli_button01_accordion_58x43
237 | 236	tli_button01_orbinfo_65x34
238 | 237	tli_button01_orb01_34x34
239 | 238	pre_eoc_stones
240 | 239	mobile_stones
241 | 240	compass
242 | 241	mapback
243 | 242	chat_background
244 | 243	side_icons
245 | 244	sideicons_interface
246 | 245	sideicons_new
247 | 246	sideicons_logout
248 | 247	compass_outline
249 | 248	9slice_dark01_3x3
250 | 249	9slice_chiselled01_4x4
251 | 250	backleft1
252 | 251	main_top
253 | 252	fixed_minimap_cover
254 | 253	fixed_map_mask
255 | 254	fixed_map_clickmask
256 | 255	fixed_map_clickmask_wiki
257 | 256	fixed_compass_mask
258 | 257	mini_left
259 | 258	mini_topright
260 | 259	mini_right
261 | 260	mini_bottom
262 | 261	main_stones_bottom
263 | 262	side_background
264 | 263	side_background_bottom
265 | 264	side_background_left1
266 | 265	side_background_left2
267 | 266	side_background_right
268 | 267	side_background_top
269 | 268	side_stone_highlights
270 | 269	osrs_stretch_side_topbottom
271 | 270	osrs_stretch_side_columns
272 | 271	osrs_stretch_mapsurround
273 | 272	resize_map_mask
274 | 273	resize_map_clickmask
275 | 274	resize_map_clickmask_bond
276 | 275	resize_compass_mask
277 | 276	border_map_compass
278 | 277	hitmark
279 | 278	hitmark_blocked
280 | 279	standard_health_30
281 | 280	standard_health_40
282 | 281	standard_health_50
283 | 282	standard_health_60
284 | 283	standard_health_70
285 | 284	standard_health_80
286 | 285	standard_health_90
287 | 286	standard_health_100
288 | 287	standard_health_120
289 | 288	standard_health_140
290 | 289	standard_health_160
291 | 290	standard_shield_30
292 | 291	standard_shield_40
293 | 292	standard_shield_50
294 | 293	standard_shield_60
295 | 294	standard_shield_70
296 | 295	standard_shield_80
297 | 296	standard_shield_90
298 | 297	standard_shield_100
299 | 298	standard_shield_120
300 | 299	standard_shield_140
301 | 300	standard_shield_160
302 | 301	standard_armour_30
303 | 302	standard_armour_40
304 | 303	standard_armour_50
305 | 304	standard_armour_60
306 | 305	standard_armour_70
307 | 306	standard_armour_80
308 | 307	standard_armour_90
309 | 308	standard_armour_100
310 | 309	standard_armour_120
311 | 310	standard_armour_140
312 | 311	standard_armour_160
313 | 312	standard_charge_30
314 | 313	standard_charge_40
315 | 314	standard_charge_50
316 | 315	standard_charge_60
317 | 316	standard_charge_70
318 | 317	standard_charge_80
319 | 318	standard_charge_90
320 | 319	standard_charge_100
321 | 320	standard_charge_120
322 | 321	standard_charge_140
323 | 322	standard_charge_160
324 | 323	standard_prayer_30
325 | 324	standard_prayer_40
326 | 325	standard_prayer_50
327 | 326	standard_prayer_60
328 | 327	standard_prayer_70
329 | 328	standard_prayer_80
330 | 329	standard_prayer_90
331 | 330	standard_prayer_100
332 | 331	standard_prayer_120
333 | 332	standard_prayer_140
334 | 333	standard_prayer_160
335 | 334	standard_poison_30
336 | 335	standard_poison_40
337 | 336	standard_poison_50
338 | 337	standard_poison_60
339 | 338	standard_poison_70
340 | 339	standard_poison_80
341 | 340	standard_poison_90
342 | 341	standard_poison_100
343 | 342	standard_poison_120
344 | 343	standard_poison_140
345 | 344	standard_poison_160
346 | 345	headbar_shield_100
347 | 346	headbar_olmtimer_100
348 | 347	headbar_shooting_star_50
349 | 348	headbar_blood_90
350 | 349	headbar_blood_120
351 | 350	headbar_ice_90
352 | 351	headbar_blood_30
353 | 352	headbar_ice_120
354 | 353	headbar_heat_90
355 | 354	headbar_heat_120
356 | 355	magicon
357 | 356	magicoff
358 | 357	magicon2
359 | 358	magicoff2
360 | 359	lunar_magic_on
361 | 360	lunar_magic_off
362 | 361	magic_necro_on
363 | 362	magic_necro_off
364 | 363	2x_standard_spells_on
365 | 364	2x_standard_spells_off
366 | 365	2x_ancient_spells_on
367 | 366	2x_ancient_spells_off
368 | 367	2x_lunar_spells_on
369 | 368	2x_lunar_spells_off
370 | 369	2x_necro_spells_on
371 | 370	2x_necro_spells_off
372 | 371	magic_spell_padlocks
373 | 372	2x_magic_spell_padlocks
374 | 373	adventurepath_placeholder
375 | 374	adventurepath_in_focus
376 | 375	adventurepath_in_focus_small
377 | 376	ap_border
378 | 377	ap_path_icon
379 | 378	ap_path_banner
380 | 379	no_path
381 | 380	ap_sote_free_trial
382 | 381	getting_started_with_attack
383 | 382	getting_a_grip_on_it
384 | 383	weapons_master
385 | 384	getting_started_with_strength
386 | 385	building_muscle
387 | 386	body_builder
388 | 387	getting_started_with_defence
389 | 388	sticks_and_stones
390 | 389	mithril_defence
391 | 390	getting_started_with_magic
392 | 391	striking_a_pose
393 | 392	bringer_of_chaos
394 | 393	getting_started_with_ranged
395 | 394	honing_my_aim
396 | 395	sharpshooter
397 | 396	getting_started_with_fishing
398 | 397	getting_started_with_mining
399 | 398	getting_started_with_woodcutting
400 | 399	automatic_wizard
401 | 400	deadman_deathtype
402 | 401	deadman_sigil_icons
403 | 402	deadman_sigil_icons_tli
404 | 403	deadman_sigil_skulls
405 | 404	deadman_sigil_combat_icons_large
406 | 405	deadman_sigil_combat_icons_small
407 | 406	deadman_sigil_skilling_icons_large
408 | 407	deadman_sigil_skilling_icons_small
409 | 408	deadman_sigil_utility_icons_large
410 | 409	deadman_sigil_utility_icons_small
411 | 410	satisfaction_5scale
412 | 411	league_3_numerals
413 | 412	league_3_fragment_back
414 | 413	league_3_fragment_base
415 | 414	league_3_fragment_glow
416 | 415	league_3_icons_light
417 | 416	league_3_sparks_1
418 | 417	league_3_boss_icons
419 | 418	league_3_button
420 | 419	league_3_progress_bar
421 | 420	league_3_triskele
422 | 421	league_3_relics
423 | 422	league_3_relics_tli
424 | 423	league_3_relics_large
425 | 424	league_3_tutorial
426 | 425	league_3_fragment_bar_labels
427 | 426	league_4_map_empty
428 | 427	league_4_map_misthalin
429 | 428	league_4_map_karamja
430 | 429	league_4_map_wilderness
431 | 430	league_4_map_asgarnia
432 | 431	league_4_map_kandarin
433 | 432	league_4_map_desert
434 | 433	league_4_map_fremennik
435 | 434	league_4_map_tirannwn
436 | 435	league_4_map_morytania
437 | 436	league_4_map_kourend
438 | 437	league_4_map_shields01
439 | 438	league_4_map_shields02
440 | 439	league_4_map_names
441 | 440	league_4_relics_large
442 | 441	league_4_relics
443 | 442	league_4_relics_off
444 | 443	league_4_relics_medium
445 | 444	league_4_relics_medium_headicon
446 | 445	league_4_bloodthirsty_headicon
447 | 446	league_4_relics_medium_off
448 | 447	league_4_relics_tli
449 | 448	league_4_progress_bar
450 | 449	league_4_progress_bar_indicator
451 | 450	league_4_largemap_desert_1
452 | 451	league_4_largemap_desert_2
453 | 452	league_4_largemap_desert_3
454 | 453	league_4_largemap_kourend_1
455 | 454	league_4_largemap_kourend_2
456 | 455	league_4_largemap_kourend_3
457 | 456	league_4_largemap_kourend_4
458 | 457	league_5_map_empty
459 | 458	league_5_map_misthalin
460 | 459	league_5_map_karamja
461 | 460	league_5_map_wilderness
462 | 461	league_5_map_asgarnia
463 | 462	league_5_map_kandarin
464 | 463	league_5_map_desert
465 | 464	league_5_map_fremennik
466 | 465	league_5_map_tirannwn
467 | 466	league_5_map_morytania
468 | 467	league_5_map_kourend
469 | 468	league_5_map_varlamore
470 | 469	league_5_map_shields01
471 | 470	league_5_map_shields02
472 | 471	league_5_map_names
473 | 472	league_5_relics_large
474 | 473	league_5_relics
475 | 474	league_5_relics_off
476 | 475	league_5_relics_medium
477 | 476	league_5_relics_medium_headicon
478 | 477	league_5_relics_medium_off
479 | 478	league_5_relics_tli
480 | 479	league_5_progress_bar
481 | 480	league_5_progress_bar_indicator
482 | 481	league_5_combat_mastery_large
483 | 482	league_5_combat_mastery_large_off
484 | 483	league_5_combat_mastery_medium
485 | 484	league_5_combat_mastery_medium_off
486 | 485	league_5_combat_mastery_small
487 | 486	league_5_combat_mastery_small_off
488 | 487	league_5_combat_mastery_tli
489 | 488	league_5_combat_mastery_tier_small
490 | 489	league_5_combat_mastery_tier_small_off
491 | 490	league_5_combat_mastery_tier_medium
492 | 491	league_5_combat_mastery_tier_medium_off
493 | 492	league_5_combat_mastery_icon_medium
494 | 493	league_5_combat_mastery_icon_large
495 | 494	league_5_combat_mastery_highlight_small
496 | 495	league_5_combat_mastery_highlight_medium
497 | 496	league_5_combat_mastery_highlight_small_glow
498 | 497	league_5_combat_mastery_highlight_medium_glow
499 | 498	league_5_sparks_1
500 | 499	league_5_sparks_2
501 | 500	league_5_largemap_varlamore_1
502 | 501	league_5_largemap_varlamore_2
503 | 502	league_5_largemap_varlamore_3
504 | 503	league_5_largemap_varlamore_4
505 | 504	league_5_largemap_varlamore_5
506 | 505	open_buttons_small
507 | 506	league_trophy_icons
508 | 507	league_task_tiers
509 | 508	league_relics_large
510 | 509	league_relics
511 | 510	league_relics_outline
512 | 511	league_relics_outline_60x60
513 | 512	league_progress_bar
514 | 513	league_progress_bar_indicator
515 | 514	league_tiny_relic
516 | 515	league_relics_tli
517 | 516	league_tutorial
518 | 517	league_map
519 | 518	trailblazer_relics_large
520 | 519	trailblazer_relics
521 | 520	trailblazer_relics_tli
522 | 521	trailblazer_progress_bar
523 | 522	trailblazer_progress_bar_indicator
524 | 523	trailblazer_map_empty
525 | 524	trailblazer_map_misthalin
526 | 525	trailblazer_map_karamja
527 | 526	trailblazer_map_wilderness
528 | 527	trailblazer_map_asgarnia
529 | 528	trailblazer_map_kandarin
530 | 529	trailblazer_map_desert
531 | 530	trailblazer_map_fremennik
532 | 531	trailblazer_map_tirannwn
533 | 532	trailblazer_map_morytania
534 | 533	trailblazer_map_shields
535 | 534	trailblazer_map_shields_large
536 | 535	trailblazer_map_names
537 | 536	trailblazer_largemap_asgarnia_1
538 | 537	trailblazer_largemap_asgarnia_2
539 | 538	trailblazer_largemap_asgarnia_3
540 | 539	trailblazer_largemap_desert_1
541 | 540	trailblazer_largemap_desert_2
542 | 541	trailblazer_largemap_fremennik_1
543 | 542	trailblazer_largemap_fremennik_2
544 | 543	trailblazer_largemap_fremennik_3
545 | 544	trailblazer_largemap_fremennik_4
546 | 545	trailblazer_largemap_fremennik_5
547 | 546	trailblazer_largemap_kandarin_1
548 | 547	trailblazer_largemap_kandarin_2
549 | 548	trailblazer_largemap_kandarin_3
550 | 549	trailblazer_largemap_kandarin_4
551 | 550	trailblazer_largemap_kandarin_5
552 | 551	trailblazer_largemap_karamja_1
553 | 552	trailblazer_largemap_karamja_2
554 | 553	trailblazer_largemap_karamja_3
555 | 554	trailblazer_largemap_misthalin_1
556 | 555	trailblazer_largemap_misthalin_2
557 | 556	trailblazer_largemap_misthalin_3
558 | 557	trailblazer_largemap_misthalin_4
559 | 558	trailblazer_largemap_morytania_1
560 | 559	trailblazer_largemap_morytania_2
561 | 560	trailblazer_largemap_morytania_3
562 | 561	trailblazer_largemap_tirannwn_1
563 | 562	trailblazer_largemap_tirannwn_2
564 | 563	trailblazer_largemap_tirannwn_3
565 | 564	trailblazer_largemap_wilderness_1
566 | 565	trailblazer_largemap_wilderness_2
567 | 566	trailblazer_largemap_wilderness_3
568 | 567	giants_foundry_moulds_big
569 | 568	giants_foundry_moulds_small
570 | 569	giants_foundry_tool_icon
571 | 570	giants_foundry_hud_bar
572 | 571	giants_foundry_quality_bar
573 | 572	giants_foundry_tool_map_icon
574 | 573	prayeron
575 | 574	prayeroff
576 | 575	prayerglow
577 | 576	wornicons
578 | 577	options_buttons
579 | 578	options_buttons_large
580 | 579	miscgraphics
581 | 580	miscgraphics_buttonmiddle_grey
582 | 581	miscgraphics_buttonmiddle_red
583 | 582	miscgraphics_buttontile_nw_grey
584 | 583	miscgraphics_buttontile_nc_grey
585 | 584	miscgraphics_buttontile_ne_grey
586 | 585	miscgraphics_buttontile_cw_grey
587 | 586	miscgraphics_buttontile_cc_grey
588 | 587	miscgraphics_buttontile_ce_grey
589 | 588	miscgraphics_buttontile_sw_grey
590 | 589	miscgraphics_buttontile_sc_grey
591 | 590	miscgraphics_buttontile_se_grey
592 | 591	miscgraphics_buttontile_nw_red
593 | 592	miscgraphics_buttontile_nc_red
594 | 593	miscgraphics_buttontile_ne_red
595 | 594	miscgraphics_buttontile_cw_red
596 | 595	miscgraphics_buttontile_cc_red
597 | 596	miscgraphics_buttontile_ce_red
598 | 597	miscgraphics_buttontile_sw_red
599 | 598	miscgraphics_buttontile_sc_red
600 | 599	miscgraphics_buttontile_se_red
601 | 600	miscgraphics2
602 | 601	miscgraphics3
603 | 602	staticons
604 | 603	staticons2
605 | 604	combaticons
606 | 605	combaticons2
607 | 606	combaticons3
608 | 607	combatboxes
609 | 608	combatboxesmed
610 | 609	combatboxes_split
611 | 610	combatboxelong
612 | 611	combatboxes_large
613 | 612	combatboxes_very_large
614 | 613	combatboxes_special_attack
615 | 614	combat_autoretaliate
616 | 615	equip_screen_button
617 | 616	sworddecor
618 | 617	arrow
619 | 618	single_arrow
620 | 619	leftarrow
621 | 620	leftarrow_highlight
622 | 621	rightarrow
623 | 622	rightarrow_highlight
624 | 623	steelborder
625 | 624	steelborder2
626 | 625	steelborder_divider
627 | 626	gnomeball_buttons
628 | 627	leftarrow_small
629 | 628	leftarrow_small_highlight
630 | 629	rightarrow_small
631 | 630	rightarrow_small_highlight
632 | 631	rightarrow_small_stone
633 | 632	blackmark
634 | 633	button_brown
635 | 634	brown_border
636 | 635	button_red
637 | 636	chest
638 | 637	coins
639 | 638	key
640 | 639	keys
641 | 640	pen
642 | 641	startgame
643 | 642	titlescroll
644 | 643	letter
645 | 644	button_brown_big
646 | 645	button_brown_small
647 | 646	overlay_duel
648 | 647	red_green_arrows
649 | 648	mapdots_interface
650 | 649	cross_interface
651 | 650	cross_big
652 | 651	headicons_pk_interface
653 | 652	close_buttons
654 | 653	close_arrows
655 | 654	close_buttons_v2
656 | 655	options_icons
657 | 656	keyboard_key_left
658 | 657	keyboard_key_middle
659 | 658	keyboard_key_right
660 | 659	options_icons_small
661 | 660	options_slider
662 | 661	options_slider_five
663 | 662	options_radio_buttons
664 | 663	emotes
665 | 664	emotes_locked
666 | 665	barbassault_icons
667 | 666	scrollbar_sep
668 | 667	combat_shield
669 | 668	options_boxes
670 | 669	peng_emotes
671 | 670	achievement_diary_icons
672 | 671	tabs
673 | 672	ii_impling_icons
674 | 673	dream_inv_brdr
675 | 674	v2_stone_borders
676 | 675	v2_stone_borders_alt
677 | 676	v2_borders_slim
678 | 677	v2_borders_slim_joins
679 | 678	v2_stone_close_button
680 | 679	stoneborder_close_button
681 | 680	steelborder_close_button
682 | 681	grim_musicalnotes
683 | 682	grim_musicalnotes1
684 | 683	dream_monster_icon
685 | 684	ame_confirm_button
686 | 685	ame_confirm_button_no_back
687 | 686	tabs_split
688 | 687	tabs_short
689 | 688	tabs_tall
690 | 689	tabs_modal_short
691 | 690	tabs_modal_tall
692 | 691	wild_ditch_sign_button
693 | 692	warning_icons
694 | 693	tabs_large
695 | 694	exclamation_mark
696 | 695	pvpw_icons
697 | 696	pvp_warning_icon
698 | 697	heart_icon
699 | 698	group_icon
700 | 699	sortarrows
701 | 700	windowmode_icons
702 | 701	stop
703 | 702	save
704 | 703	load
705 | 704	slider_bobble
706 | 705	tick
707 | 706	checkbox
708 | 707	info
709 | 708	favourite_icons
710 | 709	whistle
711 | 710	fast_forward
712 | 711	tiny_combat_staticons
713 | 712	refresh
714 | 713	reset
715 | 714	poh_doors
716 | 715	spectator
717 | 716	miscgraphics4
718 | 717	miscgraphics5
719 | 718	thumbs
720 | 719	raids_challenge_icon
721 | 720	acc_man_icons
722 | 721	arrowkeys
723 | 722	storeorb
724 | 723	cluequest_map
725 | 724	gauntlet_map_icons
726 | 725	frex_runes
727 | 726	frex_ticks
728 | 727	square_button
729 | 728	menu_buttons
730 | 729	large_multi_use_icons
731 | 730	map_resize
732 | 731	hud_brackets
733 | 732	square_button_large
734 | 733	rect_button
735 | 734	myq5_tomb_buttons
736 | 735	overlay_singleway_plus
737 | 736	settings_tabs
738 | 737	settings_tabs_alt_active_end
739 | 738	toggle_box
740 | 739	settings_slider
741 | 740	soul_wars_staticons
742 | 741	soul_wars_gameicons
743 | 742	god_wars_icons
744 | 743	tabs_etched_corner
745 | 744	account_icons
746 | 745	rounded_tabs
747 | 746	iron_icons
748 | 747	popout_icons
749 | 748	roman_numerals
750 | 749	speedrun_trophies
751 | 750	arrows_curved
752 | 751	lotg_buttons
753 | 752	lockpicking
754 | 753	directional_lock
755 | 754	directional_lock_2
756 | 755	directional_lock_arrows
757 | 756	combination_lock
758 | 757	combination_lock_join
759 | 758	combination_lock_arrows
760 | 759	sotn_map
761 | 760	sotn_cipher
762 | 761	ground_items_plusminus
763 | 762	ground_items_visibility
764 | 763	sliding_cipher_inner
765 | 764	sliding_cipher_outer
766 | 765	combination_lock_symbols
767 | 766	morse_code
768 | 767	morse_code_singles
769 | 768	pog_machine
770 | 769	pog_exchanger
771 | 770	pog_buttons
772 | 771	pog_exchange_buttons
773 | 772	pog_slots
774 | 773	pog_windows
775 | 774	arrows_25
776 | 775	arrows_40
777 | 776	number_pad_background
778 | 777	number_pad_buttons
779 | 778	number_pad_arrows
780 | 779	coa_arrows
781 | 780	coa_strips
782 | 781	bond_redemption_icons
783 | 782	bond_graphic_128x64
784 | 783	icon_bonds_30x30
785 | 784	toa_grouping_icons
786 | 785	toa_invocation_icons
787 | 786	toa_invocation_icons_black
788 | 787	toa_invocation_icons_small
789 | 788	toa_invocations_progres_bar
790 | 789	toa_invocations_progress_bar_indicator
791 | 790	toa_difficulty_icons
792 | 791	toa_info_icon
793 | 792	tgod_garden_1_plant_diagram
794 | 793	tgod_garden_1_lake_map
795 | 794	tgod_garden_2_forest_map
796 | 795	tgod_garden_2_poison_diagram
797 | 796	tgod_garden_2_rune_diagram
798 | 797	tgod_garden_3_bucket_diagram
799 | 798	tgod_garden_3_carving_diagram
800 | 799	tgod_garden_3_package_diagram
801 | 800	tgod_garden_3_transfer_diagram
802 | 801	tgod_garden_4_creature_diagram
803 | 802	tgod_garden_4_delivery_diagram
804 | 803	tgod_garden_4_light_diagram
805 | 804	tgod_garden_4_recycling_diagram
806 | 805	tgod_garden_4_rune_diagram
807 | 806	zeah_book
808 | 807	arceuus_sigil
809 | 808	hosidius_sigil
810 | 809	lovakengj_sigil
811 | 810	piscarilius_sigil
812 | 811	shayzien_sigil
813 | 812	wint_icons
814 | 813	badge_colosseum_modifiers01_64x64
815 | 814	icon_colosseum_modifiers01_64x64
816 | 815	icon_colosseum_modifiers02_64x64
817 | 816	icon_colosseum_modifiers03_64x64
818 | 817	icon_alchemy_chemicals01_27x27
819 | 818	icon_alchemy_chemicals01_20x20
820 | 819	icon_alchemy_chemicals01_18x18
821 | 820	icon_alchemy_machines01_20x20
822 | 821	tradebacking
823 | 822	tradebacking_grey
824 | 823	tradebacking_dark
825 | 824	tradebacking_light
826 | 825	tradebacking_beige
827 | 826	tradebacking_red
828 | 827	v2_stone_button
829 | 828	v2_stone_button_in
830 | 829	v2_stone_button_out
831 | 830	button_polished
832 | 831	dashed_border
833 | 832	drag_handle
834 | 833	highlight_border
835 | 834	question_button
836 | 835	icon_stat_50x50
837 | 836	icon_boss_25x25
838 | 837	icon_boss_50x50
839 | 838	icon_buffbar_32x32
840 | 839	icon_rune_32x32
841 | 840	icon_prayer_zaros01_30x30
842 | 841	icon_prayer_zaros02_30x30
843 | 842	icon_tracker_loot01_30x30
844 | 843	icon_arrow_32x16
845 | 844	icon_activities_25x25
846 | 845	chat_tab_button
847 | 846	report_button
848 | 847	friends_changed_name
849 | 848	chat_type_icon
850 | 849	chatchannel_rank_icons
851 | 850	clan_rank_icons
852 | 851	scrollbar_v2
853 | 852	scrollbar_dragger_v2
854 | 853	scrollbar_dragger_horizontal_v2
855 | 854	scrollbar_v2_dark
856 | 855	scrollbar_dragger_v2_dark
857 | 856	scrollbar_parchment_v2
858 | 857	scrollbar_parchment_dragger_v2
859 | 858	scrollbar_trans_arrows
860 | 859	scrollbar_trans_dragger
861 | 
```

--------------------------------------------------------------------------------
/data/soundtypes.txt:
--------------------------------------------------------------------------------

```
   1 | 0	eyeglo_expulsion_3
   2 | 1	advance_prayer2
   3 | 2	royal_cutscene_1
   4 | 3	ambient_church_happy
   5 | 4	farming_final_cutscene
   6 | 5	wom_jingle
   7 | 6	recruit_memory_jingle
   8 | 7	devious_cutscene
   9 | 8	watchtower_machine_on
  10 | 9	denath_cutscene
  11 | 10	forgetful_jingle_open
  12 | 11	tbwt_cooking
  13 | 12	poh_civitas_jingle
  14 | 13	anma_chicken_grab_1
  15 | 14	soulbane_cutscene_fear
  16 | 15	evil_twin_jingle
  17 | 16	trek_sucess
  18 | 17	keldatrade_win
  19 | 18	grim_footsteps_2
  20 | 19	advance_hunting2
  21 | 20	speedygnome_lose
  22 | 21	dreamland_journey_jingle
  23 | 22	easter_jingle
  24 | 23	advance_thieving
  25 | 24	game_win
  26 | 25	xmas_2021_jingle
  27 | 26	6_second_silence
  28 | 27	bkf_cutscene
  29 | 28	zaniks_theme
  30 | 29	lament_cutscene_5
  31 | 30	advance_herblaw
  32 | 31	vanstrom_cutscene
  33 | 32	eyeglo_fluffy_transforms_1
  34 | 33	romeo_cutscene
  35 | 34	eyeglo_saboutage_jingle
  36 | 35	trek_fail
  37 | 36	eyeglo_spirit_tree_jingle
  38 | 37	penance_jingle
  39 | 38	refrain_end
  40 | 39	advance_carpentry
  41 | 40	advance_strength
  42 | 41	sailing_journey_short
  43 | 42	brain_fainting_jingle
  44 | 43	game_lose
  45 | 44	gotr_win_jingle
  46 | 45	gotr_lose_jingle
  47 | 46	poh_rimmington
  48 | 47	wgs_shock_jingle
  49 | 48	handsand_cutscene
  50 | 49	soul_wars_lose
  51 | 50	soul_wars_win
  52 | 51	grand_exchange_trade_jingle
  53 | 52	surok_rock_jingle
  54 | 53	gnome_restaurant_jingle
  55 | 54	river_daughter_jingle
  56 | 55	surok_dance_jingle
  57 | 56	grim_piano_demo
  58 | 57	advance_mining2
  59 | 58	advance_magic2
  60 | 59	forgetful_puzzle_win
  61 | 60	star_mining_boost
  62 | 61	prisonpete_fail
  63 | 62	penance_queen_jingle
  64 | 63	mq3_castle_cutscene_2
  65 | 64	area_tasks_jungle_jingle_all_easy
  66 | 65	toa_boss_complete_jingle
  67 | 66	toa_path_complete_jingle
  68 | 67	pyramid_top
  69 | 68	silence_25_seconds
  70 | 69	xmas22_sting_jingle
  71 | 70	castlewars_lose
  72 | 71	royal_cutscene_1_extended
  73 | 72	temple_built
  74 | 73	barrows_complete
  75 | 74	zaniks_resurrection
  76 | 75	refrain_start
  77 | 76	poh_lumbridge
  78 | 77	advance_crafting
  79 | 78	trek_destination
  80 | 79	captain_braindeath
  81 | 80	pied_piper
  82 | 81	slug_prince_cutscene
  83 | 82	eyeglo_expulsion_5
  84 | 83	sos_peace
  85 | 84	mq3_castle_cutscene_1
  86 | 85	lament_cutscene_4
  87 | 86	peng_bongo_jingle
  88 | 87	open_light_chest
  89 | 88	advance_thieving2
  90 | 89	advance_hitpoints2
  91 | 90	air_guitar_jingle
  92 | 91	quest_complete_1
  93 | 92	pest_win
  94 | 93	balloon_journey_test
  95 | 94	recruit_order_jingle2
  96 | 95	dice_win
  97 | 96	eyeglo_battlefield_cutscene_part2
  98 | 97	area_tasks_jungle_jingle_med
  99 | 98	rogue_win
 100 | 99	dorgeshun_nursery_jingle
 101 | 100	hosidius_jingle
 102 | 101	dream_minigames_jingle
 103 | 102	farming_amulet_jingle
 104 | 103	advance_smithing
 105 | 104	area_tasks_jungle_jingle_all_med
 106 | 105	duel_start
 107 | 106	area_tasks_jungle_jingle_easy
 108 | 107	kr_statue_jingle
 109 | 108	pest_fail
 110 | 109	tbwt_fishing
 111 | 110	advance_ranged2
 112 | 111	tile_win
 113 | 112	grim_footsteps_1
 114 | 113	postie_pete_jingle
 115 | 114	eyeglo_expulsion_jingle
 116 | 115	osman_sneak_in
 117 | 116	arena_wave_complete
 118 | 117	petra_cutscene
 119 | 118	skillcape_jingle
 120 | 119	cat_defeated
 121 | 120	king_rat_dies
 122 | 121	arena_last_man_standing
 123 | 122	pog_teaser_panic
 124 | 123	pog_fluffy_reveal
 125 | 124	pog_teaser
 126 | 125	poh_wintry
 127 | 126	swansong_jingle
 128 | 127	advance_smithing2
 129 | 128	shanty_claws_sea_shanty
 130 | 129	mm_title
 131 | 130	gadderanks_suspense
 132 | 131	rock_cutscene
 133 | 132	poh_rellekka
 134 | 133	myreque3_cutscene_4
 135 | 134	soulbane_cutscene_1
 136 | 135	eyeglo_battlefield_cutscene_jingle
 137 | 136	dwarf_meeting_end
 138 | 137	gf_perfect_sword_jingle
 139 | 138	advance_fletching2
 140 | 139	gauntlet_minigame_end_jingle
 141 | 140	advance_hunting
 142 | 141	dice_lose
 143 | 142	silence_1_second
 144 | 143	maze_win
 145 | 144	agility_complete
 146 | 145	eyeglo_expulsion_2
 147 | 146	advance_defense2
 148 | 147	soulbane_final_cutscene
 149 | 148	castlewars_win
 150 | 149	farming_levelup
 151 | 150	advance_agility
 152 | 151	game_draw
 153 | 152	refrain_loop
 154 | 153	advance_cooking2
 155 | 154	grim_story_complete
 156 | 155	grim_footsteps_3
 157 | 156	sos_life
 158 | 157	morytania_boatride
 159 | 158	tranquility_cutscene
 160 | 159	forgetful_jingle_last
 161 | 160	advance_runecraft
 162 | 161	area_tasks_jungle_jingle_hard
 163 | 162	light_flight
 164 | 163	poh_taverly
 165 | 164	balloon_journey_jingle
 166 | 165	dov_zemo_jingle
 167 | 166	eyeglo_battlefield_cutscene_part3
 168 | 167	slug_queen_cutscene
 169 | 168	quest_complete_3
 170 | 169	lotr_jingle_2
 171 | 170	tbwt_hunting
 172 | 171	advance_mining
 173 | 172	advance_fletching
 174 | 173	hawaii_5_ogre
 175 | 174	my2arm_ejection
 176 | 175	my2arm_love_theme_short
 177 | 176	my2arm_love_theme_end
 178 | 177	advance_prayer
 179 | 178	grim_right_answer
 180 | 179	eyeglo_expulsion_4
 181 | 180	devious_minds
 182 | 181	trek_event
 183 | 182	death
 184 | 183	advance_slayer
 185 | 184	advance_firemarking
 186 | 185	darkmeyer_end_of_quest_jingle
 187 | 186	grim_reaper_jingle
 188 | 187	farming_levelup_2
 189 | 188	100th_banquest_cutscene_2
 190 | 189	death2
 191 | 190	champion_complete
 192 | 191	first_sunshine
 193 | 192	league_task_jingle
 194 | 193	league_area_jingle
 195 | 194	league_relic_jingle
 196 | 195	recruit_patience_jingle
 197 | 196	eyeglo_saboutage_1
 198 | 197	schools_correct_jingle
 199 | 198	grim_grammaphone_kick
 200 | 199	pickpocket_fairy_godfather
 201 | 200	poh_canifis
 202 | 201	advance_herblaw2
 203 | 202	advance_defense
 204 | 203	poh_canafis_jingle
 205 | 204	guide_quiz_complete
 206 | 205	sos_health
 207 | 206	prisonpete_sucess
 208 | 207	sailing_journey
 209 | 208	grim_grammaphone_start
 210 | 209	zombie_pirates
 211 | 210	area_tasks_jungle_jingle_all_hard
 212 | 211	advance_hitpoints
 213 | 212	skullball_win
 214 | 213	duel_win2
 215 | 214	treasure_hunt_win
 216 | 215	soulbane_cutscene_anger
 217 | 216	twocats_wiley
 218 | 217	advance_crafting2
 219 | 218	fairyqueen_awakens
 220 | 219	myarm_cooking_human_jingle
 221 | 220	advance_cooking
 222 | 221	tempoross_win_jingle
 223 | 222	tempoross_lose_jingle
 224 | 223	castlewars_draw
 225 | 224	soulbane_cutscene_confu
 226 | 225	eyeglo_expulsion_7
 227 | 226	recruit_wisdom_jingle
 228 | 227	recruit_observation_jingle
 229 | 228	goal
 230 | 229	eyeglo_battlefield_cutscene_part1
 231 | 230	eyeglo_spirit_tree_1
 232 | 231	poh_pollniveach
 233 | 232	eyeglo_fluffy_transforms_jingle
 234 | 233	colosseum_colossi_defeated
 235 | 234	anma_chicken_grab_2
 236 | 235	advance_ranged
 237 | 236	jormungand_defeated_jingle
 238 | 237	lotr_jingle_1
 239 | 238	slug_mayor_cutscene
 240 | 239	contact_intro_jingle
 241 | 240	eyeglo_spirit_tree_2
 242 | 241	recruit_logic_jingle
 243 | 242	eyeglo_expulsion_1
 244 | 243	snake_charming_short
 245 | 244	juliet_dies_jingle
 246 | 245	advance_slayer2
 247 | 246	ambient_church_spooky
 248 | 247	sos_plenty
 249 | 248	cat_victory
 250 | 249	advance_fishing2
 251 | 250	advance_fishing
 252 | 251	forgetful_jingle_mid
 253 | 252	lament_cutscene_1
 254 | 253	poh_yanille
 255 | 254	advance_magic
 256 | 255	dt2_sliske_reveal
 257 | 256	advance_woodcutting2
 258 | 257	brutal_viking_funeral
 259 | 258	farming_grow
 260 | 259	ambient_church_moody
 261 | 260	complete_schematics
 262 | 261	elf_singing
 263 | 262	grim_wrong_answer
 264 | 263	slice_of_grand_opening
 265 | 264	advance_woodcutting
 266 | 265	advance_carpentry2
 267 | 266	tob_boss_killed_jingle
 268 | 267	100th_banquest_cutscene
 269 | 268	lament_cutscene_2
 270 | 269	fairy_dragon_suspense
 271 | 270	speedygnome_win
 272 | 271	recruit_improvisation_jingle
 273 | 272	kr_not_guilty
 274 | 273	poh_brimhaven
 275 | 274	peng_cowbell_jingle
 276 | 275	100_pirate_cutscene
 277 | 276	dragonslayer_victory
 278 | 277	ham_evil_plot
 279 | 278	rumble_in_da_jungle_jingle
 280 | 279	magic_carpet_ride
 281 | 280	eyeglo_expulsion_6
 282 | 281	advance_strength2
 283 | 282	snake_charming
 284 | 283	ogre_boat_journey
 285 | 284	outpost_cutscene
 286 | 285	lament_cutscene_6
 287 | 286	eyeglo_fluffy_transforms_2
 288 | 287	advance_attack
 289 | 288	fris_jingle_2
 290 | 289	scape_main_jingle
 291 | 290	twocats_fat
 292 | 291	mizgog_cutscene
 293 | 292	brain_op_jingle
 294 | 293	eyeglo_saboutage_2
 295 | 294	soulbane_cutscene_hope
 296 | 295	lunar_isle_entrance_jingle
 297 | 296	suduku_win
 298 | 297	lament_cutscene_3
 299 | 298	mm_killdemon
 300 | 299	keldatrade_lose
 301 | 300	schools_failure_jingle
 302 | 301	king_rat_wins
 303 | 302	mm_message
 304 | 303	advance_attack2
 305 | 304	advance_firemarking2
 306 | 305	combat_level_up
 307 | 306	pride22_cutscene_01
 308 | 307	quest_complete_2
 309 | 308	advance_runecraft2
 310 | 309	monkey_business
 311 | 310	monkey_sadness
 312 | 311	monkey_trouble
 313 | 312	scape_ape
 314 | 313	monkey_badness
 315 | 314	warpath
 316 | 315	espionage
 317 | 316	mouse_trap
 318 | 317	complication
 319 | 318	corridors_of_power
 320 | 319	fe_fi_fo_fum
 321 | 320	etcetera_theme
 322 | 321	breeze
 323 | 322	peng_bards_jingle
 324 | 323	dwarf_theme
 325 | 324	land_of_snow
 326 | 325	righteousness
 327 | 326	prime_time
 328 | 327	cursed
 329 | 328	wet_and_wild
 330 | 329	wonder
 331 | 330	artistry
 332 | 331	march
 333 | 332	alternative_root
 334 | 333	miles_away
 335 | 334	melodrama
 336 | 335	kingdom
 337 | 336	wonderous
 338 | 337	xenophobe
 339 | 338	ham_attack
 340 | 339	trawler_minor
 341 | 340	slice_of_silent_movie
 342 | 341	pick_and_shovel
 343 | 342	lightwalk
 344 | 343	chompy_hunt
 345 | 344	garden_of_spring
 346 | 345	melzars_maze
 347 | 346	scape_five_v5
 348 | 347	deep_down
 349 | 348	lore_and_order
 350 | 349	starlight
 351 | 350	twilight
 352 | 351	corporal_punishment
 353 | 352	parade
 354 | 353	anywhere
 355 | 354	diango_s_little_helpers
 356 | 355	xmas_2021
 357 | 356	fenkenstrain_s_refrain
 358 | 357	the_chosen
 359 | 358	narnode_s_theme
 360 | 359	bubble_and_squeak
 361 | 360	tale_of_keldagrim
 362 | 361	sea_shanty2
 363 | 362	pathways
 364 | 363	revenants
 365 | 364	untouchable
 366 | 365	aztec
 367 | 366	frogland
 368 | 367	welcome_to_the_theatre_6
 369 | 368	maiden_ambience
 370 | 369	verzik_defeated
 371 | 370	xarpus_combat
 372 | 371	nylocas_combat
 373 | 372	pestilent_bloat_combat
 374 | 373	pestilent_bloat_ambience
 375 | 374	verzik_combat
 376 | 375	sotetseg_ambience
 377 | 376	verzik_ambience
 378 | 377	nylocas_ambience
 379 | 378	xarpus_ambience
 380 | 379	sotetseg_combat
 381 | 380	maiden_combat
 382 | 381	frostbite
 383 | 382	crystal_sword
 384 | 383	shining
 385 | 384	beyond
 386 | 385	slice_of_station
 387 | 386	monster_melee
 388 | 387	domain_of_the_vampyres
 389 | 388	null
 390 | 389	assault_and_battery
 391 | 390	escape
 392 | 391	theme
 393 | 392	intrepid
 394 | 393	cave_of_beasts
 395 | 394	method_of_madness
 396 | 395	mastermindless
 397 | 396	monarch_waltz
 398 | 397	the_plundered_tomb
 399 | 398	lamistards_labyrinth
 400 | 399	heavy_security
 401 | 400	the_heist
 402 | 401	the_north
 403 | 402	work_work_work
 404 | 403	easter_jig
 405 | 404	down_and_out
 406 | 405	heart_and_mind
 407 | 406	the_shadow
 408 | 407	scrubfoots_descent
 409 | 408	fairy_dragon_cutscene
 410 | 409	ice_melody
 411 | 410	dark
 412 | 411	gnome_village2
 413 | 412	rhapsody
 414 | 413	well_of_voyage
 415 | 414	lost_soul
 416 | 415	mutant_medley
 417 | 416	high_seas
 418 | 417	delrith_summoning
 419 | 418	scape_wild
 420 | 419	island_of_the_trolls
 421 | 420	upass
 422 | 421	ham_fisted
 423 | 422	yuletide_eve
 424 | 423	autumn_in_bridgelum
 425 | 424	down_to_earth
 426 | 425	castlewars
 427 | 426	incarceration
 428 | 427	the_evil_within
 429 | 428	the_sound_of_guthix
 430 | 429	temple_desecrated
 431 | 430	the_kin
 432 | 431	the_kin_fade
 433 | 432	dangerous_logic
 434 | 433	the_stone
 435 | 434	the_route_of_all_evil
 436 | 435	black_of_knight
 437 | 436	the_route_of_the_problem
 438 | 437	the_waiting_game
 439 | 438	soul_wars
 440 | 439	corporealbeast
 441 | 440	contest
 442 | 441	vanstrom
 443 | 442	the_navigator
 444 | 443	making_waves
 445 | 444	dead_can_dance
 446 | 445	forever
 447 | 446	the_enchanter
 448 | 447	attack2
 449 | 448	inadequacy
 450 | 449	osmans_garden_loop
 451 | 450	davy_jones_locker
 452 | 451	ready_for_battle
 453 | 452	scape_santa
 454 | 453	zaros_zeitgeist
 455 | 454	armadyl_alliance
 456 | 455	zamorak_zoo
 457 | 456	ancient_prison
 458 | 457	the_angels_fury
 459 | 458	strength_of_saradomin
 460 | 459	bandos_battalion
 461 | 460	armageddon
 462 | 461	time_to_mine
 463 | 462	spy_games
 464 | 463	chamber
 465 | 464	coil
 466 | 465	in_between
 467 | 466	regal
 468 | 467	competition
 469 | 468	meddling_kids
 470 | 469	everlasting
 471 | 470	woe_of_the_wyvern
 472 | 471	showdown
 473 | 472	dorgeshun_city
 474 | 473	borderland
 475 | 474	newbie_melody
 476 | 475	claustrophobia
 477 | 476	brain_barrelchest_battle
 478 | 477	trawler
 479 | 478	guardians_of_the_rift
 480 | 479	guardian_preparation
 481 | 480	temple_of_the_eye
 482 | 481	mudskipper_melody
 483 | 482	horizon
 484 | 483	vision
 485 | 484	jungle_troubles
 486 | 485	in_the_clink
 487 | 486	high_spirits
 488 | 487	fangs_for_the_memory
 489 | 488	into_the_abyss
 490 | 489	pest_control
 491 | 490	rune_essence
 492 | 491	church_music_2
 493 | 492	homescape
 494 | 493	expedition
 495 | 494	body_parts
 496 | 495	trouble_brewing
 497 | 496	evil_bobs_island
 498 | 497	alchemical_hydra
 499 | 498	a_farmers_grind
 500 | 499	desolate_mage
 501 | 500	hespori_cave
 502 | 501	hespori
 503 | 502	shayzien_march
 504 | 503	gill_bill
 505 | 504	grow_grow_grow
 506 | 505	ascent
 507 | 506	upper_depths
 508 | 507	newbie_farming
 509 | 508	battlefront
 510 | 509	stuck_in_the_mire
 511 | 510	lower_depths
 512 | 511	getting_down_to_business
 513 | 512	hoe_down
 514 | 513	ful_to_the_brim
 515 | 514	forsaken_tower
 516 | 515	way_of_the_wyrm
 517 | 516	molch
 518 | 517	kanon_of_khalith
 519 | 518	olm_battle
 520 | 519	burning_desire
 521 | 520	we_are_the_fairies
 522 | 521	out_of_the_deep
 523 | 522	principality
 524 | 523	gnome_village
 525 | 524	baroque
 526 | 525	in_the_pits
 527 | 526	rat_hunt
 528 | 527	ratboss_01
 529 | 528	neverland
 530 | 529	zealot
 531 | 530	have_an_ice_day
 532 | 531	fruits_de_mer
 533 | 532	my_arms_journey
 534 | 533	impetuous_clue
 535 | 534	schools_out
 536 | 535	wildwood
 537 | 536	thrall_of_the_serpent
 538 | 537	mage_arena
 539 | 538	serenade
 540 | 539	eagle_peak
 541 | 540	ground_scape
 542 | 541	village
 543 | 542	mined_out
 544 | 543	the_desolate_isle
 545 | 544	exposed
 546 | 545	the_quizmaster
 547 | 546	way_of_the_enchanter
 548 | 547	jungle_hunt
 549 | 548	miscellania
 550 | 549	pinball_wizard
 551 | 550	bcs_cutscene
 552 | 551	bcs_ruin
 553 | 552	bcs_necropolis
 554 | 553	bcs_tomb
 555 | 554	bcs_combat
 556 | 555	harmony
 557 | 556	osrs_fossil_island_underwater_2017
 558 | 557	osrs_fossil_island_underground_2017
 559 | 558	osrs_fossil_island_lava_mine_2017
 560 | 559	osrs_fossil_island_overground_2_2017
 561 | 560	osrs_fossil_island_overground_2017
 562 | 561	osrs_fossil_island_overground_1_2017
 563 | 562	mellow
 564 | 563	lullaby
 565 | 564	muspah_boss
 566 | 565	assassin_boss
 567 | 566	ghorrock_dungeon
 568 | 567	lament_of_meiyerditch
 569 | 568	landlubber
 570 | 569	surok_king_battle_music
 571 | 570	scorpia_dances
 572 | 571	cabin_fever
 573 | 572	goblin_game
 574 | 573	strange_place
 575 | 574	altar_ego
 576 | 575	faithless
 577 | 576	cave_of_the_goblins
 578 | 577	lord_drakan_reveal_combi_1
 579 | 578	iceyene_1
 580 | 579	arboretum
 581 | 580	darkmeyer
 582 | 581	the_terrible_tunnels
 583 | 582	well_hallowed_air
 584 | 583	the_terrible_caverns
 585 | 584	hallowed_sepulchre
 586 | 585	lord_drakan_reveal_part_2
 587 | 586	upir_likhyi
 588 | 587	lord_drakan_reveal_part_1
 589 | 588	temple_of_light
 590 | 589	clanwars
 591 | 590	grotto
 592 | 591	pirates_of_peril
 593 | 592	fishing
 594 | 593	witching
 595 | 594	venomous
 596 | 595	pirates_of_penance
 597 | 596	null_and_void
 598 | 597	attack4
 599 | 598	blistering_barnacles
 600 | 599	arrival
 601 | 600	spooky2
 602 | 601	the_lost_tribe
 603 | 602	distant_land
 604 | 603	lotr_jingle_3
 605 | 604	easter_2024
 606 | 605	wally_cutscene
 607 | 606	tree_spirits
 608 | 607	dead_quiet
 609 | 608	barking_mad
 610 | 609	settlement
 611 | 610	shipwrecked
 612 | 611	clanliness
 613 | 612	tribal2
 614 | 613	bunny_sugar_rush
 615 | 614	chickened_out
 616 | 615	wilderness
 617 | 616	lair
 618 | 617	fremmenik_trollking_jingle
 619 | 618	barren_land
 620 | 619	funny_bunnies
 621 | 620	roots_and_flutes
 622 | 621	legion
 623 | 622	understanding
 624 | 623	housesofkourend
 625 | 624	rose
 626 | 625	confrontation
 627 | 626	coronation
 628 | 627	xamphur
 629 | 628	judgeofyama
 630 | 629	ogre_the_top
 631 | 630	the_longramble_scramble
 632 | 631	waste_defaced
 633 | 632	storeroom_shuffle
 634 | 633	bolrie_s_diary
 635 | 634	healin_feelin_
 636 | 635	terrorbird_tussle
 637 | 636	crystal_castle
 638 | 637	norse_code
 639 | 638	marooned
 640 | 639	romancing_the_crone
 641 | 640	my2arm_love_theme_full
 642 | 641	weiss_town
 643 | 642	troll_shuffle
 644 | 643	my2arm_boss_battle
 645 | 644	dangerous_way
 646 | 645	knightly
 647 | 646	dies_irae
 648 | 647	wrath_and_ruin
 649 | 648	church_music_1
 650 | 649	eves_epinette
 651 | 650	gnome_village_party
 652 | 651	elven_mist
 653 | 652	technology
 654 | 653	overture
 655 | 654	meridian
 656 | 655	troubled
 657 | 656	dream
 658 | 657	dagannoth_dawn
 659 | 658	garden_of_autumn
 660 | 659	7th_realm
 661 | 660	golden_touch
 662 | 661	in_the_manor
 663 | 662	emperor
 664 | 663	book_of_spells
 665 | 664	stillness
 666 | 665	nightfall
 667 | 666	undercurrent
 668 | 667	long_way_home
 669 | 668	everlasting_fire
 670 | 669	tribal
 671 | 670	the_enclave
 672 | 671	close_quarters
 673 | 672	zombiism
 674 | 673	medieval
 675 | 674	phasmatys
 676 | 675	fanfare3
 677 | 676	gargoyleboss
 678 | 677	rising_damp
 679 | 678	dunjun
 680 | 679	bloodbath
 681 | 680	ranis_duel_4_10
 682 | 681	vanescula
 683 | 682	bait
 684 | 683	conspiracy
 685 | 684	stranded
 686 | 685	too_many_cooks
 687 | 686	spirit
 688 | 687	time_out
 689 | 688	scape_scared
 690 | 689	jungle_bells
 691 | 690	mad_eadgar
 692 | 691	lost_tribe_cutscene
 693 | 692	on_the_shore
 694 | 693	scape_soft
 695 | 694	unknown_land
 696 | 695	fris_jingle_1
 697 | 696	rat_a_tat_tat
 698 | 697	flute_salad
 699 | 698	the_terrible_tower
 700 | 699	gnomeball
 701 | 700	scape_cave
 702 | 701	maws_jaws_claws
 703 | 702	big_chords
 704 | 703	the_old_ones
 705 | 704	zogre_dance
 706 | 705	malady
 707 | 706	the_mad_mole
 708 | 707	lasting
 709 | 708	brimstail_s_scales
 710 | 709	expecting
 711 | 710	attack6
 712 | 711	shining_spirit
 713 | 712	rest_in_peace
 714 | 713	still_night
 715 | 714	dream_theatre
 716 | 715	undead_army
 717 | 716	zombie_invasion
 718 | 717	peng_plans_jingle
 719 | 718	deep_wildy
 720 | 719	home_sweet_home
 721 | 720	attack3
 722 | 721	karamja_jam
 723 | 722	bobs_on_holiday
 724 | 723	far_away
 725 | 724	kr_betray_jingle
 726 | 725	woodland
 727 | 726	ambient_jungle
 728 | 727	magical_journey
 729 | 728	werewolves
 730 | 729	attention
 731 | 730	arabique
 732 | 731	life_s_a_beach_
 733 | 732	catch_me_if_you_can
 734 | 733	grimly_fiendish
 735 | 734	creature_cruelty
 736 | 735	tzhaar
 737 | 736	stratosphere
 738 | 737	the_monsters_below
 739 | 738	dance_of_death
 740 | 739	warriors_guild
 741 | 740	riverside
 742 | 741	reggae
 743 | 742	devils_may_care
 744 | 743	stagnant
 745 | 744	on_the_wing
 746 | 745	moody
 747 | 746	looking_back
 748 | 747	jollyr
 749 | 748	fire_and_brimstone
 750 | 749	giant_dwarf_meeting
 751 | 750	head_to_head
 752 | 751	tiptoe
 753 | 752	dreamstate
 754 | 753	scape_main_default
 755 | 754	talking_forest
 756 | 755	crest_of_a_wave
 757 | 756	harmony2
 758 | 757	don_t_panic_zanik
 759 | 758	zanik_s_theme
 760 | 759	dusk_in_yu_biusk
 761 | 760	temple_of_tribes
 762 | 761	catacombs_and_tombs
 763 | 762	roc_and_roll
 764 | 763	masquerade
 765 | 764	workshop
 766 | 765	waking_dream
 767 | 766	barb_wire
 768 | 767	dangerous
 769 | 768	spooky
 770 | 769	floating_free
 771 | 770	the_power_of_tears
 772 | 771	natural
 773 | 772	everywhere
 774 | 773	lair_of_the_basilisk
 775 | 774	jaws_of_the_basilisk
 776 | 775	fight_of_the_basilisk
 777 | 776	jormungand_fight
 778 | 777	ballad_of_the_basilisk
 779 | 778	the_far_side
 780 | 779	athletes_foot
 781 | 780	camdozaal_ruins_2021
 782 | 781	camdozaal_vault
 783 | 782	training_montage
 784 | 783	waterlogged
 785 | 784	jungly2
 786 | 785	marzipan
 787 | 786	fanfare
 788 | 787	giantsfoundry_02
 789 | 788	dragontooth_island
 790 | 789	sarim_s_vermin
 791 | 790	in_the_brine
 792 | 791	drunken_dwarf
 793 | 792	iban
 794 | 793	last_man_standing
 795 | 794	etcetera
 796 | 795	mind_over_matter
 797 | 796	miracle_dance
 798 | 797	magic_dance
 799 | 798	the_noble_rodent
 800 | 799	dogs_of_war
 801 | 800	wild_side
 802 | 801	distillery_hilarity
 803 | 802	army_of_darkness
 804 | 803	the_galleon
 805 | 804	leagues_iii_cutscene
 806 | 805	path_of_peril
 807 | 806	ham_and_seek
 808 | 807	soundscape
 809 | 808	island_life
 810 | 809	waterfall
 811 | 810	sea_shanty
 812 | 811	camelot
 813 | 812	food_for_thought
 814 | 813	alls_fairy_in_love_n_war
 815 | 814	the_adventurer
 816 | 815	attack5
 817 | 816	silence
 818 | 817	doorways
 819 | 818	title_fight
 820 | 819	scape_sad
 821 | 820	jungly1
 822 | 821	toa_boss_akkha
 823 | 822	toa_path_het
 824 | 823	toa_boss_kephri
 825 | 824	toa_boss_wardens
 826 | 825	toa_boss_zebak
 827 | 826	toa_path_apmeken
 828 | 827	toa_boss_baba
 829 | 828	toa_path_scabaras
 830 | 829	toa_ambience
 831 | 830	toa_lobby
 832 | 831	toa_victory
 833 | 832	toa_path_crondis
 834 | 833	shadowland
 835 | 834	tempoross
 836 | 835	poles_apart
 837 | 836	impetuous
 838 | 837	throne_of_the_demon
 839 | 838	the_desert
 840 | 839	lament
 841 | 840	spymaster
 842 | 841	spirits_of_elid
 843 | 842	sunburn
 844 | 843	forgotten
 845 | 844	sphinx
 846 | 845	the_genie
 847 | 846	beetle_juice
 848 | 847	bandit_camp
 849 | 848	the_golem
 850 | 849	scarab
 851 | 850	hypnotized
 852 | 851	al_kharid
 853 | 852	pharoah_s_tomb
 854 | 853	egypt
 855 | 854	sarcophagus
 856 | 855	mirage
 857 | 856	labyrinth
 858 | 857	duel_arena
 859 | 858	desert_voyage
 860 | 859	nomad
 861 | 860	arabian
 862 | 861	arabian2
 863 | 862	back_to_life
 864 | 863	insect_queen
 865 | 864	shine
 866 | 865	grip_of_the_talon
 867 | 866	arabian3
 868 | 867	desert_heat
 869 | 868	city_of_the_dead
 870 | 869	bone_dry
 871 | 870	gates_of_menaphos
 872 | 871	the_depths
 873 | 872	dynasty
 874 | 873	incantation
 875 | 874	tomb_raider
 876 | 875	lonesome
 877 | 876	over_to_nardah
 878 | 877	volcanic_vikings
 879 | 878	greatness
 880 | 879	sad_meadow
 881 | 880	upcoming
 882 | 881	slug_a_bug_ball
 883 | 882	aye_car_rum_ba
 884 | 883	inspiration
 885 | 884	jungly3
 886 | 885	where_eagles_lair
 887 | 886	temple
 888 | 887	hells_bells
 889 | 888	storm_brew
 890 | 889	the_trade_parade
 891 | 890	goblin_village
 892 | 891	beneath_the_stronghold
 893 | 892	nox_irae
 894 | 893	oriental
 895 | 894	underground
 896 | 895	mausoleum
 897 | 896	venture2
 898 | 897	long_ago
 899 | 898	little_cave_of_horrors
 900 | 899	shayzien_outskirts
 901 | 900	soulfall
 902 | 901	box_of_delights
 903 | 902	forlorn_homestead
 904 | 903	sarachnis_lair
 905 | 904	zeah_mining
 906 | 905	zeah_combat
 907 | 906	shayzienforces
 908 | 907	wintertodt_boss
 909 | 908	rugged_terrain
 910 | 909	woodland_walk
 911 | 910	shayzien_crypt
 912 | 911	forthos_dungeon
 913 | 912	wasteland
 914 | 913	darkness_in_the_depths
 915 | 914	zeah_magic
 916 | 915	zeah_farming
 917 | 916	darkly_altared
 918 | 917	kourend_the_magnificent
 919 | 918	hosidius_outskirts
 920 | 919	arceuus_outskirts
 921 | 920	lovakengj_outskirts
 922 | 921	catacombsofkourend
 923 | 922	warrens
 924 | 923	zeah_fishing
 925 | 924	wolf_mountain
 926 | 925	deadlands
 927 | 926	that_sullen_hall
 928 | 927	gnome_king
 929 | 928	tribal_background
 930 | 929	magic_magic_magic
 931 | 930	ralos_rise
 932 | 931	hunter_guild
 933 | 932	neypotzli
 934 | 933	hueycoatl
 935 | 934	quetzacalli_gorge
 936 | 935	sunset_coast
 937 | 936	aldarin_2
 938 | 937	perilous_moons
 939 | 938	aldarin
 940 | 939	civitas_illa_fortis
 941 | 940	mistrock
 942 | 941	avium_savannah
 943 | 942	amoxliatl
 944 | 943	avium_savannah_2
 945 | 944	twilight_temple
 946 | 945	vmq1_cs4_01
 947 | 946	fortis_colosseum
 948 | 947	vmq1_cs2_01
 949 | 948	vmq1_cs1_01
 950 | 949	vmq1_cs3_01
 951 | 950	cam_torum
 952 | 951	civitas_illa_fortis_2
 953 | 952	avium_savannah_3
 954 | 953	hailstorm_mountains
 955 | 954	autumn_voyage
 956 | 955	voyage
 957 | 956	dangerous_road
 958 | 957	hermit
 959 | 958	prif_slayer_dungeon
 960 | 959	dance_of_the_meilyr
 961 | 960	the_tower_of_voices
 962 | 961	ithell
 963 | 962	amlodd
 964 | 963	stand_up_and_be_counted
 965 | 964	traehern_toil
 966 | 965	elven_seed
 967 | 966	lletyas_destruction
 968 | 967	no_pasaran
 969 | 968	warped_library
 970 | 969	the_dark_fragment
 971 | 970	faith_of_the_hefin
 972 | 971	gauntlet_minigame
 973 | 972	zalcano_combat
 974 | 973	city_guardians
 975 | 974	iowerths_lament
 976 | 975	cryws
 977 | 976	scape_crystal
 978 | 977	expanse
 979 | 978	araxxor_combat
 980 | 979	chain_of_command
 981 | 980	cellar_song
 982 | 981	barbarianism
 983 | 982	bone_dance
 984 | 983	romper_chomper
 985 | 984	the_rogues_den
 986 | 985	gaol
 987 | 986	morytania
 988 | 987	attack1
 989 | 988	faerie
 990 | 989	dimension_x
 991 | 990	illusive
 992 | 991	sojourn
 993 | 992	wilderness2
 994 | 993	monkey_madness
 995 | 994	wilderness3
 996 | 995	observatory_telescope_cutscene
 997 | 996	overpass
 998 | 997	forest
 999 | 998	chef_surprize
1000 | 999	tremble
1001 | 1000	the_lunar_isle
1002 | 1001	royale
1003 | 1002	fight_or_flight
1004 | 1003	os_anniversary_medley_v3
1005 | 1004	dt2_digsite
1006 | 1005	dt2_horn_part_1
1007 | 1006	dt2_horn_part_5
1008 | 1007	dt2_scar
1009 | 1008	dt2_vault
1010 | 1009	dt2_horn_part_4
1011 | 1010	dt2_whisperer
1012 | 1011	dt2_leviathan
1013 | 1012	dt2_vardorvis
1014 | 1013	dt2_horn
1015 | 1014	dt2_horn_part_6
1016 | 1015	dt2_stranglewood
1017 | 1016	dt2_horn_part_2
1018 | 1017	dt2_horn_part_3
1019 | 1018	dt2_pursuer
1020 | 1019	dt2_ghorrock
1021 | 1020	dt2_wights
1022 | 1021	dt2_sucellus
1023 | 1022	dt2_lassar
1024 | 1023	dt2_sliske
1025 | 1024	dt2_lassar_silent
1026 | 1025	cave_background
1027 | 1026	the_slayer
1028 | 1027	the_last_shanty
1029 | 1028	lightness
1030 | 1029	down_below
1031 | 1030	no_way_out
1032 | 1031	revenant_slayer_cave
1033 | 1032	tears_of_guthix
1034 | 1033	splendour
1035 | 1034	barbarian_assault_tutorial
1036 | 1035	scape_main
1037 | 1036	trinity
1038 | 1037	dorgeshun_deep
1039 | 1038	slepe_dungeon
1040 | 1039	nightmare_combat
1041 | 1040	jungle_island_xmas
1042 | 1041	major_miner
1043 | 1042	ballad_of_enchantment
1044 | 1043	start
1045 | 1044	land_down_under
1046 | 1045	wayward
1047 | 1046	haunted_mine
1048 | 1047	jungle_island
1049 | 1048	wander
1050 | 1049	rellekka
1051 | 1050	la_mort
1052 | 1051	voodoo_cult
1053 | 1052	safety_in_numbers
1054 | 1053	legend
1055 | 1054	sea_shanty_xmas
1056 | 1055	alone
1057 | 1056	courage
1058 | 1057	dance_of_the_undead
1059 | 1058	have_a_blast
1060 | 1059	right_on_track
1061 | 1060	find_my_way
1062 | 1061	araxyte
1063 | 1062	the_other_side
1064 | 1063	joy_of_the_hunt
1065 | 1064	scape_hunter
1066 | 1065	quest
1067 | 1066	emotion
1068 | 1067	night_of_the_vampiyre
1069 | 1068	garden
1070 | 1069	jester_minute
1071 | 1070	reggae2
1072 | 1071	saga
1073 | 1072	fanfare2
1074 | 1073	fear_and_loathing
1075 | 1074	roll_the_bones
1076 | 1075	the_mollusc_menace
1077 | 1076	land_of_the_dwarves
1078 | 1077	the_tower
1079 | 1078	tomorrow
1080 | 1079	the_cellar_dwellers
1081 | 1080	brew_hoo_hoo
1082 | 1081	slither_and_thither
1083 | 1082	superstition
1084 | 1083	myths_guild
1085 | 1084	lucid_nightmare
1086 | 1085	dragonkin_temple
1087 | 1086	zombie_dragon
1088 | 1087	dragonkin_ambience
1089 | 1088	oncoming_foe
1090 | 1089	galvic_boss_fight
1091 | 1090	lucid_dream
1092 | 1091	isle_of_everywhere
1093 | 1092	crystal_cave
1094 | 1093	background
1095 | 1094	venture
1096 | 1095	on_the_up
1097 | 1096	grumpy
1098 | 1097	knightmare
1099 | 1098	victory_is_mine
1100 | 1099	warrior
1101 | 1100	garden_of_summer
1102 | 1101	shadows_bouncer_jingle
1103 | 1102	troubled_waters
1104 | 1103	undead_dungeon
1105 | 1104	subterranea
1106 | 1105	cavern
1107 | 1106	forgettable_melody
1108 | 1107	yesteryear
1109 | 1108	last_stand
1110 | 1109	sire
1111 | 1110	serene
1112 | 1111	suspicious
1113 | 1112	sea_minor_shanty
1114 | 1113	forbidden
1115 | 1114	pheasant_peasant
1116 | 1115	lighthouse
1117 | 1116	nether_realm
1118 | 1117	garden_of_winter
1119 | 1118	scape_original
1120 | 1119	mor_ul_rek
1121 | 1120	inferno
1122 | 1121	winter_funfare
1123 | 1122	adventure
1124 | 1123	spookyjungle
1125 | 1124	the_lost_melody
1126 | 1125	sigmunds_showdown
1127 | 
```

--------------------------------------------------------------------------------
/data/tabletypes.txt:
--------------------------------------------------------------------------------

```
  1 | 0:0	quest:id
  2 | 0:1	quest:sortname
  3 | 0:2	quest:displayname
  4 | 0:3	quest:in_prerelease
  5 | 0:4	quest:type
  6 | 0:5	quest:members
  7 | 0:6	quest:difficulty
  8 | 0:7	quest:length
  9 | 0:8	quest:location
 10 | 0:9	quest:releasedate
 11 | 0:10	quest:series
 12 | 0:11	quest:seriesno
 13 | 0:12	quest:seriesno_override
 14 | 0:13	quest:startcoord
 15 | 0:14	quest:startnpc
 16 | 0:15	quest:startloc
 17 | 0:16	quest:mapelement
 18 | 0:17	quest:questpoints
 19 | 0:18	quest:unstartedstate
 20 | 0:19	quest:endstate
 21 | 0:20	quest:version
 22 | 0:21	quest:parent_quest
 23 | 0:22	quest:has_subquests
 24 | 0:23	quest:requirement_stats
 25 | 0:24	quest:recommended_stats
 26 | 0:25	quest:requirement_quests
 27 | 0:26	quest:requirement_questpoints
 28 | 0:27	quest:requirement_combat
 29 | 0:28	quest:recommended_combat
 30 | 0:29	quest:requirement_check_skills_on_start
 31 | 0:30	quest:requirements_boostable
 32 | 0:31	quest:speedrun
 33 | 0:32	quest:total_xp_awarded
 34 | 0:33	quest:prerequisite_direct
 35 | 0:34	quest:prerequisite_indirect
 36 | 0:35	quest:cr_can_recommend
 37 | 0:36	quest:cr_experience_profile
 38 | 0:37	quest:cr_recommendation_reason
 39 | 0:38	quest:cr_recommendation_reason_is_primary
 40 | 0:39	quest:cr_points_skill
 41 | 0:40	quest:cr_points_transport
 42 | 0:41	quest:cr_points_equipment
 43 | 0:42	quest:cr_points_area
 44 | 0:43	quest:cr_points_xp_type
 45 | 0:44	quest:cr_starter
 46 | 0:45	quest:fsw_world_first_id
 47 | 1:0	events:name
 48 | 1:1	events:year_of_release
 49 | 1:2	events:type
 50 | 1:3	events:identifier_obj
 51 | 1:4	events:reward_name
 52 | 1:5	events:reward_obj
 53 | 1:6	events:finished_state
 54 | 1:7	events:farewell_message
 55 | 1:8	events:reward_usesystem
 56 | 2:0	cr_module:displayname
 57 | 2:1	cr_module:icon
 58 | 2:2	cr_module:icon_offset
 59 | 2:3	cr_module:content_container
 60 | 3:0	cluehelper_cluetype:name
 61 | 3:1	cluehelper_cluetype:quest_clues
 62 | 3:2	cluehelper_cluetype:beginner_clues
 63 | 3:3	cluehelper_cluetype:easy_clues
 64 | 3:4	cluehelper_cluetype:medium_clues
 65 | 3:5	cluehelper_cluetype:hard_clues
 66 | 3:6	cluehelper_cluetype:elite_clues
 67 | 3:7	cluehelper_cluetype:master_clues
 68 | 4:0	cluehelper_clue_anagram:id
 69 | 4:1	cluehelper_clue_anagram:difficulty
 70 | 4:2	cluehelper_clue_anagram:clue_text
 71 | 4:3	cluehelper_clue_anagram:target
 72 | 4:4	cluehelper_clue_anagram:challenge
 73 | 4:5	cluehelper_clue_anagram:region
 74 | 4:6	cluehelper_clue_anagram:requirements
 75 | 4:7	cluehelper_clue_anagram:allregions
 76 | 5:0	cluehelper_clue_map:id
 77 | 5:1	cluehelper_clue_map:difficulty
 78 | 5:2	cluehelper_clue_map:target
 79 | 5:3	cluehelper_clue_map:requirements
 80 | 5:4	cluehelper_clue_map:region
 81 | 5:5	cluehelper_clue_map:allregions
 82 | 6:0	cluehelper_clue_cipher:id
 83 | 6:1	cluehelper_clue_cipher:difficulty
 84 | 6:2	cluehelper_clue_cipher:clue_text
 85 | 6:3	cluehelper_clue_cipher:target
 86 | 6:4	cluehelper_clue_cipher:challenge
 87 | 6:5	cluehelper_clue_cipher:requirements
 88 | 6:6	cluehelper_clue_cipher:region
 89 | 6:7	cluehelper_clue_cipher:allregions
 90 | 7:0	cluehelper_clue_coordinate:id
 91 | 7:1	cluehelper_clue_coordinate:difficulty
 92 | 7:2	cluehelper_clue_coordinate:clue_text
 93 | 7:3	cluehelper_clue_coordinate:target
 94 | 7:4	cluehelper_clue_coordinate:requirements
 95 | 7:5	cluehelper_clue_coordinate:combat_encounter
 96 | 7:6	cluehelper_clue_coordinate:region
 97 | 7:7	cluehelper_clue_coordinate:allregions
 98 | 8:0	cluehelper_clue_cryptic:id
 99 | 8:1	cluehelper_clue_cryptic:difficulty
100 | 8:2	cluehelper_clue_cryptic:clue_text
101 | 8:3	cluehelper_clue_cryptic:target
102 | 8:4	cluehelper_clue_cryptic:requirements
103 | 8:5	cluehelper_clue_cryptic:challenge
104 | 8:6	cluehelper_clue_cryptic:outfit_text_fallback
105 | 8:7	cluehelper_clue_cryptic:outfit
106 | 8:8	cluehelper_clue_cryptic:hidey_hole_loc
107 | 8:9	cluehelper_clue_cryptic:hidey_hole_coord
108 | 8:10	cluehelper_clue_cryptic:region
109 | 8:11	cluehelper_clue_cryptic:allregions
110 | 9:0	cluehelper_clue_emote:id
111 | 9:1	cluehelper_clue_emote:difficulty
112 | 9:2	cluehelper_clue_emote:clue_text
113 | 9:3	cluehelper_clue_emote:target
114 | 9:4	cluehelper_clue_emote:emote
115 | 9:5	cluehelper_clue_emote:outfit_text_fallback
116 | 9:6	cluehelper_clue_emote:outfit
117 | 9:7	cluehelper_clue_emote:hidey_hole_loc
118 | 9:8	cluehelper_clue_emote:hidey_hole_coord
119 | 9:9	cluehelper_clue_emote:combat_encounter
120 | 9:10	cluehelper_clue_emote:requirements
121 | 9:11	cluehelper_clue_emote:region
122 | 9:12	cluehelper_clue_emote:allregions
123 | 10:0	cluehelper_clue_fairyring:id
124 | 10:1	cluehelper_clue_fairyring:difficulty
125 | 10:2	cluehelper_clue_fairyring:clue_text
126 | 10:3	cluehelper_clue_fairyring:fairyring
127 | 10:4	cluehelper_clue_fairyring:steps
128 | 10:5	cluehelper_clue_fairyring:target
129 | 10:6	cluehelper_clue_fairyring:requirements
130 | 10:7	cluehelper_clue_fairyring:region
131 | 10:8	cluehelper_clue_fairyring:allregions
132 | 11:0	cluehelper_clue_falobard:id
133 | 11:1	cluehelper_clue_falobard:difficulty
134 | 11:2	cluehelper_clue_falobard:clue_text
135 | 11:3	cluehelper_clue_falobard:target
136 | 11:4	cluehelper_clue_falobard:requirements
137 | 11:5	cluehelper_clue_falobard:region
138 | 11:6	cluehelper_clue_falobard:allregions
139 | 12:0	cluehelper_clue_hotcold:id
140 | 12:1	cluehelper_clue_hotcold:difficulty
141 | 12:2	cluehelper_clue_hotcold:target
142 | 12:3	cluehelper_clue_hotcold:requirements
143 | 12:4	cluehelper_clue_hotcold:combat_encounter
144 | 12:5	cluehelper_clue_hotcold:region
145 | 12:6	cluehelper_clue_hotcold:allregions
146 | 13:0	cluehelper_clue_music:id
147 | 13:1	cluehelper_clue_music:difficulty
148 | 13:2	cluehelper_clue_music:music
149 | 13:3	cluehelper_clue_music:unlock_text
150 | 13:4	cluehelper_clue_music:target
151 | 13:5	cluehelper_clue_music:requirements
152 | 13:6	cluehelper_clue_music:region
153 | 13:7	cluehelper_clue_music:allregions
154 | 14:0	cluehelper_clue_skillchallenge:id
155 | 14:1	cluehelper_clue_skillchallenge:difficulty
156 | 14:2	cluehelper_clue_skillchallenge:clue_text
157 | 14:3	cluehelper_clue_skillchallenge:requirements
158 | 14:4	cluehelper_clue_skillchallenge:target
159 | 14:5	cluehelper_clue_skillchallenge:region
160 | 14:6	cluehelper_clue_skillchallenge:allregions
161 | 15:0	cluehelper_target_npc:npc
162 | 15:1	cluehelper_target_npc:fallback_npc
163 | 15:2	cluehelper_target_npc:coord
164 | 15:3	cluehelper_target_npc:description
165 | 15:4	cluehelper_target_npc:teleport_coord
166 | 15:5	cluehelper_target_npc:teleport_restriction_quest
167 | 15:6	cluehelper_target_npc:teleport_restriction_skill
168 | 15:7	cluehelper_target_npc:teleport_restriction_custom
169 | 16:0	cluehelper_target_loc:loc
170 | 16:1	cluehelper_target_loc:fallback_loc
171 | 16:2	cluehelper_target_loc:coord
172 | 16:3	cluehelper_target_loc:description
173 | 16:4	cluehelper_target_loc:teleport_coord
174 | 16:5	cluehelper_target_loc:teleport_restriction_quest
175 | 16:6	cluehelper_target_loc:teleport_restriction_skill
176 | 16:7	cluehelper_target_loc:teleport_restriction_custom
177 | 17:0	cluehelper_target_mapzone:coord_sw
178 | 17:1	cluehelper_target_mapzone:coord_ne
179 | 17:2	cluehelper_target_mapzone:description
180 | 17:3	cluehelper_target_mapzone:teleport_coord
181 | 17:4	cluehelper_target_mapzone:teleport_restriction_quest
182 | 17:5	cluehelper_target_mapzone:teleport_restriction_skill
183 | 17:6	cluehelper_target_mapzone:teleport_restriction_custom
184 | 18:0	cluehelper_target_coord:coord
185 | 18:1	cluehelper_target_coord:description
186 | 18:2	cluehelper_target_coord:description_short
187 | 18:3	cluehelper_target_coord:teleport_coord
188 | 18:4	cluehelper_target_coord:teleport_restriction_quest
189 | 18:5	cluehelper_target_coord:teleport_restriction_skill
190 | 18:6	cluehelper_target_coord:teleport_restriction_custom
191 | 19:0	cluehelper_target_key:loc
192 | 19:1	cluehelper_target_key:loc_coord
193 | 19:2	cluehelper_target_key:npcs
194 | 19:3	cluehelper_target_key:key
195 | 19:4	cluehelper_target_key:key_coord
196 | 19:5	cluehelper_target_key:inv
197 | 19:6	cluehelper_target_key:count
198 | 19:7	cluehelper_target_key:description
199 | 19:8	cluehelper_target_key:teleport_coord
200 | 19:9	cluehelper_target_key:teleport_restriction_quest
201 | 19:10	cluehelper_target_key:teleport_restriction_skill
202 | 19:11	cluehelper_target_key:teleport_restriction_custom
203 | 20:0	cluehelper_target_kill:npcs
204 | 20:1	cluehelper_target_kill:coord
205 | 20:2	cluehelper_target_kill:description
206 | 20:3	cluehelper_target_kill:teleport_coord
207 | 20:4	cluehelper_target_kill:teleport_restriction_quest
208 | 20:5	cluehelper_target_kill:teleport_restriction_skill
209 | 20:6	cluehelper_target_kill:teleport_restriction_custom
210 | 21:0	cluehelper_requirement_obj:description
211 | 21:1	cluehelper_requirement_obj:item
212 | 21:2	cluehelper_requirement_obj:inv
213 | 21:3	cluehelper_requirement_obj:count
214 | 22:0	cluehelper_requirement_obj_param_trail_item:description
215 | 22:1	cluehelper_requirement_obj_param_trail_item:item_group
216 | 23:0	cluehelper_requirement_quest:description
217 | 23:1	cluehelper_requirement_quest:quest
218 | 23:2	cluehelper_requirement_quest:varstate
219 | 24:0	cluehelper_requirement_stat:stat
220 | 24:1	cluehelper_requirement_stat:level
221 | 25:0	cluehelper_challenge_question:question
222 | 26:0	cluehelper_challenge_box:description
223 | 27:0	cluehelper_combat_encounter:description
224 | 27:1	cluehelper_combat_encounter:npcs
225 | 28:0	cluehelper_outfit:description
226 | 28:1	cluehelper_outfit:wearpos_hat
227 | 28:2	cluehelper_outfit:wearpos_back
228 | 28:3	cluehelper_outfit:wearpos_front
229 | 28:4	cluehelper_outfit:wearpos_rhand
230 | 28:5	cluehelper_outfit:wearpos_torso
231 | 28:6	cluehelper_outfit:wearpos_lhand
232 | 28:7	cluehelper_outfit:wearpos_legs
233 | 28:8	cluehelper_outfit:wearpos_hands
234 | 28:9	cluehelper_outfit:wearpos_feet
235 | 28:10	cluehelper_outfit:wearpos_ring
236 | 28:11	cluehelper_outfit:wearpos_quiver
237 | 28:12	cluehelper_outfit:wearpos_param_hat
238 | 28:13	cluehelper_outfit:wearpos_param_back
239 | 28:14	cluehelper_outfit:wearpos_param_front
240 | 28:15	cluehelper_outfit:wearpos_param_rhand
241 | 28:16	cluehelper_outfit:wearpos_param_torso
242 | 28:17	cluehelper_outfit:wearpos_param_lhand
243 | 28:18	cluehelper_outfit:wearpos_param_legs
244 | 28:19	cluehelper_outfit:wearpos_param_hands
245 | 28:20	cluehelper_outfit:wearpos_param_feet
246 | 28:21	cluehelper_outfit:wearpos_param_ring
247 | 28:22	cluehelper_outfit:wearpos_param_quiver
248 | 28:23	cluehelper_outfit:wearpos_param_any
249 | 29:0	dbg_dummy_table:id
250 | 30:0	fsw_info_fresh_table:info
251 | 31:0	fsw_info_normal_table:info
252 | 32:0	fsw_points_info_table:info
253 | 33:0	fsw_points_boss_info_table:info
254 | 34:0	item_transmog:group
255 | 34:1	item_transmog:group_id
256 | 34:2	item_transmog:namedobj
257 | 34:3	item_transmog:ui_name
258 | 34:4	item_transmog:ui_examine
259 | 34:5	item_transmog:ui_op_name
260 | 35:0	combination_lock_dataset:min_length
261 | 35:1	combination_lock_dataset:max_length
262 | 35:2	combination_lock_dataset:value_type
263 | 35:3	combination_lock_dataset:values
264 | 35:4	combination_lock_dataset:randomise_start
265 | 36:0	combination_lock_values:string_value
266 | 36:1	combination_lock_values:graphic_value
267 | 37:0	hair_styles:name
268 | 37:1	hair_styles:player_kit_id_type_a
269 | 37:2	hair_styles:player_kit_id_type_b
270 | 37:3	hair_styles:head_model
271 | 37:4	hair_styles:updo_variant_type_a
272 | 37:5	hair_styles:updo_variant_type_b
273 | 38:0	facial_hair_styles:name
274 | 38:1	facial_hair_styles:player_kit_id_type_a
275 | 38:2	facial_hair_styles:player_kit_id_type_b
276 | 38:3	facial_hair_styles:chat_head
277 | 39:0	omnishop_shop_data:omnishop_shop_name
278 | 39:1	omnishop_shop_data:omnishop_shop_inv
279 | 39:2	omnishop_shop_data:omnishop_shop_currency
280 | 39:3	omnishop_shop_data:omnishop_shop_filter_titles
281 | 39:4	omnishop_shop_data:omnishop_shop_purse
282 | 39:5	omnishop_shop_data:omnishop_shop_stock
283 | 39:6	omnishop_shop_data:omnishop_shop_cost_mod_buy
284 | 39:7	omnishop_shop_data:omnishop_shop_cost_mod_sell
285 | 39:8	omnishop_shop_data:omnishop_shop_cost_mod_haggle
286 | 39:9	omnishop_shop_data:omnishop_shop_cost_currency
287 | 39:10	omnishop_shop_data:omnishop_shop_info_title
288 | 39:11	omnishop_shop_data:omnishop_shop_info_intro_desc
289 | 39:12	omnishop_shop_data:omnishop_shop_info_instructions
290 | 39:13	omnishop_shop_data:omnishop_shop_main_op_text
291 | 39:14	omnishop_shop_data:omnishop_shop_side_op_text
292 | 40:0	omnishop_stock_data:omnishop_stock_obj
293 | 40:1	omnishop_stock_data:omnishop_stock_alternateobj
294 | 40:2	omnishop_stock_data:omnishop_stock_toggle_var
295 | 40:3	omnishop_stock_data:omnishop_stock_toggle_var_owned_state
296 | 40:4	omnishop_stock_data:omnishop_stock_reclaimable
297 | 40:5	omnishop_stock_data:omnishop_stock_filter_id
298 | 40:6	omnishop_stock_data:omnishop_stock_cost
299 | 40:7	omnishop_stock_data:omnishop_stock_cost_mod_buy
300 | 40:8	omnishop_stock_data:omnishop_stock_cost_mod_sell
301 | 40:9	omnishop_stock_data:omnishop_stock_cost_mod_haggle
302 | 40:10	omnishop_stock_data:omnishop_stock_transaction_multiplier
303 | 40:11	omnishop_stock_data:omnishop_stock_restricted
304 | 40:12	omnishop_stock_data:omnishop_stock_restricted_category
305 | 40:13	omnishop_stock_data:omnishop_stock_restricted_uim
306 | 40:14	omnishop_stock_data:omnishop_stock_buyable
307 | 40:15	omnishop_stock_data:omnishop_stock_sellable
308 | 40:16	omnishop_stock_data:omnishop_stock_sold_noted
309 | 40:17	omnishop_stock_data:omnishop_stock_view_only
310 | 41:0	omnishop_currency_data:omnishop_currency_obj
311 | 41:1	omnishop_currency_data:omnishop_currency_name_singular
312 | 41:2	omnishop_currency_data:omnishop_currency_name_plural
313 | 41:3	omnishop_currency_data:omnishop_currency_graphic
314 | 42:0	omnishop_purse_data:omnishop_purse_inv
315 | 42:1	omnishop_purse_data:omnishop_purse_obj
316 | 43:0	whisperer_seed_spawns:id
317 | 43:1	whisperer_seed_spawns:timelimit
318 | 43:2	whisperer_seed_spawns:timelimit_awakened
319 | 43:3	whisperer_seed_spawns:weak_seed
320 | 43:4	whisperer_seed_spawns:danger_seed
321 | 44:0	music:sortname
322 | 44:1	music:displayname
323 | 44:2	music:unlockhint
324 | 44:3	music:duration
325 | 44:4	music:midi
326 | 44:5	music:variable
327 | 44:6	music:area
328 | 44:7	music:area_default
329 | 44:8	music:hidden
330 | 44:9	music:holiday
331 | 44:10	music:secondary_track
332 | 45:0	woodcutting_resource:stat_requirement
333 | 45:1	woodcutting_resource:action_delay
334 | 45:2	woodcutting_resource:base_gather_chance
335 | 45:3	woodcutting_resource:axe_gather_chance
336 | 45:4	woodcutting_resource:chop_anim_enum
337 | 45:5	woodcutting_resource:gather_sound
338 | 45:6	woodcutting_resource:track_last_resource
339 | 45:7	woodcutting_resource:group_gathering_config
340 | 45:8	woodcutting_resource:group_level_boost_cap
341 | 45:9	woodcutting_resource:group_xp_scalar_cap
342 | 45:10	woodcutting_resource:behaviour_data
343 | 46:0	woodcutting_basic_resource_data:is_farming_patch
344 | 46:1	woodcutting_basic_resource_data:gather_xp
345 | 46:2	woodcutting_basic_resource_data:cluenest_chance
346 | 46:3	woodcutting_basic_resource_data:birdsnest_chance
347 | 46:4	woodcutting_basic_resource_data:skillpet
348 | 46:5	woodcutting_basic_resource_data:skillpet_chance
349 | 46:6	woodcutting_basic_resource_data:gather_obj
350 | 46:7	woodcutting_basic_resource_data:leaves_obj
351 | 46:8	woodcutting_basic_resource_data:deplete_chance
352 | 46:9	woodcutting_basic_resource_data:respawn_time_range
353 | 47:0	gathering_event_sapling_loc:loc
354 | 47:1	gathering_event_sapling_loc:width
355 | 47:2	gathering_event_sapling_loc:length
356 | 48:0	group_gathering_resource:lifetime_range
357 | 48:1	group_gathering_resource:respawn_time_range
358 | 48:2	group_gathering_resource:buff_player_cap
359 | 48:3	group_gathering_resource:buff_id
360 | 48:4	group_gathering_resource:gathering_stat
361 | 48:5	group_gathering_resource:weakqueue_action_delay
362 | 48:6	group_gathering_resource:gathering_event_chance_data
363 | 49:0	gathering_event_chance_data:event_low_chance
364 | 49:1	gathering_event_chance_data:event_high_chance
365 | 49:2	gathering_event_chance_data:event_chance_player_cap
366 | 49:3	gathering_event_chance_data:event_start_time_buffer
367 | 49:4	gathering_event_chance_data:event_end_time_buffer
368 | 49:5	gathering_event_chance_data:events_list
369 | 50:0	gathering_event_events_list:event
370 | 51:0	misc_woodcutting_resource_data:owning_npc
371 | 51:1	misc_woodcutting_resource_data:owning_npc_name
372 | 51:2	misc_woodcutting_resource_data:resource_name
373 | 51:3	misc_woodcutting_resource_data:gather_xp
374 | 51:4	misc_woodcutting_resource_data:misc_quest_var_requirement
375 | 51:5	misc_woodcutting_resource_data:royal_quest_var_requirement
376 | 51:6	misc_woodcutting_resource_data:approval_chance
377 | 51:7	misc_woodcutting_resource_data:approval_amount
378 | 52:0	dt2_lassar_barrier:tier
379 | 52:1	dt2_lassar_barrier:id
380 | 52:2	dt2_lassar_barrier:coord
381 | 53:0	dt2_lassar_remnant:id
382 | 53:1	dt2_lassar_remnant:coord
383 | 53:2	dt2_lassar_remnant:empowered
384 | 53:3	dt2_lassar_remnant:quest_stage
385 | 54:0	dt2_lassar_door:lock_id
386 | 54:1	dt2_lassar_door:left_coord
387 | 54:2	dt2_lassar_door:right_coord
388 | 54:3	dt2_lassar_door:rotation
389 | 54:4	dt2_lassar_door:braziers_required
390 | 54:5	dt2_lassar_door:key_obj
391 | 54:6	dt2_lassar_door:key_namedobj
392 | 54:7	dt2_lassar_door:instant_unlock
393 | 55:0	dt2_lassar_chest:lock_id
394 | 55:1	dt2_lassar_chest:coord
395 | 55:2	dt2_lassar_chest:base_chest
396 | 55:3	dt2_lassar_chest:rotation
397 | 55:4	dt2_lassar_chest:loc_shape
398 | 55:5	dt2_lassar_chest:braziers_required
399 | 55:6	dt2_lassar_chest:key_obj
400 | 55:7	dt2_lassar_chest:key_namedobj
401 | 55:8	dt2_lassar_chest:item_to_give
402 | 55:9	dt2_lassar_chest:give_string
403 | 55:10	dt2_lassar_chest:instant_unlock
404 | 56:0	dt2_lassar_ghosts:ghost
405 | 57:0	dt2_lassar_npcs:npc
406 | 58:0	dt2_lassar_items:item
407 | 59:0	dt2_lassar_braziers:id
408 | 59:1	dt2_lassar_braziers:coord
409 | 60:0	dt2_scar_maze:id
410 | 60:1	dt2_scar_maze:source
411 | 60:2	dt2_scar_maze:entry_coord
412 | 60:3	dt2_scar_maze:boat_room_coord
413 | 61:0	speedrun:quest
414 | 61:1	speedrun:speedrun_state
415 | 61:2	speedrun:speedrun_trophy_times
416 | 61:3	speedrun:speedrun_item_unlocks
417 | 61:4	speedrun:speedrun_quest_unlocks
418 | 61:5	speedrun:speedrun_stat_unlocks
419 | 61:6	speedrun:speedrun_combat_stats_unlock
420 | 61:7	speedrun:speedrun_poh_location
421 | 62:0	clan_setting_options_list:clan_setting_title
422 | 62:1	clan_setting_options_list:clan_setting_option
423 | 62:2	clan_setting_options_list:clan_setting_entry_height
424 | 62:3	clan_setting_options_list:clan_setting_mobile_entry_height
425 | 62:4	clan_setting_options_list:clan_setting_icon_size
426 | 63:0	varlamore_thieving_house:id
427 | 63:1	varlamore_thieving_house:house_coord
428 | 63:2	varlamore_thieving_house:outside_door_coord
429 | 63:3	varlamore_thieving_house:inside_door_coord
430 | 63:4	varlamore_thieving_house:wander_coord
431 | 63:5	varlamore_thieving_house:window_outside_coord
432 | 63:6	varlamore_thieving_house:house_name
433 | 63:7	varlamore_thieving_house:house_name_pronoun
434 | 63:8	varlamore_thieving_house:house_area
435 | 63:9	varlamore_thieving_house:house_lootable
436 | 63:10	varlamore_thieving_house:house_door_rotation_open
437 | 63:11	varlamore_thieving_house:house_door_rotation_closed
438 | 64:0	quetzal:id
439 | 64:1	quetzal:name
440 | 64:2	quetzal:coord
441 | 64:3	quetzal:if_model
442 | 64:4	quetzal:if_x_pos
443 | 64:5	quetzal:if_y_pos
444 | 64:6	quetzal:auto_unlocked
445 | 64:7	quetzal:npc
446 | 64:8	quetzal:loc
447 | 65:0	torso_styles:name
448 | 65:1	torso_styles:player_kit_id_type_a
449 | 65:2	torso_styles:player_kit_id_type_b
450 | 65:3	torso_styles:torso_model_type_a_1
451 | 65:4	torso_styles:torso_model_type_a_2
452 | 65:5	torso_styles:torso_model_type_b_1
453 | 65:6	torso_styles:torso_model_type_b_2
454 | 66:0	sleeve_styles:name
455 | 66:1	sleeve_styles:player_kit_id_type_a
456 | 66:2	sleeve_styles:player_kit_id_type_b
457 | 66:3	sleeve_styles:sleeve_model_type_a
458 | 66:4	sleeve_styles:sleeve_model_type_b
459 | 67:0	legging_styles:name
460 | 67:1	legging_styles:player_kit_id_type_a
461 | 67:2	legging_styles:player_kit_id_type_b
462 | 67:3	legging_styles:legging_model_type_a
463 | 67:4	legging_styles:legging_model_type_b
464 | 68:0	shoe_styles:name
465 | 68:1	shoe_styles:player_kit_id_type_a
466 | 68:2	shoe_styles:player_kit_id_type_b
467 | 68:3	shoe_styles:shoe_model_type_a
468 | 68:4	shoe_styles:shoe_model_type_b
469 | 69:0	hand_styles:name
470 | 69:1	hand_styles:player_kit_id_type_a
471 | 69:2	hand_styles:player_kit_id_type_b
472 | 69:3	hand_styles:hand_model_type_a
473 | 69:4	hand_styles:hand_model_type_b
474 | 70:0	vmq3_tower_trial_3:suspect_id
475 | 70:1	vmq3_tower_trial_3:suspect_npc
476 | 70:2	vmq3_tower_trial_3:name
477 | 70:3	vmq3_tower_trial_3:response
478 | 70:4	vmq3_tower_trial_3:response_wrong
479 | 71:0	vmq3_tower_trial_4_cone:direction
480 | 71:1	vmq3_tower_trial_4_cone:tile_data
481 | 72:0	pendant_of_ates_teleports:id
482 | 72:1	pendant_of_ates_teleports:teleport_name
483 | 72:2	pendant_of_ates_teleports:teleport_coord
484 | 72:3	pendant_of_ates_teleports:teleport_if_layer
485 | 73:0	eaa_shame_game:id
486 | 73:1	eaa_shame_game:option
487 | 74:0	varlamore_wyrm_agility_route:name_lowercase
488 | 74:1	varlamore_wyrm_agility_route:name_capitalised
489 | 74:2	varlamore_wyrm_agility_route:agility_level
490 | 74:3	varlamore_wyrm_agility_route:pet_rate
491 | 74:4	varlamore_wyrm_agility_route:completion_xp
492 | 74:5	varlamore_wyrm_agility_route:route_length
493 | 74:6	varlamore_wyrm_agility_route:obstacles_enum
494 | 74:7	varlamore_wyrm_agility_route:termite_obstacle_ids
495 | 75:0	huey_special_attack:phase
496 | 75:1	huey_special_attack:cd
497 | 75:2	huey_special_attack:attacks
498 | 76:0	chartering_destination_data:chartering_destination_id
499 | 76:1	chartering_destination_data:chartering_destination_name
500 | 76:2	chartering_destination_data:chartering_destination_ui_label
501 | 76:3	chartering_destination_data:chartering_destination_ui_marker
502 | 76:4	chartering_destination_data:chartering_destination_port_coord
503 | 77:0	prepot_device_loadout_ui:loadout_id
504 | 77:1	prepot_device_loadout_ui:container_com
505 | 77:2	prepot_device_loadout_ui:contents_com
506 | 77:3	prepot_device_loadout_ui:load_btn_com
507 | 77:4	prepot_device_loadout_ui:save_btn_com
508 | 78:0	combat_interface_weapon_category:id
509 | 78:1	combat_interface_weapon_category:button
510 | 79:0	hiscores_skill_info:skillname
511 | 79:1	hiscores_skill_info:skillid
512 | 79:2	hiscores_skill_info:skillicon
513 | 80:0	hiscores_activity_info:activityvarp
514 | 80:1	hiscores_activity_info:activityname
515 | 80:2	hiscores_activity_info:activityicon
516 | 81:0	hiscores_bosses_info:bossname
517 | 81:1	hiscores_bosses_info:bossicon
518 | 81:2	hiscores_bosses_info:bossvarp
519 | 82:0	region_data:region_id
520 | 82:1	region_data:name
521 | 82:2	region_data:map_graphic
522 | 82:3	region_data:map_component
523 | 82:4	region_data:map_shield_sprite
524 | 82:5	region_data:map_shield_sprite_highlighted
525 | 82:6	region_data:map_shield_sprite_small
526 | 82:7	region_data:map_name_sprite
527 | 82:8	region_data:map_name_sprite_highlighted
528 | 82:9	region_data:map_slideshow
529 | 82:10	region_data:area_info
530 | 82:11	region_data:area_teleport_coord
531 | 83:0	toggle_list_interface:title
532 | 83:1	toggle_list_interface:info
533 | 83:2	toggle_list_interface:disable_on_leagues
534 | 84:0	league_slayer_task_data:task_id
535 | 84:1	league_slayer_task_data:min_comlevel
536 | 84:2	league_slayer_task_data:min_stat_requirement_all
537 | 84:3	league_slayer_task_data:min_stat_requirement_any
538 | 84:4	league_slayer_task_data:leagues_min_comlevel
539 | 84:5	league_slayer_task_data:leagues_max_comlevel
540 | 84:6	league_slayer_task_data:quests_required_all
541 | 84:7	league_slayer_task_data:quests_required_any
542 | 84:8	league_slayer_task_data:regions
543 | 84:9	league_slayer_task_data:name_lowercase
544 | 84:10	league_slayer_task_data:name_uppercase
545 | 84:11	league_slayer_task_data:slayer_tip
546 | 84:12	league_slayer_task_data:master_weight_minamount_maxamount
547 | 85:0	leagues_echo_bosses:echo_orb_droprate
548 | 85:1	leagues_echo_bosses:echo_orb_object
549 | 85:2	leagues_echo_bosses:unique_drop
550 | 85:3	leagues_echo_bosses:unique_drop_rate
551 | 85:4	leagues_echo_bosses:ca_data
552 | 85:5	leagues_echo_bosses:description
553 | 85:6	leagues_echo_bosses:difficulty
554 | 85:7	leagues_echo_bosses:region
555 | 85:8	leagues_echo_bosses:name
556 | 85:9	leagues_echo_bosses:requirements
557 | 86:0	magic_enchant:base
558 | 86:1	magic_enchant:output
559 | 86:2	magic_enchant:spell
560 | 86:3	magic_enchant:members
561 | 86:4	magic_enchant:castxp
562 | 86:5	magic_enchant:anim
563 | 86:6	magic_enchant:spotanim
564 | 86:7	magic_enchant:sound
565 | 86:8	magic_enchant:special
566 | 86:9	magic_enchant:failmes
567 | 87:0	charges:max_charges
568 | 87:1	charges:charge_item_and_quantity
569 | 87:2	charges:charges_granted
570 | 87:3	charges:charges_type
571 | 87:4	charges:charges_quantity_bits_and_varp
572 | 88:0	synth:name
573 | 88:1	synth:sub_menu
574 | 88:2	synth:synth
575 | 88:3	synth:parent_directory
576 | 89:0	fairyring:id
577 | 89:1	fairyring:multiloc_state
578 | 89:2	fairyring:dest_coord
579 | 89:3	fairyring:code
580 | 89:4	fairyring:text_component
581 | 89:5	fairyring:fave_icon_component
582 | 89:6	fairyring:mapelement
583 | 89:7	fairyring:mapelement_tooltip
584 | 89:8	fairyring:desc
585 | 89:9	fairyring:apparition_npc
586 | 89:10	fairyring:show_apparition
587 | 89:11	fairyring:no_staff_return
588 | 
```

--------------------------------------------------------------------------------
/data/invtypes.txt:
--------------------------------------------------------------------------------

```
  1 | 0	trawler_rewardinv
  2 | 1	axeshop
  3 | 2	armourshop
  4 | 3	generalshop1
  5 | 4	generalshop2
  6 | 5	runeshop
  7 | 6	swordshop
  8 | 7	archeryshop
  9 | 8	clotheshop
 10 | 9	staffshop
 11 | 10	helmetshop
 12 | 11	scimitarshop
 13 | 12	legsshop
 14 | 13	generalshop3
 15 | 14	miningstore
 16 | 15	shieldshop
 17 | 16	skirtshop
 18 | 17	generalshop4
 19 | 18	championshop
 20 | 19	maceshop
 21 | 20	foodshop
 22 | 21	battleaxeshop
 23 | 22	chainmailshop
 24 | 23	generaldwarf
 25 | 24	generalshop5
 26 | 25	magicshop
 27 | 26	gemshop
 28 | 27	craftingshop
 29 | 28	goldshop
 30 | 29	boozeshop
 31 | 30	fishingshop
 32 | 31	generalshop6
 33 | 32	craftingshop2
 34 | 33	runiteshop
 35 | 34	generalshop7
 36 | 35	runeplateshop
 37 | 36	dragonswordshop
 38 | 37	cheapringshop
 39 | 38	generalshop8
 40 | 39	2handedshop
 41 | 40	herbloreshop
 42 | 41	taxfree
 43 | 42	pizzabaseshop
 44 | 43	fishingshop2
 45 | 44	fishrestaurant
 46 | 45	dragonaxeshop
 47 | 46	amuletshop
 48 | 47	arheinstore
 49 | 48	candleshop
 50 | 49	archeryshop2
 51 | 50	herbloreshop2
 52 | 51	memberstaffshop
 53 | 52	gemshop2
 54 | 53	topshop
 55 | 54	bakery
 56 | 55	silvershop
 57 | 56	gemshop3
 58 | 57	adventurershop
 59 | 58	spiceshop
 60 | 59	furshop
 61 | 60	fishingguild
 62 | 61	khazardshop
 63 | 62	gnomeshop
 64 | 63	fancyclothesstore
 65 | 64	magicguildshop
 66 | 65	junglestore
 67 | 66	lathastrainingstore
 68 | 67	cookeryshop
 69 | 68	pickaxeshop
 70 | 69	teashop
 71 | 70	generalshopogre
 72 | 71	herbloreshopogre
 73 | 72	silverstall
 74 | 73	ardougnegemstall
 75 | 74	spicestall
 76 | 75	furstall
 77 | 76	wydinstore
 78 | 77	bedabincampshop
 79 | 78	shantayshop
 80 | 79	mcannonshop
 81 | 80	ranging_guild_bowshop
 82 | 81	ranging_guild_armourshop
 83 | 82	ranging_guild_tribalshop
 84 | 83	generallegends
 85 | 84	legendsguildshop
 86 | 85	shilofishingshop
 87 | 86	gnomeshop_rometti
 88 | 87	gnomeshop_gulluck
 89 | 88	gnomeshop_heck
 90 | 89	gnomeshop_hudo
 91 | 90	tradeoffer
 92 | 91	partyroom_dropinv
 93 | 92	partyroom_tempinv
 94 | 93	inv
 95 | 94	worn
 96 | 95	bank
 97 | 96	crafting_make_rings
 98 | 97	crafting_make_necklaces
 99 | 98	crafting_make_amulets
100 | 99	blurberrybar
101 | 100	giannerestaurant
102 | 101	smithing_bronze1
103 | 102	smithing_bronze2
104 | 103	smithing_bronze3
105 | 104	smithing_bronze4
106 | 105	smithing_bronze5
107 | 106	smithing_iron1
108 | 107	smithing_iron2
109 | 108	smithing_iron3
110 | 109	smithing_iron4
111 | 110	smithing_iron5
112 | 111	smithing_steel1
113 | 112	smithing_steel2
114 | 113	smithing_steel3
115 | 114	smithing_steel4
116 | 115	smithing_steel5
117 | 116	smithing_mithril1
118 | 117	smithing_mithril2
119 | 118	smithing_mithril3
120 | 119	smithing_mithril4
121 | 120	smithing_mithril5
122 | 121	smithing_adamant1
123 | 122	smithing_adamant2
124 | 123	smithing_adamant3
125 | 124	smithing_adamant4
126 | 125	smithing_adamant5
127 | 126	smithing_rune1
128 | 127	smithing_rune2
129 | 128	smithing_rune3
130 | 129	smithing_rune4
131 | 130	smithing_rune5
132 | 131	magearena_runeshop
133 | 132	magearena_staffshop
134 | 133	deathkeep
135 | 134	dueloffer
136 | 135	duel_rottenfruitshop
137 | 136	duelwinnings
138 | 137	aprilfoolshorseshop
139 | 138	shilojunglestore
140 | 139	upassgeneralshop
141 | 140	trail_puzzleinv
142 | 141	trail_rewardinv
143 | 142	duelarrows
144 | 143	werewolfstore1
145 | 144	werewolfstore2
146 | 145	werewolfgeneralstore
147 | 146	craftingshop_free
148 | 147	craftingshop2_free
149 | 148	death_generalshop
150 | 149	death_pub
151 | 150	smithing_bronze_claws
152 | 151	smithing_iron_claws
153 | 152	smithing_steel_claws
154 | 153	smithing_mithril_claws
155 | 154	smithing_adamant_claws
156 | 155	smithing_rune_claws
157 | 156	tbwt_tiadeche_final_inventory
158 | 157	karamja_fishrestaurant
159 | 158	tbwt_tamayu_final_inventory
160 | 159	regicide_general_shop
161 | 160	regicide_general_shop_2
162 | 161	skill_guide_firemaking
163 | 162	skill_guide_agility
164 | 163	skill_guide_combat_weapons
165 | 164	skill_guide_combat_armours
166 | 165	skill_guide_cooking_overall
167 | 166	skill_guide_cooking_overall2
168 | 167	skill_guide_cooking_meat
169 | 168	skill_guide_cooking_bread
170 | 169	skill_guide_cooking_cakes
171 | 170	skill_guide_cooking_pizzas
172 | 171	skill_guide_cooking_pies
173 | 172	skill_guide_cooking_stews
174 | 173	skill_guide_cooking_wine
175 | 174	skill_guide_crafting_leather
176 | 175	skill_guide_crafting_spinning
177 | 176	skill_guide_crafting_pottery
178 | 177	skill_guide_crafting_glass
179 | 178	skill_guide_crafting_jewellery
180 | 179	skill_guide_crafting_staffs
181 | 180	skill_guide_fishing
182 | 181	skill_guide_fletching_bows
183 | 182	skill_guide_fletching_arrows
184 | 183	skill_guide_fletching_darts
185 | 184	skill_guide_fletching_bolts
186 | 185	skill_guide_herblore_herbs
187 | 186	skill_guide_herblore_potions
188 | 187	skill_guide_mining_ores
189 | 188	skill_guide_mining_pickaxes
190 | 189	skill_guide_ranged_bows
191 | 190	skill_guide_ranged_thrown
192 | 191	skill_guide_ranged_armour
193 | 192	skill_guide_runecrafting
194 | 193	skill_guide_smithing_smelting
195 | 194	skill_guide_smithing_bronze
196 | 195	skill_guide_smithing_iron
197 | 196	skill_guide_smithing_steel
198 | 197	skill_guide_smithing_mithril
199 | 198	skill_guide_smithing_adamant
200 | 199	skill_guide_smithing_rune
201 | 200	skill_guide_thieving_stalls
202 | 201	skill_guide_thieving_pickpocket
203 | 202	skill_guide_crafting_armour
204 | 203	skill_guide_woodcutting
205 | 204	razmiregeneralstore
206 | 205	razmirebuildingstore
207 | 206	skill_guide_magic_armour
208 | 207	trail_puzzlehintinv
209 | 208	viking_clothes_shop
210 | 209	viking_bar
211 | 210	viking_weapons_shop
212 | 211	viking_general_store
213 | 212	viking_fishmonger
214 | 213	viking_furshop
215 | 214	lighthouseshop
216 | 215	boardgames_boardinv
217 | 216	boardgames_sideinv
218 | 217	misc_fishmonger
219 | 218	misc_greengrocer
220 | 219	etc_fishmonger
221 | 220	etc_greengrocer
222 | 221	reinitialisation_inv
223 | 222	reinitialisation_inv_inactive
224 | 223	mm_magic_shop
225 | 224	mm_scimitar_shop
226 | 225	mm_food_shop
227 | 226	mm_crafting_shop
228 | 227	mm_general_shop
229 | 228	rangingguild_trade_tickets
230 | 229	skill_guide_slayer_monsters
231 | 230	skill_guide_slayer_equipment
232 | 231	slayershop
233 | 232	magicguildshop2
234 | 233	generalshop_phasmatys
235 | 234	skill_guide_cooking_hotdrinks
236 | 235	ahoy_generalshop
237 | 236	wildernesscapeshop1
238 | 237	wildernesscapeshop2
239 | 238	wildernesscapeshop3
240 | 239	wildernesscapeshop4
241 | 240	wildernesscapeshop5
242 | 241	wildernesscapeshop6
243 | 242	wildernesscapeshop7
244 | 243	wildernesscapeshop8
245 | 244	wildernesscapeshop9
246 | 245	wildernesscapeshop10
247 | 246	castlewars_trade_tickets
248 | 247	castlewars_trade_coins
249 | 248	smithing_lamp_iron
250 | 249	smithing_lamp_steel
251 | 250	salesman_ranging
252 | 251	mm_scimitar_shop2
253 | 252	feud_morrisanes
254 | 253	feud_alispub
255 | 254	pollnivneach_generalstore
256 | 255	dt_bandit_shop
257 | 256	rasoolshop1
258 | 257	fd_bandit_bar
259 | 258	sophanem_cloth_store
260 | 259	ahoy_akharanu_shop
261 | 260	uglug_nar_shop
262 | 261	keldagrim_warhammer_shop
263 | 262	keldagrim_quality_weapons_shop
264 | 263	keldagrim_quality_armour_shop
265 | 264	keldagrim_general_shop
266 | 265	keldagrim_pickaxe_shop
267 | 266	keldagrim_clothes_shop
268 | 267	keldagrim_bread_stall
269 | 268	keldagrim_crafting_stall
270 | 269	keldagrim_gem_stall
271 | 270	keldagrim_silver_stall
272 | 271	keldagrim_clothes_stall
273 | 272	minecart_temp_inv
274 | 273	seed_stall
275 | 274	skill_guide_thieving_chests
276 | 275	skill_guide_prayer
277 | 276	darkruneshop_crap
278 | 277	darkruneshop_uber
279 | 278	roguesden_puzzle_rotation
280 | 279	roguesden_shop
281 | 280	farming_shop_1
282 | 281	farming_shop_2
283 | 282	farming_shop_3
284 | 283	farming_shop_4
285 | 284	skill_guide_cooking_brewing
286 | 285	skill_guide_cooking_vegetables
287 | 286	skill_guide_crafting_weaving
288 | 287	skill_guide_farming_veg
289 | 288	skill_guide_farming_hops
290 | 289	skill_guide_farming_trees
291 | 290	skill_guide_farming_fruit_trees
292 | 291	skill_guide_farming_herbs
293 | 292	skill_guide_farming_flowers
294 | 293	skill_guide_farming_bushes
295 | 294	skill_guide_farming_special
296 | 295	skill_guide_farming_mushroom
297 | 296	skill_guide_farming_cactus
298 | 297	skill_guide_farming_calquat
299 | 298	skill_guide_farming_spirit_tree
300 | 299	skill_guide_farming_scarecrow
301 | 300	skill_guide_farming_belladonna
302 | 301	lletyageneralshop1
303 | 302	lletyaseamstressshop1
304 | 303	lletyaarcheryshop1
305 | 304	lletyafoodshop1
306 | 305	tai_bwo_wannai_cooperative
307 | 306	tai_bwo_wannai_drinksies
308 | 307	macro_certer
309 | 308	roguetrader_toughsudukuinv
310 | 309	roguetrader_alim_defendbj_inv
311 | 310	roguetrader_alim_assaultbj_inv
312 | 311	roguetrader_alim_meanpclothes_inv
313 | 312	roguetrader_alim_carpetclothes_inv
314 | 313	roguetrader_alim_runeretail_inv
315 | 314	roguetrader_alim_runewholesale_inv
316 | 315	roguetrader_alim_runedump
317 | 316	blast_furnace_inv
318 | 317	blast_furnace_bars_inv
319 | 318	smithing_guild_ore_seller
320 | 319	smithing_guild_buyer
321 | 320	pickcatinv
322 | 321	skill_guide_agility_courses
323 | 322	skill_guide_agility_areas
324 | 323	skill_guide_agility_shortcuts
325 | 324	tzhaar_shop_general
326 | 325	tzhaar_shop_equipment
327 | 326	tzhaar_shop_oreandgem
328 | 327	tzhaar_shop_rune
329 | 328	whiteknight_armoury1
330 | 329	whiteknight_armoury2
331 | 330	whiteknight_armoury3
332 | 331	whiteknight_armoury4
333 | 332	whiteknight_armoury5
334 | 333	whiteknight_armoury6
335 | 334	pillory_rottenfruitshop
336 | 335	skill_guide_cooking_dairy
337 | 336	skill_guide_woodcutting_axes
338 | 337	silvercast_holysymbol
339 | 338	silvercast_unholysymbol
340 | 339	silvercast_sickle
341 | 340	silvercast_lightning
342 | 341	silvercast_tiara
343 | 342	silvercast_agrith
344 | 343	generalshopnardah
345 | 344	armourshopnardah
346 | 345	chociceshopnardah
347 | 346	bakery2
348 | 347	magictraining_inventory
349 | 348	smithsshop
350 | 349	joeshop
351 | 350	charleyshop
352 | 351	mikeshop
353 | 352	shop_pies
354 | 353	skill_guide_woodcutting_canoes
355 | 354	farming_tools_fairyversion
356 | 355	wielded_weapon_inv
357 | 356	hundred_foodchest1
358 | 357	hundred_foodchest2
359 | 358	hundred_foodchest3
360 | 359	hundred_foodchest4
361 | 360	hundred_foodchest5
362 | 361	hundred_foodchest6
363 | 362	hundred_foodchest7
364 | 363	hundred_foodchest8
365 | 364	hundred_foodchest9
366 | 365	hundred_foodchest10
367 | 366	hundred_rewardchest1
368 | 367	hundred_rewardchest2
369 | 368	hundred_rewardchest3
370 | 369	hundred_rewardchest4
371 | 370	hundred_rewardchest5
372 | 371	hundred_rewardchest6
373 | 372	hundred_rewardchest7
374 | 373	hundred_rewardchest8
375 | 374	hundred_rewardchest9
376 | 375	hundred_rewardchest10
377 | 376	hundred_quest_journal
378 | 377	100guide_flourinv1
379 | 378	100guide_flourinv2
380 | 379	100guide_flourinv3
381 | 380	100guide_flourinv4
382 | 381	100guide_flourinv5
383 | 382	silvercast_commandrod
384 | 383	burgh_general_store
385 | 384	wine_merchant
386 | 385	wine_vinegar_merchant
387 | 386	wine_merchant_free
388 | 387	pest_archery_store
389 | 388	pest_rune_store
390 | 389	pest_general_store
391 | 390	misc_resources_collected
392 | 391	royal_generalstore
393 | 392	royal_clotheshop
394 | 393	royal_bar
395 | 394	royal_foodshop
396 | 395	poh_sawmill_shop
397 | 396	poh_stonemason_shop
398 | 397	poh_garden_centre
399 | 398	poh_furniture_menu_inv
400 | 399	skill_guide_carpentry_rooms
401 | 400	skill_guide_carpentry_seating
402 | 401	skill_guide_carpentry_storage
403 | 402	skill_guide_carpentry_skills
404 | 403	skill_guide_carpentry_decorative
405 | 404	skill_guide_carpentry_games
406 | 405	skill_guide_carpentry_garden
407 | 406	skill_guide_carpentry_misc
408 | 407	skill_guide_carpentry_chapel
409 | 408	skill_guide_carpentry_dungeon
410 | 409	skill_guide_carpentry_trophies
411 | 410	warguild_food_shop
412 | 411	warguild_armour_shop
413 | 412	warguild_potion_shop
414 | 413	dorgeshuun_weapon_shop
415 | 414	brew_reward_shop
416 | 415	skill_guide_thieving_other
417 | 416	lunar_general
418 | 417	lunar_clotheshop
419 | 418	lunar_runeshop
420 | 419	lunar_runeshop_compl
421 | 420	skill_guide_ranged_shortcuts
422 | 421	skill_guide_strength_weapons_and_armour
423 | 422	skill_guide_strength_shortcuts
424 | 423	skill_guide_fletching_cbows
425 | 424	skill_guide_magic_bolts
426 | 425	skill_guide_ranged_crossbows
427 | 426	skill_guide_smithing_blurite
428 | 427	xbows_shop
429 | 428	xbows_shop_addy
430 | 429	silvercast_xbows
431 | 430	smithing_bronze6
432 | 431	smithing_iron6
433 | 432	smithing_steel6
434 | 433	smithing_mithril6
435 | 434	xbows_grapple_inv
436 | 435	smithing_adamant6
437 | 436	smithing_rune6
438 | 437	skill_guide_cooking_gnome
439 | 438	eyeglo_inv_in
440 | 439	eyeglo_inv_out
441 | 440	eyeglo_inv_side
442 | 441	trader_stan_shop
443 | 442	meiyerditch_black_market
444 | 443	templeknight_armoury1
445 | 444	templeknight_armoury2
446 | 445	poh_costume_menu_inv
447 | 446	poh_costume_room_magic_wardrobe_inv
448 | 447	poh_costume_room_armour_inv
449 | 448	poh_costume_room_ame_inv
450 | 449	poh_costume_room_treasure_trail_1_inv
451 | 450	poh_costume_room_treasure_trail_2_inv
452 | 451	poh_costume_room_treasure_trail_3_inv
453 | 452	poh_costume_room_capes_inv
454 | 453	poh_costume_room_holiday_items_inv
455 | 454	skill_guide_carpentry_costume_room
456 | 455	roguesden_shop_skillcape
457 | 456	roguesden_shop_skillcape_trimmed
458 | 457	ranging_guild_armourshop_skillcape
459 | 458	ranging_guild_armourshop_skillcape_trimmed
460 | 459	runeshop_skillcape
461 | 460	runeshop_skillcape_trimmed
462 | 461	magicguildshop2_skillcape
463 | 462	magicguildshop2_skillcape_trimmed
464 | 463	ranging_guild_bowshop_skillcape
465 | 464	ranging_guild_bowshop_skillcape_trimmed
466 | 465	myarm_shop
467 | 466	archeryshop2_skillcape
468 | 467	archeryshop2_skillcape_trimmed
469 | 468	diango_hols_sack
470 | 469	skill_guide_hunting_tracking
471 | 470	skill_guide_hunting_birds
472 | 471	skill_guide_hunting_butterflies
473 | 472	skill_guide_hunting_deadfalls
474 | 473	skill_guide_hunting_boxtraps
475 | 474	skill_guide_hunting_nettraps
476 | 475	skill_guide_hunting_pitfalls
477 | 476	skill_guide_hunting_falconry
478 | 477	skill_guide_hunting_impboxes
479 | 478	skill_guide_hunting_rabbits
480 | 479	skill_guide_hunting_eagles
481 | 480	skill_guide_hunting_traps
482 | 481	skill_guide_hunting_clothing
483 | 482	hunting_customfurshop
484 | 483	hunting_shop_yanille
485 | 484	hunting_shop_nardah
486 | 485	poh_costume_room_treasure_trail_1a_inv
487 | 486	poh_costume_room_treasure_trail_2a_inv
488 | 487	poh_costume_room_treasure_trail_3a_inv
489 | 488	poh_costume_room_capes_inv_page2
490 | 489	anma_shop
491 | 490	barbassault_egginv
492 | 491	contact_craftingshop
493 | 492	contact_bakery
494 | 493	contact_daggershop
495 | 494	contact_embalmer
496 | 495	sophanem_cloth_store_updated
497 | 496	poh_costume_room_treasure_trail_1_inv_check
498 | 497	poh_costume_room_treasure_trail_1a_inv_check
499 | 498	poh_costume_room_treasure_trail_2_inv_check
500 | 499	poh_costume_room_treasure_trail_2a_inv_check
501 | 500	poh_costume_room_treasure_trail_3_inv_check
502 | 501	poh_costume_room_treasure_trail_3a_inv_check
503 | 502	frisb_n_shop
504 | 503	frisd_fishmonger
505 | 504	frisd_cook
506 | 505	frisd_armourshop
507 | 506	frisd_weaponshop
508 | 507	frisd_oreshop
509 | 508	frisd_yak_contraband
510 | 509	ttrek_follower_inv
511 | 510	dorgesh_food_sold
512 | 511	dorgesh_lamp_shop
513 | 512	dorgesh_leather_shop
514 | 513	dorgesh_general_store
515 | 514	dream_bank_inventory
516 | 515	dream_crate_inventory
517 | 516	looting_bag
518 | 517	poh_menagerie_pets
519 | 518	tradingpost_sell_0
520 | 519	tradingpost_sell_1
521 | 520	tradingpost_sell_2
522 | 521	tradingpost_sell_3
523 | 522	tradingpost_sell_4
524 | 523	tradingpost_sell_5
525 | 524	tradingpost_display
526 | 525	gravestone
527 | 526	ge_offer_0
528 | 527	ge_offer_1
529 | 528	ge_offer_2
530 | 529	ge_offer_3
531 | 530	ge_offer_4
532 | 531	ge_offer_5
533 | 532	microt_dropbox
534 | 533	microt_delbox
535 | 534	bonds_escrow
536 | 535	bonds_redeem_dummy
537 | 536	bonds_pouch
538 | 537	ge_offer_6
539 | 538	ge_offer_7
540 | 539	ge_collect_6
541 | 540	ge_collect_7
542 | 541	dueldisplay_dummy
543 | 542	deadman_axeshop
544 | 543	deadman_scimitarshop
545 | 544	deadman_craftingshop2
546 | 545	deadman_legsshop
547 | 546	deadman_swordshop
548 | 547	deadman_armourshop
549 | 548	deadman_archeryshop
550 | 549	deadman_skirtshop
551 | 550	deadman_fishingshop
552 | 551	deadman_memberstaffshop
553 | 552	deadman_helmetshop
554 | 553	deadmanlose
555 | 554	deadmanlose_dummy
556 | 555	deadmanprotect
557 | 556	deadmancert
558 | 557	deadmankey
559 | 558	deadman_loot_inv0
560 | 559	deadman_loot_inv1
561 | 560	deadman_loot_inv2
562 | 561	deadman_loot_inv3
563 | 562	deadman_loot_inv4
564 | 563	deadman_safebox
565 | 564	deadman_safebox_split
566 | 565	piscarilius_fish_trader_0
567 | 566	piscarilius_fish_trader_250
568 | 567	piscarilius_fish_trader_500
569 | 568	piscarilius_fish_trader_750
570 | 569	piscarilius_fish_trader_1000
571 | 570	piscarilius_fishing_supplies
572 | 571	piscarilius_generalstore
573 | 572	bank_holdinginv
574 | 573	seed_box
575 | 574	mm2_javelin_store
576 | 575	lovakengj_dynamite_shop
577 | 576	hh_inv
578 | 577	br_rewardinv
579 | 578	kourendgemstall
580 | 579	kourendgemstore
581 | 580	bakery3
582 | 581	raids_rewards
583 | 582	raids_sharedstorage
584 | 583	raids_privatestorage
585 | 584	deathkeep_items
586 | 585	tzhaar_shop_cityequipment
587 | 586	tzhaar_shop_cityoreandgem
588 | 587	mguild_oreshop
589 | 588	mguild_pickaxeshop
590 | 589	mguild_rewardshop
591 | 590	fossil_general_store
592 | 591	deadman_archeryshop2
593 | 592	deadman_adventureshop
594 | 593	deadman_pub
595 | 594	deadman_shantayshop
596 | 595	deadman_ranging_guild_bowshop
597 | 596	deadman_gemshop
598 | 597	deadman_gemshop2
599 | 598	deadman_gemstall
600 | 599	deadman_kourendgemstall
601 | 600	warrens_fishmonger
602 | 601	myths_guild_weaponry
603 | 602	myths_guild_armoury
604 | 603	myths_guild_capes
605 | 604	myths_guild_herbalist
606 | 605	deadman_salesman_ranging
607 | 606	deadman_pest_archery_store
608 | 607	deadman_pest_rune_store
609 | 608	deadman_lunar_runeshop
610 | 609	deadman_lunar_runeshop_compl
611 | 610	deadman_lletyaarcheryshop1
612 | 611	spectator_inventory
613 | 612	tob_chests
614 | 613	aprilfoolshorseshop_deadman
615 | 614	dueltax
616 | 615	duelholding_dummy
617 | 616	deadman_archeryshop2_skillcape
618 | 617	deadman_archeryshop2_skillcape_trimmed
619 | 618	bot_busting_loot
620 | 619	telenexus_cost
621 | 620	collection_transmit
622 | 621	kebos_poh_garden_centre
623 | 622	kebos_farming_equipment_shop
624 | 623	kebos_weapon_shop
625 | 624	kebos_farming_seed_shop
626 | 625	kebos_farming_seed_iron_shop
627 | 626	seed_vault
628 | 627	poh_costume_room_treasure_trail_0_inv
629 | 628	gauntlet_holding
630 | 629	prif_food_store
631 | 630	prif_mace_store
632 | 631	prif_weapon_store
633 | 632	prif_leigh_store
634 | 633	leagues_holding
635 | 634	generalshop9_easter
636 | 635	hallowed_rewardshop
637 | 636	death_permanent
638 | 637	poh_costumes
639 | 638	bankpin_inv
640 | 639	slayershop_pre_porcine
641 | 640	league_trailblazer_generalshop1
642 | 641	league_trailblazer_slayershop
643 | 642	league_trailblazer_slayershop_preporcine
644 | 643	league_trailblazer_catherby_charter
645 | 644	league_trailblazer_port_khazard_charter
646 | 645	league_trailblazer_varrock_armour_shop
647 | 646	league_secondinv
648 | 647	ii_shop
649 | 648	roguesden_shop_iron
650 | 649	roguesden_shop_skillcape_iron
651 | 650	roguesden_shop_skillcape_trimmed_iron
652 | 651	tackle_box
653 | 652	cutscene_empty
654 | 653	deadman_shayzien_rangeshop
655 | 654	shayzien_rangeshop
656 | 655	shayzien_pub
657 | 656	shayzien_clothesshop
658 | 657	warguild_food_shop_uim
659 | 658	warguild_food_shop_gim
660 | 659	inv_group_temp
661 | 660	inv_player_temp
662 | 661	inv_player_snapshot
663 | 662	trader_stan_brimhaven_gim
664 | 663	trader_stan_catherby_gim
665 | 664	trader_stan_harmless_gim
666 | 665	trader_stan_musa_gim
667 | 666	trader_stan_khazard_gim
668 | 667	trader_stan_phasmatys_gim
669 | 668	trader_stan_shop_uim
670 | 669	trader_stan_shop_gim
671 | 670	skill_guide_firemaking_uim
672 | 671	smithing_guild_ore_seller_uim
673 | 672	smithing_guild_ore_seller_gim
674 | 673	upassgeneralshop_uim
675 | 674	upassgeneralshop_gim
676 | 675	tbwt_tiadeche_final_uim
677 | 676	tbwt_tiadeche_final_gim
678 | 677	lletyaarcheryshop_uim
679 | 678	lletyaarcheryshop_gim
680 | 679	karamja_fishrestaurant_uim
681 | 680	karamja_fishrestaurant_gim
682 | 681	roguetrader_alim_runeretail_uim
683 | 682	roguetrader_alim_runeretail_gim
684 | 683	roguetrader_alim_runewholesale_uim
685 | 684	roguetrader_alim_runewholesale_gim
686 | 685	hundred_foodchest1_uim
687 | 686	hundred_foodchest1_gim
688 | 687	hundred_foodchest2_uim
689 | 688	hundred_foodchest2_gim
690 | 689	hundred_foodchest3_uim
691 | 690	hundred_foodchest3_gim
692 | 691	hundred_foodchest4_uim
693 | 692	hundred_foodchest4_gim
694 | 693	hundred_foodchest5_uim
695 | 694	hundred_foodchest5_gim
696 | 695	hundred_foodchest6_uim
697 | 696	hundred_foodchest6_gim
698 | 697	hundred_foodchest7_uim
699 | 698	hundred_foodchest7_gim
700 | 699	hundred_foodchest8_uim
701 | 700	hundred_foodchest8_gim
702 | 701	hundred_foodchest9_uim
703 | 702	hundred_foodchest9_gim
704 | 703	hundred_foodchest10_uim
705 | 704	hundred_foodchest10_gim
706 | 705	anma_shop_uim
707 | 706	anma_shop_gim
708 | 707	lunar_runeshop_uim
709 | 708	lunar_runeshop_gim
710 | 709	lunar_runeshop_compl_uim
711 | 710	lunar_runeshop_compl_gim
712 | 711	magearena_runeshop_uim
713 | 712	magearena_runeshop_gim
714 | 713	darkruneshop_crap_uim
715 | 714	darkruneshop_crap_gim
716 | 715	darkruneshop_uber_uim
717 | 716	darkruneshop_uber_gim
718 | 717	keldagrim_quality_weapons_shop_uim
719 | 718	keldagrim_quality_weapons_shop_gim
720 | 719	keldagrim_gem_stall_uim
721 | 720	keldagrim_gem_stall_gim
722 | 721	piscarilius_fish_trader_0_uim
723 | 722	piscarilius_fish_trader_0_gim
724 | 723	piscarilius_fish_trader_250_uim
725 | 724	piscarilius_fish_trader_250_gim
726 | 725	piscarilius_fish_trader_500_uim
727 | 726	piscarilius_fish_trader_500_gim
728 | 727	piscarilius_fish_trader_750_uim
729 | 728	piscarilius_fish_trader_750_gim
730 | 729	piscarilius_fish_trader_1000_uim
731 | 730	piscarilius_fish_trader_1000_gim
732 | 731	tzhaar_shop_oreandgem_uim
733 | 732	tzhaar_shop_oreandgem_gim
734 | 733	tzhaar_shop_cityoreandgem_uim
735 | 734	tzhaar_shop_cityoreandgem_gim
736 | 735	gemshop_uim
737 | 736	gemshop_gim
738 | 737	gemshop2_uim
739 | 738	gemshop2_gim
740 | 739	silvershop_uim
741 | 740	silvershop_gim
742 | 741	ardougnegemstall_uim
743 | 742	ardougnegemstall_gim
744 | 743	kourendgemstall_uim
745 | 744	kourendgemstall_gim
746 | 745	gnomeshop_gulluck_uim
747 | 746	gnomeshop_gulluck_gim
748 | 747	seed_stall_uim
749 | 748	seed_stall_gim
750 | 749	kebos_farming_seed_shop_uim
751 | 750	kebos_farming_seed_shop_gim
752 | 751	runeshop_uim
753 | 752	runeshop_gim
754 | 753	runeshop_skillcape_uim
755 | 754	runeshop_skillcape_gim
756 | 755	runeshop_skillcape_trimmed_uim
757 | 756	runeshop_skillcape_trimmed_gim
758 | 757	magicshop_uim
759 | 758	magicshop_gim
760 | 759	magicguildshop_uim
761 | 760	magicguildshop_gim
762 | 761	archeryshop_uim
763 | 762	archeryshop_gim
764 | 763	salesman_ranging_uim
765 | 764	salesman_ranging_gim
766 | 765	archeryshop2_uim
767 | 766	archeryshop2_gim
768 | 767	archeryshop2_skillcape_uim
769 | 768	archeryshop2_skillcape_gim
770 | 769	archeryshop2_skillcape_trimmed_uim
771 | 770	archeryshop2_skillcape_trimmed_gim
772 | 771	staffshop_uim
773 | 772	staffshop_gim
774 | 773	memberstaffshop_uim
775 | 774	memberstaffshop_gim
776 | 775	ranging_guild_bowshop_uim
777 | 776	ranging_guild_bowshop_gim
778 | 777	adventurershop_uim
779 | 778	adventurershop_gim
780 | 779	gnomeshop_uim
781 | 780	gnomeshop_gim
782 | 781	generallegends_uim
783 | 782	generallegends_gim
784 | 783	inv_player_fallback
785 | 784	wine_merchant_default_iron
786 | 785	wine_merchant_default_uim
787 | 786	wine_merchant_default_gim
788 | 787	wine_vinegar_merchant_iron
789 | 788	wine_vinegar_merchant_uim
790 | 789	wine_vinegar_merchant_gim
791 | 790	wine_merchant_free_iron
792 | 791	wine_merchant_free_uim
793 | 792	wine_merchant_free_gim
794 | 793	feud_alispub_im
795 | 794	feud_alispub_uim
796 | 795	feud_alispub_gim
797 | 796	league_3_generalshop1
798 | 797	loot_inv_access
799 | 798	pvpa_shop_inv
800 | 799	gotr_reward_shop_all
801 | 800	gotr_reward_shop_none
802 | 801	gotr_reward_shop_law
803 | 802	gotr_reward_shop_death
804 | 803	gotr_reward_shop_blood
805 | 804	gotr_reward_shop_law_death
806 | 805	gotr_reward_shop_law_blood
807 | 806	gotr_reward_shop_death_blood
808 | 807	toa_midraidloot_bundle1
809 | 808	toa_midraidloot_bundle2
810 | 809	toa_midraidloot_bundle3
811 | 810	toa_midraidloot_bag
812 | 811	toa_chests
813 | 812	bh_risk_cache
814 | 813	omnishop_inv_temp
815 | 814	forestry_kit
816 | 815	forestry_shop_log_storage
817 | 816	dt2_vault_shop
818 | 817	trader_shop_piscarilius
819 | 818	trader_shop_piscarilius_iron
820 | 819	trader_shop_piscarilius_uim
821 | 820	trader_shop_piscarilius_gim
822 | 821	trader_shop_landsend
823 | 822	trader_shop_landsend_iron
824 | 823	trader_shop_landsend_uim
825 | 824	trader_shop_landsend_gim
826 | 825	hunting_shop_guild
827 | 826	fur_shop_guild
828 | 827	trader_shop_fortis
829 | 828	trader_shop_fortis_iron
830 | 829	trader_shop_fortis_uim
831 | 830	trader_shop_fortis_gim
832 | 831	trader_shop_aldarin
833 | 832	trader_shop_aldarin_iron
834 | 833	trader_shop_aldarin_uim
835 | 834	trader_shop_aldarin_gim
836 | 835	trader_shop_sunsetcoast
837 | 836	trader_shop_sunsetcoast_iron
838 | 837	trader_shop_sunsetcoast_uim
839 | 838	trader_shop_sunsetcoast_gim
840 | 839	trader_shop_tempestus
841 | 840	trader_shop_tempestus_iron
842 | 841	trader_shop_tempestus_uim
843 | 842	trader_shop_tempestus_gim
844 | 843	colosseum_rewards
845 | 844	colosseum_rewards_future
846 | 845	colosseum_rewards_previous
847 | 846	disarm_slot
848 | 847	pmoon_rewardinv
849 | 848	cam_torum_shop_general
850 | 849	cam_torum_shop_magic
851 | 850	cam_torum_shop_mining
852 | 851	cam_torum_shop_blacksmith
853 | 852	cam_torum_shop_baker
854 | 853	cam_torum_shop_jewellery
855 | 854	cam_torum_shop_herbalist
856 | 855	huntsmans_kit
857 | 856	sunset_coast_fishing_shop
858 | 857	sunset_coast_general_store
859 | 858	sunset_coast_helmet_shop
860 | 859	stonecutter_stonemason
861 | 860	fortis_shop_silk
862 | 861	fortis_shop_fur
863 | 862	fortis_shop_gems
864 | 863	fortis_shop_spices
865 | 864	fortis_shop_baker
866 | 865	fortis_shop_general_1
867 | 866	fortis_shop_general_2
868 | 867	fortis_shop_blacksmith
869 | 868	fortis_shop_maces
870 | 869	fortis_shop_farming
871 | 870	fortis_shop_seamstress
872 | 871	fortis_shop_food
873 | 872	fortis_shop_crafting
874 | 873	pub_default_1
875 | 874	pub_default_2
876 | 875	pub_default_3
877 | 876	pub_fortis_1
878 | 877	pub_fortis_2
879 | 878	pub_cam_torum
880 | 879	dizanas_quiver_ammo
881 | 880	poh_sawmill_shop_iron
882 | 881	poh_sawmill_shop_uim
883 | 882	poh_sawmill_shop_gim
884 | 883	piscarilius_generalstore_iron
885 | 884	piscarilius_generalstore_uim
886 | 885	piscarilius_generalstore_gim
887 | 886	werewolfstore1_iron
888 | 887	werewolfstore1_uim
889 | 888	werewolfstore1_gim
890 | 889	deadman_mm_scimitar_shop2
891 | 890	roguetrader_alim_runewholesale_inv_deadman_tournament
892 | 891	pub_quetzacalli
893 | 892	pub_aldarin
894 | 893	pub_mistrock
895 | 894	farmer_supplies
896 | 895	potion_store_temp_inv
897 | 896	mag_emelio_shop
898 | 897	mm_carry
899 | 898	mm_lab_alembic
900 | 899	mm_lab_agitator
901 | 900	mm_lab_retort
902 | 901	aldarin_general_store
903 | 902	aldarin_food_store
904 | 903	aldarin_gem_store
905 | 904	aldarin_wine_store
906 | 905	aldarin_donation_nest
907 | 906	mistrock_shield_store
908 | 907	mistrock_mining_store
909 | 908	salvager_overlook_general_store
910 | 909	salvager_overlook_platebody_store
911 | 910	quetzacalli_general_store
912 | 911	prepot_device_inv
913 | 912	aldarin_gem_store_im
914 | 913	aldarin_gem_store_uim
915 | 914	aldarin_gem_store_gim
916 | 915	itemgrant_tracking
917 | 916	clan_hall_partychest
918 | 917	trader_shop_sunsetcoast_leagues
919 | 918	werewolfgeneralstore_tblr
920 | 919	leagues_save_transfer_items
921 | 
```
Page 1/7FirstPrevNextLast