Initial commit

This commit is contained in:
JayPiKay 2020-12-05 10:21:16 +01:00
commit 89d38f1ca3
59 changed files with 8400 additions and 0 deletions

10
.gitignore vendored Normal file
View File

@ -0,0 +1,10 @@
*.pyc
.*
*.log
venv/
_attic/
docs/_static/
docs/_templates/
docs/_build/
assets/
docs/_downloads/

0
CHANGELOG Normal file
View File

44
README.md Normal file
View File

@ -0,0 +1,44 @@
Diablo 3 Dingsi
===============
Track Diablo 3 profile progression per season.
Additional notes on database management
---------------------------------------
When adding indexes all collections are required to have the dropDups index on
the 'lastUpdated' field.
WARNING: only works on version <=2.6 of MongoDB
CODE:
```javascript
// Reindex database
db.getCollectionNames().forEach(function(collectionName) {
var collection = db.getCollection(collectionName);
if (collectionName.indexOf('hero') > 0) {
collection.ensureIndex({'last-updated': 1}, {unique: true, dropDups: true});
} else {
collection.ensureIndex({lastUpdated: 1}, {unique: true, dropDups: true});
}
});
// drop wrong indexes from hero collection
db.getCollectionNames().forEach(function(collectionName) {
if (collectionName.indexOf('hero') > 0) {
var collection = db.getCollection(collectionName);
collection.dropIndex('lastUpdated_1');
}
});
```
Forwarding database connections through SSH to remote MongoDB server
```
$ ssh -L 27017:localhost:27017 -Nv sif.goatpr0n.de
```
Milestones
----------
- [ ] Release 1.0
- [ ] Display hero details

43
bin/update-profiles.py Executable file
View File

@ -0,0 +1,43 @@
#! /usr/bin/env python
# -*- coding: utf-8 -*-
# vim:fenc=utf-8:ts=8:et:sw=4:sts=4
#
# Copyright © 2017 jpk <jpk@thor>
#
# Distributed under terms of the MIT license.
"""
"""
import urllib
from urllib import urlopen
import json
import time
API_KEY = 'c4bf31b3682948c39f83207d2af4e71f426445542c4dd1511155f4c8193c0c6a'
API_URL = 'http://d3.dingsi.net/api/admin/profile'
print('Retrieving all profiles...')
resp = urlopen('{}/list/?apikey={}'.format(API_URL, API_KEY))
jso = json.loads(resp.read())
retry_counter = 3
for profile in [x.replace('#', '-') for x in jso['profiles']]:
print('Updating profile "%s"...' % profile)
resp = urlopen('{}/{}/update/?apikey={}'.format(API_URL, profile,
API_KEY))
while True:
status = urlopen(resp.headers['Location']+'?apikey=%s' % API_KEY)
status_jso = json.loads(status.read())
if status_jso['state'] == 'SUCCESS':
retry_counter = 3
break
if status_jso['state'] != 'PROGRESS':
if retry_counter == 0:
retry_counter = 3
break
retry_counter -= 1
time.sleep(5)
print(status_jso)

43
config.py Normal file
View File

@ -0,0 +1,43 @@
#! /usr/bin/env python
# -*- coding: utf-8 -*-
# vim:fenc=utf-8:ts=8:et:sw=4:sts=4
#
# Copyright © 2015 jpk <jpk@thor>
#
# Distributed under terms of the MIT license.
import os
SECRET_KEY = 'RANDOM KEY'
API_KEY = 'RANDOM KEY'
BOOTSTRAP_SERVE_LOCAL = False
BASEDIR = os.path.abspath(os.path.dirname(__file__))
DIRS = {'static': os.path.join(BASEDIR, 'flask_d3d3/static'),
'media': os.path.join(BASEDIR, 'flask_d3d3/media'),
'log': os.path.join(BASEDIR, 'log')}
#: Hostname of the MongoDB instance to store the historic profile data
MONGO_HOST = 'localhost'
#: Port of the MongoDB instance to store the historic profile data
MONGO_PORT = 27017
#: Database of the MongoDB instance to store the historic profile data
MONGO_DBNAME = 'd3progress'
#: Mongoalchemy databse setup: Database name
MONGOALCHEMY_DATABASE = 'd3d3'
#: Mongoalchemy databse setup: Database hostname
MONGOALCHEMY_SERVER = MONGO_HOST
#: Mongoalchemy databse setup: Server requires authentication?
MONGOALCHEMY_SERVER_AUTH = False
#: flask_cache default timeout for the cache
CACHE_DEFAULT_TIMEOUT = 3 * 60 * 60
#: flask_cache memcached servers
CACHE_MEMCACHED_SERVERS = ['localhost:11211']
CELERY_BROKER_URL = 'redis://localhost:6379/0'
CELERY_RESULT_BACKEND = 'redis://localhost:6379/0'
CRON_ALLOWED_HOSTS = ['127.0.0.1', '10.8.0.50', '5.135.164.160']

9
d3d3.wsgi Normal file
View File

@ -0,0 +1,9 @@
import os, sys
PROJECT_DIR = '/home/jpk/www-root/sites/d3.dingsi.net/d3d3'
activate_this = os.path.join(PROJECT_DIR, 'bin', 'activate_this.py')
execfile(activate_this, dict(__file__=activate_this))
sys.path.append(PROJECT_DIR)
from flask_d3d3 import app as application

24
docs/Makefile Normal file
View File

@ -0,0 +1,24 @@
# Minimal makefile for Sphinx documentation
#
# You can set these variables from the command line.
SPHINXOPTS =
SPHINXBUILD = sphinx-build
SPHINXPROJ = D3Dingsi
SOURCEDIR = .
BUILDDIR = _build
# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
.PHONY: help Makefile directories
directories:
mkdir -p "$(SOURCEDIR)/_downloads/"
# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: directories Makefile
cp *.json "$(SOURCEDIR)/_downloads/"
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

View File

