From 61ba45b32948e395e57d7f7449f1673c9e60ae05 Mon Sep 17 00:00:00 2001 From: Kayla Glick <12898988+kayla-glick@users.noreply.github.com> Date: Wed, 23 Nov 2022 22:37:17 +0000 Subject: [PATCH 01/10] rework homepage, add node modules for Popper/Bootstrap for homepage --- assets/img/druid_icon.png | Bin 0 -> 30944 bytes assets/img/paladin_icon.png | Bin 0 -> 31900 bytes assets/img/priest_icon.png | Bin 0 -> 29612 bytes assets/img/shaman_icon.png | Bin 0 -> 30418 bytes package-lock.json | 21 +- package.json | 5 + ui/core/_shared.scss | 1 - ui/index.html | 514 +++++++++++++------------ ui/index.scss | 2 + ui/index.ts | 4 + ui/scss/bootstrap_style_overrides.scss | 24 ++ ui/scss/bootstrap_theme_overrides.scss | 30 ++ ui/scss/global.scss | 37 ++ ui/scss/homepage.scss | 108 ++++++ ui/scss/index.scss | 30 ++ ui/shared/bootstrap_overrides.ts | 34 ++ 16 files changed, 553 insertions(+), 257 deletions(-) create mode 100644 assets/img/druid_icon.png create mode 100644 assets/img/paladin_icon.png create mode 100644 assets/img/priest_icon.png create mode 100644 assets/img/shaman_icon.png create mode 100644 ui/index.scss create mode 100644 ui/scss/bootstrap_style_overrides.scss create mode 100644 ui/scss/bootstrap_theme_overrides.scss create mode 100644 ui/scss/global.scss create mode 100644 ui/scss/homepage.scss create mode 100644 ui/scss/index.scss create mode 100644 ui/shared/bootstrap_overrides.ts diff --git a/assets/img/druid_icon.png b/assets/img/druid_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f356622d6069cf7a3cce02afcdce21070c60d7e3 GIT binary patch literal 30944 zcmeFYWl&_zvNnplyAL$(G*090PUC~SyABNQE`z%}gS*=RgUjFyFu405!{vSVKIiNm z_lvl3BJTHZcSo;YD=YJ<%qO!ddiAP`R8f*fMIu6ifPg@im61?;|5o|yg8=t_jKjRH zfq>w7@zKzBQ#1A?cXDyGu(mTNck^~KCpY)9wt#@}S}n=8P9ouR34PneafLaZaIVih zf&=yR9HbJ+LAxhz^Uou~iNE1=9qrN9o6_gKKL=}n z%0BZ*UEm1O4tuG~&fGFyBL7@38P^;gJi} zsW%=|4kl4LyIXo5U>-j~JS)16O!_ZJdX4I6v$34n{M_x~W+jv?}^4T|IQe zJpcIF+NgZ;=^C+%6OIKB2mkHd@!_K9r(lT~LeCo+<2j=gDtBu^#(Z8^3?br$rAjpF zW!={2*Aj2VNuyahMoBp6&K~({tUttvNs4Yep`mq#Xki}yEPWVPv!PiO94V%FsAMxYpXypSH!rPOHJ0W29yPaaJ|DUcB|>~> zKej502k!52&}!v&`CbR{Y3W=40t0|?K7+~=4Fl~cJE>9MJj>?SZ z&)>6be=FbMz149XaJs+kPrlxCy>3*K&d#(DJ~yZYA7igP45WX(`JjI{ZMb3B1JtGC zm~@er@gy^e&0h0nKR)>)*v9h4ns+`f6a&3Gt)jVxa$oT^>`Jp|HyiKX;A=N+Ii2g` z)hBZz6PxE^(0wkSexC9t^AoVG`9KrRC>@(4m%CN%6|mq2xICR^kl{Gexs0kH*`CP9 z`^+xQx-=n=mWSwa?9$xXqLh2^`_-eZv&2(sCSD3F!rDxir4u;&yvcFG=ZcN@&2XTu zc#&{JoSc^?i1?8I^6Dk4&9^%UwORamx0%bW{o0?bbzR-Z>cn|Eqn(DP(6Aj|%kAuJQt2lotPmn2aaYe$!iZ?ujM7T3BR!K0tL zffu3qFucU{QVr+gr@$agHb#DYG7PzOg-yS>L_Y7ch1}jrXik#UkLwfGJ3HUA?juDx zq-5fq41Xeu{n9O_xg~<9ThfP81bnFV(jCN>OU!rV$Fx-$Ao2zVy)>t*{L?HqS9>cEVd;YmRr5#1PB#`UaS6AXiL z?_VHn@Fa%_vCu}mK)Y~4x!j%!VSF?r1+6^y6g zjsAYeB&$8)c@a{3#m{f&GLbNYM0?U@gWxtXwn|xd7GMVr0{5%PTeYe7_pYlNtmTnYe z<_$xeU_nPxds|BTg;;_|xz|=qIpkJhbZbrDI-C%CcdFf*WF#l+8vP@&7bMg0f+p1c zZ`a5J1OQ|T6`0t&2t+6nA(+tQ$>Q+1fNQ8-PZ#)AY~AUYJZo)p06r;0nj9OFR?33o zBUj(FwU!rEjhLCZE7uo=auW1_TqrLN3(q|R!UJq6^D#e22stHyVtG*fzCEE`=w&2H z{7mIe)FS{Gq)A8bL_LQ+j&b^^dQWZAr!&{)tuADZA4}foJ>$0rYkZXMt3j?D^30Gm z1FMj46_#Pg8d4|(NV2p_h(j=pAk=uqI}U=Q!2d%TyPT?c;~lZt(WTq69*t7#yW+YDiQnyq7EQu*8&wJZ$UDGQ9sW}AQ#Df)ecP?ka&-)LP*HtzOzQ(u2g@Su6?kDp}2Um(kva~v*YDzLdVb8;Rn zVt`k8+c_r#OPmLhZcmfnZ}z!=pk7-M5U6eF^>PNn3qtDAUagTwa+@@r492nLV+n^O zZg$cb!`WRT!Yhfd;Yy-6AaX;^w~<~0isI7y&n#UqFmJLLb@CI$|3K0t4MN)bF^px8 z-F2fkp_j(Zn0-5k?UO7;v@#G$(qMK|h(VP-8xvWkx~poF=HVQ9OGxv^q9&s@U}arw zYjIA7879Mc6sr%G*w&Kx?o0oJ&9f%hj3Go#T)HZNN_AmuH!4B$&0D0rXz*YuUFq5f z@G5hhkxFPPNM#Q}#RQzqkNjEp)$zB}dDv{!K0J-4u_aU`xt*vm+;6a!%1GaHzo^kA z&o=jO+K#~WUJ2C32$Z97@pIS=iAN{%Y$-MXv`Vq!n7`fm^~}mQ87*q9U4ulLvEB$l zUUI*m_ZZg*$Q43k7uyj*I}ilJXabSkk*#CZZDGucI~~90ij6&t}_8KAEOo> zGKqjG9|eEGh2__Q+wF0D#Ze$Q94WQ;Hxa*mWt`t1rU=+cJVJylL1?_fDkti2#l&Z) zuzb|jue7Xvy~||>UIuMJFFG6UkP24{Ph;mpT@m+pEK;SRNfJf3p-D$AV@Cz$q)$d7jUG62HrrY2(YK(h{Ql(DyUYd#dLywgob+Knn*ZdCvsQ~ z_b3lTp1`!VTNmXFGSG_G_kF(w2?bWW8stTR=6&eu39_f-N?96k7 zp5`Y{aUdTQ3L89PV73QxB%AZn9uWf5?yv;PQE*NoepU)J8zHOR&{=feuo**3h!_A-gQTj`hxd)Q#(z{*eJGTQ2fGYRuU-tm{< zHpb$#T^yw0?pWdPVhr%$DkW@7g*PmTUB31JASOVNf4*P^-0&`M<)B>d5T(bW$YTf$(A{k ziq|QE^eM3X0+JEgPi(upbv?{*Ha1~3k~06fSbn&2jA=3NN*duI9Dbj#kp;fbzE5p0 zXroU6az){@4TSW8a3O~GEm@_ARC;2<&7KFxyZ~DR04z&I@bORdC+ZBs=Uas3Gc$LH zn_)UY0L-s36a_v?JQXvwFkbV$m2F5wZ7-!ThUf6_8sEfM29i6ysw?p@{OWPo2`9wJ zDV)e;P@tC9XOK|yv(k>t@GyKM7R&mFR{HzdXBX?nu6*p*4Y*%JHp`zEL4hR`E9rFk{srhS1vUC2aq^>D|?_M zu5~>lTIv-3Ap_!ITkn&GE8N8_F>gThzD&OB5T~VZ7-ffn(mj|*89_z$LsxMN> zp)26KKGZmJp+DSsDfKu9_NF?~OvlObN2n(6_tER1m?y&_`kS(Ox4}pTPf|fpglxxc zB;TG#AVG-r5%kAL+Nf2pYg01-H3XO}0#)||4HGL3lVFN-m!qKR3ZJ{Cfs^RwRT|xi zdSVC|(;bwD`=oFfcV19JxQ|13Y@RvM@bwVlSr`bLc5ToMpv^%2O0l7!alcTiPzG=L z#9}x~N?`R}4X&d9KG$Xb_9kFI1AqaW)!b->?TkhIn_3W&c-%DKK(#>~w+BLo6^6xI zrncZW>*}CNnw0})>Um2w*0$^qEK=XCfh?_1#<_CVNN;&in_?9^P=VoP5?Cx%WC`-U z)D=q>SVBfq7>r>K;j3?H#4ov42~*a`a{iIX*JTceD6Ha4T8^bGab5C*1YJ@_5%;l4 zYHdcvce8|Dn%OAsSQ-YE5Xpk3YC=>WIY2-k#!bA>X?mmkK9C2|B`|(!!3PHc%XK0s zVH`gM_Jb%E6Z$wkMnS}&8n_0fQm0>VIx&c?OylrVs|`K$)lXVoHUY51Rja^eg2clO zBfd@T&YJG9sI-?~ojL8=()O0N%JcQ0U^SUjkP`tQ(vy}sO=5_|p$TfJ%u4`&a(MK^ z8<;Ngl#~`Buso_2(r{6z(C<%B3IR%H2y~kiQ?)~Tuu=k*UBst>zVM2z8KoK^a{RRMglG~tE9V5)q7q)e!Dc9UsG4)^P@mBt9H1P|8g2Yw%xwU$v!;sCpwTb>xnAj$ zETfRyDjhDkn50A~OEp6tAzu?|rI>|kWUrk?04c3)H=>)m86{PfD0GgVwqm3^j9ux+ z`(cNmy&E4BJ`(vZx?e&v%5G_26f%A}HE~BEki}3&z<%L}p$`gi+GtqmrYzPP)6_cC z{n!St)0e}p7p+~LRc_mS#Vk=h?k}FV9^{)I)`PZp(j0;)cHdhjNmN4i6fXi zy@6*`+sf?pNmp&oE!j3k1K!IyF%eR2IJe!H^Gjt_rPiW$8y1fEfS5&u?-24*IApkk zNHx0;3TgTG7Q7lL!s$BxOjQOPrqHqb0U*GFkio=9<_ZEDwGrZ{{$d8U_1dU&2w7Bt zt@Vf7-$uvW8}%bihTepCZAOl4WFmh=0<#O)rP1(Z^SSiNHk_YDS&9v1e=R_Yc?q_oewR_TZzuj|osw{2#y3ud{(*L5k=Bd|qS-KIt4MSCOpxC2om z^Aj31MW;^tzSGbwt_3A~#nTP`PLd#g{$O&P$A3@$EeKMh+tXCaj4Zj!?dq!Ww$^eG zWCW$b(N{ILn7oLw+D~ean*fPt^a^+>YRG#YN-H$b5E$X~yMd^-9IzxuNd3YvUBFpq z(@#Z(1GBBA0IeY~hVPa*=qM@FX_Hg1DiLQb9D5l2Ui*8&3(5z!8 zR8@n~*`C22`(Ob<2~kh|y(U#L-#g@i&Bd>+usA&&GKf;@XOHHt; zH3sr{a6KyjHcQtGejs#6jO!|KtdeFlp@2h(L=_gJIz4&NwhCm3fChsTMRfLvRS!u+ zMTVd;#8U(Wud)6RckoPlN#7bqRa{{Z66~z_bsT$SQwandk@LG9aQ^{zzBt?nU zu2ii@RZ0}vrb1=pL=r2=GeZz>qM$P)$5c~qu)ztuh!88FIPJMYc?Fkhi%~;lTy;3T z{ghOQrY(`~RhB~mh#ABsb_0FiPK!KD?x*@ZYr zYBRk6tQ|6~wH3S6ouQsO6CPEP{t+f@>6Jmi&ye+jS3z@b2Sei{hRIunVQsECxCBKhFcfY74YJ`}n~V#@rc>!}qEY>+)w{Hai+a+}3u8|-yy^r& z8CfSkQ-q6g5G+V{7^XDhnw<~;l~0+V(9mK4j4Z=p4X9-Kbn?7|1VK$v`}Z-w$8-=1%^njj%nN=fb@#dbYOr9eqQc}OaE&Mq+8U2VbORn&&x;dpw88^+vCzVIS zkf}F^`7Lq8^ZCPx~~GQSm;_Ow)jK>mgB5I zi-~MVBny@;XC!pX5j(`ZO9C&`bkH?@&ERADi)^`x*TM*b1X8t)QXjWc;E^j5Wj_S-63|ovfU`0%Q zFMbZX5O2610$VDIIOo%X{aIwR^yk|5Az9kK&uA#ap!TUZ7kN@26-L+yxHlkl-xMu&XiGVf0vPQ+930!0`$`=FI0UX?9sg`5nh zBA=HC^lhVnp$VZZ3%RC?Lg~D|I77aqCH2DGqV36=Kw;psbT*b(NAk|Q5I8`Oo30DG z5QVGsFZu`2vY`JO-N?aco8UkFbIToc zDKwAY?8>HIFHVtbBsU2PTE$Y`^43#v(KA5lCp)dIF}M*ip{G(;T|+9|>tA z{9^3}sl_u3hj2|PMTO>SC*%pyy)Ylsy8&0!QV?@vQ*M!VHC?W%ds{83yL^+Zn%4)6 z8CrT4npMy}!b(RvTwV+t3%NQP&;wDG%c^P-L$``|)8a(6DT24QieZzIqMxe_Br$dr z(m7seMN~v(-LC`S>^o}U23(!sG2oD@F9T;%$O{o01UzF@_Dkw_HNW?s6~*B)%UE|b z)!qcGenYV6wV=>L@4{*37iG|nj=#Z5BmU}~p_EQ42jf1W(O8Y7$$n7ag$OYF-ejS~ zOlRWaRWLfVv^JYdj6W7VgTg>TZ`iC)WNMIK_k@B`WcdketRKm2TSHN(DlwOB7D~Vh zE-BX0g`;(CNliRFo8=;UFA44HU55>{5vDse} z(QI;IPE-U+w9aOm~0?h489fOG0&8 zhG<=!QHTFFrZ183JIdAqfnAU^m|G(1|+YXZ)%|L&@KtjFH2QF3Af%hSbJGs{;EMp=VE)G@9`eA^ql zkIY&YvsQOx5!(ytlc5Io!Nly$x6lqix(Ts;|di_mH`vyicN!xdXKG2{DJH*DM^IwN**7=yCL*t!kar_Ey7WU34=QuQT+q1x-; zq>k7z$#&)QM20G4H#KtdIBpj{WaWm*Nf0h9e0z|6dpWK_B~n*_EI_YoKIrl@ssx5>ZEQCv znwESE+)9;9s^SwP*Br-E^YCD?VaqiN7eMb$a5dmWkeP0Nj8d-2H!r%BQ2FDM$x*+# zFdvO1{>xC|sxGu~_5BLdOJBqEdI2Vk_@oV{fg!OI9}7p)bqF6Dlx~z*H8a<3VO54K zm>7R$Sh?SUYen8-68?9Q82Z~|ZSgSl4pv|&{hHp1MZLV%GuO~`kquXvLI=YYCk@7K z%Gb&0reCDG^!7^*(V-&UMobGjs?BC4xy)UaPYdh?#dvsh#GeM{KAiEZ4O&7tuur#T zrg*5KE>?tF4aDrZ0ZN;A75gema58_8&V@|iP7^Nl>U&i-ntkhoV(ME~Ud!iSx{+Wn zS01K`{sgXN0^1bcL%G{iBpaA?d{*$80X21y5VfHs_{MzrAg>vOhA#mh=>w10B&1LY z4MVjv6SY9p7jVq~C;^vI45Kk7aaYg&aYYc7b``flYm`YKrDuwhntTSL6+qkp_EM#c z(1iK6Xg~*5VNIzLj%B;_g~83EAy(*9g0Mn0p{)t?XT~IR?G-*7M(CLI$QQ!eCUf-( z^sx~^J_p@<2-X-n%{`=#n+pyDl&wFM)nc0q=N3-JCIt!*-KH_{_g|gMT7o4hzVCSy zhA{nt{qT8Zd|y57WyuHlz)BpB5&%kzDb%eGaMLhXH^N%cDxj47GgeNp=ttLG2(XuY zDsTK_J@2f3l=h**u;2#Y9-4&+Dn9rgEhw2w0tY?>5j!xs#leX8)oM_zuiLf>UbhF$ zx|_Eh`AE^8glwtLGr4hRPV9Ff03n%z@v}-^sBKT=!idtDFO?}ZsN~H!7#2T=QY`le z2{gAry$21>q7l%Qc~>!RuSJVcZKIBRMg4n>y&ctbw2ho7&hO1q@7kAQid{)0ReGCnYUDA4>gY4BmrfQ4zV6+maDoh8;^QQ!j&29^qslJ=bN#$YuBnZIV4TgV7A#) z=Dvn@0<+K(tE%yOBQ;dVWxzOWk{Pbu1LRbMfp=^A?_ zJ{#wD>>2|j#Wr=RnKBr%y3%EsoBlvA-n^Iy3A_6%w5NgPQ8F8h=~0lcskHkS7KkDv{Dd^6($am8?Sk8r<;gxrT@W!q-*~u*cq5Vq^D0AH zM0}m3CN(`!bCRF=IdPm8ZuBZedNnmmvU*a1oEa$V*i!J3Yss-7hvGOWkdUQvejy;7 z5@L?{q=j^G(9;1w&m{~x(^Sn{EUU2QmlG!a#OhlULsbqmmVdau8m3eZjJ{&5dZz|e z>2loN0V#H@g4(D~l>rh&MvBIcO3_oT{TG9~Y9`>cns=7Q$MNoCUnBe~2zyh9E z^VAirvDq`Ho>jo!+;NioGs}nIr@PLYtnM$={P9m6U$}GjbD?B?zl#Qu_LUK#%XXFT zL$Yi7>Zq_`pBimuc(}s|*}tiUYs1ON=6rY6SaIjjf}DfN5lvg)3y!=0QI#10s8~%e zT(oxBZepxK05F|ZFC{XsJ|I6-Z64UmUJ)D!;W}$jLN6G1R@SQ5bo-=!6M+@0p|0@} z{S;hG9*sBWV)6n3LTo8$uFu!hsClXog8jUt-Bbh7dMJxSXyrPP4s_4ntm000!I+vT zIGC*wpL09a9MGCwAY*aCS8ndsCwhwbsTQ-n|5dlsRBc!N8%{1Qpm0Lhrl0Z4(t@C< z7mt0sl>aU6!g{$TH1jz=2Sfcu^LOFYdNTqJ%8Z5Jv!+n0Z&j5FSMIOY2L{Bh+Z15b zXb&yc@NDM*syw{cFHg+Q(m%C%(HOSwEwp60GZP}fy>k%C@mfKy;&6q0yLEvmddW@YXs zKTI$28~lV125P(Z%X8uTRDoIRyb###5EEY&`B#5HB@GO(PC)1;%o4*9oHLO=V23}p z)Y)|q?R=~Vv{x7G06$B*#~=QXIP}4i^D9Lz6hp)4@T{^$!F;xrtg^Pu0{PDexGorV z%3S*AR-%;GJ)Nzb+8|Q_s4*9bYjflm742gysfCPxj&NRnHRRw~@t@GdTjRbS#LY}Q za9GV~F#B${E2_N6p53x-+@3kR77L##tz(c+ti&!GlOo0(T4CsU0&TdNrJf#0F*VBtw>99?nu4+pjLq)@8lr-J*-G zrLF_Kx_yxVn*`^_n#Fx0H-ZGN@wI>RL?B&-LAeS#3=nsqM|R{$lhQIU0Yt}sI^ z>(4xjaMIt*dlse5OJUXfs^L1ARhs?l;z=j&HQ=oiYEHm#cjb% zLu0czg?WVXizF(jEDn6v2KaRSqg`ojXm)l3wy);UBBz*Rp0Xo9VPU$NQXAm|lv+); zd~H6VHrH9|x@u`g^*BoJdL*d_EIGaaK~VWN1y}x&Rjhj6QPY)N>=~hbjK(Z`171(H zJkoOjh2knUbQg)e8^HLf0eXIhO*wo>f=llFs3{F@u(V5G*NGK`yk9OJ=RC)4L#~ol zXl_#c`ktGX_GB1AQLujlb7ia4M&d&yVaCk1ak@6m@OUeMZH@p1dyx7EPZImlH;J=V zW6PyrvhSy0Is{K$|5B&BA>=(oM%O}cx+B=x#sI`0y1yQDUeHd zL^Z?4G2b;@*##{}AitLSPDAOg&o;j09?BMzC^0I4_92~I^BX-x~n;c0B2-s>Qy~S2` zypX-RagOMV3(fAVim{z8*{3kv!B*(;SmY)HCm^mBO7NO8r@Lyc$E(mQjSJx8XeNut2czk(3$@LqY*D^FrXxNmC~)=%%iP z-xDjrz(3}|T;gfzkBmgq6Hz)MhU^bp>8k|UIp7!rOysfNs*6A(K#e>mD{BmN!pX4u ztG_OIwnGOuc6X6CM^bzq4K5h?OCopm1Uh&7yfBAL!RY9bi*M}GU4fSG7kaeckKPVMQr2gW~# zs?1z@BoQ0R#aj`|nk=xu33qaOxrmu)^546bm4dwd%i~?S)_Oj{bX|>;8n>2MloZx% zLFMb~Acx7rL*dwO2Np)0(B1L_tbfSB!V7gu>diKc(-rYF(}5QgBZ`SYAIi%=YDf-< z|A1!F(UI#Jg`eIQ5m8~zAiHFcr;?W+0VF-eT4G{*JRvo`U<~WFLS4h_# zC7=Pb!SEdu-;g?!TI4@st;S?_YS6V6moQ0Plu!52W0V|?`!ICK%3AW<=O4kad)lZ^ zhs7Z!seK(`Q2=};UL2{l50%Z@0^dk`xSb@SAg@&@%sK?(o2bOrY>+IH5fL^<T6UfibLgDdU($YVI$J^zzl|F8-BKF zM%hnMsREbYlc*mOqC2cCKG+z1bL#a7*?(@z0=x89abVrn7P{HKux_{&FVmorF4Ew~ zvWuA-xa&>;2QupsZm$=g5` z5Q_{nR~mM;7Wel_t|F3G9i_1CWJP?ip&Zc3Zwo9d`liB1cF~5H*wyNb85%~lc9XB{ z*AOg>6r@f&T;8l&_LP6!tRB^rh(0ffn?o5YS=DtgAhLEP(_);av$Nk}WAtp55LtK_ z|22Bb8x){B+<1(Wo#4H!s9R4Bp5Zl%MqbS=6vQ`>HzCL<#Ku)o&{jo|couS>%#9gW zSrbeGU5k(O)Nagx$u&2ERyCUSlx_LCX0Qi@BC)SR#hLTRe^=H*a#`%SE z9Pz4Lkv&-}#5cXmdUuI+aCq!-%IYi%;1o+h4(;oK7jYC?iNaI?ax>vc;bq_&3_tdc z8qFSAf8Nj|<60t}3>j8wRdZkjZM6QZ4xY(q4W(0;Ki)!dX%wlyl@;r-n5`CRdsXVB zN5P8?7c6tDPfjE9DToU$p9BlDN^yVH68YoZBq!Ie{pvA%iw-W#R#2N;$KIeQ21C+? ze3`Zs{b$qABBS$h^??s%BwbPSU&o!m&gn|y%}2TZHjyRAU9Cm)RMSaO$q{|`PV=Z{ zcB}rOoQwU`5UMnz;PFnOKweT?Hd1S?#L&~(u#$vo!9(b%27Bw|0}E%3^&=1=P}dkVgmow zig_t!U}V5*852%PEGJ9Lw+Ga>u+F!*T1rx3cbtyZRtpUONl_%# zLR7H7@%lHJh7t3K+U;cU{5(jXC-@?@A6g=jnL^jiAAtb80H}nfj$AIf^I=kdTFTOI zQ0L2thNlyB&*0EMRJVsl0&VUDf6qTs!zBo6sY%stC_@EwN3D?s+6bU z3)0T!1;Ax>a$hoFvOxM2#|s!|BBZFHx-uLiJ7 zme2;%w1Uc`c{x2#@GN&mE(0yk8ALqu0xezx-K`NQT7D#ewWB?UXMsfA!TqoC3M7ZgSct*~&$nV?aS$eolB zl~}|Nh=g?b9m0$WcMT|ljwD`NTGGS7%0)=bJ&W0(sL}jUbMQ(vw&wyI&SG}Nd?<}2 z;1nON&N|Q<;8OiF^{4hCY#j>{DdlyJoC{_ls6HR&Ao*j zL;JFtc~+?XsLokWKmSJe|f`OAko{Ol^i2Oho0`C z(#o^gXnD=+sEe{=qmJTtu!iYJ}GI)?{W3g`8k^aAP_rg^|pee zN=DMNQ8%gwGi!SK(6%>Q0$fF55PhNx3&|E0vH!NZaz@kgWS%!rLNIE=d`0Hj;3^!-}P5y*X{9a zYHh;=mNr7?MZR`h`Pqf7akOHR%%cFAq?HKzME^AYSX4oovmPSbqT0OpiJKj*id z(<@>B#TBK&S9}YEQ<5>}!Ey))$PjCBaTQr{@&DQf_`dru+b>a2W>AD=*igNs5Eni= zir1`M2~R?jq!~%F9K$A5lT?A_6(f_Aik>Ad$hN;fez-C?y0I3mHi-NYa_4Zb_z*z- zhn2o5;%d9?!^OGa`6i@T%@AjmJ<5#RngaEX2~8&;%wRUu|CS;meUiykGb!nk)bIh} z@{VPs@n!mzuVXQLI3PeqU=U@V#(*|=wF!0Vc?eT81-#?BqngYj^D^c>yvs8Mn+BUp z2%N9r+d=rMZDm{%sx!L~K^s|AS*qTXaHajLYgmU7ti7B268bZ{r)$VPQ(VRfGCF}= zOca)wu3sufGY1Emel`C25&mPZ1WTwsvC&?-G$E1MGWs9*-p=N0>|FyjUbLoO-l$sZ_F=rZ4_4RqU%+cG{A>ndSR#HCF%czeX z1U_&)l`_rvBD>Z4baUN1KS2~%RPCWUIU&U0(D{Bp*dVRxe)TP#-9mTeaw&5h&x3j2 zujym`zAsZ-Q2}J?XwPD7=4fKh;$`pjzHbu(LO|Hd$=KA^+>PAC+|t@X5OC4i3m~^P z69i~+DY7X#iJMzl%lNpMtNSQvnEKe7@|gjIg^&ciK<@zd=5EI1UiNklt{^W#z~8u_ z_w&ERtN`-ARorX^0osZxGl=H#3#oGfh2l3vyx>;NGoasd}J3y_+G)ITBKuLJ>B zZf;H>R#s0>PZm!O7DpFLRv;fAA1fO>D?2;$y9TqXw}YFp7qf#aqL^HFdFe zaG@O%MQhZzumR|LmO<75^LF!S$akyz{~8W$eTXWMN~qw`cuV3s*Nu zk9UxNI`n_EaMgI<-pZF_MMaQ=qpAB}?#W6B0{-eBWaemUZ3g=Ll$)K)0%*c+!OX>F!NttU!^y#H%*SWS z%w@t0G`BD}<1{zp`WGl!2Uj;^2UGLEpx(h*tlx3WEVy{hjk&m(*-UtO-XXZnnN5IZ z+{_l-ra*IZGczE&1@FH=D7#p{SEaGtzk2l-l-WC!IR`hdDJPp5v#~h`Co?A>FE=x< z85ak$DKDofI~x~|F|Ucm-%w_zASp)|d*k1ObZ1rsT@%|I?yjZEvpbX8aeOKyGe6c1|EC8!sO_2M;ID|0rpiySToW z;$NUZHWm){zgzyw3+O$XcV>W?> zk0&!@H)9E7H}iK;HgZtnb#tAAYDS^qtj$jSd66(D2Ne}v#_>|t*9x1aA=|7bF`GIp>u zf1f`7S+D;kxBfrWf(e_ci3yO$nAwcO#EhBK?EPTE!wF>O<74AtH|OT$X5%vccXU@r z3pY<=7jsd|cOKuldauvFxgw|gN2ciiUER~l{I4{;GsX-AGXD=_y#Hj3^`8;5{xxg- zSI7da|1VMm{#N*xY3AMTAF}u9>wPw4{qO1UpQQaY@%&$W{WBT=7khYz{!b_WD}Mh& z*MI2xUor5%QvOeM{fDmq6$Ae(<^NRI|8I05{m%`Rxx@RK5D>`Ne|;b!GP4QZh45~&ijwgA$oP0j2)Z(jE)Wpp5V8`Y z@9R`fyS(eom%;nL*PbUmdoH@4_p?(o#@*18m=IB0?7aK9*}0oyvkLo1RB%3?mFAaQ zbs$F#SX4ShgasW|LS#~~xj~dx#Ud*=Q0skR{+5}VLByV#!MY`|^?Pz~^L13Q#J*38 zTVut|6=2YX|FGeD&bRf^x8}9xt_Jqa>t**Ue$_r`a#qW7iQ zu|)h6hw#hel_~XnlmEK=hT&$bBkP6NsHf}mS!+Qf3fRo528ap`X?O1NxPH(ZfRhwX z<{$F)%6TfAZ*VtWnBvc8`0eRGYk9Lg*`RL=X3-4?Kt7>Bj3j^}&@Na&Nz@jiY02!B z#iAsP6E*55hE7F(VFZk}w%+deI8k2D8^_CVxG><4FyeMB&t|!DHt&@1+r{UQSKk9w z??6rR5D^5rBou3%a;gz0(kM=Na14Y-RP}OyCC`iq@Q{Ke4WOjr9fy%%P9J*av_ByE z=Xz7Qv7zT1CAu)vpMGesr`x0Wt_wfmrxt$4XKtHRtS}q|deu-7In# zHs&2Vns}2Lq!LjJpg|FuSU&UzYl1^gQTkXGq!hKosysqip$?6mX(4Z6mrXUnT zDFh41&Ps|d-q0-z9Gk~mOSAn#u&|*-iaV6(2LMt(+$yq$9B>O8oVr=L$}^~ z|Ad5-J+Yc5ey+n8^u8Wi+x&Ci>bDpE`SRJB8Ja>WO-olD2i70sYg5NJ!_7AY^qfu! zle9}TGD}-y*dne-ejuFOyiE!arQbuiP=>wqfX0b5Z6ZxeW*5hU8%ToO+Boj67|)X< zH2DqMH6>)gowV3G=^6T(jb_?q93JhGvG*bTtUpJ2f9UVOD+OyV zLj}xb{)+whXTBT#`q3n9c!=r@y<+;iQ5s{hx2S1@XoW`M43WB6tDq4^i9!p}X$B$X z1Tssm;ZPNr;1ThzK|JZeiaCLysBxozO?Tf&=Vl}szU}n~WDK3eFgzmyBz!&-R#}^2N!`P`C zMu8wJ@H_|GF`3&lg+C10SZ|Z$3W26pajBJT!nC00$Ef}Qr&cD+HT9B1nxvE~9{oYc zFiOdkMr8$g7(#cOy;jCQy=6ZK%Ql`NA;|zik!E;@ujBo{{X6{S$3G#y=>VQSefp1n z^EdzZ@83T+gKe1zA<#ga=KS%WeuPh4-eJ9)Q$2i?@!2VQ-2qvevv2P-mI0>ga_Qm{ zosQ4gRFmuGCJFtJcrZYxDMQDjQL+hxn2n7Nd-u&SGds?35HJ`9%v4-*Dd?mcvXm%F ziQ<&uFvLp(rs8dW;^xCl=nRo$q^iI&EkaXrE{yqCKm9Y}n+D)3UwM=MH$VMT+;YJ>07q#>w{)$xZBhGAekCc`A7S*tKz zaS+cu#jfRHPfy|0s^q;MVs#CtHHo=z4h8IPZsCMO=K8zjUY+E~^>ovMVLu>>5|k=% z4T&e95(QLr%E4fl8?6k>kSH`M1x~Hbre*Vy&pg1N{2hFw`Hh@(=bd-xU-@5uo&$UL zAca6_O_~+_>4!hc?|uF}etDMq{47IZa_YoEb~8<_UZGYk(f30djVe+Kq-ilP1zwim zKKuw_G~~oR_t2_1>}4}FnO20d;+dI+!NBBelN8RKEdFZ@qGNx$FMAO8lI^w)jT zyWaIZ`UC&=U(>8rt_6zTz~|R~`;WQ*#Wv;Bw_tfLZl%gA_f0ZCGsaV!JzC>UT+1ZN za+Fd?e+ZQ-c6*!B*%ye*6%O2RJ+Hie50~$IfNW`zLE>|6v4c5(h~xE~-K`a7U7MZW zfQwsgjvYS6?EEbFKAvr1n36$1CJA$*YMr!E$KKjtcGBbQnR9IJb~rRY&285mM3@Fi zmLd&F&>ZLg{P2I~i)ELA6x5_S(*FhhO~l-{bMEgmio_$M(%o zs+L)4`z(eDZ<=nfnhQ+BAjxwg-^W^Cr{=koiv-R+Mc(OQ){dgio#pv2eugp6V($&t zvAMp^EyoTJ_yJj_s0JSWK}6ZIdG(QlOpJSYDx@^mL^&3{?H!_ch*nVSMwEkqW5;J% zTwX+=IXpkjN_W7{a6q->A<)EGjM2{djbHiz2)=GhG+yo-U;XM=>EHbKzjEr>;X_D6 zlIO6qv%^pR%rEm?U=oe*=fH_0%+0kpzqEt2Z7OA#Hyxa0DJlrl9JD6h+~MH%3KM%~ z+5EzN>~-M$#S2shyS!qmgp7vlJ-i>UTEWsee!quPDe>I1=kc5pwrw)>hwR%sLz<=x zgNWXs&)VV=6gjqOf+^9$;P7=b1l>(~oj$KTeTHr9C4B`2to?2u%u+HUSqc%kmWg#o;}C<)(VxfO&X`n zO;6xhHl>P(SFNEnR2xmUIs;UpNaKXi_c>at@yU<_vzQ(eg~#G3K)Za z$glq9Z*yTMLhX44V^b6C-#3X{ub~_p&$FqOOO#BLb6Y+3m29jc<-o=zjNUHoOP4uW zS6FDq8YK=NKZHX;k|fmX6}Fd`@JcQMLEuMJOCD<*n`j9K_s?OP2AexOjMW>=PEXMs zYanfx?S7BtjSad%!1!1lQ$m(&yh;_V6xC*vLAOJgW~6z}cBe;w5TLan&lOwCtK=6i z^4=eOkN$fD@TQw?)Ia(|@5L}BS_z6=@$0|!yF9WM(`_E0JUvCVTBh8nkt@Y8&PX)~ ztr6>MT;AzWrocG!G_~zz?tS7RPEMQ5&rkBP$DZW28%~jh0sWnA@*-nrZIxzYoaLoe zb~|0V{T@LOaPo!|D8r;b3^;RX3EQ;rg8{ip(Zb-u#VZ^=u#e^LfVtTj#%fjaG^JW8 zA#IBy&FJp#@Y%(iGdW*=g@$+cxc9mwvyG>y_IJ0ypZ(dN(R*4Gkf(rPeW%Tb?|%k+Yyxl3 z9xBrleVWX+q>+am|$jNg5{Mh&b@GnX0yrV z)pf2cEu*zY3r)RN!7Y{O_WE=>9duVCWtvkhuC)7vVaiUY zO@GklV8!G8Kliix?*!mmUVk@+5NNFlgCQUI)&I!NH=f2G--~b@{O*84DJtYR79EG*Dj-C*V71=@Z_tz1GUiszm_M}N0Vty)Ip8F`*DJ3mXU(O_$R8w<_M zzI_yVPB0h{h9Rd;UQcUcoK6(6-tS@=63dX>dipp^Ya28xWx9Su)p6ME^=a0sqX)E1 z+5?}@TwLeq&9`#q`Ew|(h?JyJuQ9uKhA51%g`_*|qf|}-EG{nbZKqCi>eQ)!`3(X1 z3%~gDda_of2z*qLbN2c3EVM(cdV||veH(EYqm{-oElQq4*)lK;iDy|zDG3i9qITs) zf(JfF(BI|bfAL|Sc;XqZ^t$}T!%uMT+yypw`^0eq0-`X)aa>Y=$i4%6$9;7log+CZjA8+#X;wm@Y z@p>-3xP~7^AOzDB4eXLfp5(-F!ok)gs?ZE`XeWw681vlczrgpr^BuqTbpv?QO*iSc zz3GkEu7`9ziY(=iKKdDk`)}YvC*(E9_u&|lMypA=TEcZKY}cY>+lVYhD@8swM)DnR zp&ac}sDiiM^LjReh}({w=6yf$ll1HwnQ#e}L>dM~p|PZ7&!GcEen@w73&XL9qKJCE zN^f(6a-+t+R*Q=35he+PK|mZuY;Nsver27_ZWoUJ&qVHi?OjwPs4PJV$sDSOvqBiFu*h5coGvIJ;tjYi-n8p)XQ~l zz5BK7KYW01d)4c?`0OQ~JiCgK^+}QlnM*87APtEY1#y-$R&hzAkXEZjlw_z(F1Uo}f3r!WT4AzLW42yrC-k{~eu~vg3(Oqc%P@#|`uqa7-1%D0J#n7)ZWoygT&qHw zWtaN&e&&)6kLY9}; zS=iiSqt_$Pa3DDs^0!~|zHyBwORQW8+z+CW4xo@p@QnKZk*)B_)9eFd-T^5{d4BBbQp z6X!5Bgo7c5Auufi*K?Vh-izxrXw~|bxg8CvD59b+aJ&@S1}C}OIUcGOBTm0uWhma&`A&`%bP0*1hr-ZTY6|I3H=a1 zh!7~EJSPrgYPAZ_Zfx;VnJV;$Jom-Nc-5<3rC%0+Km3E=PZ32F{*W{X__M$KELpY1 z*jNP+c-0b%-3Vn`oER^$8WvO*7jW{F@gjw1o~Gh=NrnR+yZ1h-X~5#n4u0g5#EPBO zO$^hdQY%wr`G|1{!SvibTmB}~bF-8k56`d&h5=_UU7 zl;zYb6>M8lDOqgxdl;5UrWDUEZF1z)QM&Cud75HM6JbaUX_2G}hA9~K2M7V`rdqAP-2zXYI{7bK4^pxpF58*Of1_Z zO)?D2z;heemW@-Y&}xlg3Q5T{$(6t|Y{EEaqthXX0*>#Qp%cawjMvIED=vrU=Bao#J6qcb)4+8sk|@QtN2LIz z6_#Njr34{pCoz`>0~UG%w!@HG*+rpQ+U+C7$luzA$ws?No~A@`M4Tp6OCGDcJ^Ub~ zY&(=Z2iI~jgg{6^krrsJiIRvU%URjjWvkO=yW8j7@;YIfBZMGKGm5L~h$7D^yY}A> z;CFuKcTmL1sE%uzT-w|rt+Y@Q5ybnWsVYFg-g<)@=I1#% zH&4lOu}qW6dIeP|N~TR`5MbLTQJT^ym&m1Ht~Exp;^CD%s&)ylR6+=YAoIzhVq{ck zk}P9oW0!sqQ}sNmj!T?IC^VVY6nc~_eyNr{*xBN}KlEPxH37Wo)Jf7XpePE`B;kea z4q0uCJWffo9LuoDi-OK}n{uVZ+08z!ii_FpQ7gHGnL$zHEbp`tfNcs2Re&nk?sRZO zN}*DQzK`SCL~%+SCzLBLJ3Cuw4a0s&p#`=ukww8Eh!{jMgE(UtV0^5+p zae`}`S5*p%joluy(3qwq$rYw)(%Bv0xh3K(K_U@Ckmd!d5cpBRMz6=k?M-%*1aUP@ zUnotS1U^wIr$NqwI*iRll9EO$fPdW}3u!5CRyUTDHN zrBZh2WQx}O4B_e(hEF|Do)(nrb)LR>g?13K)#($4A%2qK#}TF>nXZ@F-rB~tZAw*_ zD2VVX4t;+>5{G1Ij%ixNg`$&W^n-vPPC>y`wTf$)?DU3cJ$k?}PKc9~B9ly38`Nxv z%d0zVY_>_V4AU~ug=TJkKe+c35GL@ip%TUWYWO#Ty&aZ*cP2(fNdGn$_{Ck<5bIRX@kWRH?y4i z^sX$h+wr;U^egCw2`_GUd0}ytAkL_{9!eXy!rm|!_3jSlNgf!T*Zwetnzxj9R$v*B6pAQ?dex&|_1GB>d2wT#olc)Ye?Xd~xKfaYDgEvMQ3#~gIG)SK?i!XM z&^l+O7oxSkwsbuyail~V0O}=`9RfkgFgbqwxcfI!xti;N)@TGm!;4o|IDOp>T()Yg z2#HhnC@h;)OX{wN9Q3G-*FiYUS_R_rIecND^N1)4nW)yVy+ce*O>y?zV_ezUV0W03 zr6%p&4f>q{;}bP1HIJwtQ!CYJHY&t%M5*K=g~SBXEM_x_F|@!lZA=4-On?B-GZ@Ah zOYI&d+d>EnVMvlBCP*_JXA)f~!q7)$8p|-qwIU63oU+Z+YilHV!kF!`okU0hmT7Qw zs?3;YaCSK(D+&y0A_TaG#I^0{%d45!EO4S$Bl9DiQU#|{B}x*cE_mm$d5Zpkpxejq z_VE3XdcBNuRXybj&3LoUkvncD@9mPL2_>(@AWXU8#uHqB>>#e|GFhGA{&QzZ0A$GJ ziwj6yFf%=lHlWd{;W{o!647c-v8Ogh!||}NshKuq%fXajNRx8eLP^E8AF?wH@hqE6 z3xsVTq(B%J7$#CUq*;M948p*t(QJZH=%Qc{_!t_RmIGR22@nFBo<-TRxx5*&?PnB9 zU9+|@2(CruzXsq`Yl67bVYt4|V08_@*Jo+F%b~eRrfV+3kT{M-r`u;|tIgC@on$a% zwG*;%X$8ZynZ5C5`awt>r;OF=?7MEBso4qqu#00==m!D!KK}%9mh!+SKSh!$TCEyV z8XyWR(eV`jrzV)HH_=*9D2Z(uNYiAz=8gDx6d@7J)GJgi16v5nD9RFM>JyY~ zmqNv4NlK|wAxUFw*Jc>>$+I34c8M9Ug2X_I0@pN{a2!s|Ot5!ig1K51$27kJz$8u3 zTCaX}D)$n&T2m;+(lBFfYn#_xzZcgwIk=~VAq0;+_5v6NwR(yAc$Ic*l3?gFSX@8> zd6qI>t5B0!`VoDLE3y zl1$b;3m+SnM%PnnQrbO(~?YS z*19`<;@)jz6MTu3=NL4a%-bKM1i6 z1KTpFR?Fz3AdE-uXMDUydt(bB4P4Jd7X_X67Ohg1qKIj_F5?ZCJ#QQ zI~KwyD0G4NvLx13y`%i90BT;MfBKp*^4awsu~OW2bPt=I0K+gjuy=}Z7=UTg9z>W@ zU|JT_x81_c_q>&7UR=U7%xfBG)3&KPO~P=1EnO^G!ZKXWo_m~)^-acG4U|$$Of}FH z7^aJK$LWU&RnJ0Nf-F~Lg{Ewq*cN!UMU-abxkhP$Kp=`7Aq_wY|Bgqwx3F6BjlEMJ-m12Z1ZDaDBVAyBa z?=kH4aRmsK6Qn7hdSR7256=?yeTGSnQSu0*gtXnGIp{IGcnNjpNzUE(0AhQCR~$V^ ziX@5>ioBpvnZytlswi-+GM4Fbc+W{nw!>48KEllW1g_^Iq$JG~vaGCRt)c zFkV`}l&e*Ql+%ABfc-F{+H7D7i4>AUQ!R87p|v7bf-hcL=kDw0ux$&|G8rU_Qndu8 zjf_)FpkfNPwl;a>?DK52ci33kCQA!i<1NB)o4hDURm{Zr6qlBt#}gW(Ncr#|{WG%<0ra_vFRXvg%k|M>AVupT*U2-rilOT#P zwdUl}Lu_tsQIHcPJ`0QsTN@|Bv%Pa=J>u(6!sBlf;hs76CVETLmWG?pYh2i)oPWE zjSkgDjWEe+4+4Y$r8I^%a14_;E$D|a=~ds@k8)Bi*gIK86gef^#1w*wYK=G=qEKvi z)@hbJ9LFKe3rs2K4HDw`rLL%v-{0-~tnCi)Ec=>JUIT{flBVg+eIeRca%tJit@ z+}W?4P`$9cf;7z$u~s?zst!gtxcU_seCWY*TsKk0H3V6fW7!s>P*kQ{Oy7Px_rGwN zN6)=TR={ktLATduce_Jtc82*qdvQz`bWW6nm_qVWfU9{n?O{NBYm49emEXj1CGUFo zTbbRzk5ajU={g80NDD#srKAaiBp^x^t~s)l&M>Ak3@Omm%NB-|Xhv3b@ZbSF%c3YU z1dwJ0V^xQw+|_wHqSdirYv_`pOjKG^^O5kpBtK~zHz z<5X*)Gzf!(;|;9c#nHY{2-?Er+0|XX_lAQQSGy?PW(_}zSbXR~rm8ksD!8=X=gRUf z3yVt_(xE=yz;rAsr5c7b(P)&0FjWYliPC}~N=UK{9R)mc-{B-If5)JNIE_4dd=&omP;50q)KB+uuaL@ zc9(u!kmQOeD-cN9y@;*;@ES3bhQY~OZ{bh>igY%nRZrM9dy=2oUStwPYHrBYl0@v?5#M#Xu=eJXq+bNsdTiCWknql&nx}4F|+ohSuOmA={T1IP=hx41%14Cyp}R9H%rkMy{dcddRCwT4_cZ zZv;}nRAW^8P=%&5ObFwQ45*Y{Ui{1hcq*q}u8>D5LP)mS0c}4d$rMql$hF242I{In zNnZ7VhH3KnnX`QKqaPJt6Tl~*dRjbnc>zDp=?5WNWgH)`g5QIyO*9)pitooXErFjD z%z8GnyQ}P*nqeofIC1g@PThE#*5nLzyH2fDX8Gb8vwJ3p!T_Zdc~Ow59E~O`3It#Y zgS^lfLep>W60E+!#>MBkbYX?FPd&}V>^{N*@;oDqV+?6fb6wIRB}x*MRv5|`lEcssX;^~p(iV%CH<+7jaq@f;b{6GI9+j_BH061G!Gg734)m8b@qhc$R4O0{izL#58Tj zr)KHI31OCzs;k=?VU7ZyPU!hDSy7PW1v@>TBr6z35j*_>QJOLc0v0#7i1UItO=*Wd zhJ;j&Ds_%@u_RcwycW2ml)U2Rn|bun$6g+Q_kQ|5ifRqZG)dEhx-FSYcagDAy-}gl z3;5jmb;d18NeYtf4&&D!XKH$!v``#8yce{l=E@4bAK(u{j-NO|oaOjQOr{E? zkT|A^iHSgC3k$6@reU!&4CoI77B4OF{1+c(eRGv#uQ*PuO(G>o3Qdrv*uumXqsIuc zltiV(c}~aAa7~LW)3gU6VVZDxeTy_Nh?9byAOsYK)M&tx7On-uBt)UEWlT$zDo1X- zk$XRR@5|H1eC~4(3RSCt3AQEhJckpLRqTyR7`h-#Qnc&x)M}ffbr0p*c&AUGr}nTK z^{F>1sJuW3fngam8VxR8xy;T+k0VEpFgJaYl2Inp3fs~+hJkGuR4fbA6j-JpFH%fd zur(Oc4u<$~#M+fheDaeYqfm-mkG3tT(iCV6ArVMa!KeuljnaxjkMuJ^mf$BTYuz3} zTF^;D5|xnV5T+W9#xyihrsyOg&P&B3Avk{1P5jnx|IXJZZ~M?k{*uP@EWI#cVSSt1 zuG>#5++yqeMe@AB4{QxEh#kQT470R zR6G|FMK;nLW(A4LDagrmLP1WV-Mm3|3RcQ35%SxP-G|+iZIXEi9)urkj=zrJ@V;iF@_wa z-kYY0CB7^}tOUJ6vXg6ic|=gepaljNN*Cm+K#XKkjBHe1D-anN7{a7%S<9KKtymPdxqn3$*s_BP$A)Hh0L9h`F?l)!U%I+o$8ltPCa{iR>}WwB#= z>OKFFI-__vQDj0AuZAo-_13< zyO&wJcpg>cIHt|3?|dzdu{pGsNJG-7)fq$yycd>roPq?i72oQ3)_%bQczq?8u!u|+mh5g z=S$RWqQ!6h&hK*e?Ad?*4Yzu&tgpZSM}F+b*gSs;trb#&BNQ9kZJa%aFiRym!-!VJ zBL-Tv5^8aYxqUOB1skiI=t45|LyTg`Y@^I(I$+R_Ie6p%OG~SGj>pkG*D;KJmOEY6 zdI5$zPNlUE$8DgLzz`N?Qxatbtx|2&xtXR^9EWxkF;*@!Tdfjjqn_YI71SMvP-R3# zL8MX;qa;UAWaK(0(K(qeDA4rMkUe8{3^|g0RO)qJ^Y-uN=RWX(zqN1fYc?A`_4L!? z@#mk{Q-}5wzVICVAf#ysu6JS<*A}7GWDpC2dI{fjSR6#0K6;QO%@9&><10_`_!pid zP6N_3WOvYIXc#bI@W|)eRJ}1ulQ!E?LTEQBH)=F%H4eT0wOoJmNrEV$(+lwj5y_QH z#GikF^(bJrI>ADJ3qvb%rHFIEPB>t$R%LDIlVlm&QN*O@;b$4u`V>Kt;s-s_qClgs zMstnMbM}nYu4SH0+vY9*?f3HjfA_!r{k6OPhu`=Oy>aF&8=LDCDhFwDF)`@h_Eu!6 z#{5{7lZR&MYIxn4!}g~?#o?nTaLP9S_Xj`D<)s(sC)>R4z%f?+9!8_V%$@_Bd+K>k zp1hv1TW%%@61-Z4*~9y(lsqsEOlgdyXn9T)CtO)r;farZhOs^K}6r|vbr@lwzl5?x;MXxjl~6&DnKj7ZApK1neE&qF-#8cnIzGSl&6~;SPD$T zqR2IV6cg)|D?97#Z8Vv4N*I>S{v+4%*qO(8)9dddn3#bCeTu=4*NxWmPVE*>o*mv?Y#-8hF-h2mkYnpwp zyBlwQmJPQ>e=wwOxD0{;<7Jyh$sJ{%gyhJn8|V}TzyJGx@UmN8U-ldCx#u4J<~#1- z%oiUb&oTfqr8yf~_$Ob(O?Q18hbHTIEL6mDu0Z|ZQIW`s7 zMgSGlxTa|?84@WV*YMnWhXbuT`Cve8e2gGTxv<&g*^hsk>GPkZVw$%zIgHC2TtF5%ll8BIKk?|!suinXqg4^&L$hm6%ok zCDs;}sZ2IFb<;@>-|;H+^j;plvckFZ=UG@1_7&nLYQkD*Fg(`U2?D1jx?RE9qcm?QqDr; z$n>Z+8W`hK{Qd|3@ayha|GH0j&%1v>&sWN9EM7rfl|2+1RuYMG=bO3t?pIT)SK03v z3_tgIY;EIsCQm*7DEIv2`xuxm-8e-lg&)N%_d+(K49gy6QY=FfWf@VL681xKEpQx@ z$$FJ~#iJ-jRl!_o%C`x zZ+L3QH+{!xY)5s-=NQnDkov7`x?8Zn)_*dy)YE>1SDA9$+^V zC%^9?B<|0o&{R}_+Z+?{XPJ^>s z1BP+NPJf7z=4=fD905W@&yP?^iXjD!dWAgC8Tt`QX;e{=#R*XmQLa@`c}_SC5P+Gb zm?amZNGTT1Qy;8xv~J)TBZ-L+0>dzAP0jLc-|=R?>mBd><_+F?>A35zyY%t6pl{m*{npR#%35|_@MAqa+FCPWnEXogDAJamGczT@T1b#42oohOlr%v|v}ukeuoWpX@v-7Q1YJZDQ8zTR z6^o{0j6_F>Yw8Oj1g2$k(`#PCM!(O`|NJk0>yE$siiVxHzE$7(%9~Ju&*G(vWNG>p zU}`lN zkW9|baQMVYx^cq2_kV^@fBMtk`U4pM>hbP(|A2n?Klxrh^O29x-rOY5v(dQDzhap$ zX%Syi%Ok{>)bZk~FhzXnhQ(hI_y{48(!elHO63a2Z@m@eI6V6JnK%>@^yK3RT*kCHa>~%d31vTpT6%t+U+*y&!5Nl12fAq@;ui{jU+An-@8+(9FbqS{YZ8ViKY+YsqyPU?6qPM2q-7uxS8g|uEgj{tSU!rB#deb@sw$od zkD`yI1HbwC5k341rcL z{qQT%%z6E{#3N5bV6amnULr{z3yZ{=_CgXH@dQ4dA)RqQB>!9o$=gYM1KF;}oUn~+ QPyhe`07*qoM6N<$f+5A@qW}N^ literal 0 HcmV?d00001 diff --git a/assets/img/paladin_icon.png b/assets/img/paladin_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..cb9ff66416de32ba52fe50d9213c013701297709 GIT binary patch literal 31900 zcmV)NK)1h%P) zaB^>EX>4U6ba`-PAZ2)IW&i+q+NGUYlH^E|WdCuBJ_4XSj-wlh<_2^8c~31WyR)jA zhI%F=Gs45&3Ce{?|ts`}gOc_y3lG|1N(^?eDk!FMqGB z-pYJV3}MG7-uxb8_}xJCzi`FQ4<3FG{)DgU`A+2b6rVpAV?qAiI{o#}%N>2*YWlY? z`rEGj_0{w5zkmJnZl&<&CGnpYx%~C#zy1F8{OfbV-|VOT`6~SV`|FPBcSrxU z`u_KQt9|F0d5WG2OI`jv)IT2Oe8uYqAK^#0i(4yq<-g1&>iPBZt6|j>Q&{)B2fya? zK7sA}p7gAzKi{*@pYxgAVhZ~Tl`le=A)arxSi>7;bpMjSo-fq+#uXd;I?uMJ82-AK z=X~sY&+B|z?-RbFAF<;L2V2SwX%+25#>0#HN zn4j|8HH7*+EM#MYI=3ET3WFVZat@1|3@OIK-n8IH^OpLYmxdhp_Qm%BGj<}!f}b^Z zsIyrqW$dS>h7I)`bILiFTyx8B?j@E~aw(-2L9y3Z(^YdVwboYO+FNX??jNT1#p_F7{>oRs_Pt;KYuEm4>%aW^AMD!mXV=2nDPLIs z+BLpg>pw2>2q)P+W5dFg9(KIC1sHU2&+hi56x=!Y?0!MKm;*PN-Lv($W9(qsPsrc% zkG;FXZ%5s^|F351_LuUq0WO=`FjvxZeVZ?%nFMnjvLA{VmU^{5;@tGe1|HZC4(f ziUE2EC#qx&r%{k@=UcF;I&l}79LYr(rBszYj?{B2_wG#JJ#)TCn?j<*N|BZu9 znX_XnZPr@8zDf;!;LGFr;#hWnQ~}olUL%{${LWjK!@zolRYx zH}?MKyR-1&eQz*#_wl99l8(YEq;C*I-aC(d%`CQ*uf+AmHCNuCNp5pI&wB6gO|N#9?D=_ zD#lyNW&wGQH$OZTA$zhtxK3ju*V_GUM2$J$=UfI1L(BwAp9x4RFA;6YG{%ssYQH>#GY>7@alj*Oy0Sy;|jID$7+c zzc)PT#a;FeJoD4|d&$H|HX~<^@#|xMbp}kmK!`?q>-83#Cc+fo=uL4WvzCBCu{j-w z3wect8>jNVMefE*48AiO8yaVcCoRpR~KN);r zCbn~Tfk(qRu-J?Tht#;SdVwpzSx>-6-vfsSG61i5+_6K3Qs&?L|N7^3zUaN@)k5bw zp&lX|aGHWw(2N?ed4%2EK*nFdDD}07W>QRM{U4VTg4{$NyHNHzm9L$<74d2tPQZZ zkr(UZk;|I{R)m8_;v3s|@f=Tx0!P}I&K`^H$oM^O!!q3O_hEYZtJz(8_dGa-^OiZd zWwsQ5*}YsH8a4nHo+NS=;ONa?#tLxn$QHI*q<|}rT)wzrWWBG=0%B5i0^ZpOG3P}f z#z9g7*sx~yY!VH2VQ)J2$UCqi_Myxs@&{JoA@t&`XpauUoDWawyPgqt;rW6xfrXmj z+jD~m1HwaZGGO@Oiy%i<4d7QVQ1d-kU?oe)c;bK;;2$hC(T!Up)Dgq^WS|Tp0%nRX z&-`9q14|}uA|mSO*-eIxwCvqI@0jQlgyxD}nhbRJ;)h2#YhQzHU)p5P8*0RQEZkZ3 zb9aoOT?Dt6#b@;}4+3)SECr9>z`HVZY}gtb4j6QV^sXRkT$OOU4C8PP2sxl~!2stC z&w`L+wMe9zg3)NFrxJ_jWHY4^C?1ebk0GA3uLSugjEO08^WX%!|9e~UGgJHqoa5W? zGrs#B11RIOc_LN=GIxrvy2KD)pnp$i?;-1UX1@XUff`?O@b2$jK>Pd&R}Ze
FTfY( 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%0D#gP+< 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 bgxCKC!S78{Ff{-O00000NkvXXu0mjfCZ~<0 literal 0 HcmV?d00001 diff --git a/assets/img/shaman_icon.png b/assets/img/shaman_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..aea02bb6a1422c28cf5cb83200188ee03debbd5d GIT binary patch literal 30418 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

ONP0S&D0|BNHuAJG;xZ-{;D_dQ=l%zy8^ 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 CV&-oE literal 0 HcmV?d00001 diff --git a/package-lock.json b/package-lock.json index 93dfd5fdbc..cc5aa15e5f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -191,6 +191,11 @@ "fastq": "^1.6.0" } }, + "@popperjs/core": { + "version": "2.11.6", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.6.tgz", + "integrity": "sha512-50/17A98tWUfQ176raKiOGXuYpLyyVMkxxG6oylzL3BPOlA6ADGdK7EYunSa4I064xerltq9TGXs8HmOk5E+vw==" + }, "@protobuf-ts/plugin": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/@protobuf-ts/plugin/-/plugin-2.0.4.tgz", @@ -251,6 +256,15 @@ "@protobuf-ts/runtime": "^2.0.4" } }, + "@types/bootstrap": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/@types/bootstrap/-/bootstrap-5.2.3.tgz", + "integrity": "sha512-r2SE9NYaaI7B/jJk8gqRtXzlhgFL6dlXBResJkCbQa8ept619WeiOIO4zBQxdmUFzkKNWLK5ZOyYGI3QZoaqbQ==", + "dev": true, + "requires": { + "@popperjs/core": "^2.9.2" + } + }, "@types/json-schema": { "version": "7.0.11", "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", @@ -571,6 +585,11 @@ "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", "dev": true }, + "bootstrap": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-5.2.3.tgz", + "integrity": "sha512-cEKPM+fwb3cT8NzQZYEu4HilJ3anCrWqh3CHAok1p9jXqMPsPTBhU25fBckEJHJ/p+tTxTFTsFQGM+gaHpi3QQ==" + }, "brace-expansion": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", @@ -2126,4 +2145,4 @@ "dev": true } } -} \ No newline at end of file +} diff --git a/package.json b/package.json index e733b0f026..ae054465f7 100644 --- a/package.json +++ b/package.json @@ -5,6 +5,7 @@ "devDependencies": { "@protobuf-ts/plugin": "^2.0.4", "@protobuf-ts/runtime": "^2.0.4", + "@types/bootstrap": "^5.2.3", "@types/node": "^18.6.1", "@typescript-eslint/eslint-plugin": "^5.31.0", "@typescript-eslint/parser": "^5.31.0", @@ -21,5 +22,9 @@ "scripts": { "build": "bazel build //...", "test": "bazel test //..." + }, + "dependencies": { + "@popperjs/core": "^2.11.6", + "bootstrap": "5.2.3" } } diff --git a/ui/core/_shared.scss b/ui/core/_shared.scss index 6906bce9e5..e9f2e08267 100644 --- a/ui/core/_shared.scss +++ b/ui/core/_shared.scss @@ -14,7 +14,6 @@ --sidebar-bg-color: DarkKhaki; --sidebar-text-color: White; --sidebar-highlight-color: Blue; - --bg-dark-transparent: #1112187d; } .hide { diff --git a/ui/index.html b/ui/index.html index ee1a0592fd..0276e07a87 100644 --- a/ui/index.html +++ b/ui/index.html @@ -1,266 +1,270 @@ + + WoWSims - Wrath of the Lich King + - - Wowsims - - - - - - - -

