-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsoaring_shield.py
42 lines (38 loc) · 3.36 KB
/
soaring_shield.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
import numpy as np
import matplotlib.pyplot as plt
# multiplier array
m=[0.811318584,0.808817976,0.806293968,0.803747209,0.801178339,0.798587986,0.79597677,0.793345301,0.790694179,0.788023995,0.785335331,0.782628758,0.779904841,0.777164134,0.774407182,0.771634523,0.768846685,0.766044188,0.763227544,0.760397257,0.757553821,0.754697723,0.751829445,0.748949456,0.74605822,0.743156195,0.740243829,0.737321564,0.734389832,0.731449063,0.728499674,0.725542079,0.722576685,0.719603889,0.716624085,0.713637657,0.710644986,0.707646443,0.704642396,0.701633203,0.69861922,0.695600793,0.692578265,0.68955197,0.68652224,0.683489397,0.68045376,0.677415642,0.67437535,0.671333185,0.668289445,0.665244419,0.662198393,0.659151648,0.656104459,0.653057097,0.650009826,0.646962908,0.643916597,0.640871144,0.637826796,0.634783795,0.631742376,0.628702772,0.625665211,0.622629917,0.61959711,0.616567003,0.613539807,0.61051573,0.607494974,0.604477737,0.601464214,0.598454595,0.595449068,0.592447815,0.589451015,0.586458845,0.583471475,0.580489074,0.577511808,0.574539836,0.571573318,0.568612407,0.565657255,0.56270801,0.559764816,0.556827814,0.553897144,0.550972939,0.548055333,0.545144454,0.542240429,0.53934338,0.536453429,0.533570692,0.530695284,0.527827318,0.524966903,0.522114145,0.519269148,0.516432015,0.513602842,0.510781728,0.507968765,0.505164046,0.502367659,0.499579691,0.496800226,0.494029347,0.491267133,0.488513662,0.485769009,0.483033248,0.480306449,0.477588682,0.474880013,0.472180509,0.469490231,0.466809241,0.464137598,0.461475359,0.458822579,0.456179312,0.45354561,0.450921523,0.448307099,0.445702384,0.443107422,0.440522259,0.437946933,0.435381487,0.432825957,0.430280381,0.427744793,0.425219228,0.422703717,0.420198292,0.417702981,0.415217812,0.412742813,0.410278008,0.40782342,0.405379073,0.402944988,0.400521184,0.39810768,0.395704493,0.39331164,0.390929136,0.388556995,0.386195229,0.38384385,0.381502868,0.379172293,0.376852134,0.374542396,0.372243087,0.369954212,0.367675775,0.36540778,0.363150228,0.360903121,0.358666459,0.356440243,0.35422447,0.352019138,0.349824245,0.347639786,0.345465756,0.343302151,0.341148963,0.339006186,0.336873811,0.33475183,0.332640234,0.330539013,0.328448155,0.326367649,0.324297483,0.322237645,0.32018812,0.318148894,0.316119953,0.314101282,0.312092864,0.310094683,0.308106722,0.306128963,0.304161387,0.302203977,0.300256712,0.298319573,0.296392539,0.294475591,0.292568705,0.290671862,0.288785037,0.28690821,0.285041356,0.283184451]
x=np.arange(300,501)
# floor(17.3*1.15^(ilvl/15) * multiplier * 0.250713
m=np.floor(17.3*1.15**(x/15.)*m*0.250713)
fig=plt.figure()
ax=fig.add_subplot(111)
ax.plot(x,m)
plt.show()
m_rating=np.arange(300,3001,1)
mast=m_rating/72.
block=25+mast/(0.00667*mast+1./0.94)
fig=plt.figure()
ax=fig.add_subplot(111)
plot=ax.plot(m_rating,block)
plt.xlabel('mastery rating')
plt.ylabel('block chance')
plt.grid()
plt.show()
mm,xx=np.meshgrid(m_rating,x)
_,m2=np.meshgrid(m_rating,8*m)
mast_SS=m2+np.floor(17.3*1.15**(xx/15.)*m2*0.250713)/72.
mast_SS=(m2+mm)/72.
mast_base=mm/72.
block_base=25.+mast_base/(0.00667*mast_base+1/0.94)
block_SS=25.+mast_SS/(0.00667*mast_SS+1/0.94)
block_diff=block_SS-block_base
fig=plt.figure()
ax=fig.add_subplot(111)
plt.contourf(mm,xx,block_diff)
plt.title('block chance increase from 4 Stacks \n of Soaring Shield wearing 2 pieces')
plt.xlabel('base mastery rating')
plt.ylabel('ilvl of Piece with Soaring Shield')
plt.grid()
plt.colorbar()
plt.show()