@ -0,0 +1,606 @@
{
"id": 77458278,
"name": "Monkerella",
"class": "monk",
"gender": 1,
"level": 70,
"kills": {
"elites": 4292
},
"paragonLevel": 302,
"hardcore": false,
"seasonal": true,
"seasonCreated": 6,
"skills": {
"active": [{
"skill": {
"slug": "wave-of-light",
"name": "Wave of Light",
"icon": "monk_waveoflight",
"level": 12,
"categorySlug": "secondary",
"tooltipUrl": "skill/monk/wave-of-light",
"description": "Cost: 75 Spirit\r\n\r\nFocus a wave of light that crushes enemies for 835% weapon damage as Holy.",
"simpleDescription": "Cost: 75 Spirit\r\n\r\nRing a mystic bell that crushes enemies.",
"skillCalcId": "e"
},
"rune": {
"slug": "wave-of-light-b",
"type": "b",
"name": "Explosive Light",
"level": 25,
"description": "Release bursts of energy that deal 830% weapon damage as Fire to nearby enemies.",
"simpleDescription": "Release bursts of energy that deal Fire damage to enemies.",
"tooltipParams": "rune/wave-of-light/b",
"skillCalcId": "Z",
"order": 1
}
}, {
"skill": {
"slug": "dashing-strike",
"name": "Dashing Strike",
"icon": "x1_monk_dashingstrike",
"level": 9,
"categorySlug": "techniques",
"tooltipUrl": "skill/monk/dashing-strike",
"description": "Cost: 1 Charge\r\n\r\nQuickly dash up to 50 yards, striking enemies along the way for 370% weapon damage as Physical.\r\n\r\nYou gain a charge every 8 seconds and can have up to 2 charges stored at a time.",
"simpleDescription": "Cost: 1 Charge\r\n\r\nQuickly dash and strike enemies.\r\n\r\nYou gain a charge every 8 seconds and can have up to 2 charges stored at a time.",
"skillCalcId": "d"
},
"rune": {
"slug": "dashing-strike-b",
"type": "b",
"name": "Way of the Falling Star",
"level": 15,
"description": "Gain 20% increased movement speed for 4 seconds after using Dashing Strike.\r\n\r\nDashing Strike's damage turns into Holy.",
"simpleDescription": "Gain increased movement speed after using Dashing Strike.\r\n\r\nDashing Strike's damage turns into Holy.",
"tooltipParams": "rune/dashing-strike/b",
"skillCalcId": "a",
"order": 0
}
}, {
"skill": {
"slug": "blinding-flash",
"name": "Blinding Flash",
"icon": "monk_blindingflash",
"level": 4,
"categorySlug": "defensive",
"tooltipUrl": "skill/monk/blinding-flash",
"description": "Cooldown: 15 seconds\r\n\r\nCreate a flash of light that blinds all enemies within 20 yards for 3 seconds. Elite enemies recover faster, but suffer a 30% chance to miss with attacks.",
"simpleDescription": "Cooldown: 15 seconds\r\n\r\nBlind all nearby enemies for 3 seconds.",
"skillCalcId": "Y"
},
"rune": {
"slug": "blinding-flash-a",
"type": "a",
"name": "Faith in the Light",
"level": 55,
"description": "You deal 29% increased damage for 3 seconds after using Blinding Flash.",
"simpleDescription": "You deal increased damage for a short duration after using Blinding Flash.",
"tooltipParams": "rune/blinding-flash/a",
"skillCalcId": "c",
"order": 4
}
}, {
"skill": {
"slug": "sweeping-wind",
"name": "Sweeping Wind",
"icon": "monk_sweepingwind",
"level": 21,
"categorySlug": "techniques",
"tooltipUrl": "skill/monk/sweeping-wind",
"description": "Cost: 75 Spirit\r\n\r\nSurround yourself in a vortex that continuously deals 105% weapon damage to all enemies within 10 yards. The vortex lasts 6 seconds and is refreshed each time you strike an enemy with a melee attack. Landing a Critical Hit has a chance to increase the vortex effect up to 3 stacks for a total of 315% weapon damage.",
"simpleDescription": "Cost: 75 Spirit\r\n\r\nSurround yourself in a vortex for 6 seconds that damages nearby enemies. Critical Hits intensify the vortex.",
"skillCalcId": "S"
},
"rune": {
"slug": "sweeping-wind-d",
"type": "d",
"name": "Inner Storm",
"level": 46,
"description": "As long as your vortex is at 3 or more stacks, you gain 8 Spirit per second.\r\n\r\nSweeping Wind's damage turns into Holy.",
"simpleDescription": "Gain Spirit whenever the vortex is at 3 or more stacks.\r\n\r\nSweeping Wind's damage turns into Holy.",
"tooltipParams": "rune/sweeping-wind/d",
"skillCalcId": "Y",
"order": 3
}
}, {
"skill": {
"slug": "mystic-ally",
"name": "Mystic Ally",
"icon": "x1_monk_mystically_v2",
"level": 22,
"categorySlug": "focus",
"tooltipUrl": "skill/monk/mystic-ally",
"description": "Cooldown: 30 seconds\r\n\r\nActive: Your mystic ally has its damage increased by 50% for 10 seconds.\r\n\r\nPassive: A mystic ally fights by your side. The ally deals 130% of your weapon damage as Physical per swing. When the ally dies, it is reborn after 5 seconds.",
"simpleDescription": "Cooldown: 30 seconds\r\n\r\nActive: Your mystic ally has its damage increased for a short duration.\r\n\r\nPassive: A mystic ally fights by your side.",
"skillCalcId": "j"
},
"rune": {
"slug": "mystic-ally-d",
"type": "d",
"name": "Air Ally",
"level": 39,
"description": "Active: You gain 100 Spirit.\r\n\r\nPassive: A mystic ally fights by your side that increases your Spirit Regeneration by 4.",
"simpleDescription": "Active: You gain a burst of Spirit.\r\n\r\nPassive: A mystic ally fights by your side that increases your Spirit Regeneration.",
"tooltipParams": "rune/mystic-ally/d",
"skillCalcId": "b",
"order": 2
}
}, {
"skill": {
"slug": "mantra-of-healing",
"name": "Mantra of Healing",
"icon": "x1_monk_mantraofhealing_v2",
"level": 26,
"categorySlug": "mantras",
"tooltipUrl": "skill/monk/mantra-of-healing",
"description": "Cost: 50 Spirit\r\n\r\nActive: Shroud you and your allies with a mystical shield that absorbs up to 62064 damage for 3 seconds. Absorb amount is increased by 15% of your Health Globe Healing Bonus.\r\n\r\nPassive: You and your allies within 60 yards gain 10728 increased Life regeneration. The heal amount is increased by 7% of your Life per Second.\r\n\r\nOnly one Mantra may be active at a time.",
"simpleDescription": "Cost: 50 Spirit\r\n\r\nActive: Shroud you and your allies with a mystical shield that absorbs damage.\r\n\r\nPassive: You and nearby allies gain increased Life regeneration.\r\n\r\nOnly one Mantra may be active at a time.",
"skillCalcId": "Q"
},
"rune": {
"slug": "mantra-of-healing-d",
"type": "d",
"name": "Circular Breathing",
"level": 38,
"description": "Passive: Mantra of Healing also regenerates 3 Spirit per second.",
"simpleDescription": "Passive: Mantra of Healing also regenerates Spirit.",
"tooltipParams": "rune/mantra-of-healing/d",
"skillCalcId": "Z",
"order": 1
}
}],
"passive": [{
"skill": {
"slug": "exalted-soul",
"name": "Exalted Soul",
"icon": "monk_passive_exaltedsoul",
"level": 13,
"tooltipUrl": "skill/monk/exalted-soul",
"description": "Increase maximum Spirit by 50 and increase Spirit Regeneration by 4 per second.\r\n\r\nSpirit fuels your defensive and offensive abilities.",
"flavor": "\"Endeavor to be one with the hidden truth and you will soar beyond the sky.\" —Waykeeper Tzo Krin",
"skillCalcId": "b"
}
}, {
"skill": {
"slug": "seize-the-initiative",
"name": "Seize the Initiative",
"icon": "monk_passive_seizetheinitiative",
"level": 20,
"tooltipUrl": "skill/monk/seize-the-initiative",
"description": "Dealing damage to enemies above 75% Life increases your attack speed by 30% for 4 seconds.",
"flavor": "The Monks of Ivgorod are trained to move like water — flowing freely into open spaces and crashing hard against their foes.",
"skillCalcId": "X"
}
}, {
"skill": {
"slug": "harmony",
"name": "Harmony",
"icon": "p1_monk_passive_harmony",
"level": 45,
"tooltipUrl": "skill/monk/harmony",
"description": "40% of your single elemental resistances from items instead increases your resistance to all elements.",
"flavor": "Ice hunters brave months of frozen darkness. Desert traders bear relentless, scorching sun. This world is ours to endure.",
"skillCalcId": "g"
}
}, {
"skill": {
"slug": "beacon-of-ytar",
"name": "Beacon of Ytar",
"icon": "monk_passive_beaconofytar",
"level": 35,
"tooltipUrl": "skill/monk/beacon-of-ytar",
"description": "Reduce all cooldowns by 20%.",
"flavor": "It is only through hardship that we come to know our limits, and only through knowing our limits that we learn to shatter them.",
"skillCalcId": "f"
}
}]
},
"items": {
"head": {
"id": "Unique_SpiritStone_007_x1",
"name": "Tzo Krin's Gaze",
"icon": "unique_spiritstone_007_x1_demonhunter_male",
"displayColor": "orange",
"tooltipParams": "item/CpABCOy_mLQDEgcIBBXYeOUlHReStxwdZz7s5B1mIwZQHZsGAMsd9N0ctx3J-rygMItSOJgDQABIAVASWARgmANqKwoMCAAQq_CFwoGAgIApEhsI-MWkjgoSBwgEFaS-HMIwi1I4AEABWASQAQaAAUaNAXacQBalAWc-7OStAeYV2w21ARu-hfG4Ab3G8bgKwAENGLDjq94EUAhYAg",
"dyeColor": {
"item": {
"id": "Dye_20",
"name": "Abyssal Dye",
"icon": "dye_20_demonhunter_male",
"displayColor": "white",
"tooltipParams": "item/abyssal-dye"
}
},
"transmogItem": {
"id": "Unique_Helm_102_x1",
"name": "Deathseer's Cowl",
"icon": "unique_helm_102_x1_demonhunter_male",
"displayColor": "orange",
"tooltipParams": "item/deathseers-cowl"
}
},
"torso": {
"id": "Unique_Chest_Set_11_x1",
"name": "Sunwuko's Soul",
"icon": "unique_chest_set_11_x1_monk_female",
"displayColor": "green",
"tooltipParams": "item/CuoBCMO-9p4MEgcIBBUh0n4PHfHTatUdcyMGUB1nPuzkHUNORFEdAWAtsR1yjh0hMItSOKsDQABIAVASWARgqwNqKwoMCAAQ57GI94SAgOA_EhsI1PTUrAUSBwgEFUItN6kwi1I4AEABWASQAQZqKwoMCAAQ9LGI94SAgOA_EhsIhdaVkgMSBwgEFUItN6kwi1I4AEABWASQAQZqKwoMCAAQ656I94SAgOA_EhsIup6P2QQSBwgEFUItN6kwj1I4AEABWASQAQaAAUaNAagZGWClAfHTatWtAfHTatW1ATEiGWC4AfffmJ8PwAEEGMLI9vcBUAhYAqABn-T74A6gAdub-sALoAHCyPb3AaAB4LzelAagAbT6g6wP",
"dyeColor": {
"item": {
"id": "Dye_20",
"name": "Abyssal Dye",
"icon": "dye_20_demonhunter_male",
"displayColor": "white",
"tooltipParams": "item/abyssal-dye"
}
},
"transmogItem": {
"id": "ChestArmor_001",
"name": "Cloth Tunic",
"icon": "chestarmor_001_demonhunter_male",
"displayColor": "white",
"tooltipParams": "item/cloth-tunic"
},
"setItemsEquipped": ["Unique_Shoulder_Set_11_x1", "Unique_Pants_Set_11_x1", "Unique_Gloves_Set_11_x1", "Unique_Amulet_Set_11_x1", "Unique_Chest_Set_11_x1"]
},
"feet": {
"id": "P1_Unique_Boots_010",
"name": "The Crudest Boots",
"icon": "p1_unique_boots_010_demonhunter_male",
"displayColor": "orange",
"tooltipParams": "item/Cl4I-N-BiQ4SBwgEFU25PoAdrNOZOR1DTkRRHTsnbyQd6-LkBR3x02rVMItSOJwDQABIAVASWARgnAOAAUaNARc9m3-lAevi5AWtAZ_cXfm1AaBFm3-4AffHgsIGwAEGGOWaivwPUAhYAg",
"dyeColor": {
"item": {
"id": "Dye_20",
"name": "Abyssal Dye",
"icon": "dye_20_demonhunter_male",
"displayColor": "white",
"tooltipParams": "item/abyssal-dye"
}
},
"transmogItem": {
"id": "Boots_001",
"name": "Shoes",
"icon": "boots_001_demonhunter_male",
"displayColor": "white",
"tooltipParams": "item/shoes"
}
},
"hands": {
"id": "Unique_Gloves_Set_11_x1",
"name": "Sunwuko's Paws",
"icon": "unique_gloves_set_11_x1_demonhunter_male",
"displayColor": "green",
"tooltipParams": "item/CmMInp27xgESBwgEFZp-wHodyvq8oB1-VrMuHZwGAMsdlY0XwR0EBj61HQdendMwi1o4ugJAAEgBUBJYBGC6AoABRo0BQFOSpKUBlY0Xwa0BmKeOwLUByVuSpLgB0ozA9Q7AARgYtPqDrA9QCFgCoAGf5PvgDqAB25v6wAugAcLI9vcBoAHgvN6UBqABtPqDrA8",
"dyeColor": {
"item": {
"id": "Dye_20",
"name": "Abyssal Dye",
"icon": "dye_20_demonhunter_male",
"displayColor": "white",
"tooltipParams": "item/abyssal-dye"
}
},
"transmogItem": {
"id": "Gloves_001",
"name": "Gloves",
"icon": "gloves_001_demonhunter_male",
"displayColor": "white",
"tooltipParams": "item/gloves"
},
"setItemsEquipped": ["Unique_Shoulder_Set_11_x1", "Unique_Pants_Set_11_x1", "Unique_Gloves_Set_11_x1", "Unique_Amulet_Set_11_x1", "Unique_Chest_Set_11_x1"]
},
"shoulders": {
"id": "Unique_Shoulder_Set_11_x1",
"name": "Sunwuko's Balance",
"icon": "unique_shoulder_set_11_x1_demonhunter_male",
"displayColor": "green",
"tooltipParams": "item/CmMIzsPowAkSBwgEFfCG8IkdP_IJ2B1yjh0hHUNORFEdZz7s5B07J28kHfHTatUwi1I48gJAAEgBUBJYBGDyAoABRo0BFAswi6UBZz7s5K0BuLwgerUB0vjIFbgBgaSQ2A3AAQQYn-T74A5QCFgCoAGf5PvgDqAB25v6wAugAcLI9vcBoAHgvN6UBqABtPqDrA8",
"dyeColor": {
"item": {
"id": "Dye_20",
"name": "Abyssal Dye",
"icon": "dye_20_demonhunter_male",
"displayColor": "white",
"tooltipParams": "item/abyssal-dye"
}
},
"transmogItem": {
"id": "Unique_Shoulder_001_x1",
"name": "Homing Pads",
"icon": "unique_shoulder_001_x1_demonhunter_male",
"displayColor": "orange",
"tooltipParams": "item/homing-pads"
},
"setItemsEquipped": ["Unique_Shoulder_Set_11_x1", "Unique_Pants_Set_11_x1", "Unique_Gloves_Set_11_x1", "Unique_Amulet_Set_11_x1", "Unique_Chest_Set_11_x1"]
},
"legs": {
"id": "Unique_Pants_Set_11_x1",
"name": "Sunwuko's Leggings",
"icon": "unique_pants_set_11_x1_monk_female",
"displayColor": "green",
"tooltipParams": "item/CqUBCPeQvfQLEgcIBBUwz0sxHfHTatUdj5DKUB1DTkRRHaLPFFYdcYt38B0do43EMItSOJ8DQABQElgEYJ8DaisKDAgAENPRteODgIDABBIbCMDK6doBEgcIBBVCLTepMItSOABAAVgEkAEGaisKDAgAENb5q5GFgICABxIbCMWz3YwDEgcIBBVCLTepMItSOABAAVgEkAEGgAFGjQGRlAzdtQGfktWlGOC83pQGUAhYAqABn-T74A6gAdub-sALoAHCyPb3AaAB4LzelAagAbT6g6wP",
"transmogItem": {
"id": "X1_Pants_norm_season_01",
"name": "Conqueror's Legguards",
"icon": "x1_pants_norm_season_01_demonhunter_male",
"displayColor": "orange",
"tooltipParams": "item/conquerors-legguards-42YRsR"
},
"setItemsEquipped": ["Unique_Shoulder_Set_11_x1", "Unique_Pants_Set_11_x1", "Unique_Gloves_Set_11_x1", "Unique_Amulet_Set_11_x1", "Unique_Chest_Set_11_x1"]
},
"bracers": {
"id": "P4_Unique_Bracer_105",
"name": "Pinto's Pride",
"icon": "p4_unique_bracer_105_demonhunter_male",
"displayColor": "orange",
"tooltipParams": "item/ClYI_4j2lAISBwgEFV0arNAdt1tUTR07J28kHVb8aBAd5hXbDR3x02rVMItSOL8CQABQElgEYL8CgAFGpQFW_GgQrQFADVULtQHbLMrLuAGFh-viAcABBBjFlp_1BVAIWAI"
},
"mainHand": {
"id": "P4_Unique_Fist_102",
"name": "Kyoshiro's Blade",
"icon": "p4_unique_fist_102_demonhunter_male",
"displayColor": "orange",
"tooltipParams": "item/CokBCL3btZsKEgcIBBXB_Y1THReStxwdReBNIh1mIwZQHdKwUMcdyvq8oDCLWjiVAkAAUBJYBGCVAmorCgwIABDr_quRhYCAgAcSGwjYop3XDhIHCAQVQi03qTCPUjgAQAFYBJABBoABRo0Bh9LJM6UBReBNIq0B0O5oMbUB7CS1SbgB1ovS_ATAAQYYgvfvuApQCFgC",
"transmogItem": {
"id": "TransmogFist_241_001",
"name": "Hand of Despair",
"icon": "transmogfist_241_001_demonhunter_male",
"displayColor": "white",
"tooltipParams": "item/hand-of-despair"
}
},
"offHand": {
"id": "Unique_Fist_003_x1",
"name": "Rabid Strike",
"icon": "unique_fist_003_x1_demonhunter_male",
"displayColor": "orange",
"tooltipParams": "item/CnMI693I8ggSBwgEFWbDkL4dyfq8oB2DJzvIHXujJiIdZiMGUB0XkrccMItSOIsCQABQElgEYIsCaisKDAgAELzsgeeEgICgBxIbCIbq9JIFEgcIBBVCLTepMI9SOABAAVgEkAEGgAFGjQGH0skztQHsJLVJGLPy-ZYIUAhYAg",
"transmogItem": {
"id": "TransmogFist_241_001",
"name": "Hand of Despair",
"icon": "transmogfist_241_001_demonhunter_male",
"displayColor": "white",
"tooltipParams": "item/hand-of-despair"
}
},
"waist": {
"id": "P4_Unique_Belt_05",
"name": "Kyoshiro's Soul",
"icon": "p4_unique_belt_05_demonhunter_male",
"displayColor": "orange",
"tooltipParams": "item/CloIgJzV-QcSBwgEFYTGMFgd8dNq1R06Lo6OHaLPFFYdQ05EUR0gjTdUHdPMB2Mwi1I4nANAAFASWARgnAOAAUalAfHTatWtAfHTatW1AcCnQtS4Af71kmnAAQIYiJqGgwtQCFgC"
},
"rightFinger": {
"id": "Unique_Ring_023_p2",
"name": "Obsidian Ring of the Zodiac",
"icon": "unique_ring_023_p2_demonhunter_male",
"displayColor": "orange",
"tooltipParams": "item/ClYIxvaEhAkSBwgEFfttR7kdNGk6JR0zkEoEHWs2wDEdVfpcZx13B8T0MItSOKoDQABQElgEYKoDgAE2pQFV-lxnrQG2xntstQEZVV1EuAG8i-niD8ABBxiJyMTrCFAIWAI"
},
"leftFinger": {
"id": "P2_Unique_Ring_04",
"name": "Convention of Elements",
"icon": "p2_unique_ring_04_demonhunter_male",
"displayColor": "orange",
"tooltipParams": "item/CogBCO-mjckGEgcIBBVq-dsYHUV7xt0ddEWniR1mIwZQHeYV2w0d8dNq1TCLUjifAkAAUBJYBGCfAmowCgwIABDM5_-Ig4CA4DcSIAitpPDvBBIHCAQVaf6ywTCLUjgAQABQElgEkAEG2AEygAFGpQF0RaeJrQG4vCB6tQE2VV1EuAHs8sueBsABBRjU5d-NA1AIWAI"
},
"neck": {
"id": "Unique_Amulet_Set_11_x1",
"name": "Sunwuko's Shines",
"icon": "unique_amulet_set_11_x1_demonhunter_male",
"displayColor": "green",
"tooltipParams": "item/Co0BCKu8jtcGEgcIBBUSufCjHX-Oh8wdZTrU4B2bBgDLHUANVQsdZiMGUB3J-rygMItSONsCQABQElgEYNsCajAKDAgAELiw_4iDgIDgNxIgCLj-iegCEgcIBBXo5aDBMItSOABAAFASWASQAQbYATKAAUalAZsGAMutAbDBCXK1AbDFRGS4AZP1tM4IwAF6GNub-sALUAhYAqABn-T74A6gAdub-sALoAHCyPb3AaAB4LzelAagAbT6g6wP",
"setItemsEquipped": ["Unique_Shoulder_Set_11_x1", "Unique_Pants_Set_11_x1", "Unique_Gloves_Set_11_x1", "Unique_Amulet_Set_11_x1", "Unique_Chest_Set_11_x1"]
}
},
"followers": {
"templar": {
"slug": "templar",
"level": 70,
"items": {
"special": {
"id": "x1_FollowerItem_Templar_Legendary_01",
"name": "Enchanting Favor",
"icon": "x1_followeritem_templar_legendary_01_demonhunter_male",
"displayColor": "orange",
"tooltipParams": "item/CkwIh7H7jQsSBwgEFY9EW9IdseTqER07J28kHXWNeDwdmwYAyx2BgcbEMIlSOL8DQABQElgGYL8DgAFGtQHsC2NEyAGqvpICyAHipqkDGOHtpdoF"
},
"mainHand": {
"id": "Unique_Mace_1H_005_x1",
"name": "Nutcracker",
"icon": "unique_mace_1h_005_x1_demonhunter_male",
"displayColor": "orange",
"tooltipParams": "item/CkAI-62bqw4SBwgEFQCTCo8doSncBR2eT4PcHcn6vKAde6MmIh3jb8yEMItSOLsDQABQElgEYLsDgAFGtQGCGEudGP-zq48O"
},
"offHand": {
"id": "Shield_001",
"name": "Buckler",
"icon": "shield_001_demonhunter_male",
"displayColor": "white",
"tooltipParams": "item/ChoImaDavgESBwgEFYkDO2wwiVI4mwVAAGCbBRiSjtjDDQ"
},
"leftFinger": {
"id": "Unique_Ring_010_x1",
"name": "Unity",
"icon": "unique_ring_010_x1_demonhunter_male",
"displayColor": "orange",
"tooltipParams": "item/CjsIiqWrjwQSBwgEFV6xM7kdOLLA1R0QL8oqHeYV2w0dqSA2ujCLUji2A0AAUBJYBGC2A4ABRrUBNlVdRBjDuuLsCA"
}
},
"stats": {
"goldFind": 0,
"magicFind": 0,
"experienceBonus": 0
},
"skills": [{
"skill": {
"slug": "heal",
"name": "Heal",
"icon": "templar_heal_110",
"level": 5,
"tooltipUrl": "skill/templar/heal",
"description": "Cooldown: 30 seconds\r\n\r\nHeals you and the Templar for 193112 Life.",
"simpleDescription": "Cooldown: 30 seconds\r\n\r\nHeals you and the Templar.",
"skillCalcId": "a"
}
}, {
"skill": {
"slug": "intimidate",
"name": "Intimidate",
"icon": "templar_intimidate",
"level": 10,
"tooltipUrl": "skill/templar/intimidate",
"description": "Enemies that hit or are hit by the Templar are slowed by 80% for 3 seconds.",
"simpleDescription": "Enemies that hit or are hit by the Templar are slowed.",
"skillCalcId": "Y"
}
}, {
"skill": {
"slug": "charge",
"name": "Charge",
"icon": "templar_shieldcharge",
"level": 15,
"tooltipUrl": "skill/templar/charge",
"description": "Cooldown: 10 seconds\r\n\r\nCharges a target, dealing 280% weapon damage and stunning all enemies within 8 yards for 3 seconds.",
"simpleDescription": "Cooldown: 10 seconds\r\n\r\nCharges an enemy, dealing damage and stunning nearby enemies.",
"skillCalcId": "c"
}
}, {
"skill": {
"slug": "inspire",
"name": "Inspire",
"icon": "templar_inspire",
"level": 20,
"tooltipUrl": "skill/templar/inspire",
"description": "Increases your resource generation.\r\n\r\nMana: 7 per second.\r\nHatred: 1 per second.\r\nWrath: 1.1 per second.\r\nArcane Power: 1.4 per second.\r\nFury: 10% generated.\r\nSpirit: 10% generated.",
"simpleDescription": "Increases your resource generation.",
"skillCalcId": "d"
}
}]
},
"scoundrel": {
"slug": "scoundrel",
"level": 70,
"items": {
"mainHand": {
"id": "Crossbow_001",
"name": "Light Crossbow of Slaying",
"icon": "crossbow_001_demonhunter_male",
"displayColor": "blue",
"tooltipParams": "item/CiEIzbz11AYSBwgEFYJTygodR5uKMjCJUjjPBEAAUAZgzwQYhM7SrAE"
}
},
"stats": {
"goldFind": 0,
"magicFind": 0,
"experienceBonus": 0
},
"skills": [{}, {}, {}, {}]
},
"enchantress": {
"slug": "enchantress",
"level": 70,
"items": {
"mainHand": {
"id": "Staff_002",
"name": "Long Staff of Focus",
"icon": "staff_002_demonhunter_male",
"displayColor": "blue",
"tooltipParams": "item/CiEI6vnE7wISBwgEFaUc5YEdXFCqBzCJUjiUBEAAUAZglAQYtY3X4Q8"
},
"leftFinger": {
"id": "Unique_Ring_010_x1",
"name": "Unity",
"icon": "unique_ring_010_x1_demonhunter_male",
"displayColor": "orange",
"tooltipParams": "item/CjsIk8rUsgkSBwgEFV6xM7kdco4dIR3Sn55EHeYV2w0d8dNq1TCLUjirAkAAUBJYBGCrAoABRrUBNlVdRBjDuuLsCA"
}
},
"stats": {
"goldFind": 0,
"magicFind": 0,
"experienceBonus": 31
},
"skills": [{}, {}, {}, {}]
}
},
"legendaryPowers": [{
"id": "Unique_Dagger_103_x1",
"name": "Envious Blade",
"icon": "unique_dagger_103_x1_demonhunter_male",
"displayColor": "orange",
"tooltipParams": "item/envious-blade"
}, {
"id": "Unique_Helm_002_p3",
"name": "Leoric's Crown",
"icon": "unique_helm_002_p3_demonhunter_male",
"displayColor": "orange",
"tooltipParams": "item/leorics-crown-mCg1x"
}, {
"id": "Unique_Amulet_015_x1",
"name": "Mara's Kaleidoscope",
"icon": "unique_amulet_015_x1_demonhunter_male",
"displayColor": "orange",
"tooltipParams": "item/maras-kaleidoscope"
}],
"stats": {
"life": 485318,
"damage": 728032.0,
"toughness": 8126610.0,
"healing": 205692.0,
"attackSpeed": 1.399999976158142,
"armor": 14097,
"strength": 77,
"dexterity": 8980,
"vitality": 4217,
"intelligence": 77,
"physicalResist": 301,
"fireResist": 455,
"coldResist": 449,
"lightningResist": 532,
"poisonResist": 503,
"arcaneResist": 444,
"critDamage": 6.12,
"blockChance": 0.0,
"blockAmountMin": 0,
"blockAmountMax": 0,
"damageIncrease": 0.0,
"critChance": 0.38500000075,
"damageReduction": 0.0,
"thorns": 3274.0,
"lifeSteal": 0.0,
"lifePerKill": 0.0,
"goldFind": 0.3500000000000001,
"magicFind": 0.0,
"lifeOnHit": 0.0,
"primaryResource": 395,
"secondaryResource": 0
},
"progression": {
"act1": {
"completed": false,
"completedQuests": []
},
"act2": {
"completed": false,
"completedQuests": []
},
"act3": {
"completed": false,
"completedQuests": []
},
"act4": {
"completed": false,
"completedQuests": []
},
"act5": {
"completed": false,
"completedQuests": []
}
},
"dead": false,
"last-updated": 1463817477
}

