{"id":25940710,"url":"https://github.com/2003scape/rsc-data","last_synced_at":"2025-03-04T05:18:36.221Z","repository":{"id":56270713,"uuid":"298915253","full_name":"2003scape/rsc-data","owner":"2003scape","description":"🗄️ collection of data for runescape classic","archived":false,"fork":false,"pushed_at":"2020-12-15T00:46:18.000Z","size":1733,"stargazers_count":12,"open_issues_count":1,"forks_count":7,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-02-17T01:35:33.359Z","etag":null,"topics":["drops","games","jagex","json","npc","rolls","rsc","rsps","runescape","runescape-server-emulator","skills"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc-by-sa-4.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/2003scape.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-09-26T23:15:42.000Z","updated_at":"2023-10-08T06:03:07.000Z","dependencies_parsed_at":"2022-08-15T15:50:15.758Z","dependency_job_id":null,"html_url":"https://github.com/2003scape/rsc-data","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2003scape%2Frsc-data","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2003scape%2Frsc-data/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2003scape%2Frsc-data/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/2003scape%2Frsc-data/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/2003scape","download_url":"https://codeload.github.com/2003scape/rsc-data/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241787647,"owners_count":20020133,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["drops","games","jagex","json","npc","rolls","rsc","rsps","runescape","runescape-server-emulator","skills"],"created_at":"2025-03-04T05:18:35.803Z","updated_at":"2025-03-04T05:18:36.214Z","avatar_url":"https://github.com/2003scape.png","language":null,"readme":"# rsc-data\ncollection of data for runescape classic. probabilities for drops, entity\nspawn information, skill data, etc. useful for game server-sided applications or\nanalysis/simulations.\n\n## install\n\n    $ npm install @2003scape/rsc-data\n\n## certificates.json\nhttps://classic.runescape.wiki/w/Certificate\n\n```javascript\n{\n    \"items\": {\n        \"151\": 517, // original item index: certificate item index\n        // ...\n    },\n    \"certers\": {\n        \"229\": { // index of config/npcs.json\n            \"type\": \"fish\", // used for NPC dialogue\n            \"certificates\": [ // menu used for certificate -\u003e item\n                {\n                    \"id\": 630, // item index of certificate\n                    \"alias\": \"shark\" // text used in client menu\n                }, // ...\n            ],\n            \"items\": [ // menu used for item -\u003e certificate\n                {\n                    \"id\": 555, // original item index\n                    \"alias\": \"bass\"\n                }, // ...\n            ]\n        }, // ...\n    }\n}\n```\n\n## config/\ndumped and converted .jag archive files from the official client.\nsee https://github.com/2003scape/rsc-config#api\n\n## edible.json\n```javascript\n{\n    \"257\": { // item id to eat\n        \"hits\": 5, // amount of hits healed\n        \"result\": 263, // optional resulting item ID\n        // optional message(s) if different than the default\n        \"message\": \"You eat half of an apple pie\"\n    },\n    // entries can also just be integers if they have no special behaviour\n    \"373\": 12\n}\n```\n\n## landscape/\n.jag archive files used on the server for collision detection. see\nhttps://github.com/2003scape/rsc-landscape\n\n## locations/items.json\n```javascript\n[\n    {\n        \"id\": 10, // index of config/items.json\n        \"amount\": 10, // item amount (optional and only for stackables)\n        \"respawn\": 60000, // ms for respawn after being picked up\n        \"x\": 147,\n        \"y\": 3337\n    }, // ...\n]\n```\n\n## locations/npcs.json\n```javascript\n[\n    {\n        \"id\": 0, // npc index\n        \"x\": 185,\n        \"y\": 661,\n        \"minX\": 175,\n        \"maxX\": 195,\n        \"minY\": 651,\n        \"maxY\": 671\n    }, // ...\n]\n```\n\n## locations/objects.json\n```javascript\n[\n    {\n        \"id\": 1, // index of config/objects.json\n        \"direction\": 0, // direction from 0-6 in TRBL/NESW order\n        \"x\": 346,\n        \"y\": 554\n    }, // ...\n]\n```\n\n## npc-respawn.json\n```javascript\n{\n    \"0\": 211000, // npc index -\u003e milliseconds for respawn after death\n    // ...\n}\n```\n\n## regions.json\nboundaries and spawn points for different cities and areas.\n\n```javascript\n{\n    // can also be array of objects if area covers multiple rectangles\n    \"varrock\": {\n        \"minX\": 50,\n        \"maxX\": 444,\n        \"minY\": 180,\n        \"maxY\": 565,\n        \"spawnX\": 120, // used for teleportation\n        \"spawnY\": 504\n    }, // etc.\n}\n```\n\n## rolls/\nprobabilities for various randomized aspects, such as NPC drops or christmas\ncracker rates. each roll is between 0-128, so the total weight per individual\ndrop table cannot exceed 128. if the total weight is less than 128, there is a\nchance to drop nothing besides the entries with 0 weight.\n\n```javascript\n{\n    \"11\": [ // npc index or table name\n        {\n            \"id\": 20, // item index\n            \"weight\": 0 // if 0, always drop\n        },\n        {\n            \"id\": 10,\n            \"amount\": 3, // amount (multiple are dropped if non-stackable)\n            \"weight\": 38 // numerator out of 128\n        },\n        {\n            \"reference\": \"herb\", // reference another NPC id or table within\n            \"weight\": 23\n        },\n        {\n            \"id\": [827, 273], // drop 2 items in the same entry\n            \"weight\": 10\n        } // ...\n        // implicit 43/128 nothing roll (besides 0-weighted entries; bones)\n    ], // ...\n}\n```\n\n## shops.json\nhttps://classic.runescape.wiki/w/Category:Shops\n\n```javascript\n{\n    \"al-kharid-general\": {\n        \"items\": [\n            {\n                \"id\": 135, // item index\n                \"amount\": 3\n            }\n        ],\n        // the multipliers of item.price used when items are at default stock\n        \"sellMultiplier\": 130,\n        \"buyMultiplier\": 40,\n        \"delta\": 3, // amount multipliers change when over/under stock\n        // milliseconds until restock tick, which increases understocked items\n        // by 1 annd decreases over-stocked or player-added items by 1\n        \"restock\": 12000,\n        \"general\": true // true if players can sell any tradeable item\n    }, // ...\n}\n```\n\n## skills/cooking.json\nhttps://classic.runescape.wiki/w/Cooking\n\n```javascript\n{\n    // the item IDs of uncooked items that gauntlets can affect, and how much\n    // they increase the roll chances\n    \"gauntlets\": {\n        \"369\": 1.05, // ...\n    },\n    \"uncooked\": {\n        \"133\": { // uncooked food index\n            \"level\": 1, // required level\n            \"experience\": 120, // experience received on success\n            \"cooked\": 132, // cooked item index, received on success\n            \"burnt\": 134, // burnt item index, received on failure\n            \"roll\": [128, 512], // x/256 of success at level 1 and 99\n            \"range\": false // is a range required?\n        }, // ...\n    },\n    // inventory item combinations (use item on item)\n    \"combinations\": [\n        {\n            \"level\": 35, // required level to perform\n            \"item\": 320, // the first item index to be used on...\n            \"with\": 321, // the second item index\n            \"result\": 323, // the result item index of combining items\n            \"knife\": false, // do we kneed a knife to do this?\n            \"message\": \"You add tomato to the pizza\"\n        }, // ...\n    ]\n}\n```\n\n## skills/crafting.json\nhttps://classic.runescape.wiki/w/Crafting\n\n```javascript\n{\n    // gem cutting; results of using a chisel on uncut gems\n    \"cutting\": {\n        \"157\": { // uncut gem item index\n            \"level\": 43, // required level\n            \"experience\": 430,\n            \"id\": 161 // cut gem item index\n        }, // ...\n    },\n    // leather sewing: result of using leather with needle+thread in inventory\n    \"leather\": [\n        {\n            \"level\": 14,\n            \"experience\": 100,\n            \"id\": 15, // item index of completed leather item\n            \"alias\": \"Armour\" // text used in client menu\n        }, // ...\n    ],\n    \"pottery\": [\n        {\n            \"level\": 4,\n            \"unfired\": {\n                // item index from using item on pottery wheel\n                \"id\": 278,\n                \"experience\": 60\n            },\n            \"fired\": {\n                // item index of from using unfired item on pottery oven\n                \"id\": 251,\n                \"experience\": 40\n            },\n            \"alias\": \"pie dishes\" // text used on menu prompt\n        }, // ...\n    ],\n    \"silver-jewellery\": [ // silver bar on furnace\n        \"moulds\": [386, /* ... */], // the moulds for each item below\n        \"items\": [\n            { \"level\": 16, \"experience\": 200, \"id\": 44 }, // ...\n        ],\n    ],\n    \"gold-jewellery\": [ // gold bar on furnace\n        // same as silver-jewellery\n    ],\n    \"stringing\": { // string on unstrung amulet, unstrung -\u003e strung\n        \"1027\": 1028, // ...\n    },\n    \"glassblowing\": [ // using glassblowing pipe on molten glass\n        {\n            \"level\": 46,\n            \"experience\": 210,\n            \"id\": 611, // item index of result\n            \"alias\": \"orb\" // text in menu prompt\n        }, // ...\n    ],\n    \"battlestaves\": { // using powered orb item on battle staff item\n        \"612\": {\n            \"level\": 62,\n            \"experience\": 500,\n            \"id\": 615\n        }, //...\n    }\n}\n```\n\n## skills/fishing.json\nhttps://classic.runescape.wiki/w/Fishing\n\n```javascript\n{\n    \"spots\": {\n        \"193\": { // fishing spot object index\n            \"net\": { // object command name\n                \"tool\": 376, // item index required to fish (net, rod, ...)\n                \"bait\": null, // stackable item index depleted after success\n                \"fish\": {\n                    \"349\": { // item index of raw fish caught using the command\n                        \"level\": 1,\n                        \"experience\": 40,\n                        \"roll\": [48, 256]\n                    }, // ...\n                }\n            }, // ...\n        }, // ...\n    }\n}\n```\n\n## skills/fletching.json\nhttps://classic.runescape.wiki/w/Fletching\n\n```javascript\n{\n    \"bows\": {\n        \"14\": [ // log item index\n            // shortbow, longbow\n            {\n                \"level\": 5,\n                \"experience\": 20, // experience gained for cutting and stringing\n                \"unstrung\": 227, // item index after using knife on log\n                \"strung\": 189 // item index after using string on unstrung\n            },\n            {\n                \"level\": 10,\n                \"experience\": 40,\n                \"unstrung\": 276,\n                \"string\": 188\n            }\n        ], // ...\n    }\n}\n```\n\n## skills/herblaw.json.\nhttps://classic.runescape.wiki/w/Herblaw\n\n```javascript\n{\n    \"herbs\": {\n        \"165\": { // unidentified herb item index\n            \"level\": 3,\n            \"experience\": 10,\n            \"id\": 44 // ID of identified herb\n        }, // ...\n    },\n    \"unfinished\": { // results of using identified herb on vial of water\n        \"444\": { // identified herb item index\n            \"level\": 3,\n            \"id\": 454 // unfinished potion item index\n        }\n    },\n    \"potions\": { // results of using items on unfinished potions\n        \"454\": { // unfinished potion item index\n            \"270\": { // secondary item index\n                \"level\": 3,\n                \"experience\": 100,\n                \"id\": 474 // finished potion item index (3 dose)\n            }\n        }\n    }\n}\n```\n\n## skills/magic.json\nhttps://classic.runescape.wiki/w/Magic\n\n```javascript\n{\n    \"spellExperience\": [\n        // experience gained on successful spell. index corresponds to\n        // config/spells.json\n        88, // ...\n    ]\n}\n```\n\n## skills/mining.json\nhttps://classic.runescape.wiki/w/Mining\n\n```javascript\n{\n    \"pickaxes\": {\n        \"156\": { // pickaxe item index\n            \"level\": 1,\n            \"attempts\": 1 // attempts the pickaxe performs before success\n        }, // ...\n    },\n    \"gem\": [ // gem roll rates (1/256 to get a gem from a rock)\n        {\n            \"id\": 160, // item index\n            \"weight\": 64  // roll out of 128\n        }, // ...\n    ],\n    \"rocks\": {\n        \"100\": { // game object index\n            \"level\": 1,\n            \"experience\": 70,\n            \"roll\": [48, 256],\n            // item index, or array of weighted item entries (for gem rocks)\n            \"ore\": 150,\n            \"respawn\": 5400, // milliseconds until depleted turns into original\n            \"depleted\": 9 // game object index of rock after success\n        }, // ...\n    }\n}\n```\n\n## skills/prayer.json\nhttps://classic.runescape.wiki/w/Prayer#Bones\n\n```javascript\n{\n    \"buryExperience\": { // bone id -\u003e experience received\n        \"20\": 15, // ...\n    }\n}\n```\n\n## skills/smithing.json\nhttps://classic.runescape.wiki/w/Smithing\n\n```javascript\n{\n    \"smelting\": {\n        \"169\": { // smelted bar item index\n            \"level\": 1,\n            \"experience\": 25,\n            \"ores\": [{ \"id\": 150 }, { \"id\": 202 }]\n        }, // ...\n    },\n    // there's always the same menu tree for every bar\n    \"smithing\": {\n        // amount of bars needed for each item below, using the menu tree order\n        \"bars\": [\n            [1, 1, [1, 2, 2, 2, 3], [1, 3], 1], // ...\n        ],\n        \"items\": [\n            \"169\": { // smelted bar item index\n                // base experience - multiplied by amount of bars required\n                \"experience\": 50,\n                \"items\": [ // follows the same tree as smithing.bars above\n                    {\n                        \"level\": 1,\n                        \"id\": 62,\n                        // only specified to override or if this is an\n                        // additional menu (which bronze and steel bars have)\n                        \"bars\": 1,\n                        // only specified to override the bar experience rate.\n                        // give constant experience for this item only\n                        \"experience\": 100\n                    }, // ...\n                ]\n            }, // ...\n        ]\n    }\n}\n```\n\n## skills/thieving.json\nhttps://classic.runescape.wiki/w/Thieving\n\n```javascript\n{\n    \"pickpocket\": {\n        \"11\": { // npc index\n            \"level\": 1,\n            \"experience\": 32,\n            \"roll\": [180, 240],\n            // item indexes received on success (optionally weighted)\n            \"items\": [{ \"id\": 10, \"amount\": 3 }],\n            // dialogue on failure\n            \"exclaimation\": \"Oi what do you think you're doing\"\n        }, // ...\n    },\n    \"stalls\": {\n        \"322\": { // stall object index (with steal-from command)\n            \"level\": 20,\n            \"experience\": 96,\n            // reward for successful theft (optionally weighted)\n            \"items\": [{ \"id\": 200 }],\n            // how long it takes to steal from the depleted stall to respawn\n            \"respawn\": 8000,\n            \"owner\": 326, // the shopkeeper of the stall\n            // npc indexes of nearby NPCs who prevent theft\n            \"guards\": [322, 321]\n        }, // ...\n    },\n    \"chests\": {\n        \"334\": {\n            \"level\": 13,\n            \"experience\": 30,\n            \"items\": [{ \"id\": 10, \"amount\": 10 }],\n            \"lockpick\": false,\n            \"respawn\": 10000\n        }, // ..\n    },\n    \"doors\": {\n        \"93\": { // index of config/wall-objects.json\n            \"level\": 7,\n            \"experience\": 15,\n            \"lockpick\": false, // do we need a lockpick in inventory?\n            // positions where we can open the door freely\n            \"exits\": [{ \"x\": 539, \"y\": 531 }]\n        }, // ...\n    }\n}\n```\n\n## skills/woodcutting.json\nhttps://classic.runescape.wiki/w/Woodcutting\n\n```javascript\n{\n    \"axes\": {\n        \"12\": 1.5, // item index -\u003e roll multiplier\n        // ...\n    },\n    \"trees\": {\n        \"0\": {\n            \"level\": 1,\n            \"experience\": 100,\n            \"roll\": [64, 200],\n            \"log\": 14, // item index received on success\n            \"respawn\": 40000, // milliseconds until stump turns back into tree\n            \"stump\": 100 // object index tree turns into when cut\n        }, // ...\n    }\n}\n```\n\n## wieldable.json\nwieldable item bonuses and skill requirements. the wielded slots are specified\nin *config/items.json*.\n\n```javascript\n{\n    \"0\": { // item index\n        \"female\": false, // can only female characters wear this?\n        \"animation\": 118, // the client-sided animation index\n        \"armour\": 0,\n        \"weaponAim\": 8,\n        \"weaponPower\": 6,\n        \"magic\": 0,\n        \"prayer\": 0,\n        \"requirements\": { // optional\n            attack: 30 // skill names -\u003e base level required\n        }\n    }, // ...\n}\n```\n\n# license\n[RuneScape Classic Wiki](https://classic.runescape.wiki):\n\u003e Content on this site is licensed under\n\u003e [CC BY-NC-SA 3.0](https://creativecommons.org/licenses/by-nc-sa/3.0/legalcode);\n\u003e additional terms apply.\n\u003e RuneScape and RuneScape Old School are the trademarks of Jagex Limited and\n\u003e are used with the permission of Jagex.\n\noriginal game data definitions (in *config/*):\n\u003e \u0026copy; 2001-2002 Andrew Gower and Jagex Ltd\n\nCC-BY-SA-4.0\nhttps://creativecommons.org/licenses/by-sa/4.0/legalcode\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F2003scape%2Frsc-data","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F2003scape%2Frsc-data","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F2003scape%2Frsc-data/lists"}