- + + + - - + diff --git a/ui/index.scss b/ui/index.scss new file mode 100644 index 0000000000..474cc4fac2 --- /dev/null +++ b/ui/index.scss @@ -0,0 +1,2 @@ +@import "scss/index"; +@import "scss/homepage"; diff --git a/ui/index.ts b/ui/index.ts index e69de29bb2..0018e6eaea 100644 --- a/ui/index.ts +++ b/ui/index.ts @@ -0,0 +1,4 @@ +import * as Popper from '@popperjs/core'; +import * as bootstrap from 'bootstrap'; + +import './shared/bootstrap_overrides'; diff --git a/ui/scss/bootstrap_style_overrides.scss b/ui/scss/bootstrap_style_overrides.scss new file mode 100644 index 0000000000..e841311451 --- /dev/null +++ b/ui/scss/bootstrap_style_overrides.scss @@ -0,0 +1,24 @@ +@font-face { + font-family: SimDefaultFont; + src: url(/wotlk/assets/fonts/PlusJakartaSans-Regular.woff2); +} + +@font-face { + font-family: SimDefaultFont; + src: url(/wotlk/assets/fonts/PlusJakartaSans-Bold.woff2); + font-weight: bold; +} + +:root { + --bs-body-bg: black; + --bs-body-color: white; + --bs-body-font-family: SimDefaultFont; + --bs-body-line-height: 1.25; + --bs-primary: #e0a335; + --bs-primary-rgb: 224,163,53; +} + +.container { + height: 100%; + display: flex; +} diff --git a/ui/scss/bootstrap_theme_overrides.scss b/ui/scss/bootstrap_theme_overrides.scss new file mode 100644 index 0000000000..84b6c0d789 --- /dev/null +++ b/ui/scss/bootstrap_theme_overrides.scss @@ -0,0 +1,30 @@ +$death-knight: rgb(194, 46, 70); +$druid: rgb(255, 125, 10); +$hunter: rgb(171, 212, 115); +$mage: rgb(105, 204, 240); +$paladin: rgb(245, 140, 186); +$priest: rgb(255, 255, 255); +$rogue: rgb(255, 245, 105); +$shaman: rgb(36, 89, 255); +$warlock: rgb(148, 130, 201); +$warrior: rgb(199, 156, 110); + +$custom-colors: ( + "death-knight": $death-knight, + "druid": $druid, + "hunter": $hunter, + "mage": $mage, + "paladin": $paladin, + "priest": $priest, + "rogue": $rogue, + "shaman": $shaman, + "warlock": $warlock, + "warrior": $warrior +); + +$theme-colors: map-merge($theme-colors, $custom-colors); + +$dropdown-bg: black; +$dropdown-border-radius: 0; +$dropdown-color: white; +$dropdown-padding-y: 0; diff --git a/ui/scss/global.scss b/ui/scss/global.scss new file mode 100644 index 0000000000..1d4829b0e5 --- /dev/null +++ b/ui/scss/global.scss @@ -0,0 +1,37 @@ +:root { + --color-wrath-blue: #7FCBD8; +} + +* { + letter-spacing: 1px; +} + +body { + height: 100%; +} + +a { + color: white; + text-decoration: none; + outline: none; + + &:hover, &:focus, &.active { + color: var(--bs-primary); + } +} + +hr { + border-top: 1px solid; + border-bottom: 1px solid; +} + +.bg-image { + position: fixed; + width: 100%; + height: 100%; + background-image: url("/wotlk/assets/img/wotlk.jpg"); + background-position: center; + background-repeat: no-repeat; + background-size: cover; + z-index: -1; +} diff --git a/ui/scss/homepage.scss b/ui/scss/homepage.scss new file mode 100644 index 0000000000..d8cc04e5d9 --- /dev/null +++ b/ui/scss/homepage.scss @@ -0,0 +1,108 @@ +#homepage { + height: 100%; + display: flex; + flex-direction: column; + + .homepage-header-container, + .homepage-content-container, + .homepage-footer-container { + @extend .py-5; + } + + .homepage-header { + .homepage-header-container { + display: flex; + + .wowsims-logo { + @extend .me-3; + } + + .wowsims-title { + @extend .display-1; + @extend .fw-bold; + @extend .text-primary; + margin: 0; + } + + .homepage-header-collapse { + @extend .py-3; + align-items: flex-end; + justify-content: flex-end; + } + } + + .wrath-title { + @extend .fw-bold; + color: var(--color-wrath-blue); + margin: 0; + } + } + + .homepage-content-container { + flex-direction: column; + + .info-container { + @extend .mb-5; + display: flex; + flex-direction: column; + + .wowsims-info { + @extend .w-75; + @extend .fs-4; + margin: 0; + } + } + + .sim-links-container { + display: flex; + flex-direction: column; + + .sim-links { + @extend .mb-5; + display: flex; + flex-wrap: wrap; + + &> .sim-link, &> .sim-link-dropdown { + flex: 1 25%; + margin-right: 25%; + } + + .sim-link { + display: flex; + + &:hover, &.show { + background-color: rgba(0,0,0,0.5); + } + + &.raid-sim-link { + flex-grow: 0; + } + + .sim-link-content { + @extend .p-2; + display: flex; + align-items: center; + + .sim-link-icon { + @extend .me-2; + width: 32px; + } + + .sim-link-label { + @extend .fw-bold; + @extend .fs-3; + } + } + } + + .sim-link-dropdown { + .dropdown-menu { + background: rgba(0,0,0,.5); + border: 0; + } + } + } + } + } +} + diff --git a/ui/scss/index.scss b/ui/scss/index.scss new file mode 100644 index 0000000000..e1b1576345 --- /dev/null +++ b/ui/scss/index.scss @@ -0,0 +1,30 @@ +// Bootstrap functions & variables +@import "bootstrap/scss/functions"; +@import "bootstrap/scss/variables"; + +// Custom Bootstrap theme overrides +@import "bootstrap_theme_overrides"; + +// Bootstrap configuration +@import "bootstrap/scss/maps"; +@import "bootstrap/scss/mixins"; +@import "bootstrap/scss/utilities"; + +// Bootstrap layout & components +@import "bootstrap/scss/root"; +@import "bootstrap/scss/reboot"; +@import "bootstrap/scss/type"; +@import "bootstrap/scss/containers"; +@import "bootstrap/scss/grid"; +@import "bootstrap/scss/helpers"; +@import "bootstrap/scss/dropdown"; +@import "bootstrap/scss/navbar"; + +// Bootstrap Utilities API +@import "bootstrap/scss/utilities/api"; + +// custom Bootstrap style overrides +@import "bootstrap_style_overrides"; + +// Custom styles +@import "global"; diff --git a/ui/shared/bootstrap_overrides.ts b/ui/shared/bootstrap_overrides.ts new file mode 100644 index 0000000000..8a767e59ad --- /dev/null +++ b/ui/shared/bootstrap_overrides.ts @@ -0,0 +1,34 @@ +import * as bootstrap from 'bootstrap'; + +document.querySelectorAll('[data-bs-toggle="dropdown"]').forEach(toggle => { + let dropdown = new bootstrap.Dropdown(toggle); + let dropdownMenu = toggle.nextElementSibling as HTMLElement; + + toggle.addEventListener('focusin', event => { + dropdown.show(); + }) + + toggle.addEventListener('focusout', event => { + dropdown.hide(); + }) + + toggle.addEventListener('mouseover', event => { + dropdown.show(); + }); + + toggle.addEventListener('mouseleave', event => { + let e = event as MouseEvent; + let target = e.relatedTarget as HTMLElement; + + if (target != dropdownMenu && !target.closest('.dropdown-menu')) + dropdown.hide(); + }); + + dropdownMenu.addEventListener('mouseleave', event => { + let e = event as MouseEvent; + let target = e.relatedTarget as HTMLElement; + + if (target != toggle) + dropdown.hide(); + }); +}); From 0112d8876f13c7b151b0cc8890309dcd2d803ea8 Mon Sep 17 00:00:00 2001 From: Kayla Glick <12898988+kayla-glick@users.noreply.github.com> Date: Wed, 23 Nov 2022 22:44:54 +0000 Subject: [PATCH 02/10] update discord invite --- ui/index.html | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ui/index.html b/ui/index.html index 0276e07a87..15390c61e7 100644 --- a/ui/index.html +++ b/ui/index.html @@ -31,7 +31,7 @@

WoWSims

+ + + diff --git a/ui/index.ts b/ui/index.ts index ff3ea11061..6aeeddb0df 100644 --- a/ui/index.ts +++ b/ui/index.ts @@ -12,3 +12,17 @@ window.Popper = Popper; window.bootstrap = bootstrap; import './shared/bootstrap_overrides'; + +function docReady(fn: any) { + // see if DOM is already available + if (document.readyState === "complete" || document.readyState === "interactive") { + // call on next available tick + setTimeout(fn, 1); + } else { + document.addEventListener("DOMContentLoaded", fn); + } +} + +docReady(function() { + document.getElementsByTagName('body')[0].classList.add('ready'); +}); diff --git a/ui/scss/global.scss b/ui/scss/global.scss index 1d4829b0e5..b70eec6ae2 100644 --- a/ui/scss/global.scss +++ b/ui/scss/global.scss @@ -8,6 +8,12 @@ body { height: 100%; + opacity: 0; + transition: opacity .25s linear; + + &.ready { + opacity: 1; + } } a { From 873e87be67fbdf4fab48acc002b4bca37d16f47a Mon Sep 17 00:00:00 2001 From: The Grox Empire <47816228+TheGroxEmpire@users.noreply.github.com> Date: Fri, 25 Nov 2022 10:23:38 +0700 Subject: [PATCH 10/10] Fix warrior base stats for all races --- sim/warrior/dps/TestArms.results | 382 ++++++++--------- sim/warrior/dps/TestFury.results | 382 ++++++++--------- .../protection/TestProtectionWarrior.results | 396 +++++++++--------- sim/warrior/warrior.go | 32 +- 4 files changed, 596 insertions(+), 596 deletions(-) diff --git a/sim/warrior/dps/TestArms.results b/sim/warrior/dps/TestArms.results index e1a44c399a..6d210d7517 100644 --- a/sim/warrior/dps/TestArms.results +++ b/sim/warrior/dps/TestArms.results @@ -1,7 +1,7 @@ character_stats_results: { key: "TestArms-CharacterStats-Default" value: { - final_stats: 1244.672 + final_stats: 1233.232 final_stats: 1001 final_stats: 1889.25 final_stats: 176 @@ -12,7 +12,7 @@ character_stats_results: { final_stats: 1145.55 final_stats: 243 final_stats: 0 - final_stats: 6760.10757 + final_stats: 6323.53957 final_stats: 141 final_stats: 2256.75564 final_stats: 243 @@ -25,7 +25,7 @@ character_stats_results: { final_stats: 2945.8 final_stats: 0 final_stats: 0 - final_stats: 622.336 + final_stats: 616.616 final_stats: 534.48245 final_stats: 0 final_stats: 0 @@ -45,658 +45,658 @@ character_stats_results: { dps_results: { key: "TestArms-AllItems-AshtongueTalismanofValor-32485" value: { - dps: 7902.2388 - tps: 6466.11519 + dps: 7566.97541 + tps: 6190.98521 } } dps_results: { key: "TestArms-AllItems-AustereEarthsiegeDiamond" value: { - dps: 8190.15071 - tps: 6699.49455 + dps: 7835.4646 + tps: 6416.41533 } } dps_results: { key: "TestArms-AllItems-Bandit'sInsignia-40371" value: { - dps: 8046.10615 - tps: 6573.26337 + dps: 7746.62776 + tps: 6339.6743 } } dps_results: { key: "TestArms-AllItems-BeamingEarthsiegeDiamond" value: { - dps: 8204.61839 - tps: 6711.7748 + dps: 7862.45379 + tps: 6438.8813 } } dps_results: { key: "TestArms-AllItems-Beast-tamer'sShoulders-30892" value: { - dps: 7981.25563 - tps: 6527.9753 + dps: 7669.18892 + tps: 6276.73699 } } dps_results: { key: "TestArms-AllItems-BlessedBattlegearofUndeadSlaying" value: { - dps: 6864.72838 - tps: 5599.79337 + dps: 6626.98777 + tps: 5411.66434 } } dps_results: { key: "TestArms-AllItems-BlessedGarboftheUndeadSlayer" value: { - dps: 6873.79652 - tps: 5607.04903 + dps: 6463.17825 + tps: 5283.98617 } } dps_results: { key: "TestArms-AllItems-BlessedRegaliaofUndeadCleansing" value: { - dps: 6541.81066 - tps: 5345.48752 + dps: 6261.20619 + tps: 5119.55528 } } dps_results: { key: "TestArms-AllItems-BracingEarthsiegeDiamond" value: { - dps: 8178.09963 - tps: 6555.51644 + dps: 7828.71605 + tps: 6282.76473 } } dps_results: { key: "TestArms-AllItems-ChaoticSkyflareDiamond" value: { - dps: 8365.95708 - tps: 6841.64596 + dps: 8027.47509 + tps: 6568.08837 } } dps_results: { key: "TestArms-AllItems-DarkmoonCard:Berserker!-42989" value: { - dps: 8001.36321 - tps: 6548.05753 + dps: 7663.44856 + tps: 6271.89406 } } dps_results: { key: "TestArms-AllItems-DarkmoonCard:Death-42990" value: { - dps: 8027.0803 - tps: 6566.18985 + dps: 7679.42115 + tps: 6285.01532 } } dps_results: { key: "TestArms-AllItems-DarkmoonCard:Greatness-44253" value: { - dps: 7962.99811 - tps: 6514.57826 + dps: 7632.70867 + tps: 6248.04602 } } dps_results: { key: "TestArms-AllItems-DarkmoonCard:Greatness-44254" value: { - dps: 7839.61895 - tps: 6411.13873 + dps: 7534.99709 + tps: 6171.22115 } } dps_results: { key: "TestArms-AllItems-DeathKnight'sAnguish-38212" value: { - dps: 7916.92275 - tps: 6476.76166 + dps: 7623.13464 + tps: 6240.03089 } } dps_results: { key: "TestArms-AllItems-Defender'sCode-40257" value: { - dps: 7841.98604 - tps: 6412.08128 + dps: 7558.67769 + tps: 6188.82549 } } dps_results: { key: "TestArms-AllItems-DestructiveSkyflareDiamond" value: { - dps: 8207.87241 - tps: 6715.16459 + dps: 7861.36482 + tps: 6436.0626 } } dps_results: { key: "TestArms-AllItems-DreadnaughtBattlegear" value: { - dps: 7611.87744 - tps: 6231.01044 + dps: 7299.30889 + tps: 5981.31473 } } dps_results: { key: "TestArms-AllItems-DreadnaughtPlate" value: { - dps: 6804.20552 - tps: 5542.80912 + dps: 6514.0051 + tps: 5309.56636 } } dps_results: { key: "TestArms-AllItems-EffulgentSkyflareDiamond" value: { - dps: 8178.09963 - tps: 6689.19606 + dps: 7828.71605 + tps: 6410.87658 } } dps_results: { key: "TestArms-AllItems-EmberSkyflareDiamond" value: { - dps: 8178.09963 - tps: 6689.19606 + dps: 7828.71605 + tps: 6410.87658 } } dps_results: { key: "TestArms-AllItems-EnigmaticSkyflareDiamond" value: { - dps: 8204.61839 - tps: 6711.7748 + dps: 7862.45379 + tps: 6438.8813 } } dps_results: { key: "TestArms-AllItems-EnigmaticStarflareDiamond" value: { - dps: 8201.78077 - tps: 6709.50554 + dps: 7859.76475 + tps: 6436.7282 } } dps_results: { key: "TestArms-AllItems-EternalEarthsiegeDiamond" value: { - dps: 8178.09963 - tps: 6689.19606 + dps: 7828.71605 + tps: 6410.87658 } } dps_results: { key: "TestArms-AllItems-ExtractofNecromanticPower-40373" value: { - dps: 8021.21156 - tps: 6562.69634 + dps: 7667.20134 + tps: 6274.30197 } } dps_results: { key: "TestArms-AllItems-EyeoftheBroodmother-45308" value: { - dps: 7981.63041 - tps: 6530.60524 + dps: 7621.97195 + tps: 6237.82382 } } dps_results: { key: "TestArms-AllItems-ForgeEmber-37660" value: { - dps: 7957.25245 - tps: 6509.97505 + dps: 7604.80854 + tps: 6225.5436 } } dps_results: { key: "TestArms-AllItems-ForlornSkyflareDiamond" value: { - dps: 8178.09963 - tps: 6689.19606 + dps: 7828.71605 + tps: 6410.87658 } } dps_results: { key: "TestArms-AllItems-ForlornStarflareDiamond" value: { - dps: 8178.09963 - tps: 6689.19606 + dps: 7828.71605 + tps: 6410.87658 } } dps_results: { key: "TestArms-AllItems-FuryoftheFiveFlights-40431" value: { - dps: 8104.62917 - tps: 6626.01704 + dps: 7803.21364 + tps: 6384.18573 } } dps_results: { key: "TestArms-AllItems-FuturesightRune-38763" value: { - dps: 7839.61895 - tps: 6411.13873 + dps: 7534.99709 + tps: 6171.22115 } } dps_results: { key: "TestArms-AllItems-Gladiator'sBattlegear" value: { - dps: 8020.75575 - tps: 6519.28052 + dps: 7707.46082 + tps: 6259.40925 } } dps_results: { key: "TestArms-AllItems-IllustrationoftheDragonSoul-40432" value: { - dps: 7839.61895 - tps: 6411.13873 + dps: 7534.99709 + tps: 6171.22115 } } dps_results: { key: "TestArms-AllItems-ImpassiveSkyflareDiamond" value: { - dps: 8204.61839 - tps: 6711.7748 + dps: 7862.45379 + tps: 6438.8813 } } dps_results: { key: "TestArms-AllItems-ImpassiveStarflareDiamond" value: { - dps: 8201.78077 - tps: 6709.50554 + dps: 7859.76475 + tps: 6436.7282 } } dps_results: { key: "TestArms-AllItems-IncisorFragment-37723" value: { - dps: 8089.19583 - tps: 6617.70177 + dps: 7797.84501 + tps: 6382.25945 } } dps_results: { key: "TestArms-AllItems-InsightfulEarthsiegeDiamond" value: { - dps: 8178.09963 - tps: 6689.19606 + dps: 7828.71605 + tps: 6410.87658 } } dps_results: { key: "TestArms-AllItems-InvigoratingEarthsiegeDiamond" value: { - dps: 8208.92995 - tps: 6718.08535 + dps: 7853.73551 + tps: 6430.3831 } } dps_results: { key: "TestArms-AllItems-Lavanthor'sTalisman-37872" value: { - dps: 7839.5789 - tps: 6411.09869 + dps: 7534.99709 + tps: 6171.22115 } } dps_results: { key: "TestArms-AllItems-MajesticDragonFigurine-40430" value: { - dps: 7839.61895 - tps: 6411.13873 + dps: 7534.99709 + tps: 6171.22115 } } dps_results: { key: "TestArms-AllItems-MeteoriteWhetstone-37390" value: { - dps: 8073.95574 - tps: 6609.4158 + dps: 7710.83561 + tps: 6306.93847 } } dps_results: { key: "TestArms-AllItems-OfferingofSacrifice-37638" value: { - dps: 7828.81416 - tps: 6401.80513 + dps: 7547.87433 + tps: 6181.02239 } } dps_results: { key: "TestArms-AllItems-OnslaughtArmor" value: { - dps: 5557.99567 - tps: 4534.20925 + dps: 5270.21941 + tps: 4305.64749 } } dps_results: { key: "TestArms-AllItems-OnslaughtBattlegear" value: { - dps: 6435.00972 - tps: 5235.53988 + dps: 6129.34771 + tps: 4995.72748 } } dps_results: { key: "TestArms-AllItems-PersistentEarthshatterDiamond" value: { - dps: 8206.27716 - tps: 6715.85308 + dps: 7866.47691 + tps: 6439.5045 } } dps_results: { key: "TestArms-AllItems-PersistentEarthsiegeDiamond" value: { - dps: 8208.92995 - tps: 6718.08535 + dps: 7853.73551 + tps: 6430.3831 } } dps_results: { key: "TestArms-AllItems-PowerfulEarthshatterDiamond" value: { - dps: 8178.09963 - tps: 6689.19606 + dps: 7828.71605 + tps: 6410.87658 } } dps_results: { key: "TestArms-AllItems-PowerfulEarthsiegeDiamond" value: { - dps: 8178.09963 - tps: 6689.19606 + dps: 7828.71605 + tps: 6410.87658 } } dps_results: { key: "TestArms-AllItems-PurifiedShardoftheGods" value: { - dps: 7839.61895 - tps: 6411.13873 + dps: 7534.99709 + tps: 6171.22115 } } dps_results: { key: "TestArms-AllItems-ReignoftheDead-47316" value: { - dps: 7839.61895 - tps: 6411.13873 + dps: 7534.99709 + tps: 6171.22115 } } dps_results: { key: "TestArms-AllItems-ReignoftheDead-47477" value: { - dps: 7839.61895 - tps: 6411.13873 + dps: 7534.99709 + tps: 6171.22115 } } dps_results: { key: "TestArms-AllItems-RelentlessEarthsiegeDiamond" value: { - dps: 8368.43645 - tps: 6845.4762 + dps: 8025.12564 + tps: 6566.20895 } } dps_results: { key: "TestArms-AllItems-RevitalizingSkyflareDiamond" value: { - dps: 8178.09963 - tps: 6689.19606 + dps: 7828.71605 + tps: 6410.87658 } } dps_results: { key: "TestArms-AllItems-RuneofRepulsion-40372" value: { - dps: 7839.61895 - tps: 6411.13873 + dps: 7534.99709 + tps: 6171.22115 } } dps_results: { key: "TestArms-AllItems-SealofthePantheon-36993" value: { - dps: 7843.21336 - tps: 6414.59343 + dps: 7540.32745 + tps: 6174.2482 } } dps_results: { key: "TestArms-AllItems-ShinyShardoftheGods" value: { - dps: 7839.61895 - tps: 6411.13873 + dps: 7534.99709 + tps: 6171.22115 } } dps_results: { key: "TestArms-AllItems-SiegebreakerBattlegear" value: { - dps: 7948.98347 - tps: 6506.60885 + dps: 7558.12468 + tps: 6188.54581 } } dps_results: { key: "TestArms-AllItems-SiegebreakerPlate" value: { - dps: 6893.96283 - tps: 5612.44621 + dps: 6614.73033 + tps: 5384.91604 } } dps_results: { key: "TestArms-AllItems-Sindragosa'sFlawlessFang-50361" value: { - dps: 7839.61895 - tps: 6411.13873 + dps: 7534.99709 + tps: 6171.22115 } } dps_results: { key: "TestArms-AllItems-SparkofLife-37657" value: { - dps: 7933.78465 - tps: 6490.50022 + dps: 7594.25246 + tps: 6219.98239 } } dps_results: { key: "TestArms-AllItems-SphereofRedDragon'sBlood-37166" value: { - dps: 8105.94048 - tps: 6621.62892 + dps: 7826.93819 + tps: 6403.5775 } } dps_results: { key: "TestArms-AllItems-StormshroudArmor" value: { - dps: 6541.49826 - tps: 5338.82717 + dps: 6217.79501 + tps: 5079.80979 } } dps_results: { key: "TestArms-AllItems-SwiftSkyflareDiamond" value: { - dps: 8208.92995 - tps: 6718.08535 + dps: 7853.73551 + tps: 6430.3831 } } dps_results: { key: "TestArms-AllItems-SwiftStarflareDiamond" value: { - dps: 8206.27716 - tps: 6715.85308 + dps: 7866.47691 + tps: 6439.5045 } } dps_results: { key: "TestArms-AllItems-SwiftWindfireDiamond" value: { - dps: 8210.32561 - tps: 6719.50359 + dps: 7853.77423 + tps: 6429.67216 } } dps_results: { key: "TestArms-AllItems-TheFistsofFury" value: { - dps: 4720.68252 - tps: 3939.46216 + dps: 4485.71392 + tps: 3749.93647 } } dps_results: { key: "TestArms-AllItems-TheTwinBladesofAzzinoth" value: { - dps: 5067.19453 - tps: 4226.92972 + dps: 4816.65127 + tps: 4023.31353 } } dps_results: { key: "TestArms-AllItems-ThunderingSkyflareDiamond" value: { - dps: 8206.37005 - tps: 6712.86513 + dps: 7865.55826 + tps: 6440.48729 } } dps_results: { key: "TestArms-AllItems-TinyAbominationinaJar-50351" value: { - dps: 8370.33989 - tps: 6842.63111 + dps: 8059.48631 + tps: 6593.49053 } } dps_results: { key: "TestArms-AllItems-TinyAbominationinaJar-50706" value: { - dps: 8434.84259 - tps: 6901.95805 + dps: 7988.3317 + tps: 6536.9188 } } dps_results: { key: "TestArms-AllItems-TirelessSkyflareDiamond" value: { - dps: 8178.09963 - tps: 6689.19606 + dps: 7828.71605 + tps: 6410.87658 } } dps_results: { key: "TestArms-AllItems-TirelessStarflareDiamond" value: { - dps: 8178.09963 - tps: 6689.19606 + dps: 7828.71605 + tps: 6410.87658 } } dps_results: { key: "TestArms-AllItems-TrenchantEarthshatterDiamond" value: { - dps: 8178.09963 - tps: 6689.19606 + dps: 7828.71605 + tps: 6410.87658 } } dps_results: { key: "TestArms-AllItems-TrenchantEarthsiegeDiamond" value: { - dps: 8178.09963 - tps: 6689.19606 + dps: 7828.71605 + tps: 6410.87658 } } dps_results: { key: "TestArms-AllItems-UndeadSlayer'sBlessedArmor" value: { - dps: 6806.95315 - tps: 5561.42869 + dps: 6516.55967 + tps: 5329.00914 } } dps_results: { key: "TestArms-AllItems-WingedTalisman-37844" value: { - dps: 7839.61895 - tps: 6411.13873 + dps: 7534.99709 + tps: 6171.22115 } } dps_results: { key: "TestArms-AllItems-Wrynn'sBattlegear" value: { - dps: 8195.96211 - tps: 6684.81889 + dps: 7888.77834 + tps: 6435.45565 } } dps_results: { key: "TestArms-AllItems-Wrynn'sPlate" value: { - dps: 6970.64343 - tps: 5671.53732 + dps: 6684.45524 + tps: 5442.6894 } } dps_results: { key: "TestArms-AllItems-YmirjarLord'sBattlegear" value: { - dps: 8615.04561 - tps: 7053.41707 + dps: 8312.05319 + tps: 6808.83812 } } dps_results: { key: "TestArms-AllItems-YmirjarLord'sPlate" value: { - dps: 7127.57005 - tps: 5814.02485 + dps: 6859.41234 + tps: 5598.42034 } } dps_results: { key: "TestArms-Average-Default" value: { - dps: 8362.36341 - tps: 6844.14681 + dps: 8031.25426 + tps: 6577.71073 } } dps_results: { key: "TestArms-Settings-Human-Arms P1-Basic-FullBuffs-LongMultiTarget" value: { - dps: 10930.69966 - tps: 9319.2378 + dps: 10504.65932 + tps: 8965.45411 } } dps_results: { key: "TestArms-Settings-Human-Arms P1-Basic-FullBuffs-LongSingleTarget" value: { - dps: 8324.40442 - tps: 6811.09123 + dps: 7998.74425 + tps: 6542.91374 } } dps_results: { key: "TestArms-Settings-Human-Arms P1-Basic-FullBuffs-ShortSingleTarget" value: { - dps: 8890.97686 - tps: 7348.49781 + dps: 8434.89301 + tps: 6966.97763 } } dps_results: { key: "TestArms-Settings-Human-Arms P1-Basic-NoBuffs-LongMultiTarget" value: { - dps: 6286.05472 - tps: 5460.74912 + dps: 6003.54954 + tps: 5220.44931 } } dps_results: { key: "TestArms-Settings-Human-Arms P1-Basic-NoBuffs-LongSingleTarget" value: { - dps: 4380.16062 - tps: 3585.43514 + dps: 4211.60309 + tps: 3453.09907 } } dps_results: { key: "TestArms-Settings-Human-Arms P1-Basic-NoBuffs-ShortSingleTarget" value: { - dps: 4324.56318 - tps: 3568.25361 + dps: 4131.39205 + tps: 3412.10878 } } dps_results: { key: "TestArms-Settings-Orc-Arms P1-Basic-FullBuffs-LongMultiTarget" value: { - dps: 10984.58722 - tps: 9369.01956 + dps: 10634.09117 + tps: 9073.74793 } } dps_results: { key: "TestArms-Settings-Orc-Arms P1-Basic-FullBuffs-LongSingleTarget" value: { - dps: 8365.95708 - tps: 6841.64596 + dps: 8027.47509 + tps: 6568.08837 } } dps_results: { key: "TestArms-Settings-Orc-Arms P1-Basic-FullBuffs-ShortSingleTarget" value: { - dps: 8938.55163 - tps: 7385.97592 + dps: 8546.12951 + tps: 7063.91108 } } dps_results: { key: "TestArms-Settings-Orc-Arms P1-Basic-NoBuffs-LongMultiTarget" value: { - dps: 6347.25539 - tps: 5510.33334 + dps: 6014.86156 + tps: 5234.41386 } } dps_results: { key: "TestArms-Settings-Orc-Arms P1-Basic-NoBuffs-LongSingleTarget" value: { - dps: 4439.8455 - tps: 3637.85505 + dps: 4258.78451 + tps: 3497.87804 } } dps_results: { key: "TestArms-Settings-Orc-Arms P1-Basic-NoBuffs-ShortSingleTarget" value: { - dps: 4381.20564 - tps: 3620.04604 + dps: 4199.03279 + tps: 3466.82791 } } dps_results: { key: "TestArms-SwitchInFrontOfTarget-Default" value: { - dps: 7772.28086 - tps: 6345.18718 + dps: 7442.93567 + tps: 6085.5329 } } diff --git a/sim/warrior/dps/TestFury.results b/sim/warrior/dps/TestFury.results index 2d577588cf..3fd1346662 100644 --- a/sim/warrior/dps/TestFury.results +++ b/sim/warrior/dps/TestFury.results @@ -1,7 +1,7 @@ character_stats_results: { key: "TestFury-CharacterStats-Default" value: { - final_stats: 1196.8 + final_stats: 1185.8 final_stats: 1001 final_stats: 1889.25 final_stats: 176 @@ -12,7 +12,7 @@ character_stats_results: { final_stats: 1145.55 final_stats: 243 final_stats: 0 - final_stats: 6654.78917 + final_stats: 6219.18917 final_stats: 239.37 final_stats: 2256.75564 final_stats: 243 @@ -25,7 +25,7 @@ character_stats_results: { final_stats: 2945.8 final_stats: 0 final_stats: 0 - final_stats: 598.4 + final_stats: 592.9 final_stats: 534.48245 final_stats: 0 final_stats: 0 @@ -45,658 +45,658 @@ character_stats_results: { dps_results: { key: "TestFury-AllItems-AshtongueTalismanofValor-32485" value: { - dps: 6462.7559 - tps: 4752.88489 + dps: 6219.91389 + tps: 4580.76314 } } dps_results: { key: "TestFury-AllItems-AustereEarthsiegeDiamond" value: { - dps: 6692.56863 - tps: 4922.78755 + dps: 6396.31768 + tps: 4709.72408 } } dps_results: { key: "TestFury-AllItems-Bandit'sInsignia-40371" value: { - dps: 6671.19688 - tps: 4903.96995 + dps: 6355.10796 + tps: 4674.04882 } } dps_results: { key: "TestFury-AllItems-BeamingEarthsiegeDiamond" value: { - dps: 6692.49442 - tps: 4923.48787 + dps: 6433.14911 + tps: 4736.23954 } } dps_results: { key: "TestFury-AllItems-Beast-tamer'sShoulders-30892" value: { - dps: 6493.01812 - tps: 4783.2481 + dps: 6195.47522 + tps: 4565.69007 } } dps_results: { key: "TestFury-AllItems-BlessedBattlegearofUndeadSlaying" value: { - dps: 5311.03763 - tps: 3924.78896 + dps: 5085.80317 + tps: 3759.66375 } } dps_results: { key: "TestFury-AllItems-BlessedGarboftheUndeadSlayer" value: { - dps: 5320.41861 - tps: 3933.26402 + dps: 5056.70073 + tps: 3738.83101 } } dps_results: { key: "TestFury-AllItems-BlessedRegaliaofUndeadCleansing" value: { - dps: 4989.36759 - tps: 3692.08571 + dps: 4773.83738 + tps: 3536.48289 } } dps_results: { key: "TestFury-AllItems-BracingEarthsiegeDiamond" value: { - dps: 6674.15924 - tps: 4815.13852 + dps: 6373.33159 + tps: 4599.73319 } } dps_results: { key: "TestFury-AllItems-ChaoticSkyflareDiamond" value: { - dps: 6847.93575 - tps: 5035.08552 + dps: 6548.72445 + tps: 4825.3659 } } dps_results: { key: "TestFury-AllItems-DarkmoonCard:Berserker!-42989" value: { - dps: 6610.0308 - tps: 4862.23048 + dps: 6329.58036 + tps: 4658.47027 } } dps_results: { key: "TestFury-AllItems-DarkmoonCard:Death-42990" value: { - dps: 6646.97442 - tps: 4889.3954 + dps: 6355.07168 + tps: 4675.64794 } } dps_results: { key: "TestFury-AllItems-DarkmoonCard:Greatness-44253" value: { - dps: 6583.35762 - tps: 4840.91822 + dps: 6274.2707 + tps: 4618.41464 } } dps_results: { key: "TestFury-AllItems-DarkmoonCard:Greatness-44254" value: { - dps: 6413.78756 - tps: 4721.40361 + dps: 6148.10999 + tps: 4529.00308 } } dps_results: { key: "TestFury-AllItems-DeathKnight'sAnguish-38212" value: { - dps: 6587.58621 - tps: 4846.52611 + dps: 6272.32564 + tps: 4619.17458 } } dps_results: { key: "TestFury-AllItems-Defender'sCode-40257" value: { - dps: 6471.30698 - tps: 4763.46357 + dps: 6179.34218 + tps: 4551.04938 } } dps_results: { key: "TestFury-AllItems-DestructiveSkyflareDiamond" value: { - dps: 6706.0184 - tps: 4932.59208 + dps: 6439.20906 + tps: 4741.01504 } } dps_results: { key: "TestFury-AllItems-DreadnaughtBattlegear" value: { - dps: 6034.3637 - tps: 4448.33891 + dps: 5779.07215 + tps: 4268.09684 } } dps_results: { key: "TestFury-AllItems-DreadnaughtPlate" value: { - dps: 5210.65452 - tps: 3849.3291 + dps: 5007.83408 + tps: 3704.8971 } } dps_results: { key: "TestFury-AllItems-EffulgentSkyflareDiamond" value: { - dps: 6674.15924 - tps: 4913.22376 + dps: 6373.33159 + tps: 4693.42021 } } dps_results: { key: "TestFury-AllItems-EmberSkyflareDiamond" value: { - dps: 6674.15924 - tps: 4913.22376 + dps: 6373.33159 + tps: 4693.42021 } } dps_results: { key: "TestFury-AllItems-EnigmaticSkyflareDiamond" value: { - dps: 6692.49442 - tps: 4923.48787 + dps: 6433.14911 + tps: 4736.23954 } } dps_results: { key: "TestFury-AllItems-EnigmaticStarflareDiamond" value: { - dps: 6674.61416 - tps: 4911.92299 + dps: 6428.91508 + tps: 4732.52418 } } dps_results: { key: "TestFury-AllItems-EternalEarthsiegeDiamond" value: { - dps: 6674.15924 - tps: 4913.22376 + dps: 6373.33159 + tps: 4693.42021 } } dps_results: { key: "TestFury-AllItems-ExtractofNecromanticPower-40373" value: { - dps: 6622.43646 - tps: 4869.99736 + dps: 6373.5278 + tps: 4689.69137 } } dps_results: { key: "TestFury-AllItems-EyeoftheBroodmother-45308" value: { - dps: 6594.55511 - tps: 4852.43734 + dps: 6321.77057 + tps: 4652.99369 } } dps_results: { key: "TestFury-AllItems-ForgeEmber-37660" value: { - dps: 6579.63633 - tps: 4840.96205 + dps: 6289.93814 + tps: 4630.43627 } } dps_results: { key: "TestFury-AllItems-ForlornSkyflareDiamond" value: { - dps: 6674.15924 - tps: 4913.22376 + dps: 6373.33159 + tps: 4693.42021 } } dps_results: { key: "TestFury-AllItems-ForlornStarflareDiamond" value: { - dps: 6674.15924 - tps: 4913.22376 + dps: 6373.33159 + tps: 4693.42021 } } dps_results: { key: "TestFury-AllItems-FuryoftheFiveFlights-40431" value: { - dps: 6681.54462 - tps: 4914.63416 + dps: 6427.34315 + tps: 4729.30288 } } dps_results: { key: "TestFury-AllItems-FuturesightRune-38763" value: { - dps: 6413.78756 - tps: 4721.40361 + dps: 6148.10999 + tps: 4529.00308 } } dps_results: { key: "TestFury-AllItems-Gladiator'sBattlegear" value: { - dps: 6371.87841 - tps: 4687.15613 + dps: 6124.93742 + tps: 4510.43552 } } dps_results: { key: "TestFury-AllItems-IllustrationoftheDragonSoul-40432" value: { - dps: 6413.78756 - tps: 4721.40361 + dps: 6148.10999 + tps: 4529.00308 } } dps_results: { key: "TestFury-AllItems-ImpassiveSkyflareDiamond" value: { - dps: 6692.49442 - tps: 4923.48787 + dps: 6433.14911 + tps: 4736.23954 } } dps_results: { key: "TestFury-AllItems-ImpassiveStarflareDiamond" value: { - dps: 6674.61416 - tps: 4911.92299 + dps: 6428.91508 + tps: 4732.52418 } } dps_results: { key: "TestFury-AllItems-IncisorFragment-37723" value: { - dps: 6677.12519 - tps: 4907.29632 + dps: 6367.31953 + tps: 4686.19111 } } dps_results: { key: "TestFury-AllItems-InsightfulEarthsiegeDiamond" value: { - dps: 6674.15924 - tps: 4913.22376 + dps: 6373.33159 + tps: 4693.42021 } } dps_results: { key: "TestFury-AllItems-InvigoratingEarthsiegeDiamond" value: { - dps: 6701.80892 - tps: 4929.15509 + dps: 6422.61505 + tps: 4730.54659 } } dps_results: { key: "TestFury-AllItems-Lavanthor'sTalisman-37872" value: { - dps: 6413.78756 - tps: 4721.40361 + dps: 6148.10999 + tps: 4529.00308 } } dps_results: { key: "TestFury-AllItems-MajesticDragonFigurine-40430" value: { - dps: 6413.78756 - tps: 4721.40361 + dps: 6148.10999 + tps: 4529.00308 } } dps_results: { key: "TestFury-AllItems-MeteoriteWhetstone-37390" value: { - dps: 6655.26289 - tps: 4896.48633 + dps: 6371.90983 + tps: 4690.72025 } } dps_results: { key: "TestFury-AllItems-OfferingofSacrifice-37638" value: { - dps: 6481.06684 - tps: 4769.84359 + dps: 6152.3276 + tps: 4532.14794 } } dps_results: { key: "TestFury-AllItems-OnslaughtArmor" value: { - dps: 4077.17846 - tps: 3025.74366 + dps: 3853.70925 + tps: 2864.84391 } } dps_results: { key: "TestFury-AllItems-OnslaughtBattlegear" value: { - dps: 4875.23695 - tps: 3607.52242 + dps: 4630.20863 + tps: 3431.47846 } } dps_results: { key: "TestFury-AllItems-PersistentEarthshatterDiamond" value: { - dps: 6682.86163 - tps: 4915.44475 + dps: 6381.94748 + tps: 4700.40965 } } dps_results: { key: "TestFury-AllItems-PersistentEarthsiegeDiamond" value: { - dps: 6701.80892 - tps: 4929.15509 + dps: 6422.61505 + tps: 4730.54659 } } dps_results: { key: "TestFury-AllItems-PowerfulEarthshatterDiamond" value: { - dps: 6674.15924 - tps: 4913.22376 + dps: 6373.33159 + tps: 4693.42021 } } dps_results: { key: "TestFury-AllItems-PowerfulEarthsiegeDiamond" value: { - dps: 6674.15924 - tps: 4913.22376 + dps: 6373.33159 + tps: 4693.42021 } } dps_results: { key: "TestFury-AllItems-PurifiedShardoftheGods" value: { - dps: 6413.78756 - tps: 4721.40361 + dps: 6148.10999 + tps: 4529.00308 } } dps_results: { key: "TestFury-AllItems-ReignoftheDead-47316" value: { - dps: 6413.78756 - tps: 4721.40361 + dps: 6148.10999 + tps: 4529.00308 } } dps_results: { key: "TestFury-AllItems-ReignoftheDead-47477" value: { - dps: 6413.78756 - tps: 4721.40361 + dps: 6148.10999 + tps: 4529.00308 } } dps_results: { key: "TestFury-AllItems-RelentlessEarthsiegeDiamond" value: { - dps: 6838.30563 - tps: 5027.56997 + dps: 6558.57622 + tps: 4830.49539 } } dps_results: { key: "TestFury-AllItems-RevitalizingSkyflareDiamond" value: { - dps: 6674.15924 - tps: 4913.22376 + dps: 6373.33159 + tps: 4693.42021 } } dps_results: { key: "TestFury-AllItems-RuneofRepulsion-40372" value: { - dps: 6413.78756 - tps: 4721.40361 + dps: 6148.10999 + tps: 4529.00308 } } dps_results: { key: "TestFury-AllItems-SealofthePantheon-36993" value: { - dps: 6491.6785 - tps: 4777.46725 + dps: 6177.28922 + tps: 4553.84846 } } dps_results: { key: "TestFury-AllItems-ShinyShardoftheGods" value: { - dps: 6413.78756 - tps: 4721.40361 + dps: 6148.10999 + tps: 4529.00308 } } dps_results: { key: "TestFury-AllItems-SiegebreakerBattlegear" value: { - dps: 6294.98506 - tps: 4635.63878 + dps: 6015.66255 + tps: 4435.7878 } } dps_results: { key: "TestFury-AllItems-SiegebreakerPlate" value: { - dps: 5342.62331 - tps: 3945.48403 + dps: 5097.27481 + tps: 3768.20951 } } dps_results: { key: "TestFury-AllItems-Sindragosa'sFlawlessFang-50361" value: { - dps: 6413.78756 - tps: 4721.40361 + dps: 6148.10999 + tps: 4529.00308 } } dps_results: { key: "TestFury-AllItems-SparkofLife-37657" value: { - dps: 6521.85499 - tps: 4798.09348 + dps: 6284.6449 + tps: 4625.41996 } } dps_results: { key: "TestFury-AllItems-SphereofRedDragon'sBlood-37166" value: { - dps: 6668.4325 - tps: 4902.5523 + dps: 6395.63525 + tps: 4709.49155 } } dps_results: { key: "TestFury-AllItems-StormshroudArmor" value: { - dps: 4948.7995 - tps: 3661.0157 + dps: 4709.29922 + tps: 3488.13499 } } dps_results: { key: "TestFury-AllItems-SwiftSkyflareDiamond" value: { - dps: 6701.80892 - tps: 4929.15509 + dps: 6422.61505 + tps: 4730.54659 } } dps_results: { key: "TestFury-AllItems-SwiftStarflareDiamond" value: { - dps: 6682.86163 - tps: 4915.44475 + dps: 6381.94748 + tps: 4700.40965 } } dps_results: { key: "TestFury-AllItems-SwiftWindfireDiamond" value: { - dps: 6706.39278 - tps: 4932.86311 + dps: 6423.38837 + tps: 4728.98094 } } dps_results: { key: "TestFury-AllItems-TheFistsofFury" value: { - dps: 4993.63335 - tps: 3686.71276 + dps: 4712.60418 + tps: 3483.7133 } } dps_results: { key: "TestFury-AllItems-TheTwinBladesofAzzinoth" value: { - dps: 5302.90666 - tps: 3909.22354 + dps: 5031.38621 + tps: 3713.51512 } } dps_results: { key: "TestFury-AllItems-ThunderingSkyflareDiamond" value: { - dps: 6675.33038 - tps: 4913.7146 + dps: 6451.82147 + tps: 4751.73583 } } dps_results: { key: "TestFury-AllItems-TinyAbominationinaJar-50351" value: { - dps: 6803.43196 - tps: 5004.96698 + dps: 6540.91621 + tps: 4813.39875 } } dps_results: { key: "TestFury-AllItems-TinyAbominationinaJar-50706" value: { - dps: 6886.88712 - tps: 5063.99425 + dps: 6582.2044 + tps: 4846.58239 } } dps_results: { key: "TestFury-AllItems-TirelessSkyflareDiamond" value: { - dps: 6674.15924 - tps: 4913.22376 + dps: 6373.33159 + tps: 4693.42021 } } dps_results: { key: "TestFury-AllItems-TirelessStarflareDiamond" value: { - dps: 6674.15924 - tps: 4913.22376 + dps: 6373.33159 + tps: 4693.42021 } } dps_results: { key: "TestFury-AllItems-TrenchantEarthshatterDiamond" value: { - dps: 6674.15924 - tps: 4913.22376 + dps: 6373.33159 + tps: 4693.42021 } } dps_results: { key: "TestFury-AllItems-TrenchantEarthsiegeDiamond" value: { - dps: 6674.15924 - tps: 4913.22376 + dps: 6373.33159 + tps: 4693.42021 } } dps_results: { key: "TestFury-AllItems-UndeadSlayer'sBlessedArmor" value: { - dps: 5324.59086 - tps: 3933.90428 + dps: 5070.65622 + tps: 3752.2609 } } dps_results: { key: "TestFury-AllItems-WingedTalisman-37844" value: { - dps: 6413.78756 - tps: 4721.40361 + dps: 6148.10999 + tps: 4529.00308 } } dps_results: { key: "TestFury-AllItems-Wrynn'sBattlegear" value: { - dps: 6484.37751 - tps: 4773.86608 + dps: 6266.90969 + tps: 4615.82744 } } dps_results: { key: "TestFury-AllItems-Wrynn'sPlate" value: { - dps: 5416.64157 - tps: 4002.46724 + dps: 5150.42971 + tps: 3806.1277 } } dps_results: { key: "TestFury-AllItems-YmirjarLord'sBattlegear" value: { - dps: 7103.20253 - tps: 5232.34609 + dps: 6784.94386 + tps: 5002.22748 } } dps_results: { key: "TestFury-AllItems-YmirjarLord'sPlate" value: { - dps: 5628.65073 - tps: 4154.87426 + dps: 5375.84355 + tps: 3971.76959 } } dps_results: { key: "TestFury-Average-Default" value: { - dps: 6881.71157 - tps: 5061.7718 + dps: 6587.48739 + tps: 4849.30119 } } dps_results: { key: "TestFury-Settings-Human-Fury P1-Basic-FullBuffs-LongMultiTarget" value: { - dps: 8776.35794 - tps: 6829.40809 + dps: 8388.76025 + tps: 6537.47528 } } dps_results: { key: "TestFury-Settings-Human-Fury P1-Basic-FullBuffs-LongSingleTarget" value: { - dps: 6799.4509 - tps: 4998.45194 + dps: 6501.83588 + tps: 4787.52628 } } dps_results: { key: "TestFury-Settings-Human-Fury P1-Basic-FullBuffs-ShortSingleTarget" value: { - dps: 7830.1798 - tps: 5756.00419 + dps: 7507.62918 + tps: 5525.02698 } } dps_results: { key: "TestFury-Settings-Human-Fury P1-Basic-NoBuffs-LongMultiTarget" value: { - dps: 4744.33308 - tps: 3835.47816 + dps: 4509.78772 + tps: 3660.27047 } } dps_results: { key: "TestFury-Settings-Human-Fury P1-Basic-NoBuffs-LongSingleTarget" value: { - dps: 3302.9378 - tps: 2459.32914 + dps: 3153.64029 + tps: 2349.0122 } } dps_results: { key: "TestFury-Settings-Human-Fury P1-Basic-NoBuffs-ShortSingleTarget" value: { - dps: 3474.72263 - tps: 2587.64034 + dps: 3353.89383 + tps: 2498.63949 } } dps_results: { key: "TestFury-Settings-Orc-Fury P1-Basic-FullBuffs-LongMultiTarget" value: { - dps: 8875.72529 - tps: 6908.2774 + dps: 8491.21668 + tps: 6617.84351 } } dps_results: { key: "TestFury-Settings-Orc-Fury P1-Basic-FullBuffs-LongSingleTarget" value: { - dps: 6847.93575 - tps: 5035.08552 + dps: 6548.72445 + tps: 4825.3659 } } dps_results: { key: "TestFury-Settings-Orc-Fury P1-Basic-FullBuffs-ShortSingleTarget" value: { - dps: 7964.61338 - tps: 5851.84917 + dps: 7600.94651 + tps: 5589.16979 } } dps_results: { key: "TestFury-Settings-Orc-Fury P1-Basic-NoBuffs-LongMultiTarget" value: { - dps: 4877.89103 - tps: 3938.72336 + dps: 4573.25026 + tps: 3712.61576 } } dps_results: { key: "TestFury-Settings-Orc-Fury P1-Basic-NoBuffs-LongSingleTarget" value: { - dps: 3331.53694 - tps: 2480.12489 + dps: 3163.79686 + tps: 2357.43738 } } dps_results: { key: "TestFury-Settings-Orc-Fury P1-Basic-NoBuffs-ShortSingleTarget" value: { - dps: 3495.93452 - tps: 2601.67668 + dps: 3363.72571 + tps: 2512.29632 } } dps_results: { key: "TestFury-SwitchInFrontOfTarget-Default" value: { - dps: 6343.64168 - tps: 4668.48159 + dps: 6064.79734 + tps: 4466.37111 } } diff --git a/sim/warrior/protection/TestProtectionWarrior.results b/sim/warrior/protection/TestProtectionWarrior.results index 164a83ace5..a64f95f11b 100644 --- a/sim/warrior/protection/TestProtectionWarrior.results +++ b/sim/warrior/protection/TestProtectionWarrior.results @@ -1,7 +1,7 @@ character_stats_results: { key: "TestProtectionWarrior-CharacterStats-Default" value: { - final_stats: 1506.472 + final_stats: 1494.812 final_stats: 449.9 final_stats: 2818.3375 final_stats: 185.9 @@ -12,7 +12,7 @@ character_stats_results: { final_stats: 254.55 final_stats: 0 final_stats: 0 - final_stats: 5653.2839 + final_stats: 5216.2319 final_stats: 226 final_stats: 823.20962 final_stats: 0 @@ -25,7 +25,7 @@ character_stats_results: { final_stats: 755.7 final_stats: 672 final_stats: 170.95 - final_stats: 1439.236 + final_stats: 1433.406 final_stats: 379.22343 final_stats: 299 final_stats: 15 @@ -45,7 +45,7 @@ character_stats_results: { stat_weights_results: { key: "TestProtectionWarrior-StatWeights-Default" value: { - weights: 0.83641 + weights: 0.80854 weights: 0 weights: 0 weights: 0 @@ -56,7 +56,7 @@ stat_weights_results: { weights: 0 weights: 0 weights: 0 - weights: 0.15484 + weights: 0.51451 weights: 0 weights: 0 weights: 0 @@ -65,12 +65,12 @@ stat_weights_results: { weights: 0 weights: 0 weights: 0 - weights: -0.02152 + weights: 0.00389 weights: 0 weights: 0 weights: 0 - weights: 0.46991 - weights: 0.10658 + weights: 0.46622 + weights: 0.13313 weights: 0 weights: 0 weights: 0 @@ -89,660 +89,660 @@ stat_weights_results: { dps_results: { key: "TestProtectionWarrior-AllItems-AshtongueTalismanofValor-32485" value: { - dps: 2058.69884 - tps: 5951.13791 + dps: 1951.02595 + tps: 5663.32714 } } dps_results: { key: "TestProtectionWarrior-AllItems-AustereEarthsiegeDiamond" value: { - dps: 2029.72668 - tps: 5878.89286 + dps: 1914.75914 + tps: 5567.03979 } } dps_results: { key: "TestProtectionWarrior-AllItems-Bandit'sInsignia-40371" value: { - dps: 2118.83923 - tps: 6090.76667 + dps: 2029.75726 + tps: 5852.73918 } } dps_results: { key: "TestProtectionWarrior-AllItems-BeamingEarthsiegeDiamond" value: { - dps: 2043.47293 - tps: 5905.22206 + dps: 1937.44924 + tps: 5624.64401 } } dps_results: { key: "TestProtectionWarrior-AllItems-Beast-tamer'sShoulders-30892" value: { - dps: 2000.45937 - tps: 5786.78943 + dps: 1900.5505 + tps: 5515.89575 } } dps_results: { key: "TestProtectionWarrior-AllItems-BlessedBattlegearofUndeadSlaying" value: { - dps: 1757.19871 - tps: 5125.83229 + dps: 1667.20384 + tps: 4888.1423 } } dps_results: { key: "TestProtectionWarrior-AllItems-BlessedGarboftheUndeadSlayer" value: { - dps: 1736.83211 - tps: 5061.9779 + dps: 1621.1189 + tps: 4744.78024 } } dps_results: { key: "TestProtectionWarrior-AllItems-BlessedRegaliaofUndeadCleansing" value: { - dps: 1625.39817 - tps: 4778.01729 + dps: 1528.08803 + tps: 4506.94325 } } dps_results: { key: "TestProtectionWarrior-AllItems-BracingEarthsiegeDiamond" value: { - dps: 2028.37746 - tps: 5750.9898 + dps: 1896.48639 + tps: 5408.31836 } } dps_results: { key: "TestProtectionWarrior-AllItems-ChaoticSkyflareDiamond" value: { - dps: 2068.24883 - tps: 5966.95686 + dps: 1973.56819 + tps: 5720.34597 } } dps_results: { key: "TestProtectionWarrior-AllItems-DarkmoonCard:Berserker!-42989" value: { - dps: 2100.74896 - tps: 6047.74233 + dps: 2002.02112 + tps: 5786.43467 } } dps_results: { key: "TestProtectionWarrior-AllItems-DarkmoonCard:Death-42990" value: { - dps: 2133.46287 - tps: 6114.11061 + dps: 2038.96526 + tps: 5857.62169 } } dps_results: { key: "TestProtectionWarrior-AllItems-DarkmoonCard:Greatness-42987" value: { - dps: 2155.25728 - tps: 6214.97526 + dps: 2053.25749 + tps: 5934.49118 } } dps_results: { key: "TestProtectionWarrior-AllItems-DarkmoonCard:Greatness-44253" value: { - dps: 2158.45748 - tps: 6207.11965 + dps: 2052.55507 + tps: 5923.43952 } } dps_results: { key: "TestProtectionWarrior-AllItems-DarkmoonCard:Greatness-44254" value: { - dps: 2097.11343 - tps: 6064.71752 + dps: 2012.38212 + tps: 5829.40477 } } dps_results: { key: "TestProtectionWarrior-AllItems-DeathKnight'sAnguish-38212" value: { - dps: 2092.90749 - tps: 6042.61478 + dps: 1985.58926 + tps: 5738.63285 } } dps_results: { key: "TestProtectionWarrior-AllItems-DestructiveSkyflareDiamond" value: { - dps: 2048.19795 - tps: 5917.22343 + dps: 1940.00985 + tps: 5629.6631 } } dps_results: { key: "TestProtectionWarrior-AllItems-DreadnaughtBattlegear" value: { - dps: 2206.2909 - tps: 6298.13959 + dps: 2082.60411 + tps: 5971.62523 } } dps_results: { key: "TestProtectionWarrior-AllItems-DreadnaughtPlate" value: { - dps: 1916.1572 - tps: 5563.4158 + dps: 1841.26601 + tps: 5359.99133 } } dps_results: { key: "TestProtectionWarrior-AllItems-EffulgentSkyflareDiamond" value: { - dps: 2028.37746 - tps: 5868.3059 + dps: 1896.48639 + tps: 5518.64116 } } dps_results: { key: "TestProtectionWarrior-AllItems-EmberSkyflareDiamond" value: { - dps: 2028.37746 - tps: 5868.3059 + dps: 1896.48639 + tps: 5518.64116 } } dps_results: { key: "TestProtectionWarrior-AllItems-EnigmaticSkyflareDiamond" value: { - dps: 2043.47293 - tps: 5905.22206 + dps: 1937.44924 + tps: 5624.64401 } } dps_results: { key: "TestProtectionWarrior-AllItems-EnigmaticStarflareDiamond" value: { - dps: 2040.0759 - tps: 5897.33753 + dps: 1938.99205 + tps: 5628.8184 } } dps_results: { key: "TestProtectionWarrior-AllItems-EternalEarthsiegeDiamond" value: { - dps: 2042.62349 - tps: 5906.70677 + dps: 1910.09474 + tps: 5555.32314 } } dps_results: { key: "TestProtectionWarrior-AllItems-ExtractofNecromanticPower-40373" value: { - dps: 2122.2846 - tps: 6086.86628 + dps: 2038.75759 + tps: 5865.61939 } } dps_results: { key: "TestProtectionWarrior-AllItems-EyeoftheBroodmother-45308" value: { - dps: 2083.47333 - tps: 6003.17677 + dps: 1996.81744 + tps: 5773.29907 } } dps_results: { key: "TestProtectionWarrior-AllItems-ForgeEmber-37660" value: { - dps: 2073.81355 - tps: 5982.33626 + dps: 1986.48267 + tps: 5748.07761 } } dps_results: { key: "TestProtectionWarrior-AllItems-ForlornSkyflareDiamond" value: { - dps: 2028.37746 - tps: 5868.3059 + dps: 1896.48639 + tps: 5518.64116 } } dps_results: { key: "TestProtectionWarrior-AllItems-ForlornStarflareDiamond" value: { - dps: 2028.37746 - tps: 5868.3059 + dps: 1896.48639 + tps: 5518.64116 } } dps_results: { key: "TestProtectionWarrior-AllItems-FuryoftheFiveFlights-40431" value: { - dps: 2096.84375 - tps: 6055.38307 + dps: 1995.81438 + tps: 5788.01654 } } dps_results: { key: "TestProtectionWarrior-AllItems-FuturesightRune-38763" value: { - dps: 2029.72668 - tps: 5878.89286 + dps: 1914.75914 + tps: 5567.03979 } } dps_results: { key: "TestProtectionWarrior-AllItems-Gladiator'sBattlegear" value: { - dps: 2344.78171 - tps: 6585.83579 + dps: 2243.18105 + tps: 6319.5546 } } dps_results: { key: "TestProtectionWarrior-AllItems-IllustrationoftheDragonSoul-40432" value: { - dps: 2029.72668 - tps: 5878.89286 + dps: 1914.75914 + tps: 5567.03979 } } dps_results: { key: "TestProtectionWarrior-AllItems-ImpassiveSkyflareDiamond" value: { - dps: 2043.47293 - tps: 5905.22206 + dps: 1937.44924 + tps: 5624.64401 } } dps_results: { key: "TestProtectionWarrior-AllItems-ImpassiveStarflareDiamond" value: { - dps: 2040.0759 - tps: 5897.33753 + dps: 1938.99205 + tps: 5628.8184 } } dps_results: { key: "TestProtectionWarrior-AllItems-IncisorFragment-37723" value: { - dps: 2118.67221 - tps: 6107.82407 + dps: 2011.86646 + tps: 5824.85934 } } dps_results: { key: "TestProtectionWarrior-AllItems-InsightfulEarthsiegeDiamond" value: { - dps: 2028.37746 - tps: 5868.3059 + dps: 1896.48639 + tps: 5518.64116 } } dps_results: { key: "TestProtectionWarrior-AllItems-InvigoratingEarthsiegeDiamond" value: { - dps: 2029.76375 - tps: 5865.93543 + dps: 1938.55789 + tps: 5639.6213 } } dps_results: { key: "TestProtectionWarrior-AllItems-Lavanthor'sTalisman-37872" value: { - dps: 2042.73082 - tps: 5913.94617 + dps: 1928.58461 + tps: 5604.30703 } } dps_results: { key: "TestProtectionWarrior-AllItems-MajesticDragonFigurine-40430" value: { - dps: 2029.72668 - tps: 5878.89286 + dps: 1914.75914 + tps: 5567.03979 } } dps_results: { key: "TestProtectionWarrior-AllItems-MeteoriteWhetstone-37390" value: { - dps: 2116.80668 - tps: 6099.95133 + dps: 1999.75024 + tps: 5787.18749 } } dps_results: { key: "TestProtectionWarrior-AllItems-OfferingofSacrifice-37638" value: { - dps: 2037.82528 - tps: 5894.8634 + dps: 1930.20967 + tps: 5612.03801 } } dps_results: { key: "TestProtectionWarrior-AllItems-OnslaughtArmor" value: { - dps: 1590.34406 - tps: 4668.84018 + dps: 1493.26872 + tps: 4406.59161 } } dps_results: { key: "TestProtectionWarrior-AllItems-OnslaughtBattlegear" value: { - dps: 1787.28887 - tps: 5155.68233 + dps: 1684.16354 + tps: 4877.92141 } } dps_results: { key: "TestProtectionWarrior-AllItems-PersistentEarthshatterDiamond" value: { - dps: 2037.44332 - tps: 5894.6108 + dps: 1930.21982 + tps: 5616.73355 } } dps_results: { key: "TestProtectionWarrior-AllItems-PersistentEarthsiegeDiamond" value: { - dps: 2029.76375 - tps: 5865.93543 + dps: 1938.55789 + tps: 5639.6213 } } dps_results: { key: "TestProtectionWarrior-AllItems-PowerfulEarthshatterDiamond" value: { - dps: 2028.37746 - tps: 5868.3059 + dps: 1896.48639 + tps: 5518.64116 } } dps_results: { key: "TestProtectionWarrior-AllItems-PowerfulEarthsiegeDiamond" value: { - dps: 2028.37746 - tps: 5868.3059 + dps: 1896.48639 + tps: 5518.64116 } } dps_results: { key: "TestProtectionWarrior-AllItems-PurifiedShardoftheGods" value: { - dps: 2029.72668 - tps: 5878.89286 + dps: 1914.75914 + tps: 5567.03979 } } dps_results: { key: "TestProtectionWarrior-AllItems-ReignoftheDead-47316" value: { - dps: 2029.72668 - tps: 5878.89286 + dps: 1914.75914 + tps: 5567.03979 } } dps_results: { key: "TestProtectionWarrior-AllItems-ReignoftheDead-47477" value: { - dps: 2029.72668 - tps: 5878.89286 + dps: 1914.75914 + tps: 5567.03979 } } dps_results: { key: "TestProtectionWarrior-AllItems-RelentlessEarthsiegeDiamond" value: { - dps: 2055.09725 - tps: 5932.18477 + dps: 1970.0726 + tps: 5710.65049 } } dps_results: { key: "TestProtectionWarrior-AllItems-RevitalizingSkyflareDiamond" value: { - dps: 2028.37746 - tps: 5868.3059 + dps: 1896.48639 + tps: 5518.64116 } } dps_results: { key: "TestProtectionWarrior-AllItems-RuneofRepulsion-40372" value: { - dps: 2029.72668 - tps: 5878.89286 + dps: 1914.75914 + tps: 5567.03979 } } dps_results: { key: "TestProtectionWarrior-AllItems-SealofthePantheon-36993" value: { - dps: 2026.67133 - tps: 5866.49692 + dps: 1916.55648 + tps: 5578.05451 } } dps_results: { key: "TestProtectionWarrior-AllItems-ShinyShardoftheGods" value: { - dps: 2029.72668 - tps: 5878.89286 + dps: 1914.75914 + tps: 5567.03979 } } dps_results: { key: "TestProtectionWarrior-AllItems-SiegebreakerBattlegear" value: { - dps: 2193.02238 - tps: 6274.20294 + dps: 2091.26924 + tps: 5997.09505 } } dps_results: { key: "TestProtectionWarrior-AllItems-SiegebreakerPlate" value: { - dps: 2006.78571 - tps: 5774.77578 + dps: 1920.63802 + tps: 5535.32743 } } dps_results: { key: "TestProtectionWarrior-AllItems-Sindragosa'sFlawlessFang-50361" value: { - dps: 2029.72668 - tps: 5878.89286 + dps: 1914.75914 + tps: 5567.03979 } } dps_results: { key: "TestProtectionWarrior-AllItems-SparkofLife-37657" value: { - dps: 2042.95333 - tps: 5906.45314 + dps: 1959.21365 + tps: 5693.37836 } } dps_results: { key: "TestProtectionWarrior-AllItems-SphereofRedDragon'sBlood-37166" value: { - dps: 2104.32424 - tps: 6092.77153 + dps: 1999.6156 + tps: 5804.94304 } } dps_results: { key: "TestProtectionWarrior-AllItems-StormshroudArmor" value: { - dps: 1594.83072 - tps: 4687.45643 + dps: 1506.88121 + tps: 4442.8726 } } dps_results: { key: "TestProtectionWarrior-AllItems-SwiftSkyflareDiamond" value: { - dps: 2029.76375 - tps: 5865.93543 + dps: 1938.55789 + tps: 5639.6213 } } dps_results: { key: "TestProtectionWarrior-AllItems-SwiftStarflareDiamond" value: { - dps: 2037.44332 - tps: 5894.6108 + dps: 1930.21982 + tps: 5616.73355 } } dps_results: { key: "TestProtectionWarrior-AllItems-SwiftWindfireDiamond" value: { - dps: 2033.96841 - tps: 5887.47343 + dps: 1930.9611 + tps: 5614.7138 } } dps_results: { key: "TestProtectionWarrior-AllItems-TheFistsofFury" value: { - dps: 1571.97541 - tps: 4516.8015 + dps: 1449.23934 + tps: 4186.1762 } } dps_results: { key: "TestProtectionWarrior-AllItems-TheTwinBladesofAzzinoth" value: { - dps: 1728.5351 - tps: 4919.72833 + dps: 1588.65592 + tps: 4541.26743 } } dps_results: { key: "TestProtectionWarrior-AllItems-ThunderingSkyflareDiamond" value: { - dps: 2047.85078 - tps: 5922.44547 + dps: 1939.13907 + tps: 5644.09157 } } dps_results: { key: "TestProtectionWarrior-AllItems-TinyAbominationinaJar-50351" value: { - dps: 2141.13252 - tps: 6184.39641 + dps: 2017.01226 + tps: 5865.65837 } } dps_results: { key: "TestProtectionWarrior-AllItems-TinyAbominationinaJar-50706" value: { - dps: 2159.03543 - tps: 6228.45644 + dps: 2033.49037 + tps: 5901.1222 } } dps_results: { key: "TestProtectionWarrior-AllItems-TirelessSkyflareDiamond" value: { - dps: 2028.37746 - tps: 5868.3059 + dps: 1896.48639 + tps: 5518.64116 } } dps_results: { key: "TestProtectionWarrior-AllItems-TirelessStarflareDiamond" value: { - dps: 2028.37746 - tps: 5868.3059 + dps: 1896.48639 + tps: 5518.64116 } } dps_results: { key: "TestProtectionWarrior-AllItems-TrenchantEarthshatterDiamond" value: { - dps: 2028.37746 - tps: 5868.3059 + dps: 1896.48639 + tps: 5518.64116 } } dps_results: { key: "TestProtectionWarrior-AllItems-TrenchantEarthsiegeDiamond" value: { - dps: 2028.37746 - tps: 5868.3059 + dps: 1896.48639 + tps: 5518.64116 } } dps_results: { key: "TestProtectionWarrior-AllItems-UndeadSlayer'sBlessedArmor" value: { - dps: 1723.31409 - tps: 5024.80639 + dps: 1642.21914 + tps: 4802.92378 } } dps_results: { key: "TestProtectionWarrior-AllItems-WingedTalisman-37844" value: { - dps: 2029.72668 - tps: 5878.89286 + dps: 1914.75914 + tps: 5567.03979 } } dps_results: { key: "TestProtectionWarrior-AllItems-Wrynn'sBattlegear" value: { - dps: 2305.80536 - tps: 6530.963 + dps: 2189.29437 + tps: 6231.25773 } } dps_results: { key: "TestProtectionWarrior-AllItems-Wrynn'sPlate" value: { - dps: 1977.50387 - tps: 5711.80826 + dps: 1887.92426 + tps: 5467.06408 } } dps_results: { key: "TestProtectionWarrior-AllItems-YmirjarLord'sBattlegear" value: { - dps: 2607.31799 - tps: 7295.28323 + dps: 2493.77377 + tps: 7001.48477 } } dps_results: { key: "TestProtectionWarrior-AllItems-YmirjarLord'sPlate" value: { - dps: 2121.17197 - tps: 6122.04867 + dps: 2037.75832 + tps: 5900.62017 } } dps_results: { key: "TestProtectionWarrior-Average-Default" value: { - dps: 3203.72162 - tps: 8335.42532 - dtps: 118.81923 + dps: 3082.92912 + tps: 8050.2035 + dtps: 118.73397 } } dps_results: { key: "TestProtectionWarrior-Settings-Human-P1-Basic-FullBuffs-LongMultiTarget" value: { - dps: 2079.48577 - tps: 5571.85457 + dps: 1963.87035 + tps: 5285.82779 } } dps_results: { key: "TestProtectionWarrior-Settings-Human-P1-Basic-FullBuffs-LongSingleTarget" value: { - dps: 2079.48577 - tps: 5524.32915 + dps: 1963.87035 + tps: 5238.30652 } } dps_results: { key: "TestProtectionWarrior-Settings-Human-P1-Basic-FullBuffs-ShortSingleTarget" value: { - dps: 2237.69886 - tps: 5903.23213 + dps: 2155.31719 + tps: 5717.31542 } } dps_results: { key: "TestProtectionWarrior-Settings-Human-P1-Basic-NoBuffs-LongMultiTarget" value: { - dps: 1116.11363 - tps: 2989.44337 + dps: 1055.72909 + tps: 2837.15657 } } dps_results: { key: "TestProtectionWarrior-Settings-Human-P1-Basic-NoBuffs-LongSingleTarget" value: { - dps: 1116.11363 - tps: 2941.83623 + dps: 1055.72909 + tps: 2789.52957 } } dps_results: { key: "TestProtectionWarrior-Settings-Human-P1-Basic-NoBuffs-ShortSingleTarget" value: { - dps: 1042.27299 - tps: 2771.68505 + dps: 975.40757 + tps: 2611.4106 } } dps_results: { key: "TestProtectionWarrior-Settings-Orc-P1-Basic-FullBuffs-LongMultiTarget" value: { - dps: 2112.48381 - tps: 5663.20038 + dps: 1982.72439 + tps: 5333.20424 } } dps_results: { key: "TestProtectionWarrior-Settings-Orc-P1-Basic-FullBuffs-LongSingleTarget" value: { - dps: 2112.48381 - tps: 5615.67406 + dps: 1982.72439 + tps: 5285.67404 } } dps_results: { key: "TestProtectionWarrior-Settings-Orc-P1-Basic-FullBuffs-ShortSingleTarget" value: { - dps: 2319.50326 - tps: 6113.15326 + dps: 2167.93913 + tps: 5740.4239 } } dps_results: { key: "TestProtectionWarrior-Settings-Orc-P1-Basic-NoBuffs-LongMultiTarget" value: { - dps: 1124.62687 - tps: 3020.29726 + dps: 1060.80128 + tps: 2851.10716 } } dps_results: { key: "TestProtectionWarrior-Settings-Orc-P1-Basic-NoBuffs-LongSingleTarget" value: { - dps: 1124.62687 - tps: 2972.6941 + dps: 1060.80128 + tps: 2803.49603 } } dps_results: { key: "TestProtectionWarrior-Settings-Orc-P1-Basic-NoBuffs-ShortSingleTarget" value: { - dps: 1044.96251 - tps: 2791.70259 + dps: 1001.89289 + tps: 2678.14412 } } dps_results: { key: "TestProtectionWarrior-SwitchInFrontOfTarget-Default" value: { - dps: 3321.93535 - tps: 8651.26639 - dtps: 108.29049 + dps: 3193.3301 + tps: 8349.51687 + dtps: 107.84556 } } diff --git a/sim/warrior/warrior.go b/sim/warrior/warrior.go index ffcff341e6..ff972a60d9 100644 --- a/sim/warrior/warrior.go +++ b/sim/warrior/warrior.go @@ -243,62 +243,62 @@ func (warrior *Warrior) intensifyRageCooldown(baseCd time.Duration) time.Duratio func init() { core.BaseStats[core.BaseStatsKey{Race: proto.Race_RaceDraenei, Class: proto.Class_ClassWarrior}] = stats.Stats{ stats.Health: 9611, - stats.Strength: 185, + stats.Strength: 175, stats.Agility: 110, stats.Stamina: 167, stats.Intellect: 37, stats.Spirit: 61, - stats.AttackPower: 590, + stats.AttackPower: 220, stats.MeleeCrit: 3.188 * core.CritRatingPerCritChance, } core.BaseStats[core.BaseStatsKey{Race: proto.Race_RaceDwarf, Class: proto.Class_ClassWarrior}] = stats.Stats{ stats.Health: 9651, - stats.Strength: 186, + stats.Strength: 179, stats.Agility: 109, stats.Stamina: 171, stats.Intellect: 35, stats.Spirit: 58, - stats.AttackPower: 592, + stats.AttackPower: 220, stats.MeleeCrit: 3.188 * core.CritRatingPerCritChance, } core.BaseStats[core.BaseStatsKey{Race: proto.Race_RaceGnome, Class: proto.Class_ClassWarrior}] = stats.Stats{ stats.Health: 9581, - stats.Strength: 175, + stats.Strength: 169, stats.Agility: 116, stats.Stamina: 164, stats.Intellect: 42, stats.Spirit: 59, - stats.AttackPower: 570, + stats.AttackPower: 220, stats.MeleeCrit: 3.188 * core.CritRatingPerCritChance, } core.BaseStats[core.BaseStatsKey{Race: proto.Race_RaceHuman, Class: proto.Class_ClassWarrior}] = stats.Stats{ stats.Health: 9621, - stats.Strength: 184, + stats.Strength: 174, stats.Agility: 113, stats.Stamina: 168, stats.Intellect: 36, stats.Spirit: 63, - stats.AttackPower: 588, + stats.AttackPower: 220, stats.MeleeCrit: 3.188 * core.CritRatingPerCritChance, } core.BaseStats[core.BaseStatsKey{Race: proto.Race_RaceNightElf, Class: proto.Class_ClassWarrior}] = stats.Stats{ stats.Health: 9611, - stats.Strength: 181, + stats.Strength: 179, stats.Agility: 118, stats.Stamina: 167, stats.Intellect: 36, stats.Spirit: 59, - stats.AttackPower: 582, + stats.AttackPower: 220, stats.MeleeCrit: 3.188 * core.CritRatingPerCritChance, } core.BaseStats[core.BaseStatsKey{Race: proto.Race_RaceOrc, Class: proto.Class_ClassWarrior}] = stats.Stats{ stats.Health: 9641, - stats.Strength: 187, + stats.Strength: 177, stats.Agility: 110, stats.Stamina: 170, stats.Intellect: 33, stats.Spirit: 62, - stats.AttackPower: 594, + stats.AttackPower: 220, stats.MeleeCrit: 3.188 * core.CritRatingPerCritChance, } core.BaseStats[core.BaseStatsKey{Race: proto.Race_RaceTauren, Class: proto.Class_ClassWarrior}] = stats.Stats{ @@ -308,17 +308,17 @@ func init() { stats.Stamina: 170, stats.Intellect: 31, stats.Spirit: 61, - stats.AttackPower: 578, + stats.AttackPower: 220, stats.MeleeCrit: 3.188 * core.CritRatingPerCritChance, } core.BaseStats[core.BaseStatsKey{Race: proto.Race_RaceTroll, Class: proto.Class_ClassWarrior}] = stats.Stats{ stats.Health: 9631, - stats.Strength: 185, + stats.Strength: 175, stats.Agility: 115, stats.Stamina: 169, stats.Intellect: 32, stats.Spirit: 60, - stats.AttackPower: 590, + stats.AttackPower: 220, stats.MeleeCrit: 3.188 * core.CritRatingPerCritChance, } core.BaseStats[core.BaseStatsKey{Race: proto.Race_RaceUndead, Class: proto.Class_ClassWarrior}] = stats.Stats{ @@ -328,7 +328,7 @@ func init() { stats.Stamina: 160, stats.Intellect: 34, stats.Spirit: 64, - stats.AttackPower: 566, + stats.AttackPower: 220, stats.MeleeCrit: 3.188 * core.CritRatingPerCritChance, } }