View File

@ -0,0 +1,349 @@
{
"id": "Unique_Shoulder_Set_11_x1",
"name": "Sunwuko's Balance",
"icon": "unique_shoulder_set_11_x1_demonhunter_male",
"displayColor": "green",
"tooltipParams": "item/CmMIzsPowAkSBwgEFfCG8IkdP_IJ2B1yjh0hHUNORFEdZz7s5B07J28kHfHTatUwi1I48gJAAEgBUBJYBGDyAoABRo0BFAswi6UBZz7s5K0BuLwgerUB0vjIFbgBgaSQ2A3AAQQYn-T74A5QCFgCoAGf5PvgDqAB25v6wAugAcLI9vcBoAHgvN6UBqABtPqDrA8",
"requiredLevel": 70,
"itemLevel": 70,
"stackSizeMax": 0,
"bonusAffixes": 0,
"bonusAffixesMax": 0,
"accountBound": true,
"flavorText": "The pauldrons of Sunwuko the Monkey King are renowned for their ability to improve agility. With these equipped, a trained monk can master the martial arts... or dance.",
"dyeColor": {
"item": {
"id": "Dye_20",
"name": "Abyssal Dye",
"icon": "dye_20_demonhunter_male",
"displayColor": "white",
"tooltipParams": "item/abyssal-dye"
}
},
"transmogItem": {
"id": "Unique_Shoulder_001_x1",
"name": "Homing Pads",
"icon": "unique_shoulder_001_x1_demonhunter_male",
"displayColor": "orange",
"tooltipParams": "item/homing-pads",
"requiredLevel": 10,
"itemLevel": 13,
"stackSizeMax": 0,
"bonusAffixes": 3,
"bonusAffixesMax": 3,
"accountBound": true,
"flavorText": "These enchanted shoulder pieces maintain a constant connection to the origin point of their wearer.",
"typeName": "Legendary Shoulders",
"type": {
"twoHanded": false,
"id": "Shoulders"
},
"damageRange": "00 Damage",
"armor": {
"min": 144.0,
"max": 164.0
},
"slots": ["shoulder"],
"attributes": {
"primary": [],
"secondary": [{
"text": "+910% Extra Gold from Monsters",
"color": "blue",
"affixType": "utility"
}],
"passive": [{
"text": "Your Town Portal is no longer interrupted by taking damage. While casting Town Portal you gain a protective bubble that reduces damage taken by 5065%.",
"color": "orange",
"affixType": "default"
}]
},
"attributesRaw": {
"Durability_Cur": {
"min": 450.0,
"max": 900.0
},
"Durability_Max": {
"min": 450.0,
"max": 900.0
},
"Item_Power_Passive#ItemPassive_Unique_Ring_619_x1": {
"min": 0.5,
"max": 0.65
},
"Armor_Item": {
"min": 144.0,
"max": 164.0
},
"Gold_Find": {
"min": 0.09,
"max": 0.1
}
},
"randomAffixes": [{
"oneOf": [{
"attributes": {
"primary": [{
"text": "+1823 Dexterity",
"color": "blue",
"affixType": "default"
}],
"secondary": [],
"passive": []
},
"attributesRaw": {
"Dexterity_Item": {
"min": 18.0,
"max": 23.0
}
}
}, {
"attributes": {
"primary": [{
"text": "+1823 Strength",
"color": "blue",
"affixType": "default"
}],
"secondary": [],
"passive": []
},
"attributesRaw": {
"Strength_Item": {
"min": 18.0,
"max": 23.0
}
}
}, {
"attributes": {
"primary": [{
"text": "+1823 Intelligence",
"color": "blue",
"affixType": "default"
}],
"secondary": [],
"passive": []
},
"attributesRaw": {
"Intelligence_Item": {
"min": 18.0,
"max": 23.0
}
}
}]
}],
"gems": [],
"socketEffects": [],
"craftedBy": [],
"seasonRequiredToDrop": -1,
"isSeasonRequiredToDrop": false,
"description": null,
"blockChance": "+0.0% Chance to Block"
},
"typeName": "Set Shoulders",
"type": {
"twoHanded": false,
"id": "Shoulders"
},
"damageRange": "00 Damage",
"armor": {
"min": 671.0,
"max": 671.0
},
"slots": ["shoulder"],
"attributes": {
"primary": [{
"text": "+493 Dexterity",
"color": "blue",
"affixType": "default"
}, {
"text": "+468 Vitality",
"color": "blue",
"affixType": "default"
}, {
"text": "+98 Resistance to All Elements",
"color": "blue",
"affixType": "default"
}, {
"text": "Reduces cooldown of all skills by 8.0%.",
"color": "blue",
"affixType": "enchant"
}],
"secondary": [{
"text": "+35% Extra Gold from Monsters",
"color": "blue",
"affixType": "utility"
}, {
"text": "Monster kills grant +182 experience.",
"color": "blue",
"affixType": "utility"
}],
"passive": []
},
"attributesRaw": {
"Item_Binding_Level_Override": {
"min": 2.0,
"max": 2.0
},
"Durability_Max": {
"min": 370.0,
"max": 370.0
},
"Loot_2_0_Drop": {
"min": 1.0,
"max": 1.0
},
"Post_2_1_2_Drop": {
"min": 1.0,
"max": 1.0
},
"Post_2_1_2_Drop": {
"min": 1.0,
"max": 1.0
},
"Experience_Bonus": {
"min": 182.0,
"max": 182.0
},
"Armor_Item": {
"min": 671.6666870117188,
"max": 671.6666870117188
},
"Gold_Find": {
"min": 0.35,
"max": 0.35
},
"Season": {
"min": 0.0,
"max": 0.0
},
"Durability_Cur": {
"min": 370.0,
"max": 370.0
},
"Item_Legendary_Item_Base_Item": {
"min": 3.65492434E8,
"max": 3.65492434E8
},
"Vitality_Item": {
"min": 468.0,
"max": 468.0
},
"Dexterity_Item": {
"min": 493.0,
"max": 493.0
},
"Item_LegendaryItem_Level_Override": {
"min": 70.0,
"max": 70.0
},
"Power_Cooldown_Reduction_Percent_All": {
"min": 0.07999999999999996,
"max": 0.07999999999999996
},
"Resistance_All": {
"min": 98.0,
"max": 98.0
}
},
"randomAffixes": [],
"gems": [],
"socketEffects": [],
"set": {
"name": "Monkey King's Garb",
"items": [{
"id": "Unique_Shoulder_Set_11_x1",
"name": "Sunwuko's Balance",
"icon": "unique_shoulder_set_11_x1_demonhunter_male",
"displayColor": "green",
"tooltipParams": "item/sunwukos-balance"
}, {
"id": "Unique_Helm_Set_11_x1",
"name": "Sunwuko's Crown",
"icon": "unique_helm_set_11_x1_demonhunter_male",
"displayColor": "green",
"tooltipParams": "item/sunwukos-crown"
}, {
"id": "Unique_Pants_Set_11_x1",
"name": "Sunwuko's Leggings",
"icon": "unique_pants_set_11_x1_demonhunter_male",
"displayColor": "green",
"tooltipParams": "item/sunwukos-leggings"
}, {
"id": "Unique_Gloves_Set_11_x1",
"name": "Sunwuko's Paws",
"icon": "unique_gloves_set_11_x1_demonhunter_male",
"displayColor": "green",
"tooltipParams": "item/sunwukos-paws"
}, {
"id": "Unique_Amulet_Set_11_x1",
"name": "Sunwuko's Shines",
"icon": "unique_amulet_set_11_x1_demonhunter_male",
"displayColor": "green",
"tooltipParams": "item/sunwukos-shines"
}, {
"id": "Unique_Chest_Set_11_x1",
"name": "Sunwuko's Soul",
"icon": "unique_chest_set_11_x1_demonhunter_male",
"displayColor": "green",
"tooltipParams": "item/sunwukos-soul"
}],
"slug": "monkey-kings-garb",
"ranks": [{
"required": 2,
"attributes": {
"primary": [],
"secondary": [],
"passive": [{
"text": "Your damage taken is reduced by 50% while Sweeping Wind is active.",
"color": "orange",
"affixType": "default"
}]
},
"attributesRaw": {
"Item_Power_Passive#P4_ItemPassive_Unique_Ring_044": {
"min": 0.5,
"max": 0.5
}
}
}, {
"required": 4,
"attributes": {
"primary": [],
"secondary": [],
"passive": [{
"text": "Every second Sweeping Wind spawns a decoy next to the last enemy you hit that taunts nearby enemies and then explodes for 1000% weapon damage for each stack of Sweeping Wind you have.",
"color": "orange",
"affixType": "default"
}]
},
"attributesRaw": {
"Item_Power_Passive#P4_ItemPassive_Unique_Ring_043": {
"min": 10.0,
"max": 10.0
}
}
}, {
"required": 6,
"attributes": {
"primary": [],
"secondary": [],
"passive": [{
"text": "Lashing Tail Kick, Tempest Rush, and Wave of Light consume a stack of Sweeping Wind to deal 3000% increased damage.",
"color": "orange",
"affixType": "default"
}]
},
"attributesRaw": {
"Item_Power_Passive#P4_ItemPassive_Unique_Ring_033": {
"min": 30.0,
"max": 30.0
}
}
}]
},
"setItemsEquipped": ["Unique_Shoulder_Set_11_x1", "Unique_Pants_Set_11_x1", "Unique_Gloves_Set_11_x1", "Unique_Amulet_Set_11_x1", "Unique_Chest_Set_11_x1"],
"craftedBy": [],
"seasonRequiredToDrop": -1,
"isSeasonRequiredToDrop": false,
"description": null,
"blockChance": "+0.0% Chance to Block"
}

