{"id":16710784,"url":"https://github.com/overminddl1/d2-tools","last_synced_at":"2025-03-15T03:16:10.529Z","repository":{"id":149888341,"uuid":"136388576","full_name":"OvermindDL1/d2-tools","owner":"OvermindDL1","description":"A set of simple tools for scanning Diablo2 files","archived":false,"fork":false,"pushed_at":"2018-06-06T21:55:30.000Z","size":4,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-21T18:51:30.535Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/OvermindDL1.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-06-06T21:34:37.000Z","updated_at":"2018-06-06T21:55:31.000Z","dependencies_parsed_at":null,"dependency_job_id":"58261cf1-e9bc-4fa6-aa9c-d959a6acf772","html_url":"https://github.com/OvermindDL1/d2-tools","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/OvermindDL1%2Fd2-tools","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OvermindDL1%2Fd2-tools/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OvermindDL1%2Fd2-tools/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/OvermindDL1%2Fd2-tools/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/OvermindDL1","download_url":"https://codeload.github.com/OvermindDL1/d2-tools/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243676782,"owners_count":20329434,"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":[],"created_at":"2024-10-12T20:09:31.746Z","updated_at":"2025-03-15T03:16:10.522Z","avatar_url":"https://github.com/OvermindDL1.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Set of tools to scan Diablo 2 files\n\n## Recipe\n\nA scanner for recipes and items, pass it the root directory of the exported txt files from the bin files (you can have D2 export them itself), built for D2 1.10 but should work on any(?).\n\nExample usage:\n\n```zsh\n─➤  python3 recipe.py /mnt/storage0/Games/Blizzard/Diablo2/Diablo\\ II/MODS/zyel/data/global/excel\n-- Importing recipes\n-- Importing recipes complete (1.697s)\n-- Importing items\n-- Importing items complete (0.217s)\n-- Processing cases...\n-- Processing cases complete (0.094s)\n-- Processing names\n-- Processing names complete (0.007s)\n\nEnter command ('help' for help, 'quit' to quit):\n\u003e ?\n\nKnown commands:\n?: Show this help\nhelp: Show this help\nid: Show Item Details by code\nin: Search item names, the item code is listed first on each line\nquit: Exit the program\nri: Search Recipes by item code\nrin: Search Recipes by item names\n\nEnter command ('help' for help, 'quit' to quit):                                                                           [84/1817]\n\u003e rin finder\n\nItem ChoM3-Finder (cj4) type: chm3\nItem ChoM2-Finder (ci4) type: chm2\nItem ChoM-Finder (ch4) type: chm1\n\nScanning: 00% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% \n\ncollector chom1 : \"collector (fa0)\" \u003c- \"collector (fa0)\" + chm1\ncollector chom1 : \"collector (fa0)\" \u003c- \"collector (fa0)\" + \"chm1,qty=2\"\ncollector chom1 : \"collector (fa0)\" \u003c- \"collector (fa0)\" + \"chm1,qty=3\"\ncollector chom1 : \"collector (fa0)\" \u003c- \"collector (fa0)\" + \"chm1,qty=4\"\ncollector chom1 : \"collector (fa0)\" \u003c- \"collector (fa0)\" + \"chm1,qty=5\"\ncollector chom1 : \"collector (fa0)\" \u003c- \"collector (fa0)\" + \"chm1,qty=6\"\ncollector chom1 : \"collector (fa0)\" \u003c- \"collector (fa0)\" + \"chm1,qty=7\"\ncollector chom1 : \"collector (fa0)\" \u003c- \"collector (fa0)\" + \"chm1,qty=8\"\ncollector chom1 : \"collector (fa0)\" \u003c- \"collector (fa0)\" + \"chm1,qty=9\"\ncollector chom1 : \"collector (fa0)\" \u003c- \"collector (fa0)\" + \"chm1,qty=10\"\ncollector chom2 : \"collector (fa0)\" \u003c- \"collector (fa0)\" + chm2\ncollector chom2 : \"collector (fa0)\" \u003c- \"collector (fa0)\" + \"chm2,qty=2\"\ncollector chom2 : \"collector (fa0)\" \u003c- \"collector (fa0)\" + \"chm2,qty=3\"\ncollector chom2 : \"collector (fa0)\" \u003c- \"collector (fa0)\" + \"chm2,qty=4\"\ncollector chom2 : \"collector (fa0)\" \u003c- \"collector (fa0)\" + \"chm2,qty=5\"\ncollector chom2 : \"collector (fa0)\" \u003c- \"collector (fa0)\" + \"chm2,qty=6\"\ncollector chom2 : \"collector (fa0)\" \u003c- \"collector (fa0)\" + \"chm2,qty=7\"\ncollector chom2 : \"collector (fa0)\" \u003c- \"collector (fa0)\" + \"chm2,qty=8\"\ncollector chom2 : \"collector (fa0)\" \u003c- \"collector (fa0)\" + \"chm2,qty=9\"\ncollector chom2 : \"collector (fa0)\" \u003c- \"collector (fa0)\" + \"chm2,qty=10\"\ncollector chom3 : \"collector (fa0)\" \u003c- \"collector (fa0)\" + \"chm3,qty=2\"\ncollector chom3 : \"collector (fa0)\" \u003c- \"collector (fa0)\" + \"chm3,qty=3\"\ncollector chom3 : \"collector (fa0)\" \u003c- \"collector (fa0)\" + \"chm3,qty=4\"\ncollector chom3 : \"collector (fa0)\" \u003c- \"collector (fa0)\" + \"chm3,qty=5\"\ncollector chom3 : \"collector (fa0)\" \u003c- \"collector (fa0)\" + \"chm3,qty=6\"\ncollector chom3 : \"collector (fa0)\" \u003c- \"collector (fa0)\" + \"chm3,qty=7\"\ncollector chom3 : \"collector (fa0)\" \u003c- \"collector (fa0)\" + \"chm3,qty=8\"\ncollector chom3 : \"collector (fa0)\" \u003c- \"collector (fa0)\" + \"chm3,qty=9\"\ncollector chom3 : \"collector (fa0)\" \u003c- \"collector (fa0)\" + \"chm3,qty=10\"\nextractor chom : useitem + \"extractor (fa1)\" + chomhealer \u003c- chm1 + \"extractor (fa1)\"\nextractor chom : useitem + \"extractor (fa1)\" + chom2healer \u003c- chm2 + \"extractor (fa1)\"\nextractor chom : useitem + \"extractor (fa1)\" + chom3healer \u003c- chm3 + \"extractor (fa1)\"\nupgrader chom : chom2healer + \"upgrader (fa2)\" \u003c- chm1 + \"upgrader (fa2)\"\nupgrader chom : chom3healer + \"upgrader (fa2)\" \u003c- chm2 + \"upgrader (fa2)\"\ndbox : \"yuck - bad message (u98)\" \u003c- \"mephisto key (luv)\" + \"chom-finder (ch4)\"\ndbox : \"demon box #923 (ca4)\" \u003c- \"mephisto key (luv)\" + \"chom2-finder (ci4)\"\ndbox : \"demon box #933 (cb4)\" \u003c- \"mephisto key (luv)\" + \"chom3-finder (cj4)\"\ndbox : \"chom-finder (ch4)\" \u003c- \"mephisto key (luv)\" + \"demon box #1073 (cp4)\"\nposter major : \"ghost hat (ces)\" \u003c- \"chom-destroyer (ch3)\" + \"chom-finder (ch4)\" + \"chom-flamer (ch5)\" + \"chom-healer (ch6)\"\nchom : chom2healer \u003c- \"chm1,qty=3\" + \"gem4,qty=3\" + \"char,crf\" + \"jewel (jew)\",crf + \"cbs2,qty=3\"\nchom : chom3healer \u003c- \"chm2,qty=3\" + \"gem6,qty=3\" + \"char,uni\" + \"jewel (jew)\",uni + \"cbs3,qty=3\"\nchom : chombuzzer \u003c- chm1 + \"chipped topaz (gcy)\",qty=2\nchom : chomcrusader \u003c- chm1 + \"chipped diamond (gcw)\",qty=3\nchom : chomdefender \u003c- chm1 + \"chipped diamond (gcw)\",qty=2\nchom : chomdestroyer \u003c- chm1 + \"chipped amethyst (gcv)\",qty=3\nchom : chomfinder \u003c- chm1 + \"chipped diamond (gcw)\" + \"chipped topaz (gcy)\"\nchom : chomflamer \u003c- chm1 + \"chipped ruby (gcr)\",qty=2\nchom : chomhealer \u003c- chm1 + \"chipped emerald (gcg)\"\nchom : chomicer \u003c- chm1 + \"chipped saphire (gcb)\",qty=2\nchom : chommarauder \u003c- chm1 + \"chipped skull (skc)\" + \"chipped emerald (gcg)\"\nchom : chommaster \u003c- chm1 + \"chipped diamond (gcw)\" + \"chipped amethyst (gcv)\"\nchom : chompsycho \u003c- chm1 + \"chipped topaz (gcy)\" + \"chipped diamond (gcw)\" + \"chipped emerald (gcg)\" + \"chipped saphire (gcb)\" + \"c\nhipped ruby (gcr)\"\nchom : chomshield \u003c- chm1 + \"chipped diamond (gcw)\"\nchom : chomskull \u003c- chm1 + \"chipped skull (skc)\"\nchom : chomslayer \u003c- chm1 + \"chipped amethyst (gcv)\" + \"chipped ruby (gcr)\"\nchom : chomslogger \u003c- chm1 + \"chipped saphire (gcb)\"\nchom : chomspeed \u003c- chm1 + \"chipped topaz (gcy)\",qty=3\nchom : chomsponge \u003c- chm1 + \"chipped ruby (gcr)\" + \"chipped saphire (gcb)\" + \"chipped topaz (gcy)\"\nchom : chomsummoner \u003c- chm1 + \"chipped skull (skc)\" + \"chipped diamond (gcw)\"\nchom : chomvenom \u003c- chm1 + \"chipped emerald (gcg)\",qty=2\nchom : chom2buzzer \u003c- chm2 + \"topaz (gsy)\",qty=2\nchom : chom2crusader \u003c- chm2 + \"diamond (gsw)\",qty=3\nchom : chom2defender \u003c- chm2 + \"diamond (gsw)\",qty=2\nchom : chom2destroyer \u003c- chm2 + \"amethyst (gsv)\",qty=3\nchom : chom2finder \u003c- chm2 + \"diamond (gsw)\" + \"topaz (gsy)\"\nchom : chom2flamer \u003c- chm2 + \"ruby (gsr)\",qty=2\nchom : chom2healer \u003c- chm2 + \"emerald (gsg)\"\nchom : chom2icer \u003c- chm2 + \"saphire (gsb)\",qty=2\nchom : chom2marauder \u003c- chm2 + \"skull (sku)\" + \"emerald (gsg)\"\nchom : chom2master \u003c- chm2 + \"diamond (gsw)\" + \"amethyst (gsv)\"\nchom : chom2psycho \u003c- chm2 + \"topaz (gsy)\" + \"diamond (gsw)\" + \"emerald (gsg)\" + \"saphire (gsb)\" + \"ruby (gsr)\"\nchom : chom2shield \u003c- chm2 + \"diamond (gsw)\"\nchom : chom2skull \u003c- chm2 + \"skull (sku)\"\nchom : chom2slayer \u003c- chm2 + \"amethyst (gsv)\" + \"ruby (gsr)\"\nchom : chom2slogger \u003c- chm2 + \"saphire (gsb)\"\nchom : chom2slogger \u003c- chm2 + \"saphire (gsb)\"\nchom : chom2speed \u003c- chm2 + \"topaz (gsy)\",qty=3\nchom : chom2sponge \u003c- chm2 + \"ruby (gsr)\" + \"saphire (gsb)\" + \"topaz (gsy)\"\nchom : chom2summoner \u003c- chm2 + \"skull (sku)\" + \"diamond (gsw)\"\nchom : chom2venom \u003c- chm2 + \"emerald (gsg)\",qty=2\nchom : chom3buzzer \u003c- chm3 + \"perfect topaz (gpy)\",qty=2\nchom : chom3crusader \u003c- chm3 + \"perfect diamond (gpw)\",qty=3\nchom : chom3defender \u003c- chm3 + \"perfect diamond (gpw)\",qty=2\nchom : chom3destroyer \u003c- chm3 + \"perfect amethyst (gpv)\",qty=3\nchom : chom3finder \u003c- chm3 + \"perfect diamond (gpw)\" + \"perfect topaz (gpy)\"\nchom : chom3flamer \u003c- chm3 + \"perfect ruby (gpr)\",qty=2\nchom : chom3healer \u003c- chm3 + \"perfect emerald (gpg)\"\nchom : chom3icer \u003c- chm3 + \"perfect saphire (gpb)\",qty=2\nchom : chom3marauder \u003c- chm3 + \"perfect skull (skz)\" + \"perfect emerald (gpg)\"\nchom : chom3master \u003c- chm3 + \"perfect diamond (gpw)\" + \"perfect amethyst (gpv)\"\nchom : chom3psycho \u003c- chm3 + \"perfect topaz (gpy)\" + \"perfect diamond (gpw)\" + \"perfect emerald (gpg)\" + \"perfect saphire (gpb)\" + \"\nperfect ruby (gpr)\"\nchom : chom3shield \u003c- chm3 + \"perfect diamond (gpw)\"\nchom : chom3skull \u003c- chm3 + \"perfect skull (skz)\"\nchom : chom3slayer \u003c- chm3 + \"perfect amethyst (gpv)\" + \"perfect ruby (gpr)\"\nchom : chom3slogger \u003c- chm3 + \"perfect saphire (gpb)\"\nchom : chom3speed \u003c- chm3 + \"perfect topaz (gpy)\",qty=3\nchom : chom3sponge \u003c- chm3 + \"perfect ruby (gpr)\" + \"perfect saphire (gpb)\" + \"perfect topaz (gpy)\"\nchom : chom3summoner \u003c- chm3 + \"perfect skull (skz)\" + \"perfect diamond (gpw)\"\nchom : chom3venom \u003c- chm3 + \"perfect emerald (gpg)\",qty=2\n\nEnter command ('help' for help, 'quit' to quit):\n\u003e in finder\n\nch4 - ChoM-Finder -  - \nci4 - ChoM2-Finder -  - \ncj4 - ChoM3-Finder -  - \n\nEnter command ('help' for help, 'quit' to quit):\n\u003e id ch4\n\nnamestr: Ch4\nlevel: 99\nHellUpgrade: xxx\ncomponent: 16\nElzixMagicLvl: 255\nusesound: item_charm\nalternategfx: rld\nLarzukMagicLvl: 255\nname: ChoM-Finder\nrarity: 231\nCainMagicLvl: 255\ndropsfxframe: 12\ngamble cost: 48000\nNightmareUpgrade: xxx\nLysanderMagicLvl: 255\nBetterGem: non\ncost: 200000\nlevelreq: 10\nMalahMagicLvl: 255\ninvwidth: 2\nHalbuMagicLvl: 255\nAlkorMagicLvl: 255\ninvfile: chmfinder\nOrmusMagicLvl: 255\nJamellaMagicLvl: 255\ntranstbl: 5\nspellicon: -1\nAshearaMagicLvl: 255\nflippyfile: flpchm2\nDrehyaMagicLvl: 255\nGheedMagicLvl: 255\ndropsound: item_charm\nversion: 100\ninvheight: 2\nTMogType: xxx\nCharsiMagicLvl: 255\nHraltiMagicLvl: 255\nAkaraMagicLvl: 255\nFaraMagicLvl: 255\ntype: chm1\nnodurability: 1\ncode: ch4\nDrognanMagicLvl: 255\n\nEnter command ('help' for help, 'quit' to quit):\n\u003e ri ch4\n\nScanning: 00% 10% 20% 30% 40% 50% 60% 70% 80% 90% 100% \n\ndbox : \"yuck - bad message (u98)\" \u003c- \"mephisto key (luv)\" + \"chom-finder (ch4)\"\ndbox : \"chom-finder (ch4)\" \u003c- \"mephisto key (luv)\" + \"demon box #1073 (cp4)\"\nposter major : \"ghost hat (ces)\" \u003c- \"chom-destroyer (ch3)\" + \"chom-finder (ch4)\" + \"chom-flamer (ch5)\" + \"chom-healer (ch6)\"\n\nEnter command ('help' for help, 'quit' to quit):\n\u003e quit\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foverminddl1%2Fd2-tools","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foverminddl1%2Fd2-tools","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foverminddl1%2Fd2-tools/lists"}