{ "info": { "author": "youbetterdont", "author_email": "", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python :: 3" ], "description": "# pydiablo\npydiablo is a Diablo 2 toolkit written in Python. The original goal was to calculate and simulate the time required to kill specific monsters using different builds and equipment. The library is still in early stages. It currently has an accurate monster stats parser and the beginnings of a weapon speed calculator.\n\n## usage\n\n### monster stats\n```python\nimport sys\nimport pydiablo as d2\n# interesting monster_ids\n# unraveler5: wave2 minions\n# unraveler8/9: high exp dudes in WSK/throne\n# bloodlord5: death lords in WSK/throne\n# fallen5: wave1 minions\n# dkfig2, dkmag2: act5 doom knights and oblivion knights\n# venomlord: wave4\n# baalhighpriest: wave3\n# baalminion1: wave5\nmonster_id = 'doomknight1'\ndifficulty = d2.monster.HELL\n# write the area table (if we want to choose a specific area)\nd2.monster.Monster.levels.write_area_table(sys.stdout, monster_id, difficulty)\n# with no specific area chosen, it defaults to highest level available\nMonsterType = d2.monster.MinionMonster.create_monster_type(monster_id, difficulty)\nprint('========')\nprint('Class name: ' + MonsterType.__name__)\nprint('Areas: ' + str(MonsterType.mlvl_specific_area_names()))\nprint('Monster: ' + MonsterType.monster_name())\nprint('mlvl: ' + str(MonsterType.mlvl))\nprint('hp range: ' + str(MonsterType.base_hp()))\nprint('exp: ' + str(MonsterType.base_experience()))\nprint('block chance: ' + str(MonsterType.block_chance()))\nprint('defense: ' + str(MonsterType.base_defense()))\nprint('cold effect: ' + str(MonsterType.cold_effect()))\nprint('drain effect: ' + str(MonsterType.drain_effect()))\nprint('fire resist: ' + str(MonsterType.base_fire_resist()))\nprint('cold resist: ' + str(MonsterType.base_cold_resist()))\nprint('lightning resist: ' + str(MonsterType.base_lightning_resist()))\nprint('poison resist: ' + str(MonsterType.base_poison_resist()))\nprint('damage resist: ' + str(MonsterType.base_damage_resist()))\nprint('magic resist: ' + str(MonsterType.magic_resist()))\n\nmonster = MonsterType(player_count=8, rand=False)\nprint('==========')\nprint('max_life: ' + str(monster.max_life))\nprint('experience: ' + str(monster.experience()))\n```\n\n### weapon speed\n```python\nimport sys\nimport pydiablo as d2\n\n# write a few selected ias breakpoint tables\nd2.char.write_bp_table(sys.stdout, d2.char.Amazon.strafe_duration, 'BOW', 100, 0, 10)\nd2.char.write_bp_table(sys.stdout, d2.char.WolfDruid.fury_duration, 'STF', 100, 68, 10, WIAS=90)\nd2.char.write_bp_table(sys.stdout, d2.char.Paladin.zeal_duration, '2HS', 100, 37, 10, WIAS=0)\nd2.char.write_bp_table(sys.stdout, d2.char.Act2Merc.jab_duration, 'HTH', 100, 0, -10)\n```\n\n### character data import\nThis feature is brand new, and there's not a lot of interesting stuff you can do with it yet.\n\n#### from slashdiablo or nokka's d2s parser (https://github.com/nokka/d2s)\n```python\nimport pydiablo as d2\n\nchar_name = 'netease'\nchar = d2.char.chardata_from_slash(char_name)\n# if you want to import another d2s file parsed by nokka's d2s\n# char_json = ... # from d2s parser\n# char = create_from_json(char_json)\n\n#print some stuff\nprint(char.primary_weapon_stats)\nprint(char.secondary_weapon_stats)\nprint(char.off_weapon_stats)\n```\n\n## license\nSee the LICENSE file for license details on source files contained in pydiablo. The files in data and data2 are derivative of Diablo 2 game data; the license in the LICENSE file does not apply.\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/youbetterdont/pydiablo", "keywords": "", "license": "", "maintainer": "", "maintainer_email": "", "name": "pydiablo", "package_url": "https://pypi.org/project/pydiablo/", "platform": "", "project_url": "https://pypi.org/project/pydiablo/", "project_urls": { "Homepage": "https://github.com/youbetterdont/pydiablo" }, "release_url": "https://pypi.org/project/pydiablo/0.0.3/", "requires_dist": [ "numpy (>=1.15)" ], "requires_python": "", "summary": "A collection of Diablo 2 utilities.", "version": "0.0.3" }, "last_serial": 5376196, "releases": { "0.0.3": [ { "comment_text": "", "digests": { "md5": "38074f96de04366afd0c26e6f9a64d6a", "sha256": "b3e731dcfc54ff7c192a3f8869b09054c6d14f11572c6ef3fb18a938f0d47927" }, "downloads": -1, "filename": "pydiablo-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "38074f96de04366afd0c26e6f9a64d6a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 153468, "upload_time": "2019-06-08T21:18:56", "url": "https://files.pythonhosted.org/packages/ac/39/a73c665a5b864c3b1b487700e26f10b46e960350d2d0562ca681a19ac992/pydiablo-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0f7dca5fa95d2631ef868b83a6f87944", "sha256": "a3d275e373560ce91143b36765ab5c450c8b909d70bc3825116edc1b0d6b32c5" }, "downloads": -1, "filename": "pydiablo-0.0.3.tar.gz", "has_sig": false, "md5_digest": "0f7dca5fa95d2631ef868b83a6f87944", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 146491, "upload_time": "2019-06-08T21:19:00", "url": "https://files.pythonhosted.org/packages/c3/40/626979e67ff536f3303da22deb276669a9f73889e9291a53db2f0246e4a9/pydiablo-0.0.3.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "38074f96de04366afd0c26e6f9a64d6a", "sha256": "b3e731dcfc54ff7c192a3f8869b09054c6d14f11572c6ef3fb18a938f0d47927" }, "downloads": -1, "filename": "pydiablo-0.0.3-py3-none-any.whl", "has_sig": false, "md5_digest": "38074f96de04366afd0c26e6f9a64d6a", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 153468, "upload_time": "2019-06-08T21:18:56", "url": "https://files.pythonhosted.org/packages/ac/39/a73c665a5b864c3b1b487700e26f10b46e960350d2d0562ca681a19ac992/pydiablo-0.0.3-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "0f7dca5fa95d2631ef868b83a6f87944", "sha256": "a3d275e373560ce91143b36765ab5c450c8b909d70bc3825116edc1b0d6b32c5" }, "downloads": -1, "filename": "pydiablo-0.0.3.tar.gz", "has_sig": false, "md5_digest": "0f7dca5fa95d2631ef868b83a6f87944", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 146491, "upload_time": "2019-06-08T21:19:00", "url": "https://files.pythonhosted.org/packages/c3/40/626979e67ff536f3303da22deb276669a9f73889e9291a53db2f0246e4a9/pydiablo-0.0.3.tar.gz" } ] }