View File

@ -0,0 +1,262 @@
{
"id": "Unique_Amulet_Set_11_x1",
"name": "Sunwuko's Shines",
"icon": "unique_amulet_set_11_x1_demonhunter_male",
"displayColor": "green",
"tooltipParams": "item/Co0BCKu8jtcGEgcIBBUSufCjHX-Oh8wdZTrU4B2bBgDLHUANVQsdZiMGUB3J-rygMItSONsCQABQElgEYNsCajAKDAgAELiw_4iDgIDgNxIgCLj-iegCEgcIBBXo5aDBMItSOABAAFASWASQAQbYATKAAUalAZsGAMutAbDBCXK1AbDFRGS4AZP1tM4IwAF6GNub-sALUAhYAqABn-T74A6gAdub-sALoAHCyPb3AaAB4LzelAagAbT6g6wP",
"requiredLevel": 70,
"itemLevel": 70,
"stackSizeMax": 0,
"bonusAffixes": 0,
"bonusAffixesMax": 0,
"accountBound": true,
"flavorText": "Sunwuko possessed such control over his physical form, it's said he could make a copy of himself from a single hair. But no matter how many copies he made, this talisman would always be worn by the true Monkey King.",
"typeName": "Set Amulet",
"type": {
"twoHanded": false,
"id": "Amulet"
},
"damageRange": "00 Damage",
"slots": ["neck", "follower-neck"],
"attributes": {
"primary": [{
"text": "Fire skills deal 18% more damage.",
"color": "blue",
"affixType": "utility"
}, {
"text": "+748 Dexterity",
"color": "blue",
"affixType": "default"
}, {
"text": "Critical Hit Damage Increased by 96.0% ",
"color": "blue",
"affixType": "enchant"
}],
"secondary": [{
"text": "+152 Lightning Resistance",
"color": "blue",
"affixType": "default"
}, {
"text": "Reduces damage from ranged attacks by 6.0%.",
"color": "blue",
"affixType": "default"
}],
"passive": []
},
"attributesRaw": {
"Resistance#Lightning": {
"min": 152.0,
"max": 152.0
},
"Sockets": {
"min": 1.0,
"max": 1.0
},
"Item_Legendary_Item_Base_Item": {
"min": 1.682228656E9,
"max": 1.682228656E9
},
"Post_2_1_2_Drop": {
"min": 1.0,
"max": 1.0
},
"Damage_Dealt_Percent_Bonus#Fire": {
"min": 0.18,
"max": 0.18
},
"Season": {
"min": 0.0,
"max": 0.0
},
"Crit_Damage_Percent": {
"min": 0.96,
"max": 0.96
},
"Post_2_1_2_Drop": {
"min": 1.0,
"max": 1.0
},
"Loot_2_0_Drop": {
"min": 1.0,
"max": 1.0
},
"Item_Binding_Level_Override": {
"min": 2.0,
"max": 2.0
},
"Item_LegendaryItem_Level_Override": {
"min": 70.0,
"max": 70.0
},
"Damage_Percent_Reduction_From_Ranged": {
"min": 0.06000000000000005,
"max": 0.06000000000000005
},
"Dexterity_Item": {
"min": 748.0,
"max": 748.0
}
},
"randomAffixes": [],
"gems": [{
"item": {
"id": "Unique_Gem_002_x1",
"name": "Bane of the Trapped",
"icon": "unique_gem_002_x1_demonhunter_male",
"displayColor": "orange",
"tooltipParams": "item/CiAIuP6J6AISBwgEFejloMEwi1I4AEAAUBJYBJABBtgBMhiv6PjlBw"
},
"isGem": false,
"isJewel": true,
"jewelRank": 25,
"jewelSecondaryEffectUnlockRank": 25,
"jewelSecondaryEffect": "Item_Power_Passive#ItemPassive_Unique_Gem_002U_x1",
"attributes": {
"primary": [],
"secondary": [],
"passive": [{
"text": "Increase damage against enemies under the effects of control-impairing effects by 22.50%.",
"color": "orange",
"affixType": "default"
}, {
"text": "Gain an aura that reduces the movement speed of enemies within 15 yards by 30%.",
"color": "orange",
"affixType": "default"
}]
},
"attributesRaw": {
"Loot_2_0_Drop": {
"min": 1.0,
"max": 1.0
},
"Item_Binding_Level_Override": {
"min": 2.0,
"max": 2.0
},
"Post_2_1_2_Drop": {
"min": 1.0,
"max": 1.0
},
"Item_Power_Passive#ItemPassive_Unique_Gem_002_x1": {
"min": 2.25,
"max": 2.25
},
"Jewel_Rank": {
"min": 25.0,
"max": 25.0
},
"Season": {
"min": 6.0,
"max": 6.0
},
"Post_2_1_2_Drop": {
"min": 1.0,
"max": 1.0
},
"Item_Power_Passive#ItemPassive_Unique_Gem_002U_x1": {
"min": 0.3,
"max": 0.3
}
}
}],
"socketEffects": [],
"set": {
"name": "Monkey King's Garb",
"items": [{
"id": "Unique_Shoulder_Set_11_x1",
"name": "Sunwuko's Balance",
"icon": "unique_shoulder_set_11_x1_demonhunter_male",
"displayColor": "green",
"tooltipParams": "item/sunwukos-balance"
}, {
"id": "Unique_Helm_Set_11_x1",
"name": "Sunwuko's Crown",
"icon": "unique_helm_set_11_x1_demonhunter_male",
"displayColor": "green",
"tooltipParams": "item/sunwukos-crown"
}, {
"id": "Unique_Pants_Set_11_x1",
"name": "Sunwuko's Leggings",
"icon": "unique_pants_set_11_x1_demonhunter_male",
"displayColor": "green",
"tooltipParams": "item/sunwukos-leggings"
}, {
"id": "Unique_Gloves_Set_11_x1",
"name": "Sunwuko's Paws",
"icon": "unique_gloves_set_11_x1_demonhunter_male",
"displayColor": "green",
"tooltipParams": "item/sunwukos-paws"
}, {
"id": "Unique_Amulet_Set_11_x1",
"name": "Sunwuko's Shines",
"icon": "unique_amulet_set_11_x1_demonhunter_male",
"displayColor": "green",
"tooltipParams": "item/sunwukos-shines"
}, {
"id": "Unique_Chest_Set_11_x1",
"name": "Sunwuko's Soul",
"icon": "unique_chest_set_11_x1_demonhunter_male",
"displayColor": "green",
"tooltipParams": "item/sunwukos-soul"
}],
"slug": "monkey-kings-garb",
"ranks": [{
"required": 2,
"attributes": {
"primary": [],
"secondary": [],
"passive": [{
"text": "Your damage taken is reduced by 50% while Sweeping Wind is active.",
"color": "orange",
"affixType": "default"
}]
},
"attributesRaw": {
"Item_Power_Passive#P4_ItemPassive_Unique_Ring_044": {
"min": 0.5,
"max": 0.5
}
}
}, {
"required": 4,
"attributes": {
"primary": [],
"secondary": [],
"passive": [{
"text": "Every second Sweeping Wind spawns a decoy next to the last enemy you hit that taunts nearby enemies and then explodes for 1000% weapon damage for each stack of Sweeping Wind you have.",
"color": "orange",
"affixType": "default"
}]
},
"attributesRaw": {
"Item_Power_Passive#P4_ItemPassive_Unique_Ring_043": {
"min": 10.0,
"max": 10.0
}
}
}, {
"required": 6,
"attributes": {
"primary": [],
"secondary": [],
"passive": [{
"text": "Lashing Tail Kick, Tempest Rush, and Wave of Light consume a stack of Sweeping Wind to deal 3000% increased damage.",
"color": "orange",
"affixType": "default"
}]
},
"attributesRaw": {
"Item_Power_Passive#P4_ItemPassive_Unique_Ring_033": {
"min": 30.0,
"max": 30.0
}
}
}]
},
"setItemsEquipped": ["Unique_Shoulder_Set_11_x1", "Unique_Pants_Set_11_x1", "Unique_Gloves_Set_11_x1", "Unique_Amulet_Set_11_x1", "Unique_Chest_Set_11_x1"],
"craftedBy": [],
"seasonRequiredToDrop": -1,
"isSeasonRequiredToDrop": false,
"description": null,
"blockChance": "+0.0% Chance to Block"
}

View File

@ -0,0 +1,248 @@
{
"id": "Unique_Fist_003_x1",
"name": "Rabid Strike",
"icon": "unique_fist_003_x1_demonhunter_male",
"displayColor": "orange",
"tooltipParams": "item/CnMI693I8ggSBwgEFWbDkL4dyfq8oB2DJzvIHXujJiIdZiMGUB0XkrccMItSOIsCQABQElgEYIsCaisKDAgAELzsgeeEgICgBxIbCIbq9JIFEgcIBBVCLTepMI9SOABAAVgEkAEGgAFGjQGH0skztQHsJLVJGLPy-ZYIUAhYAg",
"requiredLevel": 70,
"itemLevel": 70,
"stackSizeMax": 0,
"bonusAffixes": 0,
"bonusAffixesMax": 0,
"accountBound": true,
"flavorText": "Those who survive the winter fever retain the strength of the madness it brings.",
"transmogItem": {
"id": "TransmogFist_241_001",
"name": "Hand of Despair",
"icon": "transmogfist_241_001_demonhunter_male",
"displayColor": "white",
"tooltipParams": "item/hand-of-despair",
"requiredLevel": 1,
"itemLevel": 1,
"stackSizeMax": 0,
"bonusAffixes": 0,
"bonusAffixesMax": 0,
"accountBound": false,
"flavorText": "Fills its victims with an overwhelming despair that makes them pray for the sweet release of death.",
"typeName": "Fist Weapon",
"type": {
"twoHanded": false,
"id": "FistWeapon"
},
"damageRange": "920 Damage",
"dps": {
"min": 20.29999965429306,
"max": 20.29999965429306
},
"attacksPerSecond": {
"min": 1.399999976158142,
"max": 1.399999976158142
},
"attacksPerSecondText": "1.40 Attacks per Second",
"minDamage": {
"min": 9.0,
"max": 9.0
},
"maxDamage": {
"min": 20.0,
"max": 20.0
},
"slots": ["left-hand", "right-hand"],
"attributes": {
"primary": [],
"secondary": [],
"passive": []
},
"attributesRaw": {
"Durability_Cur": {
"min": 350.0,
"max": 700.0
},
"Attacks_Per_Second_Item": {
"min": 1.399999976158142,
"max": 1.399999976158142
},
"Damage_Weapon_Delta#Physical": {
"min": 11.0,
"max": 11.0
},
"Damage_Weapon_Min#Physical": {
"min": 9.0,
"max": 9.0
},
"Durability_Max": {
"min": 350.0,
"max": 700.0
}
},
"randomAffixes": [],
"gems": [],
"socketEffects": [],
"craftedBy": [],
"seasonRequiredToDrop": -1,
"isSeasonRequiredToDrop": false,
"description": null,
"blockChance": "+0.0% Chance to Block"
},
"typeName": "Legendary Fist Weapon",
"type": {
"twoHanded": false,
"id": "FistWeapon"
},
"damageRange": "11511631 Damage",
"dps": {
"min": 1947.3999668359756,
"max": 1947.3999668359756
},
"attacksPerSecond": {
"min": 1.399999976158142,
"max": 1.399999976158142
},
"attacksPerSecondText": "1.40 Attacks per Second",
"minDamage": {
"min": 168.0,
"max": 168.0
},
"maxDamage": {
"min": 392.0,
"max": 392.0
},
"elementalType": "poison",
"slots": ["left-hand", "right-hand"],
"attributes": {
"primary": [{
"text": "+9831239 Poison Damage",
"color": "blue",
"affixType": "default"
}, {
"text": "+643 Dexterity",
"color": "blue",
"affixType": "default"
}, {
"text": "Critical Hit Damage Increased by 34.0% ",
"color": "blue",
"affixType": "default"
}],
"secondary": [{
"text": "+15 Maximum Spirit (Monk Only)",
"color": "blue",
"affixType": "utility"
}, {
"text": "22.5% Chance to Slow on Hit",
"color": "blue",
"affixType": "utility"
}],
"passive": []
},
"attributesRaw": {
"Durability_Cur": {
"min": 267.0,
"max": 267.0
},
"Damage_Weapon_Delta#Physical": {
"min": 224.0,
"max": 224.0
},
"Dexterity_Item": {
"min": 643.0,
"max": 643.0
},
"Damage_Weapon_Delta#Poison": {