From 48eebabbb856557acd8339d4a738d851dfb13b14 Mon Sep 17 00:00:00 2001 From: Arstraea Date: Mon, 4 May 2015 23:35:10 +0900 Subject: [PATCH] BOMB!! Check "Cheer up guys look at this.lua" file and if you do all of locales and modifying then erase that files. --- ElvUI_SLE/ElvUI_SLE.toc | 3 +- ElvUI_SLE/core/modules.lua | 2 - ElvUI_SLE/defaults/private.lua | 9 - ElvUI_SLE/defaults/profile.lua | 47 - ElvUI_SLE/media/textures/Alliance-text.blp | Bin 88564 -> 0 bytes ElvUI_SLE/media/textures/Alliance.blp | Bin 2564 -> 0 bytes ElvUI_SLE/media/textures/Castle.blp | Bin 44876 -> 0 bytes ElvUI_SLE/media/textures/Gradation.tga | Bin 65580 -> 0 bytes ElvUI_SLE/media/textures/Horde-text.blp | Bin 88564 -> 0 bytes ElvUI_SLE/media/textures/Horde.blp | Bin 2564 -> 0 bytes ElvUI_SLE/media/textures/Space.blp | Bin 175956 -> 0 bytes ElvUI_SLE/media/textures/TheEmpire.blp | Bin 44876 -> 0 bytes ElvUI_SLE/media/textures/Warning-Small.blp | Bin 1540 -> 0 bytes ElvUI_SLE/media/textures/anchor.tga | Bin 1068 -> 0 bytes .../Armory/CharacterArmory/CharacterArmory.lua | 443 ++-- .../modules/Armory/CharacterArmory/Profile.lua | 50 +- .../modules/Armory/Cheer up guys look at this.lua | 45 + ElvUI_SLE/modules/Armory/Config.lua | 1143 +++++++++ ElvUI_SLE/modules/Armory/Constants.lua | 12 +- ElvUI_SLE/modules/Armory/EnchantList.lua | 26 - .../modules/Armory/InspectArmory/Communication.lua | 191 +- .../modules/Armory/InspectArmory/InspectArmory.lua | 412 ++-- .../modules/Armory/InspectArmory/NotifyInspect.lua | 23 +- ElvUI_SLE/modules/Armory/InspectArmory/Profile.lua | 43 +- ElvUI_SLE/modules/Armory/KnightFrame.lua | 367 +-- ElvUI_SLE/modules/Armory/Load_Armory.xml | 3 +- .../Armory/Media/Textures/Alliance-text.blp | Bin 0 -> 88564 bytes .../modules/Armory/Media/Textures/Alliance.blp | Bin 0 -> 2564 bytes ElvUI_SLE/modules/Armory/Media/Textures/Castle.blp | Bin 0 -> 44876 bytes .../modules/Armory/Media/Textures/Horde-text.blp | Bin 0 -> 88564 bytes ElvUI_SLE/modules/Armory/Media/Textures/Horde.blp | Bin 0 -> 2564 bytes ElvUI_SLE/modules/Armory/Media/Textures/Space.blp | Bin 0 -> 175956 bytes .../modules/Armory/Media/Textures/TheEmpire.blp | Bin 0 -> 44876 bytes ElvUI_SLE/modules/Armory/Media/Textures/anchor.tga | Bin 0 -> 1068 bytes .../modules/characterframe/characterframe.lua | 881 ------- ElvUI_SLE/modules/characterframe/communication.lua | 977 -------- ElvUI_SLE/modules/characterframe/core.lua | 485 ---- ElvUI_SLE/modules/characterframe/inspectframe.lua | 2428 -------------------- .../modules/characterframe/load_characterframe.xml | 20 - ElvUI_SLE/modules/characterframe/notifyinspect.lua | 129 -- ElvUI_SLE/modules/load_modules.xml | 2 +- ElvUI_SLE/options/load_options.xml | 1 - 42 files changed, 2145 insertions(+), 5597 deletions(-) delete mode 100644 ElvUI_SLE/media/textures/Alliance-text.blp delete mode 100644 ElvUI_SLE/media/textures/Alliance.blp delete mode 100644 ElvUI_SLE/media/textures/Castle.blp delete mode 100644 ElvUI_SLE/media/textures/Gradation.tga delete mode 100644 ElvUI_SLE/media/textures/Horde-text.blp delete mode 100644 ElvUI_SLE/media/textures/Horde.blp delete mode 100644 ElvUI_SLE/media/textures/Space.blp delete mode 100644 ElvUI_SLE/media/textures/TheEmpire.blp delete mode 100644 ElvUI_SLE/media/textures/Warning-Small.blp delete mode 100644 ElvUI_SLE/media/textures/anchor.tga create mode 100644 ElvUI_SLE/modules/Armory/Cheer up guys look at this.lua create mode 100644 ElvUI_SLE/modules/Armory/Config.lua delete mode 100644 ElvUI_SLE/modules/Armory/EnchantList.lua create mode 100644 ElvUI_SLE/modules/Armory/Media/Textures/Alliance-text.blp create mode 100644 ElvUI_SLE/modules/Armory/Media/Textures/Alliance.blp create mode 100644 ElvUI_SLE/modules/Armory/Media/Textures/Castle.blp create mode 100644 ElvUI_SLE/modules/Armory/Media/Textures/Horde-text.blp create mode 100644 ElvUI_SLE/modules/Armory/Media/Textures/Horde.blp create mode 100644 ElvUI_SLE/modules/Armory/Media/Textures/Space.blp create mode 100644 ElvUI_SLE/modules/Armory/Media/Textures/TheEmpire.blp create mode 100644 ElvUI_SLE/modules/Armory/Media/Textures/anchor.tga delete mode 100644 ElvUI_SLE/modules/characterframe/characterframe.lua delete mode 100644 ElvUI_SLE/modules/characterframe/communication.lua delete mode 100644 ElvUI_SLE/modules/characterframe/core.lua delete mode 100644 ElvUI_SLE/modules/characterframe/inspectframe.lua delete mode 100644 ElvUI_SLE/modules/characterframe/load_characterframe.xml delete mode 100644 ElvUI_SLE/modules/characterframe/notifyinspect.lua diff --git a/ElvUI_SLE/ElvUI_SLE.toc b/ElvUI_SLE/ElvUI_SLE.toc index 2427847..4442714 100644 --- a/ElvUI_SLE/ElvUI_SLE.toc +++ b/ElvUI_SLE/ElvUI_SLE.toc @@ -10,13 +10,14 @@ ## OptionalDeps: AddonSkins, iFilger_ConfigUI, BigWigs, Clique, Hermes, xCT+ ## DefaultState: Enabled ## X-ElvVersion: 8.08 +## SavedVariables: KnightFrame_ArmoryDB libs\load_libs.xml locales\load_locales.xml media\load_media.xml core\load_core.xml -modules\load_modules.xml defaults\load_defaults.xml +modules\load_modules.xml options\load_options.xml skins\load_skins.xml Bindings.xml diff --git a/ElvUI_SLE/core/modules.lua b/ElvUI_SLE/core/modules.lua index 77e60d7..5dfbbc2 100644 --- a/ElvUI_SLE/core/modules.lua +++ b/ElvUI_SLE/core/modules.lua @@ -7,8 +7,6 @@ local modules = { ['SLE_DTPanels'] = {'AceHook-3.0', 'AceEvent-3.0'}, ['SLE_BackGrounds'] = {'AceHook-3.0', 'AceEvent-3.0'}, ['SLE_BagInfo'] = {'AceHook-3.0', 'AceEvent-3.0', 'AceTimer-3.0'}, - ['CharacterFrameOptions'] = {'AceEvent-3.0'}, - ['InspectFrameOptions'] = {'AceEvent-3.0'}, ['SLE_EquipManager'] = {'AceHook-3.0', 'AceEvent-3.0'}, ['SLE_Farm'] = {'AceHook-3.0', 'AceEvent-3.0'}, ['SLE_AddonInstaller'] = {}, diff --git a/ElvUI_SLE/defaults/private.lua b/ElvUI_SLE/defaults/private.lua index b345755..229a75c 100644 --- a/ElvUI_SLE/defaults/private.lua +++ b/ElvUI_SLE/defaults/private.lua @@ -5,15 +5,6 @@ V['skins']['addons'] = { } V['sle'] = { - --Character Frame Options - ['characterframeoptions'] = { - ['enable'] = false, - }, - - ['inspectframeoptions'] = { - ['enable'] = false, - }, - ["datatext"] = { ["dp1hide"] = false, ["dp2hide"] = false, diff --git a/ElvUI_SLE/defaults/profile.lua b/ElvUI_SLE/defaults/profile.lua index c47e4f4..821435d 100644 --- a/ElvUI_SLE/defaults/profile.lua +++ b/ElvUI_SLE/defaults/profile.lua @@ -70,53 +70,6 @@ P['sle'] = { }, }, - --Character Frame Options - ['armory'] = { - ['character'] = { - ['gradientColor'] = { .41, .83, 1 }, - }, - ['inspect'] = { - ['gradientColor'] = { .41, .83, 1 }, - }, - }, - ['characterframeoptions'] = { - ['shownormalgradient'] = true, - ['showerrorgradient'] = true, - ['gradientColor'] = { .41, .83, 1 }, - ['showimage'] = true, - ['image'] = { - ['dropdown'] = "SPACE", - ['custom'] = "", - }, - ['itemlevel'] = { - ['show'] = true, - ['font'] = "ElvUI Font", - ['fontSize'] = 10, - ['fontOutline'] = "OUTLINE", - }, - ['itemdurability'] = { - ['show'] = true, - ['font'] = "ElvUI Font", - ['fontSize'] = 10, - ['fontOutline'] = "OUTLINE", - }, - ['itemenchant'] = { - ['show'] = true, - ['font'] = "ElvUI Font", - ['fontSize'] = 10, - ['fontOutline'] = "OUTLINE", - ['showwarning'] = true, - ['warningSize'] = 12, - ['mouseover'] = false, - }, - ['itemgem'] = { - ['show'] = true, - ['showwarning'] = true, - ['socketSize'] = 12, - ['warningSize'] = 12, - }, - }, - --Chat ['chat'] = { ['guildmaster'] = false, diff --git a/ElvUI_SLE/media/textures/Alliance-text.blp b/ElvUI_SLE/media/textures/Alliance-text.blp deleted file mode 100644 index 67a7681b8d06dde31fbfbb29c8692a634d7582be..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 88564 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 diff --git a/ElvUI_SLE/media/textures/Castle.blp b/ElvUI_SLE/media/textures/Castle.blp deleted file mode 100644 index 3b6ebc1d0ac49e28c351724f10556753c0d7b401..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44876 zcmeFZ{aX`vx<8)AkEak8u&2@*yH$r>suK#4S)=Pvz$T}kvnFdn!enR?5~}H08)5|{ zN&_J*9{0516I#Gls??SmCWKTpf@p}Vr`rcbTOoojPqoKW3=ObCBm|QA+;4lGpT5`i z{R__Yig#x+Bs1^V{qVXUCgMM45l?YA94?3R6#R$&<$Ume;PvnD`V3yJ@M`05mO40` zb?|xxUjG8G|KF_=-dzQ+2zbE^%4SH)<4i)5&ERnqvJTlAhS6_S@0G##GU;Cp$USi)QAPhUHLb3!9+0Qs;&2!W z9jB-u=T!e)*};R3HS;A6GMd(uqwCdLD#GaV)wzMn8Fc?)rm2@aO3a46Ol*8iycV{0 zVgjQmD&YfpVk9ifW3{6?)(1n7oem$GRO)&bK)niF;*5#KVW* zTx%z{3Z51cL@(J+Qf94n9m3V#vWSu_m3Tak#62>R#Az4u8srKIJ3rptAX_hi>z-0b z6zKl+dtiS)$S?{?oTRYyyUx9`UceXa&yem|-W4P@V+IRv|#V|@W z;LSRijITDTDNkM63in2JRH<6gW$2Vy;R8<`L?FIb&p&!aFd+Q?h66A zLakPy`zkFgEEU1^1icm78Nhus5D1w|L{3BSSaKd;IJbGj@#UBFsYb$ zm&<97jTZ`-&l!Coao`z-sb zSHSrc>sWPM26AMc(%cs`=_63&SbjzftY+cto1d-_Qj#8ih&MAS*R#G<#)n zsljrS30;pyqZvbfKod^pAPN3rtQE@=C;R0tGtCCZddagS6=XQb zj|T#Qu_A;!C@#X^?RGeBlZAxKZnvZJT!~Rp6xgRd>egYtx|iIMDHZRL)sj@mb$Ac> zRok;Hm04EWEGoHk2o14wU> zqC{Y)3{6pS;J>Y58tmyD@t%b;`pIGe;|;RsiLCF6@ z$>bdauR?0IY}ilEkinn{^q`l_zf#GW#G(aOxZWpr8w`#hoIAT5QOGZ7>7Xel{ucOo z8&d@KEK2i)W+6T-fCEGL`u(f};fwrpCP*#o1^og2urY947!SBW+>QkvzyR*C@gcVm z;@nz+!zK{KN!kf#B2OTa6cHcY8{I_7wi0VrEps=>g@T60`UYf|9w#2LM>Y+58#FBi zf6cOG^V8rDG^VMhT8IPM;igJt@1Br53dQw=q$DoV7pK#i(IHdJQ ztQJX!mGvNd*RQfZ@uRG@%G3w`)SKyZ^#cB22f=d$l8j)6%trg52gQP9hlA4~J5Pv! zuXM=#BxCb?8bI=b8q1st>t8f4+p3KQ~Q zV`G6Sgg@BL!gHX%3X27J3-An@W|7?oO=X%QqK6OH8%BHp;xcCf6UGYwx3!=LG#g$J zf^=OHMj?FtZpMvpbvta_t$;IxL1rt$9V9vqe6k5ic5?ExP_PyGd03aV0;f}yfZ|V7 z6nO&iA0AKW+yi)si8GEb?f{&t*-!}SnZRZPzEvdHv?;$3#f6H};9MNycTMGckzAOi+z>Z_m-&Sa$Zyl* zzz@$6v?W}M?x(JU8?_f54+&TC)#o67aXF2KxK!}pyb}gEt_@bg`-I=maA?4RGVTI> z@RNSOQ;6bybQF(ALY#LxZHdUggZ`#zPcD>Dl!xo?H=COiVx!!Ezc$EN*|zTe6s5@z z*QFZ)uF;D93nf}pu<1p!NoO$y0w)Y}stQvuFbDWoz&?ssQ&Xc&3h)DpaFAIK__JXS z@Y)$t3-L4)?3(Ql2T=S6KfqfHxB<^(*T#cghrC?0Pg#OYYRF#-Ake!3Uo4-VrfQ6%7Sd6DPPy7|*G zX2i9mLZQvOEiNQ&sZ7@q(uY5OJhLz@juAxgqN0~dro~np+X9jVJ!&!nKI0+EUoTrH zG0ox42uJfiVO&794&r&&@-p2XnLjjs73^8O;g!BVzIvLxdR4lq0r2nn(QFjSAaC&X zyfz@Og?ypqeZY&f*&-wPI*5a&sQ{^t0d;7xBYUU1IGh3S19c7o55)yfXsl^Y)gjY{ z8Hg8g5>23qL#lzdvG<$GbP5UONe~W|G{{_u9L@^kWkbk2$-Zb*=}e|zkc9YR8XIjw z(!;XVPxze!_?_;!jAeK{Z9T+$%9F&lmFeo7tCKT2PJK>!!lNVoY+HiM7h)&1Znbrh zePkruR>oNq=%-9h<6lK7w0FB3hYr_-gCfz%n$&;FAC`Lz!Z94JI`2WfPYgS zHVXMkKkI#xe|0?Y1$zO1aGPDvLVWITICboixD|Nj!osr>A08dOIAI;&@9}peBA$N9 z!Pxcy?*5Q13Q3CPuIiAllY~M)Rw6w(G1uFq(sjrW+Fb%t*GqozL0@0FuAM9{&dt3o zjuqUz@tlgI9O8RgR!&3)i~N6ES2!9mEw$E94#NlZ}C1pAuhvNyA3>mtt zf`~ywk>GgaV9pBTkiiT557|B2&5KHheKYWKbo~CJtD9VgG93*L*kV@cD5Eb?W40|q`68@(sjIMHg{*FiMrcPn$>Cz z?cSeeWFVhQ@5nPdDd+nuItC5-+e&GqXQP1%x=g3kncO>RCE#2+8ZaSgW!>WlcV@C; z-UO1S{E0KbpDOgFxhS6sGHpx>isx?R*Fg_zP&`kGhu!~?PvSkqfv#Wt`~uV!CQ&{Z zrI2hDG&e_a{G>?oIm0xIAkMLDcSa}hj|693-Cg-H;+5YoUq-6^V&?v~d`fnd?4R|= zi9oUz<8L}uLcwlrv1y&mhiA*R+DuZ0#jHNl)}e|axQika`c-R*6)R7TY}AP)#Zy%i z$lg7}nv4cHCF!4i@Y!XE^D4{VcfV*{DtR92BQF|{k~wO%dRm-Ctd7POO-o}0IXQ~* z26+~-@2{Uk^L1+lJ-&$n^tt_x#KhU{Sw!{Xq}2!T9;_=kKE6k8#}2;#iK{`rl>j%C z+96*8`cRdR@`b3Rv{0y|SIpsDEfC3;2ujP!OhYBbaGg&@uK;@|huL(kIb>jbY`@mL z0Bh=xBjw(oZrtD;5{~S*m`CS5CWJ4g zP;x8a?;R+BwrPwa*iM>XGzJ#Rb57oZ_bF#Wx_iN}yErRr5cDgc(NZXnum&q=QXNon ztQMnEHz4l<`#|^y>(e>N{zDGN8!7=mz&hUSg}geqV!jjcqPL7=mF)zwf3|I_;2go> zH0hCkP?YvbzP-k3X}*-(A*t?~CPNmxTkv!2#7#GHrv2+ABXwNHkjd1zizQR$NRM0sqTe9=D+u z?7wkv5bRt?Bse`(EjfWVQA-*&>HzW3@WPy`Ue@0wAm)JQo%zfE`KLj{jClJty?&`= z$dI3(zhlTyMCQWQq1sAVoIn1fL*>KioWAn|su%&}39FUxes;FJg|C|y<9Oof`SNUH z!-h+jd?~HiDfZKA?PL$0<}!ymR1^5+dWurWC-5w_mf9m15{v%&MxIf=mKdG7x35<` zf#+)qCzq>Z17zKI~^_Uo`U7 zCq%1eQxedT?J?;q30N|)SEf6$79hEK}v!Z;BV!MIAwiB)- z9ycIwkl1UgPb0bLdY5HDzDH8YS%Ca$kHpQ4hfp5+tr$;ARc8^}($Z37e{9Hd3&mm9 z+5Fs`>Ky4`SV@){iU_*?&MVWfp3U~?nnJP_FD}*xGl^E5X$kpjffoidT;P|12R2zh z83dkn%3V>e)Xk8qUrIhv26_d!>xT>qnaHJb@zq5{p<0V$3K3+%1VSpUtiyy zPF0Sq$HtrTCsbLbM$3-Cz?hBBOsGeqI|G>e`FNn9XZ&j<8Vex-H`u}2BCs$ zF4I*8X)4`4Xb_3&JeseRscbkfWj2T7K8oB+;*8HplT;MJgEulEaYeD$qeGV9UGF@+?6#*hHP9L zlH=Cka3{zU*L%7KWP2o(y&CeA28kyvkyoZ`kg(q0FH@;IWaBn#<(#}jrWmwxHmW;i zd3M`f!s&pFe*G*>B~Qu;qeENJNilDUmFO z=$xmhc5wkV6`U_?#S1WJWhEE<0Dh76Od{!?aFijvcm#DXqz4>f9>^ZNlH)Q8i5{HG ztKN_FdU11eb3No+T-@m#fI5$$OGCS$PHS^57HJ^vYCoywG_m0K zRXPq2$>r+GrV1+EoT}#Rqo{Oas=7(&q1@=#tWnfWOvKWk}7sWlV))kQp3*p%~@b^1%zsoHIe;;ldY04xc`3vD-@CaFh+gh4M z9r8!wMNj!C#P@jBTF*LJA+hfKg}wpMXD&Np`WWIsY;?0fRaZ;qsufxaaQVUP@!W=d zQXzl)^>(ojXN9Lu^@@`ThyLm&I8N*h31fSut$3NKxHuYc9{Tv>j}hL%@Fa`y_ZFDI z%3JYk*DilB0sBmwJu!wTfV$XeF2a9*o!_w@t~=UpZ-M%vIML;Sx>1~@J3~~r9P&nJ zr?DjDiyWR;?=l4C-f?>ZNEO6Y$OG=m8J30oEC_s%4U_7i92)tgO1)g29t=R-FVjW$ zY&To4*6(jrt8(121$$QPoRd{B zP{B3KLEd;jsvPW@t!WA%IqT&mh7HSeJbos5xw;tQ`9N+3@Y_7Id7s;S8S2zD@E0WO zl2;xYGEh*j$vBj%F4(qdQ@Jiq0`{oB2lgM!dv*5Li(V=#A|dM#=E$;$#%>`! zAnz4>1%iYC=+l;W^XNT*dv>-8yhE(OF+M+EuPP${?Y|yBZWjxQ{tX*eL!FV(i#Khe zc>R=( zg43sOL%j0))6$?GBo0AAOa%Ccg5zCKUlC`pthN*MfSVYipbtUh7k+CZ)glQG>ZvQt zfVo1VP$WOWwqPrr-EM2=-OEch?`2L9X(! zKl@Uo82gxpy1%psnc7GwniOV!yf#P|>mpk*$LYzp9jDE0Gl1V6)DrF%N z3-!KBT?3&1^M8Hlt5@~l?5%=ql=q3_7Y+4q_u=c-i$p8U2>-G&gnve&-L+(UE1s8U ze$BUSC)7n&X52b)V`EwVJCBwWOr&f!Q@{%*QU*_c!a$vhNJ~pgLisE=(G`vGXNK8_ zNNO!C>I;e8Bf|j&tk*W!=Hy!iixxfAg6a#*w^T{DYwpyc1HwWbvCR3IR{2TMAv;x(&Ih-ixoNB#{Q#m?(R~{$(_PTFqMqEUW z>4(=-P)~{6w|#dlDI^{TnSDn9-gquL>EPgjnbEpyQIw_LfpF==-G0*}0O$+(e@cv=}s?%5wX^dP> zmHkxxNh2pP5z9iR^)QC!@>_8#Dyzu139nyX`1+0Q9&?cB0CXHiMezX2?C~O4uPfy{ zt|-7?MMf`PjOxy-I=#M5$X|Iv7vKn;2WQBLn8b)k}=s!qsGuB@jeO^ll!g7`TV zDAyvp-qA@Morb!JW6szo0-P%yZdN2aLI%Pk!+TUm$mSkd!8G8UtyYYj6=#wU9~v8W z!FutMUwZkGG?}<6&Q<}RB7PM=eHhuf+v%)E_&ckV+7&w+)u-n}E{)Np^H8CT5y&_E zNl`rQp_Aq$+Xy?ne>Z{Rbfe)QANrZ$UmJ@FQC!`~%D+??4@On{G7b&vDo2BwbYrPx zbVsSO(cmY~JU!3OK_B*fN1bzC)khxm+v$tI0|K^*S4*KDvni-t+zEL&yNlX1EuF-_ z^z{SZFTe(enaV=o-xb>7svP-5ibh$q1^IzhoGR)Fht zH-5pt`AoBYV%v?BS2w@?YE0S7kFC{LnuI`X>0-u?AJo_x* z?zpb9_lgf-EACO+2H=?-UJLL5i1(aCe+R^2K~*(d4{=y8l|mmvNHoKOp*~Z8u&EO9 z#kP(v=mSH3R%44oeH*vCW3tge%f1~SVS}n7BG7sHas$-41`Ojz_rQ8(6&7xrk=Bxf zDwU-j>ZhD0JKTRQxo)zCSt{E_7AqC7pGi7B8a2vODwImi>#$y{>+A3ABBP1z7A=LO za1uHR#vvW5@23Oq6xe(EPM6N#!sQ^`oxlf2_G^q#_$VFO-zl%Wl5c8&dQJVx)R&cp zqa+R6Qpr|g;c>smy}yrK6xm`wWp?SHJViCCpGyragf+ib$EDURTJ-1jP$%J4=HHA1 znFEc$PVoOl{p@TA@@~iB%*++$t%QDa=Ie-0Rlncg4RJMvTSc*muT`$f+x0!*b+h8F z*Yr4!Ihgm(2+0V36gaA6;DuLPoSrOFip4fGG{F4|{xQwWBfW9DE31wGk1Sx558amb z;7s*<+I4at?uPN5vtSPzHLXBAE+fMohxDL$_wF*p@0=a|vzfbZq`dv+oA2H_b|WPr zAtCN;YwNb@;_0o2_dUTsu26gjy1o35%l2CfBy4dQ+0mvYY+U!_3-xz2Oo--8;Z%l)1sGDhV!KHU;ijA zhx~uXAO7%%EWpd*PE7nx-@p~{c)YXXiH#3`{Pf4)0Y1B6)8m`5yh-1r9>cNjg8O0{ z=mQJ}u{Tn1e%PIno(%UFNe44x2r0&i3Le=7`I`0;6?I#B18<0lPH2Fua@^nvg%Ks($~^(6=J1yn548 zSs_^$CrY{vpZ_xqn4N>Z8Edgv3du}zw327J4SEm<0SWveK2|#B{b2h9PI-Ja4irBX zkN@^MDd3|%PNq1TNV3~6AwOTL^j@)mg!0|h^qtFdPIKBI|5T~DoK>HMA-}5})zDDQ zlBh?$P)~}J_#;z)zfmXSLz`ydd+Az%g`Jv8%_%0LBcFPzT>YVJRplnTT9+$1@o9Db zuhoymfBoj00$O&A1bc{1)g8nje-xIN92I~5*}BSd!!v@fVJkNrBLV&^YXSeLsOF4z zai;h?ZdH4&SV$I?=2o=gwc_QlNijXv1X~S`^9%Hhtp@br;zb*C19-u6&pltC3^)#D z?4-_$rC5Jozvq#(0Ap{lus%{OA;BJM2Y(ZjC5>Bnvup3#ii;}#8*u_ z@(Z(|UIFf%I!bOOC*6)uMY6R7ZQFNk5AfWF+a&PqH?WF{wwg|r4;MM3TM)ii@(XiO zy}4=MpIdqne={k=z2Zz_)3*Dj+hX83(b3JY9>i4O@oX>P9r;vE0ot#&G1IjqWXgJz z7S*A~#>RFOlF3BWVOvWUT=(dhm-!y_e$6<=?jmjYjDn(*$pd&x%TrZfNN=Qs7s8&5 zLm{2Z)&1?tzbyZwDOXD^&$%n3@&v&D@5-k0EG!B8+{CJ6733Y3id_Yb;HQSeQdt1( z2-<=as)K63+-zPB_&>Gp&u`w7Lmhm=Z=_}C$+3XPi1_~1@#c^2s*VxO%`g4-1zk1) zWz1%?p;SJ`Gx;6D^V#LPCB&5-n=C@YfC&Vwy9nYohcju;1bc${M#~Xchnt70 zjWxIw^LR`iBx~&cp&DF|x!W8p=mU0H-FOnoWa`d3Bsp#^uy`D+s-es`KypvB6w(83 ztkXH2U4ubC0Q`Rq4*op><@ckboddH4V@qHhO=tu@pwXyvCTk3sJHejx#b-OSEfbTY z;6KQ`YZ1H|h$oRzA!=G0OQ?sH7IeMJ0n>aBF6B>#?6DN!X-hkpxm0Gyst!Q|1nSP4 z@^^$C(gXbQYuCn6-6=8>hdx6Lp;ipPa}Mrr@#2Hckgt(pH%n2#6D(}(Q*gcf1kuOr zZ8$zMd}sD7y`H~;%P?+J1f9ba`A-uP2 z@iE82pB?!k=I}*TG4XPYUXOTQg3(i_fPPA;^Pj(ugTJere%FZB^NLc5*I4q%`E z)6@HJ!2Y}2fBf;#HYwi%ybj&(8(BIj;*ZYICEG7`rEnO<35Po=3E_XCe{gs@`v&fW zysI7jh9ak=#IdgiUkruUf*PaBYtowrRFgQD``ZnCT^mj-)HzGRug`^MXNpKWcK`mP z)3GR?tbXZ(dbu6nl_`;Dg1%*>yZk6m;k;LU5BdMA-icXMhls2*nxXrM|4}Lhwl=mT z782Vm*l%hQM2euEWRHx#F6BRxR>D?`?0bZbLw4@qex~>ycu{e2+3pzPh?HSCoJ>;B zpZVJB1&QrD{b|eh(i%)V(sAYp;7==*N`!k%#CsDrU>)*Hm71Sn9XxeCZ)uIH9IduA zkZvS%DE~ulg>iWfrSWpKNK$NN$go}lu#~Eyelv72inCn3mJmbTBn$HD)2HvxgWh9p z$;mWa(IIKmW-xhDsnhDa+jC+&ezP$NYt^n?Q*1=;C{zJj; zU^U1DpH`~}J&3Zg?9YJzYKo$MPT7nFK>AX~mR*553BtW-_tx)yDK(fmbIUHYuO1v8 zoPfBIl$0by_y-{V-iA6L@&~s8|C#mc)*k|y(a=vfs17JI(lXNSs$vPzhUcHBR8vN&Nif?u$o3-aYoh3u_4hUsGXv^sG$AFMI|YJq_nQ(?-ohKOvGI70u-$JM#7T-Ul!7Oa>6t+kkh*tu1fu0$$6q z^tYKH<<}AEBw{am6VuDOLwH| zN}2U^37n$OD`YpZ?(QQ;?y5G(-Y&LCKa{VRePaIe>G|!&B&x?1iPw^zmdKVO$j_Oh zA1y=ipQ5#zWXNCgH*MNfjSDavY}KI0bj7S2@j$KRoiNe|s5`omH12))>63lB+=^u0 zPi zkv%K4-5WqZ$%Ld?+eOt9;`xSouR^|)|La%QFh%4o{5NOM{-Yi6f8m8=Lnwa9P47t0 zLO-Dh^iK--N5)jIkzx^i4llV>5BqHV8YjdfeyWybcL7h?>iOloo`WqoiX*?VCBCp; zz6APHwhs?rQvUBRr=KbWf4I;3_&-oRlt&KbC6f@(E`3ZTlbf-9p?9h8rICE4Dq9^5 zc@fkz>QEi~>upP3xq;WuY)FVlY5Rb8r2Eszf^R8U2&?DR(^X#}Dq-DZlLHI)% zf<<|O`>q-C11Vj%l?0z7zp}Wan#CD?YY_;Vfd2-h`_seu;aP!8#QG z7`)$ua967b7jC3{wdB%?%k?SS51{#c;XjlG*j~0mjrh`?j3g>$yB_SsxCQQ?&%M^! zf2t$2pTliw8F6=?ggFz7wj;dX8n9SKPF|E1YBY3EzMJ?i==Cm#dOhX2lz127wneYc zUkmoXr@+fO2KHYU=X?P6E%@p$!bFtci5|SxvmW^V2hSXH#lilC|NF-s#_h#~zpmqO z9O%*e-;8_j0`3=L3beuPxw6Camk!=jZ6)(7D)hC0f7384M0Q_kF;yV{)}%3w#eo06 zqTjKp0O8BlI5uMiIKXxq;jS3g&`7>D`_nAKzsq z52P5iF9Pa>unukk3w;I5!>#nAzFyLr7wXo5A4Pp+#2Yi9FN^p`h0(vbU3vi9n)mkO zi4+-s%uTyR@&g!cLwTA3%cIoFcCi7Y@)eQ5C-_wHP6hB!e&4mcgc`tS$m~}moPCp_ zy-#pw*)vGahELm&j2am^*#qaZl>hKi@Eeq0w7L(z59Zt6LwZEBOch)Yzs_ZQAG|t$ zZlF={Bz{{mFCkttbm=;Ya2GJ&N+bB6FZpf8i?;8w3os${E1`dZl|x}+7i7xRP+Z(I zDm}KvXEAQZzFJ}(W0>xf8&kQ7EW7fID86#kJ3hSMNmR~nOB`sv+;&e@M1tAn7m8yEu95W?0{#Vg z9x4m+)L>AlLHKXVH@$^$W#?HJ!h25_3x0nyMl1R?$j^_Dj~Af#;d!ezr0*w!H1}DV z6f1bUpje3ThPo}v)88dmy@&isT@&ZMEQrJAs)*_=h&P@`g6GyjU7*60Z;F9_lcz4> z8>AnXbShd1_2@VXCVa^QSiidH%O2c-F;$Gd9qNAaJm`GMv&e_z_nV3!&TEvVg?n3} zUqsc35dMYRc8npM3&tnSIIMeARFntFh*g!e6y%x+Zqh_b0p?2EId@ci08bOGwxjj? z4~J|B;cpX6T3{N1pD1)XdmxS*C!HA(x3J#x>_e!IV})(ucWUsjmXv0xOCtDxTjJT} zbNEtzTDE9WWV8?XP-T9p=0-{czX}Ge^l%+FXFI@NBKQ=2?MHr&Lef+x;$DXN)vHrV zsPDz48jZWQm+PLBFx>kiscKqMxhgJB4SgTpXy@a*^0fjebL4LY`v?1@i^&NL;fnAF z_|s_c7vIB1%eIn9!qvj{P%nf&ky2i8j68VIM|}wWIZ(&j_f&i3Z&z%x+*2JRar`Of zBIJ`-N@)d(`_@(`;2r~f!aWJR2@C89fd7hs`Sgq@ejDaRBXJz!4=4`8eHb<*3oMqs zF+>E+qq&6_R5t)WdoIfVb8~3u*T}G>MOzPHx@6R^@AQ@Ow=qT;79Tm4Nn^mU^w5|9D?d2`16*bY4BtGiAT?_fhy0k z_|ez5A-iwgx6if)K6h5JFp@<4v@9V3Dhv?EG^Gop2!Dw0)e(HKdq@~iJem*r-Dn_PU)thu8=`5qVQkTHZFQ){|AkU!q5$jQ}X5m+@S z5Yk^;qRsI?_*cXGl+kr&8tPmgFkHmHva;0uz2HZk&LnO-;*(XS^j7faoW$sTOCjH2 zwf)sc0dJeOEo}6;e!uOQO

zDfz{;HVgRvh7BTTr|PIUSXxdMiE%!Rp_C4^>YwzhTLJ$HjW%yH!XLILdT{Idk5c6S zS89{&;HS)|RzE=XBi8Ts!S!MOD4aP5@r30DHOT(+8aiO!K!({b#@s~t@oydDYf!%O zrlIfqRMMm`q-sU z@P{n6te&H}qmD^zjM`igULTH}T)J*u3Bmh=l0KYbf9U z;JLcEi@^U>`92Eq1hLpOJ_9&CrZuGqe;7=qYA`AG&Y$!J2zQdDX~frZY0uDR(A(|_ zP9>6U(#ZxSxr=_oy)FHG3DmRQ$lrfcsMchGzjvnD-^zq~=lZnwe<%d|XW8&C^%3!= zch5=_`A)~VPl4z0z2OBl%F}I=nQzVRgSZ=-t3mZ-#-T2WhWdbYO~NrhFz4cSc7=|u6cGrhE3p%phaMZUk3wB`6!1lUt}p;|QxFHJ8Ja?N?`dd`TratagBsEop*~XQjP@&Jleju3 zhgxokg}MJaiiW>~>Znm6FW|e~8IT`L;>=in{yFGNbG)8BRR6kizrut3+YtQ|#8)X+ zRu;O2_`QZ1V-U`(Dx0Q|-j3e4Xx6~}xLL=io8kTVr{XzDkl#UF5%OLfgSNC9@w~Ub z{6`+@^L^j@{YB6NOwreua~Ax1-h2*qTM3K{Z@IWm_S*>5$IJwOarYlI#dl4lKzllL z1N_V2!U9BboG&Y{XAqBfw6$_-Fadw-eCS~TNK;64O$L5>a^kTT*{SB0KpQ%bnyJXe z;rc9@lR;#UEHIcSGVEB5>>iI=Q;qVm4GC}m4#o3-dWz{n_@3Rxx_UsLijTkIK)AnS z*~mq9zcDns7QO%B8i#*Uqbwj zICro(0^9lK+i!0M{1+Amfgk_0j53R5IDCJL%k?6v$Bk^Es5z+PbC^(`3gZ3M@dC?Mz_D!-bb)Jlj4GHUEJ_p%h7TiZvR1Nc?9PkHTgzyLWMR9S&;zGQSp08Pi@b-^1UBR(6{N!1!1?_uTDum?2JkJK?ukHS{ z$Y}8Uw)jgHwBMB5F9Lnw^F*nupkBgf7_Z(3pIZ)d^XU6LM(=49Z`Qa4mQ2VGc`6N! z&Zp}VqIW?)O@*sD2(KpJ!!W9=enrtx?=QgW;!chr`KPZdClUVrd(;i!clix@+eU40 zy{~kKAio-0_7|5tANkw6TZ`UA_u;Zf@lZV?^TU}3$c`s2c1-wEWZ2EraRajV|4M2B z-d=#U-KzKyUDx%ui^`9P1^i1r9zQxB>~tBBz7AeeRiOL+*r@G8_U`Upcw_^<-}}ZJ zZ!jBwTJ{a~OT1ZmDlO?}*nel2v><~2)3Qh?qUr(nZsqpG>l??G&7bld?}hnqEfxAb z>f=Mccn9^JU#v@HQ2qXg>s8EM=tGtQp+R=68J?O#xO;3oK`i{v2Q^X2tOvgy{r2;;oF@oyEMtfRMtr*9gP}qG|R)d+mOdE=?=E+;)M}V{6X-}#JyW(=1F2EcSt|*^6 zeHPZ)V%c4c=761PNzuq}a5#nCsD3~X(k7$_&da7wx$0}^56ug6cB6SD%avB}HzTUl z&p_WW+W&L~vVRKl8gxBW-ltb0_ye3X$8Ce4O^FSBPEhgj!-Pp_ojKp zlQ_en-k3)5hU0nddJpK~f~U@g_+53F?MCMdsE>~(L!ZDz@gN?4wd8;?tU!LH;H@8C z)#HC#lD&826!Q1uT?ekc4Sy%{{GCPLd&NA-A|7xb#wGM{JStICgZ#phfk2=h@Ee7` zHpF*qeOlZs^dm9OmHdhZIKH+Yejxzn>I$LJfa1SWsnj6cdGG`$s`tTD@O7!WC4vG| zma-Oj{u|nyJ21yf*jvWMGZ5EH{$zdw^*2R8{Pu$VXASi2L3Y2mdGY=k=~|-DI$lr& z>)rIlFb#EXzB&+w`j!9_i8hQNduc2UvIt*mVp|!)d#@=-p}61G9e#qp*T$OB`~DT- z{-0s}DW_<0Ce%ZXlZOu%g8fF;T)&QRbnUBr`7G3PEfwE>dlq;G%+vOud4lN3@zmSU zzb!8}mDa*_Xtl+KD4&nKe(h7J|Kr!T73Lz`tEl31Q0 ziE`5(gnv~Ol@|kb-1kQ4hqYkep1M#mJO_>~ghNz2DTC+z+`HCb6o zi2Jz1=}JQQ*1;AhF8X&}4Dk!Q>3jGP z*?)7iy(La|5YvxVLj4@-;lZ&=6#t-#Qdj_dDphc1e_1{_;&7sb*-_zPtAKW#cyrdx%oEaclrXo zFg0mcvRZ^x^*Wug5>@N%;pnUs4P4V>D~6X?9sewg zeC^BG*=fixnnsIDQQmStIxQaQhxy$fYfzn^(yFtPK~LYi;6V1jY`)t%7J>b3*@a}m za)fWQv*9mD{`cpfzkqNy8jU^Gus*wXZjm8<5Wh3VARYkz_<0=a5aaXA6!PoaAC*}k zPV?Klh9SNm;4f$>ivs%Ab)q`p_csCGN1-g3TbP>a44~h4;xOLRz2Y9QQ;6e|SV3-9 zZtgkge?t5RUJuVhJ&70SIo@!12Kt;oUK2xq6Zp(r>O9Or5Q`=m$RA<}j<*To=>e?L zw1Y)_Uz?}RdV)LrKn1e*fNAy>BrTcOCFr`-yWPNJA@8$jpVUtow}18q=rOcSZD9ZW z%BIp`=^QWuQmNND_{3YdR@cpen`vq19894>bZ;I9u)gnKXp|Kgv= zM~*^&*I7qB$^!ch1cSpqya&r>x*bQM-wb0s!d{3Axw&ffF|rlQfcjsY1oDKeEDf@M zfWHkrAEz&nZaM<>^^aeCapkixw@O)u^xc&D%STnGgp!tUrwEeNC&KZq(<=E>JVMQ{0DU$b#wA^cboBF;rc zCMJ1ivM-H6KzRr7AA|?awq)BjertNC;;gbJ#R+pSOI5L?ew%n(FU*%E;Zcj?ROh7d zb5^Bs@^jMne)X&F+Uy?u`3)P=J1)1TNMKXI1i`}}ewai3sQzwir!Qp<#tW1(n?cXn z;9MxS>}l-XcZ-Uuf&a~Z_28$S+kRSw`pyV%Shsl_@C|TxnP`8OR?yd9{b~vLJ$C5_ zI0j=(Foy>A{@6(OU!7|w$0<*mzX)*s#Ad521U$8xaKHz3R~u!6xsO(u zr#jOyBfg1il!cr6e(?t|_XfO9nVSoK0>8kXitE8URge}6C>8z;_y_1?_uvti?`dmc zE+KYx1I$qskq%a9M|HRybP&4=a|YANsoDc59W`=I`dhhH4x)Ji8dMkXaOz1cTYZce;D@vLfM z<4R|O`H_-`MI3th%(T8|qu=T4sh|12I!fSZ5&ir~KkC(&ey@yxd7JP;w74ea-bW{& zZ_lntNm#x3%=+z1#M|<>S?UYgQtY-%#}NLbO;g_;-+nHe8vJ5Sdv;IChK`Po_UveK zhqtn7CVMUU>8tO~q5Q=9`{gUnN^$j|%TRxxrwzX6P3Yhvdq2E?fAp`!`y-~I zK8pN<`Q0BjBfft<^!B@7ErWQfXOzev_(N%l(InK%*ai6Ap8|f#9=dD-Kfw2!$rq6S zH=1%Zt)K^|Z?a(@$PCuqkqme%H0s<|4E#UG`qB*GjegH%z3e8g&()kfC$?kF33VPc z{}@;p97KK0j2GkLAWlF$FqvxMcO9Tk>Oph&{n|nr@hw`ruVtxhBBjL@pMiK_dAV8* z@gF-B9@ZfH7r0rN>x$s-sMrhlGq%h$AN1Bh+=~K-F9f~>V?U7JN%?LE=VCk9b7W*x zB-A@mz773D;O%+4vyrT8h|73ZhV!8h0er3o_qX7Sd>i4p9_PeLz&#~oKX{N*K|P;> zc6!M~%FZosGt=3yKSwR=%`U(l6Mw4A65CT6HB09jw!`^#X$iOCctqd%zO%{$DV0&S zi@T4-in+W~t_vr!r1?P);4Q%Wt(RMCv+XIACdxdmyqV&sID40>CO1}4oS{7h2UDg- zKDr&ZeF^EED!kN}J-LzTpt(y`2E1dipGR$9OU|1u`PBBCDU-(c>000g&#zpW26YJh z4Rc#1iiekNzh8yqBU{%cRL^OKe$yAw0n}1z4O*{Tdw+Tw2Wc(~a?p80BS8+*hxkOd z0Oczalk{~v%okKKr$Wf?+wTd$55Qb!P))bOaR(dPmq`?Wz1VG_Cs^_D>kp24WZkV0_8qM=9 zR0)!xzK+FwCc1;>ZYu);st0)X&pXO#RPR#+1*Xkl?-}qz18Bdk&Yyw&{4HK0>_dGm z(8PfK^Wk|g?G5l3DZaO^KZ4J1X$ch}K9B(li{^LaN-DHeR)c4VoWebFs2}HQG?3q8 zku8g%PP-YKCN#hcq}aYMDCjpGz}Jo@hT>E)WTN}wUJ>xJB^BK?S+bVgr1ksf3VNmS zuF%L_L7#N&be=X?Fq2L5Jk;HSC8UYE-(3d*#!LF!}5~<*V6mPHFafc<1t*X5E@`+N=rI3t+AJpgoX&;NiDHTi|^cT zf!m6}AqXL1wEc{N7Q{wlfF#B1ObxYGTS}*6HA7z%P6%mjQz#k^W8Z0~Rcohu#5xKL zz77}!tQrY{ zGn%gC8u_2LO2nc#HT)wC3aF94jAz*3J@A40+*)W`3VC5=+c?S1ll{{TTQIhVdBhLX zN;xK#l+><2}^DE{aP$OZn>Co(QT{`1C-PNo8M5F~NL7kg@h&I?6}+O)8d zy@yd0=GoE;b#8*d%xZAHJF9#7d*y2FlhP?Bxnf1GQk>3wwy7|eb+Sxp#rj;H z&yV#-?yY(yP$WhHm{qTQoG%(0(e-WmI9CL}9&nP{P6)uZiu&9dkq%>$mJxB0HoOPJ zirIlzURR*53h?EK2MeQ?yU<@-HEhDKfnO;pi5R5Nd;ZEW$IoVdkpzF5K=OY}Ye$z_ zJCVY+%mkPUrM%|)rj2JoZ#z39Al@RoTxSkV1HURHYZ7VS3w3n{H{?RB%d3H3QpO2f z9mxmyF~oG;C-4)H8}bj0Lu*J+F!H`-7jTX;mBz~?|Kr1@da|bx&XLl-*KPX?BZYhr z)VxlLxSmxX2owEvp$P-+bJrC=@qygZ&W_aO=E;+jlUpBzAF&*IIr3{1s;01b2)L!d z;^Ur!m@njY+#KR^ivu0UuYymI&QVHn{(TSx9|N!bn5K1gGU7q{(p~onk5O~C|31l; zq{E+P=Yh}KkEZkyzj2Q}q`LzS2{We|l8b#!3(R-0_tkEn??k>@yR?%TItX0izm?nm z<6hBpX0waoFThR|i6@Ua&y))M^y(+9AoU{X}$-&R5WJu-^IFq z&6tFX`TG?jaaaJZSiuh3j5{k{iVcCj)3ASXjI_VLNLs)(`G*p?*$CNxmD_h9{s=#? zPKP-9c#0H)lkfo|i8?@XUNSQby$*E02HY#;`Arz^3Cb3k-W&|RrQIqExTVd7*yrWJ z&Zm&2t2DgZIgzMLmjz)EY{$ND^{vtpzAq`|k@xVv@~iriONa3JkZ~yaA=rcaTKw!m z=w~_raiRLb-AyR*b;(Vxgx&H+4T7-MNmtUw&5ygJz zd*xn!dVpbmu~$>95Ae*Yt@rYorNPMDruEv6&K|Z6>wt8Gg+%Os=p`D`Cs((XZ6y2o z*O!JM?A^&ZQ+ciV-0Qw7X^3`&wDs}HV?Gl-I z%mBU^Pg%oWOoK5hS}-N*A*vUj)k7_x$gRolZ`{a^R%SF z@B7`rKqTt_15OTBV$v=Dt@?cUjnoJb6a9_0v1VjL%QRjUM|D4q4!J_md&Qe?{*?UvZ@+!1Gypzo z^~S|K1pLR>-<-)?0lL(o{s;W!^5ml_lbjHyZqmMJdA=#~V6i(>lH(10zo|RZ8JX4Xf;<+*?5J$308Ri7<#W()P>^cs z5aQ>}lJvNG&`GB^+Y4b2s=Penw8RIe<7pp+P)MU%u|(FUN!1X&>MixqJH}HwyF0r{ zpE|RnyqxSN9iI%m*?7wEr|vk~Pt393|C=-`O@40i$~JoMP{Yi>0WT!q^1uFb(-K)8 z^pLJD$UBAGz1X`>JD&2Ineb^Ohq)QL&uZ6*jr^3O?f_5uSX_GqaocXi zy%gWEvsTL#o_D0x>#YMWbg}maa|rw8TD5OVK>X- z6IEW|C4h_Gx33;~_$!|1soW0w4;=f0`;ZoX+sl{BR)Ee&u9oU>KFF6^u1%4=KZJT3 z7a{Kfqf7=4O#7F=oIahrc170bpVwmDfyXE_ly}P|a-^N9iEk4f`TlN2tbA~=W%exm z{2H$?MfCrCZ7xn>g*^1$k^35)XI<{NIN&w3)<~%DWAMQb?d_tEVW*7@C^6!k<^>7- z<#K&VDf|a^z~S;<(yyg32?a%W!LeC3Se(Q0Fa+iIuQ24evs?y9ZHH5FwDw? z?ZC%bY>g#na339Dz-O@j2Hi#-(d+#AnMtC1+`g|)lixKV;lOzp^pGR}`1=nRAny?m zO(ndDWk-WGAN+Jba{vBW{Jo&2q9RScHx@7=CEe%3{dblVU%l^+izU6RH1an)=BsF3 zyst9>{IbT;xt#R2*Zj{R-Y}k`pA8@$7AsSwrY=4UJ{vU$AE9&(unu1|4uAVYc=^c2d>$ZvXG{&@ChKHA@#Ej_@gcFTERLlwot zpJat$ih~9FXN?zfkH^9-1RUs!ta{)_iEl=7a)5h}lZ_&Q8Q+&9pUz8mzT<$~qsq^d z&(63$I9Tq=1U@M}f#?vt9V9(qR+w~Xu&?9x#VPI;y{_n7I$C(KXnU>_`IUj9^|?;_ z;6@GnCZ=%Q-o&i9sK1fqzeclq^~bsEwId^(@D}9NL&!%YKCp`wPbL>^mA9=)Q+|g0 z9>g0<)i`Ⴑ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�Gk|!&wQ5T^acr4`GSVjUgj@5^d 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 BI6VLW diff --git a/ElvUI_SLE/media/textures/Horde-text.blp b/ElvUI_SLE/media/textures/Horde-text.blp deleted file mode 100644 index 7de857c9166dda431391e46ef68d2b762dea62b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 88564 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 diff --git a/ElvUI_SLE/media/textures/TheEmpire.blp b/ElvUI_SLE/media/textures/TheEmpire.blp deleted file mode 100644 index ff3679faecfb5957dedc919e276cb30adc4f0e4b..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 44876 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 JFxvq8{{ckoy4U~! diff --git a/ElvUI_SLE/media/textures/Warning-Small.blp b/ElvUI_SLE/media/textures/Warning-Small.blp deleted file mode 100644 index e0817d3bed888d1291027886c2ccbf427bba42e1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1540 zcmeH^-z!657{}i;ltTFx7hG(yKVb6W(wRtdA@%M|omPGo<4%fLgs5E`5sD<8C0ERa zxb%D8FHbF=ehVk*5;N94k2X7_|#&PL)MQ?o{$(!KOuFv>-- local args self:SetScript('OnEvent', function(self, Event, ...) - if Event == 'SOCKET_INFO_SUCCESS' or Event == 'ITEM_UPGRADE_MASTER_UPDATE' or Event == 'TRANSMOGRIFY_UPDATE' or Event == 'PLAYER_ENTERING_WORLD' then + if Event == 'SOCKET_INFO_SUCCESS' or Event == 'ITEM_UPGRADE_MASTER_UPDATE' or Event == 'TRANSMOGRIFY_UPDATE' or Event == 'PLAYER_ENTERING_WORLD' or Event == 'PLAYER_EQUIPMENT_CHANGED' then self.GearUpdated = nil - self:SetScript('OnUpdate', self.CharacterArmory_DataSetting) + self:SetScript('OnUpdate', self.ScanData) elseif Event == 'UNIT_INVENTORY_CHANGED' then args = ... if args == 'player' then self.GearUpdated = nil - self:SetScript('OnUpdate', self.CharacterArmory_DataSetting) + self:SetScript('OnUpdate', self.ScanData) end - elseif Event == 'PLAYER_EQUIPMENT_CHANGED' then - args = ... - - self.GearUpdated = type(self.GearUpdated) == 'table' and self.GearUpdated or {} - self.GearUpdated[#self.GearUpdated + 1] = SlotIDList[args] - self:SetScript('OnUpdate', self.CharacterArmory_DataSetting) elseif Event == 'COMBAT_LOG_EVENT_UNFILTERED' then _, Event, _, _, _, _, _, _, args = ... if Event == 'ENCHANT_APPLIED' and args == E.myname then self.GearUpdated = nil - self:SetScript('OnUpdate', self.CharacterArmory_DataSetting) + self:SetScript('OnUpdate', self.ScanData) end elseif Event == 'UPDATE_INVENTORY_DURABILITY' then self.DurabilityUpdated = nil - self:SetScript('OnUpdate', self.CharacterArmory_DataSetting) + self:SetScript('OnUpdate', self.ScanData) end end) - self:SetScript('OnShow', self.CharacterArmory_DataSetting) + self:SetScript('OnShow', self.ScanData) hooksecurefunc('CharacterFrame_Collapse', function() if Info.CharacterArmory_Activate and PaperDollFrame:IsShown() then CharacterFrame:SetWidth(448) end end) hooksecurefunc('CharacterFrame_Expand', function() if Info.CharacterArmory_Activate and PaperDollFrame:IsShown() then CharacterFrame:SetWidth(650) end end) hooksecurefunc('ToggleCharacter', function(frameType) @@ -205,11 +201,15 @@ function CA:Setup_CharacterArmory() end end) + self.DisplayUpdater = CreateFrame('Frame', nil, PaperDollFrame) + self.DisplayUpdater:SetScript('OnShow', function() if Info.CharacterArmory_Activate then self:Update_Display(true) end end) + self.DisplayUpdater:SetScript('OnUpdate', function() if Info.CharacterArmory_Activate then self:Update_Display() end end) + --<< Background >>-- self.BG = self:CreateTexture(nil, 'OVERLAY') self.BG:SetPoint('TOPLEFT', self, -7, -20) self.BG:SetPoint('BOTTOMRIGHT', self, 7, 2) - self:UpdateCharacterBG() + self:Update_BG() --<< Change Model Frame's frameLevel >>-- CharacterModelFrame:SetFrameLevel(self:GetFrameLevel() + 2) @@ -245,7 +245,7 @@ function CA:Setup_CharacterArmory() Slot.Gradation:SetTexCoord(1, 0, 0, 1) end - if not KF.db.Modules.Armory.Character.Gradation.DisplayGradation then + if not E.db.sle.Armory.Character.Gradation.Display then Slot.Gradation:Hide() end @@ -258,7 +258,7 @@ function CA:Setup_CharacterArmory() directionH = Slot.Direction }, 'TOP'..Slot.Direction, _G['Character'..SlotName], 'TOP'..(Slot.Direction == 'LEFT' and 'RIGHT' or 'LEFT'), Slot.Direction == 'LEFT' and 2 or -2, -1) - if not E.db.sle.Armory.Character.Level.DisplayLevel then + if E.db.sle.Armory.Character.Level.Display == 'Hide' then Slot.ItemLevel:Hide() end @@ -270,18 +270,12 @@ function CA:Setup_CharacterArmory() directionH = Slot.Direction }, Slot.Direction, _G['Character'..SlotName], Slot.Direction == 'LEFT' and 'RIGHT' or 'LEFT', Slot.Direction == 'LEFT' and 2 or -2, 1) - if E.db.sle.Armory.Character.DisplayWhenMouseoverOnly then - Slot.ItemEnchant:SetDrawLayer('HIGHLIGHT') - else - Slot.ItemEnchant:SetDrawLayer('OVERLAY') - end - - if not E.db.sle.Armory.Character.Enchant.DisplayEnchant then + if E.db.sle.Armory.Character.Enchant.Display == 'Hide' then Slot.ItemEnchant:Hide() end Slot.EnchantWarning = CreateFrame('Button', nil, Slot) - Slot.EnchantWarning:Size(E.db.sle.Armory.Character.ItemEnchant.WarningSize) + Slot.EnchantWarning:Size(E.db.sle.Armory.Character.Enchant.WarningSize) Slot.EnchantWarning.Texture = Slot.EnchantWarning:CreateTexture(nil, 'OVERLAY') Slot.EnchantWarning.Texture:SetInside() Slot.EnchantWarning.Texture:SetTexture('Interface\\AddOns\\ElvUI_SLE\\modules\\Armory\\Media\\Textures\\Warning-Small') @@ -290,12 +284,17 @@ function CA:Setup_CharacterArmory() Slot.EnchantWarning:SetScript('OnLeave', self.OnLeave) -- Durability - KF:TextSetting(Slot, nil, { Tag = 'Durability', FontSize = 10, directionH = Slot.Direction }, 'BOTTOM'..Slot.Direction, _G['Character'..SlotName], 'BOTTOM'..(Slot.Direction == 'LEFT' and 'RIGHT' or 'LEFT'), Slot.Direction == 'LEFT' and 2 or -2, 3) + KF:TextSetting(Slot, nil, { Tag = 'Durability', + Font = E.db.sle.Armory.Character.Durability.Font, + FontSize = E.db.sle.Armory.Character.Durability.FontSize, + FontStyle = E.db.sle.Armory.Character.Durability.FontStyle, + directionH = Slot.Direction + }, 'BOTTOM'..Slot.Direction, _G['Character'..SlotName], 'BOTTOM'..(Slot.Direction == 'LEFT' and 'RIGHT' or 'LEFT'), Slot.Direction == 'LEFT' and 2 or -2, 3) -- Gem Socket for i = 1, MAX_NUM_SOCKETS do Slot['Socket'..i] = CreateFrame('Frame', nil, Slot) - Slot['Socket'..i]:Size(E.db.sle.Armory.Character.ItemGem.SocketSize) + Slot['Socket'..i]:Size(E.db.sle.Armory.Character.Gem.SocketSize) Slot['Socket'..i]:SetBackdrop({ bgFile = E.media.blankTex, edgeFile = E.media.blankTex, @@ -332,7 +331,7 @@ function CA:Setup_CharacterArmory() Slot.Socket3:Point(Slot.Direction, Slot.Socket2, Slot.Direction == 'LEFT' and 'RIGHT' or 'LEFT', Slot.Direction == 'LEFT' and 1 or -1, 0) Slot.SocketWarning = CreateFrame('Button', nil, Slot) - Slot.SocketWarning:Size(E.db.sle.Armory.Character.ItemEnchant.WarningSize) + Slot.SocketWarning:Size(E.db.sle.Armory.Character.Enchant.WarningSize) Slot.SocketWarning:RegisterForClicks('AnyUp') Slot.SocketWarning.Texture = Slot.SocketWarning:CreateTexture(nil, 'OVERLAY') Slot.SocketWarning.Texture:SetInside() @@ -377,7 +376,7 @@ function CA:Setup_CharacterArmory() end -function CA:CharacterArmory_DataSetting() +function CA:ScanData() self.NeedUpdate = nil if not self.DurabilityUpdated then @@ -391,7 +390,7 @@ function CA:CharacterArmory_DataSetting() if not self.NeedUpdate and self:IsShown() then self:SetScript('OnUpdate', nil) elseif self.NeedUpdate then - self:SetScript('OnUpdate', self.CharacterArmory_DataSetting) + self:SetScript('OnUpdate', self.ScanData) end end @@ -403,10 +402,15 @@ function CA:Update_Durability() Slot = self[SlotName] CurrentDurability, MaxDurability = GetInventoryItemDurability(Slot.ID) - if CurrentDurability and MaxDurability then + if CurrentDurability and MaxDurability and not (E.db.sle.Armory.Character.Durability.Display == 'DamagedOnly' and CurrentDurability == MaxDurability) then R, G, B = E:ColorGradient((CurrentDurability / MaxDurability), 1, 0, 0, 1, 1, 0, 0, 1, 0) Slot.Durability:SetFormattedText("%s%.0f%%|r", E:RGBToHex(R, G, B), (CurrentDurability / MaxDurability) * 100) - Slot.Socket1:Point('BOTTOM'..Slot.Direction, Slot.Durability, 'BOTTOM'..(Slot.Direction == 'LEFT' and 'RIGHT' or 'LEFT'), Slot.Direction == 'LEFT' and 3 or -3, -2) + + if (E.db.sle.Armory.Character.Durability.Display == 'MouseoverOnly' and not Slot:IsMouseOver()) or E.db.sle.Armory.Character.Durability.Display == 'Hide' then + Slot.Socket1:Point('BOTTOM'..Slot.Direction, _G['Character'..SlotName], 'BOTTOM'..(Slot.Direction == 'LEFT' and 'RIGHT' or 'LEFT'), Slot.Direction == 'LEFT' and 2 or -2, 2) + else + Slot.Socket1:Point('BOTTOM'..Slot.Direction, Slot.Durability, 'BOTTOM'..(Slot.Direction == 'LEFT' and 'RIGHT' or 'LEFT'), Slot.Durability:GetText() and (Slot.Direction == 'LEFT' and 3 or -1) or 0, Slot.Durability:GetText() and -1 or 0) + end elseif Slot.Durability then Slot.Durability:SetText('') Slot.Socket1:Point('BOTTOM'..Slot.Direction, _G['Character'..SlotName], 'BOTTOM'..(Slot.Direction == 'LEFT' and 'RIGHT' or 'LEFT'), Slot.Direction == 'LEFT' and 3 or -3, 3) @@ -442,17 +446,19 @@ function CA:Update_Gear() if Prof2 and Info.Armory_Constants.ProfessionList[Prof2] then self.PlayerProfession[(Info.Armory_Constants.ProfessionList[Prof2].Key)] = Prof2_Level end ]] local ErrorDetected, NeedUpdate, NeedUpdateList, R, G, B - local Slot, ItemLink, ItemData, ItemRarity, BasicItemLevel, TrueItemLevel, ItemUpgradeID, ItemType, ItemTexture, IsEnchanted, UsableEffect, CurrentLineText, GemID, GemCount_Default, GemCount_Enable, GemCount_Now, GemCount, IsTransmogrified, TransmogrifyItemID + local Slot, ItemLink, ItemData, ItemRarity, BasicItemLevel, TrueItemLevel, ItemUpgradeID, ItemType, ItemTexture, UsableEffect, CurrentLineText, GemID, GemCount_Default, GemCount_Enable, GemCount_Now, GemCount, IsTransmogrified, TransmogrifyItemID - for _, SlotName in pairs(self.GearUpdated or Info.Armory_Constants.GearList) do + for _, SlotName in pairs(type(self.GearUpdated) == 'table' and self.GearUpdated or Info.Armory_Constants.GearList) do + Slot = self[SlotName] + ItemLink = GetInventoryItemLink('player', Slot.ID) + ErrorDetected = nil + if not (SlotName == 'ShirtSlot' or SlotName == 'TabardSlot') then - Slot = self[SlotName] - ItemLink = GetInventoryItemLink('player', Slot.ID) - do --<< Clear Setting >>-- - NeedUpdate, ErrorDetected, TrueItemLevel, IsEnchanted, UsableEffect, ItemUpgradeID, ItemType, ItemTexture = nil, nil, nil, nil, nil, nil, nil, nil + NeedUpdate, TrueItemLevel, UsableEffect, ItemUpgradeID, ItemType, ItemTexture = nil, nil, nil, nil, nil, nil Slot.ItemLevel:SetText(nil) + Slot.IsEnchanted = nil Slot.ItemEnchant:SetText(nil) for i = 1, MAX_NUM_SOCKETS do Slot['Socket'..i].Texture:SetTexture(nil) @@ -528,7 +534,7 @@ function CA:Update_Gear() end if ItemTexture or GemID then - if E.db.sle.Armory.Character.Gem.DisplaySocket then + if E.db.sle.Armory.Character.Gem.Display == 'Always' or E.db.sle.Armory.Character.Gem.Display == 'MouseoverOnly' and Slot.Mouseovered or E.db.sle.Armory.Character.Gem.Display == 'MissingOnly' then Slot['Socket'..i]:Show() Slot.SocketWarning:Point(Slot.Direction, Slot['Socket'..i], (Slot.Direction == 'LEFT' and 'RIGHT' or 'LEFT'), Slot.Direction == 'LEFT' and 3 or -3, 0) end @@ -570,7 +576,7 @@ function CA:Update_Gear() elseif CurrentLineText:find(Info.Armory_Constants.ItemLevelKey) then TrueItemLevel = tonumber(CurrentLineText:match(Info.Armory_Constants.ItemLevelKey)) elseif CurrentLineText:find(Info.Armory_Constants.EnchantKey) then - if E.db.sle.Armory.Character.Enchant.DisplayEnchant then + if E.db.sle.Armory.Character.Enchant.Display ~= 'Hide' then CurrentLineText = CurrentLineText:match(Info.Armory_Constants.EnchantKey) -- Get enchant string CurrentLineText = gsub(CurrentLineText, ITEM_MOD_AGILITY_SHORT, AGI) CurrentLineText = gsub(CurrentLineText, ITEM_MOD_SPIRIT_SHORT, SPI) @@ -586,6 +592,10 @@ function CA:Update_Gear() end end + for Old, New in pairs(KnightFrame_ArmoryDB.EnchantString) do + CurrentLineText = gsub(CurrentLineText, Old, New) + end + Slot.ItemEnchant:SetText('|cffceff00'..CurrentLineText) end @@ -598,21 +608,30 @@ function CA:Update_Gear() --<< ItemLevel Parts >>-- if BasicItemLevel then if ItemUpgradeID then - if ItemUpgradeID == '0' then + if ItemUpgradeID == '0' or not E.db.sle.Armory.Character.Level.ShowUpgradeLevel and ItemRarity == 7 then ItemUpgradeID = nil else ItemUpgradeID = TrueItemLevel - BasicItemLevel end end - Slot.ItemLevel:SetText((not TrueItemLevel or BasicItemLevel == TrueItemLevel) and BasicItemLevel or (Slot.Direction == 'LEFT' and TrueItemLevel or '')..(ItemUpgradeID and (Slot.Direction == 'LEFT' and ' ' or '')..(Info.Armory_Constants.UpgradeColor[ItemUpgradeID] or '|cffaaaaaa')..'(+'..ItemUpgradeID..')|r'..(Slot.Direction == 'RIGHT' and ' ' or '') or '')..(Slot.Direction == 'RIGHT' and TrueItemLevel or '')) + Slot.ItemLevel:SetText( + (not TrueItemLevel or BasicItemLevel == TrueItemLevel) and BasicItemLevel + or + E.db.sle.Armory.Character.Level.ShowUpgradeLevel and (Slot.Direction == 'LEFT' and TrueItemLevel..' ' or '')..(ItemUpgradeID and (Info.Armory_Constants.UpgradeColor[ItemUpgradeID] or '|cffaaaaaa')..'(+'..ItemUpgradeID..')|r' or '')..(Slot.Direction == 'RIGHT' and ' '..TrueItemLevel or '') + or + TrueItemLevel + ) end if E.db.sle.Armory.Character.NoticeMissing ~= false then - if not IsEnchanted and Info.Armory_Constants.EnchantableSlots[SlotName] and not (SlotName ~= 'SecondaryHandSlot' and ItemType ~= 'INVTYPE_WEAPON' and ItemType ~= 'INVTYPE_WEAPONOFFHAND' and ItemType ~= 'INVTYPE_RANGEDRIGHT') then + if not Slot.IsEnchanted and Info.Armory_Constants.EnchantableSlots[SlotName] and not (SlotName == 'SecondaryHandSlot' and ItemType ~= 'INVTYPE_WEAPON' and ItemType ~= 'INVTYPE_WEAPONOFFHAND' and ItemType ~= 'INVTYPE_RANGEDRIGHT') then ErrorDetected = true Slot.EnchantWarning:Show() - Slot.ItemEnchant:SetText('|cffff0000'..L['Not Enchanted']) + + if not E.db.sle.Armory.Character.Enchant.WarningIconOnly then + Slot.ItemEnchant:SetText('|cffff0000'..L['Not Enchanted']) + end end if GemCount_Enable > GemCount_Now or GemCount_Enable > GemCount or GemCount_Now > GemCount then @@ -632,110 +651,29 @@ function CA:Update_Gear() Slot.TransmogrifyAnchor:Show() end end - - --[[ Check Error - if E.db.sle.Armory.Character.NoticeMissing ~= false then - if (not IsEnchanted and Info.Armory_Constants.EnchantableSlots[SlotName]) or ((SlotName == 'Finger0Slot' or SlotName == 'Finger1Slot') and self.PlayerProfession.Enchanting and self.PlayerProfession.Enchanting >= 550 and not IsEnchanted) then - ErrorDetected = true - Slot.EnchantWarning:Show() - Slot.ItemEnchant:SetText('|cffff0000'..L['Not Enchanted']) - elseif self.PlayerProfession.Engineering and ((SlotName == 'BackSlot' and self.PlayerProfession.Engineering >= 380) or (SlotName == 'HandsSlot' and self.PlayerProfession.Engineering >= 400) or (SlotName == 'WaistSlot' and self.PlayerProfession.Engineering >= 380)) and not UsableEffect then - ErrorDetected = true - Slot.EnchantWarning:Show() - Slot.EnchantWarning.Message = '|cff71d5ff'..GetSpellInfo(110403)..'|r : '..L['Missing Tinkers'] - elseif SlotName == 'ShoulderSlot' and self.PlayerProfession.Inscription and Info.Armory_EnchantList.Profession_Inscription and self.PlayerProfession.Inscription >= Info.Armory_EnchantList.Profession_Inscription and not KF.Table.ItemEnchant_Profession_Inscription[(ItemData[3])] then - ErrorDetected = true - Slot.EnchantWarning:Show() - Slot.EnchantWarning.Message = '|cff71d5ff'..GetSpellInfo(110400)..'|r : '..L['This is not profession only.'] - elseif SlotName == 'WristSlot' and self.PlayerProfession.LeatherWorking and Info.Armory_EnchantList.Profession_LeatherWorking and self.PlayerProfession.LeatherWorking >= Info.Armory_EnchantList.Profession_LeatherWorking and not KF.Table.ItemEnchant_Profession_LeatherWorking[(ItemData[3])] then - ErrorDetected = true - Slot.EnchantWarning:Show() - Slot.EnchantWarning.Message = '|cff71d5ff'..GetSpellInfo(110423)..'|r : '..L['This is not profession only.'] - elseif SlotName == 'BackSlot' and self.PlayerProfession.Tailoring and Info.Armory_EnchantList.Profession_Tailoring then - for EnchantID, NeedLevel in pairs(Info.Armory_EnchantList.Profession_Tailoring) do - if self.PlayerProfession.Tailoring >= NeedLevel then - if EnchantID == ItemTable[3] then - ErrorDetected = nil - break - else - ErrorDetected = true - end - end - end - - Slot.EnchantWarning:Show() - Slot.EnchantWarning.Message = '|cff71d5ff'..GetSpellInfo(110426)..'|r : '..L['This is not profession only.'] - end - - if GemCount_Enable > GemCount_Now or GemCount_Enable > GemCount or GemCount_Now > GemCount then - ErrorDetected = true - - Slot.SocketWarning:Show() - - if GemCount_Enable > GemCount_Now then - if SlotName == 'WaistSlot' then - if TrueItemLevel < 300 then - _, Slot.SocketWarning.Link = GetItemInfo(41611) - elseif TrueItemLevel < 417 then - _, Slot.SocketWarning.Link = GetItemInfo(55054) - else - _, Slot.SocketWarning.Link = GetItemInfo(90046) - end - - Slot.SocketWarning.Message = L['Missing Buckle'] - - Slot.SocketWarning:SetScript('OnClick', function(self, button) - local itemName, itemLink - - if TrueItemLevel < 300 then - itemName, itemLink = GetItemInfo(41611) - elseif TrueItemLevel < 417 then - itemName, itemLink = GetItemInfo(55054) - else - itemName, itemLink = GetItemInfo(90046) - end - - if HandleModifiedItemClick(itemLink) then - elseif IsShiftKeyDown() then - if button == 'RightButton' then - SocketInventoryItem(Slot.ID) - elseif BrowseName and BrowseName:IsVisible() then - AuctionFrameBrowse_Reset(BrowseResetButton) - BrowseName:SetText(itemName) - BrowseName:SetFocus() - end - end - end) - elseif SlotName == 'HandsSlot' then - Slot.SocketWarning.Link = GetSpellLink(114112) - Slot.SocketWarning.Message = '|cff71d5ff'..GetSpellInfo(110396)..'|r : '..L['Missing Socket'] - elseif SlotName == 'WristSlot' then - Slot.SocketWarning.Link = GetSpellLink(113263) - Slot.SocketWarning.Message = '|cff71d5ff'..GetSpellInfo(110396)..'|r : '..L['Missing Socket'] - end - else - Slot.SocketWarning.Message = '|cffff5678'..(GemCount_Now - GemCount)..'|r '..L['Empty Socket'] - end - end - end - ]] else NeedUpdate = true end end - -- Change Gradation - if ErrorDetected and E.db.sle.Armory.Character.NoticeMissing ~= false then - Slot.Gradation:SetVertexColor(1, 0, 0) - else - Slot.Gradation:SetVertexColor(unpack(E.db.sle.Armory.Character.Gradation.Color)) - end - if NeedUpdate then NeedUpdateList = NeedUpdateList or {} NeedUpdateList[#NeedUpdateList + 1] = SlotName end end + + -- Change Gradation + if ItemLink and E.db.sle.Armory.Character.Gradation.Display then + Slot.Gradation:Show() + else + Slot.Gradation:Hide() + end + if ErrorDetected and E.db.sle.Armory.Character.NoticeMissing then + Slot.Gradation:SetVertexColor(1, 0, 0) + Slot.Gradation:Show() + else + Slot.Gradation:SetVertexColor(unpack(E.db.sle.Armory.Character.Gradation.Color)) + end end self.AverageItemLevel:SetText(KF:Color_Value(STAT_AVERAGE_ITEM_LEVEL)..' : '..format('%.2f', select(2, GetAverageItemLevel()))) @@ -749,70 +687,191 @@ function CA:Update_Gear() end -function CA:UpdateCharacterBG() - if E.db.sle.Armory.Character.Background.SelectedBG == 'HIDE' then +function CA:Update_BG() + if E.db.sle.Armory.Character.Backdrop.SelectedBG == 'HIDE' then self.BG:SetTexture(nil) - elseif E.db.sle.Armory.Character.Background.SelectedBG == 'CUSTOM' then - self.BG:SetTexture(E.db.sle.Armory.Character.Background.CustomAddress) + elseif E.db.sle.Armory.Character.Backdrop.SelectedBG == 'CUSTOM' then + self.BG:SetTexture(E.db.sle.Armory.Character.Backdrop.CustomAddress) else - self.BG:SetTexture('Interface\\AddOns\\ElvUI_SLE\\modules\\Armory\\Media\\Textures'..E.db.sle.Armory.Character.Background.SelectedBG) + self.BG:SetTexture(Info.Armory_Constants.BlizzardBackdropList[E.db.sle.Armory.Character.Backdrop.SelectedBG] or 'Interface\\AddOns\\ElvUI_SLE\\modules\\Armory\\Media\\Textures\\'..E.db.sle.Armory.Character.Backdrop.SelectedBG) end end -function CA:StartArmoryFrame() - -- Setting frame - CharacterFrame:SetWidth(CharacterFrame.Expanded and 650 or 444) - CharacterFrameInsetRight:SetPoint('TOPLEFT', CharacterFrameInset, 'TOPRIGHT', 110, 0) - CharacterFrameExpandButton:SetPoint('BOTTOMRIGHT', CharacterFrameInsetRight, 'BOTTOMLEFT', -3, 7) - - -- Move right equipment slots - CharacterHandsSlot:SetPoint('TOPRIGHT', CharacterFrameInsetRight, 'TOPLEFT', -4, -2) - - -- Move bottom equipment slots - CharacterMainHandSlot:SetPoint('BOTTOMLEFT', PaperDollItemsFrame, 'BOTTOMLEFT', 181, 14) - - -- Model Frame - CharacterModelFrame:ClearAllPoints() - CharacterModelFrame:SetPoint('TOPLEFT', CharacterHeadSlot) - CharacterModelFrame:SetPoint('RIGHT', CharacterHandsSlot) - CharacterModelFrame:SetPoint('BOTTOM', CharacterMainHandSlot) - CharacterModelFrame.BackgroundTopLeft:Hide() - CharacterModelFrame.BackgroundTopRight:Hide() - CharacterModelFrame.BackgroundBotLeft:Hide() - CharacterModelFrame.BackgroundBotRight:Hide() - - -- Character Control Frame - CharacterModelFrameControlFrame:ClearAllPoints() - CharacterModelFrameControlFrame:SetPoint('BOTTOM', CharacterModelFrame, 'BOTTOM', -1.5, 1) - - if CA.Setup_CharacterArmory then - CA:Setup_CharacterArmory() - else - CA:Show() +function CA:Update_Display(Force) + local Slot, Mouseover, SocketVisible + + if (PaperDollFrame:IsMouseOver() and (E.db.sle.Armory.Character.Level.Display == 'MouseoverOnly' or E.db.sle.Armory.Character.Enchant.Display == 'MouseoverOnly' or E.db.sle.Armory.Character.Durability.Display == 'MouseoverOnly' or E.db.sle.Armory.Character.Gem.Display == 'MouseoverOnly')) or Force then + for _, SlotName in pairs(Info.Armory_Constants.GearList) do + Slot = self[SlotName] + Mouseover = Slot:IsMouseOver() + + if Slot.ItemLevel then + if E.db.sle.Armory.Character.Level.Display == 'Always' or Mouseover and E.db.sle.Armory.Character.Level.Display == 'MouseoverOnly' then + Slot.ItemLevel:Show() + else + Slot.ItemLevel:Hide() + end + end + + if Slot.ItemEnchant then + if E.db.sle.Armory.Character.Enchant.Display == 'Always' or Mouseover and E.db.sle.Armory.Character.Enchant.Display == 'MouseoverOnly' then + Slot.ItemEnchant:Show() + elseif E.db.sle.Armory.Character.Enchant.Display ~= 'Always' and not (E.db.sle.Armory.Character.NoticeMissing and not Slot.IsEnchanted) then + Slot.ItemEnchant:Hide() + end + end + + if Slot.Durability then + if E.db.sle.Armory.Character.Durability.Display == 'Always' or Mouseover and E.db.sle.Armory.Character.Durability.Display == 'MouseoverOnly' or E.db.sle.Armory.Character.Durability.Display == 'DamagedOnly' then + Slot.Durability:Show() + + if Slot.Socket1 then + if Slot.Durability:GetText() == '' or E.db.sle.Armory.Character.Durability.Display == 'MouseoverOnly' and not Mouseover then + Slot.Socket1:Point('BOTTOM'..Slot.Direction, _G['Character'..SlotName], 'BOTTOM'..(Slot.Direction == 'LEFT' and 'RIGHT' or 'LEFT'), Slot.Direction == 'LEFT' and 2 or -2, 2) + else + Slot.Socket1:Point('BOTTOM'..Slot.Direction, Slot.Durability, 'BOTTOM'..(Slot.Direction == 'LEFT' and 'RIGHT' or 'LEFT'), Slot.Durability:GetText() and (Slot.Direction == 'LEFT' and 3 or -1) or 0, Slot.Durability:GetText() and -1 or 0) + end + end + else + Slot.Durability:Hide() + + Slot.Socket1:Point('BOTTOM'..Slot.Direction, _G['Character'..SlotName], 'BOTTOM'..(Slot.Direction == 'LEFT' and 'RIGHT' or 'LEFT'), Slot.Direction == 'LEFT' and 2 or -2, 2) + end + end + + + SocketVisible = nil + + if Slot.Socket1 then + for i = 1, MAX_NUM_SOCKETS do + if E.db.sle.Armory.Character.Gem.Display == 'Always' or Mouseover and E.db.sle.Armory.Character.Gem.Display == 'MouseoverOnly' then + if Slot['Socket'..i].GemType then + Slot['Socket'..i]:Show() + Slot.SocketWarning:Point(Slot.Direction, Slot['Socket'..i], (Slot.Direction == 'LEFT' and 'RIGHT' or 'LEFT'), Slot.Direction == 'LEFT' and 3 or -3, 0) + end + else + if SocketVisible == nil then + SocketVisible = false + end + + if Slot['Socket'..i].GemType and E.db.sle.Armory.Character.NoticeMissing and not Slot['Socket'..i].GemItemID then + SocketVisible = true + end + end + end + + if SocketVisible then + for i = 1, MAX_NUM_SOCKETS do + if Slot['Socket'..i].GemType then + Slot['Socket'..i]:Show() + Slot.SocketWarning:Point(Slot.Direction, Slot['Socket'..i], (Slot.Direction == 'LEFT' and 'RIGHT' or 'LEFT'), Slot.Direction == 'LEFT' and 3 or -3, 0) + end + end + elseif SocketVisible == false then + for i = 1, MAX_NUM_SOCKETS do + Slot['Socket'..i]:Hide() + end + + Slot.SocketWarning:Point(Slot.Direction, Slot.Socket1) + end + end + + if Force == SlotName then + break + end + end end - CA:CharacterArmory_DataSetting() - - -- Run SLE CharacterArmoryMode - CA:RegisterEvent('SOCKET_INFO_SUCCESS') - CA:RegisterEvent('PLAYER_EQUIPMENT_CHANGED') - CA:RegisterEvent('UNIT_INVENTORY_CHANGED') - CA:RegisterEvent('ITEM_UPGRADE_MASTER_UPDATE') - CA:RegisterEvent('TRANSMOGRIFY_UPDATE') - CA:RegisterEvent('COMBAT_LOG_EVENT_UNFILTERED') - CA:RegisterEvent('UPDATE_INVENTORY_DURABILITY') - CA:RegisterEvent('PLAYER_ENTERING_WORLD') - - -- For frame resizing - --[[CA.ChangeCharacterFrameWidth:SetParent(PaperDollFrame) - if PaperDollFrame:IsVisible() then - CA.ChangeCharacterFrameWidth:Show() - CharacterFrame:SetWidth(CharacterFrameInsetRight:IsShown() and 650 or 448) - end]] end -function CFO:Initialize() - if not E.db.sle.Armory.Character.Enable then return end - CA:StartArmoryFrame() +KF.Modules[#KF.Modules + 1] = 'CharacterArmory' +KF.Modules.CharacterArmory = function() + if E.db.sle.Armory.Character.Enable ~= false then + Info.CharacterArmory_Activate = true + + -- Setting frame + CharacterFrame:SetHeight(444) + + -- Move right equipment slots + CharacterHandsSlot:SetPoint('TOPRIGHT', CharacterFrameInsetRight, 'TOPLEFT', -4, -2) + + -- Move bottom equipment slots + CharacterMainHandSlot:SetPoint('BOTTOMLEFT', PaperDollItemsFrame, 'BOTTOMLEFT', 185, 14) + + if CA.Setup_CharacterArmory then + CA:Setup_CharacterArmory() + else + CA:Show() + end + CA:ScanData() + CA:Update_BG() + + -- Model Frame + CharacterModelFrame:ClearAllPoints() + CharacterModelFrame:SetPoint('TOPLEFT', CharacterHeadSlot) + CharacterModelFrame:SetPoint('RIGHT', CharacterHandsSlot) + CharacterModelFrame:SetPoint('BOTTOM', CharacterMainHandSlot) + CharacterModelFrame.BackgroundTopLeft:Hide() + CharacterModelFrame.BackgroundTopRight:Hide() + CharacterModelFrame.BackgroundBotLeft:Hide() + CharacterModelFrame.BackgroundBotRight:Hide() + + if PaperDollFrame:IsShown() then + CharacterFrame:SetWidth(CharacterFrame.Expanded and 650 or 444) + CharacterFrameInsetRight:SetPoint('TOPLEFT', CharacterFrameInset, 'TOPRIGHT', 110, 0) + CharacterFrameExpandButton:SetPoint('BOTTOMRIGHT', CharacterFrameInsetRight, 'BOTTOMLEFT', -3, 7) + end + + -- Run KnightArmory + CA:RegisterEvent('SOCKET_INFO_SUCCESS') + CA:RegisterEvent('PLAYER_EQUIPMENT_CHANGED') + CA:RegisterEvent('UNIT_INVENTORY_CHANGED') + CA:RegisterEvent('ITEM_UPGRADE_MASTER_UPDATE') + CA:RegisterEvent('TRANSMOGRIFY_UPDATE') + CA:RegisterEvent('COMBAT_LOG_EVENT_UNFILTERED') + CA:RegisterEvent('UPDATE_INVENTORY_DURABILITY') + CA:RegisterEvent('PLAYER_ENTERING_WORLD') + + --[[ + KF_KnightArmory.CheckButton:Show() + KF_KnightArmory_NoticeMissing:EnableMouse(true) + KF_KnightArmory_NoticeMissing.text:SetTextColor(1, 1, 1) + KF_KnightArmory_NoticeMissing.CheckButton:SetTexture('Interface\\Buttons\\UI-CheckBox-Check') + ]] + elseif Info.CharacterArmory_Activate then + Info.CharacterArmory_Activate = nil + + -- Setting frame to default + CharacterFrame:SetHeight(424) + CharacterFrame:SetWidth(PaperDollFrame:IsShown() and CharacterFrame.Expanded and CHARACTERFRAME_EXPANDED_WIDTH or PANEL_DEFAULT_WIDTH) + CharacterFrameInsetRight:SetPoint(unpack(InsetDefaultPoint)) + CharacterFrameExpandButton:SetPoint(unpack(ExpandButtonDefaultPoint)) + + -- Move rightside equipment slots to default position + CharacterHandsSlot:SetPoint('TOPRIGHT', CharacterFrameInset, 'TOPRIGHT', -4, -2) + + -- Move bottom equipment slots to default position + CharacterMainHandSlot:SetPoint('BOTTOMLEFT', PaperDollItemsFrame, 'BOTTOMLEFT', 130, 16) + + -- Model Frame + CharacterModelFrame:ClearAllPoints() + CharacterModelFrame:Size(231, 320) + CharacterModelFrame:SetPoint('TOPLEFT', PaperDollFrame, 'TOPLEFT', 52, -66) + CharacterModelFrame.BackgroundTopLeft:Show() + CharacterModelFrame.BackgroundTopRight:Show() + CharacterModelFrame.BackgroundBotLeft:Show() + CharacterModelFrame.BackgroundBotRight:Show() + + -- Turn off ArmoryFrame + CA:Hide() + CA:UnregisterAllEvents() + + --[[ + KF_KnightArmory.CheckButton:Hide() + KF_KnightArmory_NoticeMissing:EnableMouse(false) + KF_KnightArmory_NoticeMissing.text:SetTextColor(0.31, 0.31, 0.31) + KF_KnightArmory_NoticeMissing.CheckButton:SetTexture('Interface\\Buttons\\UI-CheckBox-Check-Disabled') + ]] + end end \ No newline at end of file diff --git a/ElvUI_SLE/modules/Armory/CharacterArmory/Profile.lua b/ElvUI_SLE/modules/Armory/CharacterArmory/Profile.lua index 9dcf1d1..26f6228 100644 --- a/ElvUI_SLE/modules/Armory/CharacterArmory/Profile.lua +++ b/ElvUI_SLE/modules/Armory/CharacterArmory/Profile.lua @@ -1,12 +1,52 @@ -local E, L, V, P, G = unpack(ElvUI) +if select(2, GetAddOnInfo('ElvUI_KnightFrame')) and IsAddOnLoaded('ElvUI_KnightFrame') then return end + +local E, L, V, P, G = unpack(ElvUI) local KF, Info, Timer = unpack(ElvUI_KnightFrame) -KF.db.Modules.Armory = KF.db.Modules.Armory or {} +P.sle.Armory = P.sle.Armory or {} -KF.db.Modules.Armory.Character = { +P.sle.Armory.Character = { Enable = true, + NoticeMissing = true, - GradationColor = { .41, .83, 1 }, - BackgroundImage = 'Interface\\AddOns\\ElvUI_KnightFrame\\Media\\Graphics\\Space' + Backdrop = { + SelectedBG = 'Space', + CustomAddress = '' + }, + + Gradation = { + Display = true, + Color = { .41, .83, 1 } + }, + + Level = { + Display = 'Always', -- Always, MouseoverOnly, Hide + ShowUpgradeLevel = false, + Font = nil, + FontSize = 10, + FontStyle = nil + }, + + Enchant = { + Display = 'Always', -- Always, MouseoverOnly, Hide + WarningSize = 12, + WarningIconOnly = false, + Font = nil, + FontSize = 8, + FontStyle = nil + }, + + Durability = { + Display = 'Always', -- Always, MouseoverOnly, DamagedOnly, Hide + Font = nil, + FontSize = 9, + FontStyle = nil + }, + + Gem = { + Display = 'Always', -- Always, MouseoverOnly, Hide + SocketSize = 10, + WarningSize = 12 + } } \ No newline at end of file diff --git a/ElvUI_SLE/modules/Armory/Cheer up guys look at this.lua b/ElvUI_SLE/modules/Armory/Cheer up guys look at this.lua new file mode 100644 index 0000000..a2259c5 --- /dev/null +++ b/ElvUI_SLE/modules/Armory/Cheer up guys look at this.lua @@ -0,0 +1,45 @@ +--[[ +Yeah guys, you know I'm very bad at english. +This is list of locales that I used in armory function. +Check armory in game and look arounds all locales in function. +I hope you modify locales that meaning comes strange and add new description in all of config options. +]] + +L['Not Enchanted'] = true +L['Empty Socket'] = true +L['Character model may differ because it was constructed by the inspect data.'] = true + +L['Armory'] = true +L['Character Armory'] = true +L['Inspect Armory'] = true + +L['Enchant String'] = true +L['Replacing List'] = true +L['There is no replacing order.'] = true +L['Add New Replacing Order'] = true +L['Target Enchant'] = true +L['String To Replacing'] = true +L['Add New Order'] = true +L['Delete Replacing Order'] = true + +L['Notice Missing Enchant or Gems'] = true + +L['Select Backdrop'] = true +L['Custom'] = true +L['Space BG'] = true +L['The Empire BG'] = true +L['Castle BG'] = true +L['Custom Backdrop Image Address'] = true + +L['Gradation'] = true +L['Display Gradation'] = true +L['Default Color'] = true + +L['Display Method'] = true +L['Show Upgrade Level'] = true +L['Warning Size'] = true +L['Show Warning Only'] = true +L['Only Damaged'] = true + +L['Gem Socket'] = true +L['Socket Size'] = true \ No newline at end of file diff --git a/ElvUI_SLE/modules/Armory/Config.lua b/ElvUI_SLE/modules/Armory/Config.lua new file mode 100644 index 0000000..832e789 --- /dev/null +++ b/ElvUI_SLE/modules/Armory/Config.lua @@ -0,0 +1,1143 @@ +if select(2, GetAddOnInfo('ElvUI_KnightFrame')) and IsAddOnLoaded('ElvUI_KnightFrame') then return end + +local E, L, V, P, G = unpack(ElvUI) +local KF, Info, Timer = unpack(ElvUI_KnightFrame) + +if not (KF and KF.Modules and (KF.Modules.CharacterArmory or KF.Modules.InspectArmory)) then return end + +local function Color(TrueColor, FalseColor) + return (E.db.sle.Armory.Character.Enable ~= false or E.db.sle.Armory.Inspect.Enable ~= false) and (TrueColor == '' and '' or TrueColor and '|c'..TrueColor or KF:Color_Value()) or FalseColor and '|c'..FalseColor or '' +end + +local EnchantString_Old, EnchantString_New = '', '' +local SelectedEnchantString + +local function LoadArmoryConfigTable() + E.Options.args.sle.args.Armory = { + type = 'group', + name = function() return KF:Color_Value(L['Armory']) end, + order = 6, + childGroups = 'tab', + args = { + EnchantString = { + type = 'group', + name = function() return Color('', 'ff787878')..L['Enchant String'] end, + order = 300, + args = { + Space = { + type = 'description', + name = ' ', + order = 1 + }, + ConfigSpace = { + type = 'group', + name = function() return Color('ffffffff', 'ff787878')..L['Add New Replacing Order'] end, + order = 2, + guiInline = true, + args = { + TargetString = { + type = 'input', + name = function() return ' '..Color()..L['Target Enchant'] end, + order = 1, + desc = '', + get = function() return EnchantString_Old end, + set = function(_, value) + EnchantString_Old = value + end, + disabled = function() return E.db.sle.Armory.Character.Enable == false and E.db.sle.Armory.Inspect.Enable == false end + }, + NewString = { + type = 'input', + name = function() return ' '..Color()..L['String To Replacing'] end, + order = 2, + desc = '', + get = function() return EnchantString_New end, + set = function(_, value) + EnchantString_New = value + end, + disabled = function() return E.db.sle.Armory.Character.Enable == false and E.db.sle.Armory.Inspect.Enable == false end + }, + Space = { + type = 'description', + name = ' ', + order = 3, + width = 'half' + }, + List = { + type = 'select', + name = function() return ' '..Color()..L['Delete Replacing Order'] end, + order = 4, + get = function() return SelectedEnchantString end, + set = function(_, value) + SelectedEnchantString = value + end, + values = function() + local List = {} + + for Old, New in pairs(KnightFrame_ArmoryDB.EnchantString) do + if not SelectedEnchantString then + SelectedEnchantString = Old + end + + List[Old] = Old + end + + if not next(List) then + List[''] = NONE + + SelectedEnchantString = '' + end + + return List + end, + disabled = function() return E.db.sle.Armory.Character.Enable == false and E.db.sle.Armory.Inspect.Enable == false end + }, + Space2 = { + type = 'description', + name = ' ', + order = 5, + width = 'half' + }, + AddButton = { + type = 'execute', + name = function() return (((E.db.sle.Armory.Character.Enable == false and E.db.sle.Armory.Inspect.Enable == false) or EnchantString_Old == '' or EnchantString_New == '') and '|cff787878' or KF:Color_Value())..L['Add New Order'] end, + order = 6, + desc = '', + func = function() + if EnchantString_Old ~= '' and EnchantString_New ~= '' then + KnightFrame_ArmoryDB.EnchantString[EnchantString_Old] = EnchantString_New + + EnchantString_Old = '' + EnchantString_New = '' + + if CharacterArmory then + CharacterArmory:Update_Gear() + end + + if InspectArmory and InspectArmory.LastDataSetting then + InspectArmory:InspectFrame_DataSetting(InspectArmory.CurrentInspectData) + end + elseif KnightFrame_ArmoryDB.EnchantString[EnchantString_Old] and EnchantString_New == '' then + KnightFrame_ArmoryDB.EnchantString[EnchantString_Old] = nil + end + end, + disabled = function() + return (E.db.sle.Armory.Character.Enable == false and E.db.sle.Armory.Inspect.Enable == false) or EnchantString_Old == '' or EnchantString_New == '' + end + }, + Space3 = { + type = 'description', + name = ' ', + order = 7, + width = 'normal' + }, + DeleteButton = { + type = 'execute', + name = function() return Color(nil, 'ff787878')..L['Delete'] end, + order = 8, + desc = '', + func = function() + if KnightFrame_ArmoryDB.EnchantString[SelectedEnchantString] then + KnightFrame_ArmoryDB.EnchantString[SelectedEnchantString] = nil + SelectedEnchantString = '' + + if CharacterArmory then + CharacterArmory:Update_Gear() + end + + if InspectArmory and InspectArmory.LastDataSetting then + InspectArmory:InspectFrame_DataSetting(InspectArmory.CurrentInspectData) + end + end + end, + disabled = function() return E.db.sle.Armory.Character.Enable == false and E.db.sle.Armory.Inspect.Enable == false end, + hidden = function() + return SelectedEnchantString == '' + end + } + } + }, + Space2 = { + type = 'description', + name = ' ', + order = 3 + }, + List = { + type = 'group', + name = function() return Color('ffffffff', 'ff787878')..L['Replacing List'] end, + order = 4, + guiInline = true, + args = { + List = { + type = 'description', + name = function() + local List = '' + local Order = 1 + + if KnightFrame_ArmoryDB.EnchantString and next(KnightFrame_ArmoryDB.EnchantString) then + for Old, New in pairs(KnightFrame_ArmoryDB.EnchantString) do + List = List..' '..Color('ffffffff', 'ff787878')..Order..'. '..Color('ffFF7E7E', 'ff787878')..Old..'|r '..Color('ffceff00', 'ff787878')..'->|r '..Color(nil, 'ff787878')..New..'|r|n' + Order = Order + 1 + end + else + List = ' |cffFF7E7E'..L['There is no replacing order.'] + end + + return List + end, + order = 1, + disabled = function() return E.db.sle.Armory.Character.Enable == false and E.db.sle.Armory.Inspect.Enable == false end, + } + } + }, + CreditSpace = { + type = 'description', + name = ' ', + order = 998 + }, + Credit = { + type = 'header', + name = KF.Credit, + order = 999 + } + } + } + } + } + + + local BackdropKeyTable = { + ['0'] = 'HIDE', + ['1'] = 'CUSTOM', + ['2'] = 'Space', + ['3'] = 'TheEmpire', + ['4'] = 'Castle', + ['5'] = 'Alliance-text', + ['6'] = 'Horde-text', + ['7'] = 'Alliance-bliz', + ['8'] = 'Horde-bliz', + ['9'] = 'Arena-bliz' + } + + local BackgroundList = { + ['0'] = HIDE, + ['1'] = L['Custom'], + ['2'] = L['Space BG'], + ['3'] = L['The Empire BG'], + ['4'] = L['Castle BG'], + ['5'] = FACTION_ALLIANCE, + ['6'] = FACTION_HORDE, + ['7'] = FACTION_ALLIANCE..' 2', + ['8'] = FACTION_HORDE..' 2', + ['9'] = ARENA + } + + local DisplayMethodList = { + Always = L['Always Display'], + MouseoverOnly = L['Mouseover'], + Hide = HIDE + } + + local FontStyleList = { + NONE = NONE, + OUTLINE = 'OUTLINE', + + MONOCHROMEOUTLINE = 'MONOCROMEOUTLINE', + THICKOUTLINE = 'THICKOUTLINE' + } + + if KF.Modules.CharacterArmory then + local function CA_Color(TrueColor, FalseColor) + return E.db.sle.Armory.Character.Enable ~= false and (TrueColor == '' and '' or TrueColor and '|c'..TrueColor or KF:Color_Value()) or FalseColor and '|c'..FalseColor or '' + end + + E.Options.args.sle.args.Armory.args.CAEnable = { + type = 'toggle', + name = function() return ' |cffffffff'..L['Enable']..' : '..KF:Color_Value()..L['Character Armory'] end, + order = 1, + desc = '', + get = function() return E.db.sle.Armory.Character.Enable end, + set = function(_, value) + E.db.sle.Armory.Character.Enable = value + + KF.Modules.CharacterArmory() + end + } + + local SelectedCABG + E.Options.args.sle.args.Armory.args.Character = { + type = 'group', + name = function() return CA_Color('', 'ff787878')..L['Character Armory'] end, + order = 400, + args = { + NoticeMissing = { + type = 'toggle', + name = function() return ' '..CA_Color()..L['Notice Missing Enchant or Gems'] end, + order = 1, + desc = '', + get = function() return E.db.sle.Armory.Character.NoticeMissing end, + set = function(_, value) + E.db.sle.Armory.Character.NoticeMissing = value + + CharacterArmory:Update_Gear() + CharacterArmory:Update_Display(true) + end, + disabled = function() return E.db.sle.Armory.Character.Enable == false end, + width = 'full' + }, + Space1 = { + type = 'description', + name = ' ', + order = 2 + }, + Backdrop = { + type = 'group', + name = function() return CA_Color('ffffffff', 'ff787878')..L['Backdrop'] end, + order = 3, + guiInline = true, + args = { + SelectedBG = { + type = 'select', + name = function() return ' '..CA_Color()..L['Select Backdrop'] end, + order = 1, + get = function() + for Index, Key in pairs(BackdropKeyTable) do + if Key == E.db.sle.Armory.Character.Backdrop.SelectedBG then + return Index + end + end + + return '1' + end, + set = function(_, value) + E.db.sle.Armory.Character.Backdrop.SelectedBG = BackdropKeyTable[value] + + CharacterArmory:Update_BG() + end, + values = function() return BackgroundList end, + disabled = function() return E.db.sle.Armory.Character.Enable == false end + }, + CustomAddress = { + type = 'input', + name = function() return ' '..CA_Color()..L['Custom Backdrop Image Address'] end, + order = 2, + desc = '', + get = function() return E.db.sle.Armory.Character.Backdrop.CustomAddress end, + set = function(_, value) + E.db.sle.Armory.Character.Backdrop.CustomAddress = value + + CharacterArmory:Update_BG() + end, + width = 'double', + disabled = function() return E.db.sle.Armory.Character.Enable == false end, + hidden = function() return E.db.sle.Armory.Character.Backdrop.SelectedBG ~= 'CUSTOM' end + }, + } + }, + Space2 = { + type = 'description', + name = ' ', + order = 4 + }, + Gradation = { + type = 'group', + name = function() return CA_Color('ffffffff', 'ff787878')..L['Gradation'] end, + order = 5, + guiInline = true, + args = { + Display = { + type = 'toggle', + name = function() return ' '..CA_Color()..L['Display Gradation'] end, + order = 1, + get = function() return E.db.sle.Armory.Character.Gradation.Display end, + set = function(_, value) + E.db.sle.Armory.Character.Gradation.Display = value + + CharacterArmory:Update_Gear() + end, + disabled = function() return E.db.sle.Armory.Character.Enable == false end + }, + Color = { + type = 'color', + name = function() return ' '..(E.db.sle.Armory.Character.Enable == true and E.db.sle.Armory.Character.Gradation.Display == true and KF:Color_Value() or '')..L['Default Color'] end, + order = 2, + get = function() + return E.db.sle.Armory.Character.Gradation.Color[1], + E.db.sle.Armory.Character.Gradation.Color[2], + E.db.sle.Armory.Character.Gradation.Color[3], + E.db.sle.Armory.Character.Gradation.Color[4] + end, + set = function(Info, r, g, b, a) + E.db.sle.Armory.Character.Gradation.Color = { r, g, b, a } + + CharacterArmory:Update_Gear() + end, + disabled = function() return E.db.sle.Armory.Character.Enable == false or E.db.sle.Armory.Character.Gradation.Display == false end + }, + } + }, + Space3 = { + type = 'description', + name = ' ', + order = 6 + }, + Level = { + type = 'group', + name = function() return CA_Color('ffffffff', 'ff787878')..L['Item Level'] end, + order = 7, + guiInline = true, + get = function(info) return E.db.sle.Armory.Character[(info[#info - 1])][(info[#info])] end, + set = function(info, value) + E.db.sle.Armory.Character[(info[#info - 1])][(info[#info])] = value + + for _, SlotName in pairs(Info.Armory_Constants.GearList) do + if CharacterArmory[SlotName] and CharacterArmory[SlotName].ItemLevel then + CharacterArmory[SlotName].ItemLevel:FontTemplate( + E.LSM:Fetch('font', E.db.sle.Armory.Character.Level.Font) + , + E.db.sle.Armory.Character.Level.FontSize + , + E.db.sle.Armory.Character.Level.FontStyle + ) + end + end + end, + args = { + Display = { + type = 'select', + name = function() return ' '..CA_Color()..L['Display Method'] end, + order = 1, + set = function(info, value) + E.db.sle.Armory.Character[(info[#info - 1])][(info[#info])] = value + + CharacterArmory:Update_Gear() + CharacterArmory:Update_Display(true) + end, + values = DisplayMethodList, + disabled = function() return E.db.sle.Armory.Character.Enable == false end + }, + ShowUpgradeLevel = { + type = 'toggle', + name = function() return ' '..CA_Color()..L['Show Upgrade Level'] end, + order = 2, + set = function(_, value) + E.db.sle.Armory.Character.Level.ShowUpgradeLevel = value + + CharacterArmory:Update_Gear() + end, + disabled = function() return E.db.sle.Armory.Character.Enable == false end + }, + Space = { + type = 'description', + name = ' ', + order = 3 + }, + Font = { + type = 'select', dialogControl = 'LSM30_Font', + name = function() return ' '..CA_Color()..L['Font'] end, + order = 4, + values = function() + return AceGUIWidgetLSMlists and AceGUIWidgetLSMlists.font or {} + end, + disabled = function() return E.db.sle.Armory.Character.Enable == false end + }, + FontSize = { + type = 'range', + name = function() return ' '..CA_Color()..L['Font Size'] end, + order = 5, + desc = '', + min = 6, + max = 22, + step = 1, + disabled = function() return E.db.sle.Armory.Character.Enable == false end + }, + FontStyle = { + type = 'select', + name = function() return ' '..CA_Color()..L['Font Outline'] end, + order = 6, + desc = '', + values = FontStyleList, + disabled = function() return E.db.sle.Armory.Character.Enable == false end + } + } + }, + Space4 = { + type = 'description', + name = ' ', + order = 8 + }, + Enchant = { + type = 'group', + name = function() return CA_Color('ffffffff', 'ff787878')..L['Enchant String'] end, + order = 9, + guiInline = true, + get = function(info) return E.db.sle.Armory.Character[(info[#info - 1])][(info[#info])] end, + set = function(info, value) + E.db.sle.Armory.Character[(info[#info - 1])][(info[#info])] = value + + for _, SlotName in pairs(Info.Armory_Constants.GearList) do + if CharacterArmory[SlotName] and CharacterArmory[SlotName].ItemEnchant then + CharacterArmory[SlotName].ItemEnchant:FontTemplate( + E.LSM:Fetch('font', E.db.sle.Armory.Character.Enchant.Font) + , + E.db.sle.Armory.Character.Enchant.FontSize + , + E.db.sle.Armory.Character.Enchant.FontStyle + ) + end + end + end, + args = { + Display = { + type = 'select', + name = function() return ' '..CA_Color()..L['Display Method'] end, + order = 1, + set = function(info, value) + E.db.sle.Armory.Character[(info[#info - 1])][(info[#info])] = value + + CharacterArmory:Update_Gear() + CharacterArmory:Update_Display(true) + end, + values = DisplayMethodList, + disabled = function() return E.db.sle.Armory.Character.Enable == false end + }, + WarningSize = { + type = 'range', + name = function() return ' '..CA_Color()..L['Warning Size'] end, + order = 2, + set = function(_, value) + E.db.sle.Armory.Character.Enchant.WarningSize = value + + for _, SlotName in pairs(Info.Armory_Constants.GearList) do + if CharacterArmory[SlotName] and CharacterArmory[SlotName].EnchantWarning then + CharacterArmory[SlotName].EnchantWarning:Size(value) + end + end + end, + min = 6, + max = 50, + step = 1, + disabled = function() return E.db.sle.Armory.Character.Enable == false end + }, + WarningIconOnly = { + type = 'toggle', + name = function() return ' '..CA_Color()..L['Show Warning Only'] end, + order = 3, + set = function(_, value) + E.db.sle.Armory.Character.Enchant.WarningIconOnly = value + + CharacterArmory:Update_Gear() + end, + disabled = function() return E.db.sle.Armory.Character.Enable == false end, + }, + Space = { + type = 'description', + name = ' ', + order = 4 + }, + Font = { + type = 'select', dialogControl = 'LSM30_Font', + name = function() return ' '..CA_Color()..L['Font'] end, + order = 5, + values = function() + return AceGUIWidgetLSMlists and AceGUIWidgetLSMlists.font or {} + end, + disabled = function() return E.db.sle.Armory.Character.Enable == false end + }, + FontSize = { + type = 'range', + name = function() return ' '..CA_Color()..L['Font Size'] end, + order = 6, + desc = '', + min = 6, + max = 22, + step = 1, + disabled = function() return E.db.sle.Armory.Character.Enable == false end + }, + FontStyle = { + type = 'select', + name = function() return ' '..CA_Color()..L['Font Outline'] end, + order = 7, + desc = '', + values = FontStyleList, + disabled = function() return E.db.sle.Armory.Character.Enable == false end + } + } + }, + Space5 = { + type = 'description', + name = ' ', + order = 10 + }, + Durability = { + type = 'group', + name = function() return CA_Color('ffffffff', 'ff787878')..DURABILITY end, + order = 11, + guiInline = true, + get = function(info) return E.db.sle.Armory.Character[(info[#info - 1])][(info[#info])] end, + set = function(info, value) + E.db.sle.Armory.Character[(info[#info - 1])][(info[#info])] = value + + for _, SlotName in pairs(Info.Armory_Constants.GearList) do + if CharacterArmory[SlotName] and CharacterArmory[SlotName].Durability then + CharacterArmory[SlotName].Durability:FontTemplate( + E.LSM:Fetch('font', E.db.sle.Armory.Character.Durability.Font) + , + E.db.sle.Armory.Character.Durability.FontSize + , + E.db.sle.Armory.Character.Durability.FontStyle + ) + end + end + end, + args = { + Display = { + type = 'select', + name = function() return ' '..CA_Color()..L['Display Method'] end, + order = 1, + set = function(info, value) + E.db.sle.Armory.Character[(info[#info - 1])][(info[#info])] = value + + CharacterArmory:Update_Durability() + CharacterArmory:Update_Display(true) + end, + values = { + Always = L['Always Display'], + DamagedOnly = L['Only Damaged'], + MouseoverOnly = L['Mouseover'], + Hide = HIDE + }, + disabled = function() return E.db.sle.Armory.Character.Enable == false end + }, + Space = { + type = 'description', + name = ' ', + order = 2 + }, + Font = { + type = 'select', dialogControl = 'LSM30_Font', + name = function() return ' '..CA_Color()..L['Font'] end, + order = 3, + values = function() + return AceGUIWidgetLSMlists and AceGUIWidgetLSMlists.font or {} + end, + disabled = function() return E.db.sle.Armory.Character.Enable == false end + }, + FontSize = { + type = 'range', + name = function() return ' '..CA_Color()..L['Font Size'] end, + order = 4, + desc = '', + min = 6, + max = 22, + step = 1, + disabled = function() return E.db.sle.Armory.Character.Enable == false end + }, + FontStyle = { + type = 'select', + name = function() return ' '..CA_Color()..L['Font Outline'] end, + order = 5, + desc = '', + values = FontStyleList, + disabled = function() return E.db.sle.Armory.Character.Enable == false end + } + } + }, + Space6 = { + type = 'description', + name = ' ', + order = 12 + }, + Gem = { + type = 'group', + name = function() return CA_Color('ffffffff', 'ff787878')..L['Gem Socket'] end, + order = 13, + guiInline = true, + get = function(Info) return E.db.sle.Armory.Character[(Info[#Info - 1])][(Info[#Info])] end, + args = { + Display = { + type = 'select', + name = function() return ' '..CA_Color()..L['Display Method'] end, + order = 1, + set = function(Info, value) + E.db.sle.Armory.Character[(Info[#Info - 1])][(Info[#Info])] = value + + CharacterArmory:Update_Gear() + CharacterArmory:Update_Display(true) + end, + values = DisplayMethodList, + disabled = function() return E.db.sle.Armory.Character.Enable == false end + }, + SocketSize = { + type = 'range', + name = function() return ' '..CA_Color()..L['Socket Size'] end, + order = 2, + set = function(_, value) + E.db.sle.Armory.Character.Gem.SocketSize = value + + for _, SlotName in pairs(Info.Armory_Constants.GearList) do + for i = 1, MAX_NUM_SOCKETS do + if CharacterArmory[SlotName] and CharacterArmory[SlotName]['Socket'..i] then + CharacterArmory[SlotName]['Socket'..i]:Size(value) + else + break + end + end + end + end, + min = 6, + max = 50, + step = 1, + disabled = function() return E.db.sle.Armory.Character.Enable == false end + }, + WarningSize = { + type = 'range', + name = function() return ' '..CA_Color()..L['Warning Size'] end, + order = 3, + set = function(_, value) + E.db.sle.Armory.Character.Gem.WarningSize = value + + for _, SlotName in pairs(Info.Armory_Constants.GearList) do + if CharacterArmory[SlotName] and CharacterArmory[SlotName].SocketWarning then + CharacterArmory[SlotName].SocketWarning:Size(value) + end + end + end, + min = 6, + max = 50, + step = 1, + disabled = function() return E.db.sle.Armory.Character.Enable == false end + }, + } + }, + CreditSpace = { + type = 'description', + name = ' ', + order = 998 + }, + Credit = { + type = 'header', + name = KF.Credit, + order = 999 + } + } + } + end + + + if KF.Modules.InspectArmory then + local function IA_Color(TrueColor, FalseColor) + return E.db.sle.Armory.Inspect.Enable ~= false and (TrueColor == '' and '' or TrueColor and '|c'..TrueColor or KF:Color_Value()) or FalseColor and '|c'..FalseColor or '' + end + + E.Options.args.sle.args.Armory.args.IAEnable = { + type = 'toggle', + name = function() return ' |cffffffff'..L['Enable']..' : '..KF:Color_Value()..L['Inspect Armory'] end, + order = 2, + desc = '', + get = function() return E.db.sle.Armory.Inspect.Enable end, + set = function(_, value) + E.db.sle.Armory.Inspect.Enable = value + + KF.Modules.InspectArmory() + end + } + + E.Options.args.sle.args.Armory.args.Inspect = { + type = 'group', + name = function() return Color('', 'ff787878')..L['Inspect Armory'] end, + order = 500, + args = { + NoticeMissing = { + type = 'toggle', + name = function() return ' '..IA_Color()..L['Notice Missing Enchant or Gems'] end, + order = 1, + desc = '', + get = function() return E.db.sle.Armory.Inspect.NoticeMissing end, + set = function(_, value) + E.db.sle.Armory.Inspect.NoticeMissing = value + + if InspectArmory.LastDataSetting then + InspectArmory:InspectFrame_DataSetting(InspectArmory.CurrentInspectData) + end + InspectArmory:Update_Display(true) + end, + disabled = function() return E.db.sle.Armory.Inspect.Enable == false end, + width = 'full' + }, + Space1 = { + type = 'description', + name = ' ', + order = 2 + }, + Backdrop = { + type = 'group', + name = function() return IA_Color('ffffffff', 'ff787878')..L['Backdrop'] end, + order = 3, + guiInline = true, + args = { + SelectedBG = { + type = 'select', + name = function() return ' '..IA_Color()..L['Select Backdrop'] end, + order = 1, + get = function() + for Index, Key in pairs(BackdropKeyTable) do + if Key == E.db.sle.Armory.Inspect.Backdrop.SelectedBG then + return Index + end + end + + return '1' + end, + set = function(_, value) + E.db.sle.Armory.Inspect.Backdrop.SelectedBG = BackdropKeyTable[value] + + InspectArmory:Update_BG() + end, + values = function() return BackgroundList end, + disabled = function() return E.db.sle.Armory.Inspect.Enable == false end + }, + CustomAddress = { + type = 'input', + name = function() return ' '..IA_Color()..L['Custom Backdrop Image Address'] end, + order = 2, + desc = '', + get = function() return E.db.sle.Armory.Inspect.Backdrop.CustomAddress end, + set = function(_, value) + E.db.sle.Armory.Inspect.Backdrop.CustomAddress = value + + InspectArmory:Update_BG() + end, + width = 'double', + disabled = function() return E.db.sle.Armory.Inspect.Enable == false end, + hidden = function() return E.db.sle.Armory.Inspect.Backdrop.SelectedBG ~= 'CUSTOM' end + }, + } + }, + Space2 = { + type = 'description', + name = ' ', + order = 4 + }, + Gradation = { + type = 'group', + name = function() return IA_Color('ffffffff', 'ff787878')..L['Gradation'] end, + order = 5, + guiInline = true, + args = { + Display = { + type = 'toggle', + name = function() return ' '..IA_Color()..L['Display Gradation'] end, + order = 1, + get = function() return E.db.sle.Armory.Inspect.Gradation.Display end, + set = function(_, value) + E.db.sle.Armory.Inspect.Gradation.Display = value + + if InspectArmory and InspectArmory.LastDataSetting then + InspectArmory:InspectFrame_DataSetting(InspectArmory.CurrentInspectData) + end + end, + disabled = function() return E.db.sle.Armory.Inspect.Enable == false end + }, + Color = { + type = 'color', + name = function() return ' '..(E.db.sle.Armory.Inspect.Enable == true and E.db.sle.Armory.Inspect.Gradation.Display == true and KF:Color_Value() or '')..L['Default Color'] end, + order = 2, + get = function() + return E.db.sle.Armory.Inspect.Gradation.Color[1], + E.db.sle.Armory.Inspect.Gradation.Color[2], + E.db.sle.Armory.Inspect.Gradation.Color[3], + E.db.sle.Armory.Inspect.Gradation.Color[4] + end, + set = function(Info, r, g, b, a) + E.db.sle.Armory.Inspect.Gradation.Color = { r, g, b, a } + + if InspectArmory.LastDataSetting then + InspectArmory:InspectFrame_DataSetting(InspectArmory.CurrentInspectData) + end + end, + disabled = function() return E.db.sle.Armory.Inspect.Enable == false or E.db.sle.Armory.Inspect.Gradation.Display == false end + }, + } + }, + Space3 = { + type = 'description', + name = ' ', + order = 6 + }, + Level = { + type = 'group', + name = function() return IA_Color('ffffffff', 'ff787878')..L['Item Level'] end, + order = 7, + guiInline = true, + get = function(info) return E.db.sle.Armory.Inspect[(info[#info - 1])][(info[#info])] end, + set = function(info, value) + E.db.sle.Armory.Inspect[(info[#info - 1])][(info[#info])] = value + + for _, SlotName in pairs(Info.Armory_Constants.GearList) do + if InspectArmory[SlotName] and InspectArmory[SlotName].Gradation and InspectArmory[SlotName].Gradation.ItemLevel then + InspectArmory[SlotName].Gradation.ItemLevel:FontTemplate( + E.LSM:Fetch('font', E.db.sle.Armory.Inspect.Level.Font) + , + E.db.sle.Armory.Inspect.Level.FontSize + , + E.db.sle.Armory.Inspect.Level.FontStyle + ) + end + end + end, + args = { + Display = { + type = 'select', + name = function() return ' '..IA_Color()..L['Display Method'] end, + order = 1, + set = function(info, value) + E.db.sle.Armory.Inspect[(info[#info - 1])][(info[#info])] = value + + if InspectArmory.LastDataSetting then + InspectArmory:InspectFrame_DataSetting(InspectArmory.CurrentInspectData) + end + InspectArmory:Update_Display(true) + end, + values = DisplayMethodList, + disabled = function() return E.db.sle.Armory.Inspect.Enable == false end + }, + ShowUpgradeLevel = { + type = 'toggle', + name = function() return ' '..IA_Color()..L['Show Upgrade Level'] end, + order = 2, + set = function(_, value) + E.db.sle.Armory.Inspect.Level.ShowUpgradeLevel = value + + if InspectArmory.LastDataSetting then + InspectArmory:InspectFrame_DataSetting(InspectArmory.CurrentInspectData) + end + end, + disabled = function() return E.db.sle.Armory.Inspect.Enable == false end + }, + Space = { + type = 'description', + name = ' ', + order = 3 + }, + Font = { + type = 'select', dialogControl = 'LSM30_Font', + name = function() return ' '..IA_Color()..L['Font'] end, + order = 4, + values = function() + return AceGUIWidgetLSMlists and AceGUIWidgetLSMlists.font or {} + end, + disabled = function() return E.db.sle.Armory.Inspect.Enable == false end + }, + FontSize = { + type = 'range', + name = function() return ' '..IA_Color()..L['Font Size'] end, + order = 5, + desc = '', + min = 6, + max = 22, + step = 1, + disabled = function() return E.db.sle.Armory.Inspect.Enable == false end + }, + FontStyle = { + type = 'select', + name = function() return ' '..IA_Color()..L['Font Outline'] end, + order = 6, + desc = '', + values = FontStyleList, + disabled = function() return E.db.sle.Armory.Inspect.Enable == false end + } + } + }, + Space4 = { + type = 'description', + name = ' ', + order = 8 + }, + Enchant = { + type = 'group', + name = function() return IA_Color('ffffffff', 'ff787878')..L['Enchant String'] end, + order = 9, + guiInline = true, + get = function(info) return E.db.sle.Armory.Inspect[(info[#info - 1])][(info[#info])] end, + set = function(info, value) + E.db.sle.Armory.Inspect[(info[#info - 1])][(info[#info])] = value + + for _, SlotName in pairs(Info.Armory_Constants.GearList) do + if InspectArmory[SlotName] and InspectArmory[SlotName].Gradation and InspectArmory[SlotName].Gradation.ItemEnchant then + InspectArmory[SlotName].Gradation.ItemEnchant:FontTemplate( + E.LSM:Fetch('font', E.db.sle.Armory.Inspect.Enchant.Font) + , + E.db.sle.Armory.Inspect.Enchant.FontSize + , + E.db.sle.Armory.Inspect.Enchant.FontStyle + ) + end + end + end, + args = { + Display = { + type = 'select', + name = function() return ' '..IA_Color()..L['Display Method'] end, + order = 1, + set = function(info, value) + E.db.sle.Armory.Inspect[(info[#info - 1])][(info[#info])] = value + + if InspectArmory.LastDataSetting then + InspectArmory:InspectFrame_DataSetting(InspectArmory.CurrentInspectData) + end + InspectArmory:Update_Display(true) + end, + values = DisplayMethodList, + disabled = function() return E.db.sle.Armory.Inspect.Enable == false end + }, + WarningSize = { + type = 'range', + name = function() return ' '..IA_Color()..L['Warning Size'] end, + order = 2, + set = function(_, value) + E.db.sle.Armory.Inspect.Enchant.WarningSize = value + + for _, SlotName in pairs(Info.Armory_Constants.GearList) do + if InspectArmory[SlotName] and InspectArmory[SlotName].EnchantWarning then + InspectArmory[SlotName].EnchantWarning:Size(value) + end + end + end, + min = 6, + max = 50, + step = 1, + disabled = function() return E.db.sle.Armory.Inspect.Enable == false end + }, + WarningIconOnly = { + type = 'toggle', + name = function() return ' '..IA_Color()..L['Show Warning Only'] end, + order = 3, + set = function(_, value) + E.db.sle.Armory.Inspect.Enchant.WarningIconOnly = value + + if InspectArmory.LastDataSetting then + InspectArmory:InspectFrame_DataSetting(InspectArmory.CurrentInspectData) + end + end, + disabled = function() return E.db.sle.Armory.Inspect.Enable == false end, + }, + Space = { + type = 'description', + name = ' ', + order = 4 + }, + Font = { + type = 'select', dialogControl = 'LSM30_Font', + name = function() return ' '..IA_Color()..L['Font'] end, + order = 5, + values = function() + return AceGUIWidgetLSMlists and AceGUIWidgetLSMlists.font or {} + end, + disabled = function() return E.db.sle.Armory.Inspect.Enable == false end + }, + FontSize = { + type = 'range', + name = function() return ' '..IA_Color()..L['Font Size'] end, + order = 6, + desc = '', + min = 6, + max = 22, + step = 1, + disabled = function() return E.db.sle.Armory.Inspect.Enable == false end + }, + FontStyle = { + type = 'select', + name = function() return ' '..IA_Color()..L['Font Outline'] end, + order = 7, + desc = '', + values = FontStyleList, + disabled = function() return E.db.sle.Armory.Inspect.Enable == false end + } + } + }, + Space5 = { + type = 'description', + name = ' ', + order = 10 + }, + Gem = { + type = 'group', + name = function() return IA_Color('ffffffff', 'ff787878')..L['Gem Socket'] end, + order = 11, + guiInline = true, + get = function(Info) return E.db.sle.Armory.Inspect[(Info[#Info - 1])][(Info[#Info])] end, + args = { + Display = { + type = 'select', + name = function() return ' '..IA_Color()..L['Display Method'] end, + order = 1, + set = function(Info, value) + E.db.sle.Armory.Inspect[(Info[#Info - 1])][(Info[#Info])] = value + + if InspectArmory.LastDataSetting then + InspectArmory:InspectFrame_DataSetting(InspectArmory.CurrentInspectData) + end + InspectArmory:Update_Display(true) + end, + values = DisplayMethodList, + disabled = function() return E.db.sle.Armory.Inspect.Enable == false end + }, + SocketSize = { + type = 'range', + name = function() return ' '..IA_Color()..L['Socket Size'] end, + order = 2, + set = function(_, value) + E.db.sle.Armory.Inspect.Gem.SocketSize = value + + for _, SlotName in pairs(Info.Armory_Constants.GearList) do + for i = 1, MAX_NUM_SOCKETS do + if InspectArmory[SlotName] and InspectArmory[SlotName]['Socket'..i] then + InspectArmory[SlotName]['Socket'..i]:Size(value) + else + break + end + end + end + end, + min = 6, + max = 50, + step = 1, + disabled = function() return E.db.sle.Armory.Inspect.Enable == false end + }, + WarningSize = { + type = 'range', + name = function() return ' '..IA_Color()..L['Warning Size'] end, + order = 3, + set = function(_, value) + E.db.sle.Armory.Inspect.Gem.WarningSize = value + + for _, SlotName in pairs(Info.Armory_Constants.GearList) do + if InspectArmory[SlotName] and InspectArmory[SlotName].SocketWarning then + InspectArmory[SlotName].SocketWarning:Size(value) + end + end + end, + min = 6, + max = 50, + step = 1, + disabled = function() return E.db.sle.Armory.Inspect.Enable == false end + }, + } + }, + CreditSpace = { + type = 'description', + name = ' ', + order = 998 + }, + Credit = { + type = 'header', + name = KF.Credit, + order = 999 + } + } + } + end +end + +table.insert(E.SLEConfigs, 9, LoadArmoryConfigTable) \ No newline at end of file diff --git a/ElvUI_SLE/modules/Armory/Constants.lua b/ElvUI_SLE/modules/Armory/Constants.lua index c56f982..aa8ddd4 100644 --- a/ElvUI_SLE/modules/Armory/Constants.lua +++ b/ElvUI_SLE/modules/Armory/Constants.lua @@ -1,4 +1,6 @@ -local E, L, V, P, G = unpack(ElvUI) +if select(2, GetAddOnInfo('ElvUI_KnightFrame')) and IsAddOnLoaded('ElvUI_KnightFrame') then return end + +local E, L, V, P, G = unpack(ElvUI) local KF, Info, Timer = unpack(ElvUI_KnightFrame) Info.Armory_Constants = { @@ -53,7 +55,13 @@ Info.Armory_Constants = { HandsSlot = true, WaistSlot = true, LegsSlot = true, FeetSlot = true, MainHandSlot = true, SecondaryHandSlot = true }, - ProfessionList = {} + ProfessionList = {}, + + BlizzardBackdropList = { + ['Alliance-bliz'] = [[Interface\LFGFrame\UI-PVP-BACKGROUND-Alliance]], + ['Horde-bliz'] = [[Interface\LFGFrame\UI-PVP-BACKGROUND-Horde]], + ['Arena-bliz'] = [[Interface\PVPFrame\PvpBg-NagrandArena-ToastBG]] + } } for ProfessionID, ProfessionKey in pairs({ diff --git a/ElvUI_SLE/modules/Armory/EnchantList.lua b/ElvUI_SLE/modules/Armory/EnchantList.lua deleted file mode 100644 index eb523a8..0000000 --- a/ElvUI_SLE/modules/Armory/EnchantList.lua +++ /dev/null @@ -1,26 +0,0 @@ -local E, L, V, P, G = unpack(ElvUI) -local KF, Info, Timer = unpack(ElvUI_KnightFrame) - -Info.Armory_EnchantList = { - --[[ - Profession_Inscription = { - ['4912'] = 600, -- 비밀 소뿔 새김무늬 Secret Ox Horn Inscription - ['4913'] = 600, -- 비밀 학날개 새김무늬 Secret Crane Wing Inscription - ['4914'] = 600, -- 비밀 호랑이 발톱 새김무늬 Secret Tiger Claw Inscription - ['4915'] = 600 -- 비밀 호랑이 송곳니 새김무늬 Secret Tiger Fang Inscription - }, - - Profession_LeatherWorking = { - ['4875'] = 575, -- 모피 안감 - 힘 Fur Lining - Strength - ['4877'] = 575, -- 모피 안감 - 지능 Fur Lining - Intellect - ['4878'] = 575, -- 모피 안감 - 체력 Fur Lining - Stamina - ['4879'] = 575 -- 모피 안감 - 민첩성 Fur Lining - Agility - }, - - Profession_Tailoring = { - ['4892'] = 550, -- 빛매듭 자수 Lightweave Embroidery - ['4893'] = 550, -- 암흑빛 자수 Darkglow Embroidery - ['4894'] = 550 -- 칼날 자수 Swordguard Embroidery - } - ]] -} \ No newline at end of file diff --git a/ElvUI_SLE/modules/Armory/InspectArmory/Communication.lua b/ElvUI_SLE/modules/Armory/InspectArmory/Communication.lua index 9060f24..477d003 100644 --- a/ElvUI_SLE/modules/Armory/InspectArmory/Communication.lua +++ b/ElvUI_SLE/modules/Armory/InspectArmory/Communication.lua @@ -1,7 +1,7 @@ -------------------------------------------------------------------------------- --<< AISM : Armory Surpport Module for AddOn Communication Inspecting >>-- -------------------------------------------------------------------------------- -local Revision = 1.1 +local Revision = 1.2 local AISM = _G['Armory_InspectSupportModule'] or CreateFrame('Frame', 'Armory_InspectSupportModule', UIParent) if not AISM.Revision or AISM.Revision < Revision then @@ -101,6 +101,10 @@ if not AISM.Revision or AISM.Revision < Revision then ASP = 'ActiveSpec', SID = 'SetItemData' } + AISM.UncheckableDataList = { + Profession1 = false, + Profession2 = false + } for groupNum = 1, MAX_TALENT_GROUPS do AISM.DataTypeTable['GL'..groupNum] = 'Glyph' AISM.DataTypeTable['SP'..groupNum] = 'Specialization' @@ -207,14 +211,14 @@ if not AISM.Revision or AISM.Revision < Revision then end function AISM:UpdateHelmDisplaying(value) - isHelmDisplayed = value == '1' + isHelmDisplayed = value AISM.Updater.GearUpdated = nil AISM.Updater:Show() end hooksecurefunc('ShowHelm', function(value) AISM:UpdateHelmDisplaying(value) end) function AISM:UpdateCloakDisplaying(value) - isCloakDisplayed = value == '1' + isCloakDisplayed = value AISM.Updater.GearUpdated = nil AISM.Updater:Show() end @@ -248,10 +252,12 @@ if not AISM.Revision or AISM.Revision < Revision then if self.PlayerData.Profession1 ~= Profession1 then self.PlayerData.Profession1 = Profession1 + self.UncheckableDataList.Profession1 = Profession1 end if self.PlayerData.Profession2 ~= Profession2 then self.PlayerData.Profession2 = Profession2 + self.UncheckableDataList.Profession2 = Profession2 end self.Updater.ProfessionUpdated = true @@ -260,50 +266,74 @@ if not AISM.Revision or AISM.Revision < Revision then --<< Specialization String >>-- + local ActiveSpec = GetActiveSpecGroup() local SpecTable = {} + local GroupArray = {} + for i = 1, playerNumSpecGroup do + tinsert(GroupArray, i) + end + if ActiveSpec ~= 1 then + tremove(GroupArray, ActiveSpec) + tinsert(GroupArray, 1, ActiveSpec) + end + function AISM:GetPlayerSpecSetting() local DataString, Spec, Talent, isSelected - local ActiveSpec = GetActiveSpecGroup() - for groupNum = 1, playerNumSpecGroup do + ActiveSpec = GetActiveSpecGroup() + + if self.PlayerData.ActiveSpec ~= ActiveSpec then + self.PlayerData.ActiveSpec = ActiveSpec + self.PlayerData_ShortString.ActiveSpec = ActiveSpec + self.UpdatedData.ActiveSpec = ActiveSpec + + wipe(GroupArray) + for i = 1, playerNumSpecGroup do + tinsert(GroupArray, i) + end + if ActiveSpec ~= 1 then + tremove(GroupArray, ActiveSpec) + tinsert(GroupArray, 1, ActiveSpec) + end + end + + for Step, Group in pairs(GroupArray) do DataString = nil - Spec = GetSpecialization(nil, nil, groupNum) + Spec = GetSpecialization(nil, nil, Group) Spec = Spec and GetSpecializationInfo(Spec) or '0' - if not SpecTable['Spec'..groupNum] or SpecTable['Spec'..groupNum] ~= Spec then - SpecTable['Spec'..groupNum] = Spec + if not SpecTable['Spec'..Step] or SpecTable['Spec'..Step] ~= Spec then + SpecTable['Spec'..Step] = Spec DataString = Spec end for i = 1, MAX_TALENT_TIERS do for k = 1, NUM_TALENT_COLUMNS do - Talent, _, _, isSelected = GetTalentInfo(i, k, groupNum) + Talent, _, _, isSelected = GetTalentInfo(i, k, Group) Talent = ((i - 1) * NUM_TALENT_COLUMNS + k)..'_'..Talent..(isSelected == true and '_1' or '') Spec = Spec..'/'..Talent - if not SpecTable['Spec'..groupNum..'_Talent'..((i - 1) * NUM_TALENT_COLUMNS + k)] or SpecTable['Spec'..groupNum..'_Talent'..((i - 1) * NUM_TALENT_COLUMNS + k)] ~= Talent then - SpecTable['Spec'..groupNum..'_Talent'..((i - 1) * NUM_TALENT_COLUMNS + k)] = Talent + if not SpecTable['Spec'..Step..'_Talent'..((i - 1) * NUM_TALENT_COLUMNS + k)] or SpecTable['Spec'..Step..'_Talent'..((i - 1) * NUM_TALENT_COLUMNS + k)] ~= Talent then + SpecTable['Spec'..Step..'_Talent'..((i - 1) * NUM_TALENT_COLUMNS + k)] = Talent DataString = (DataString and DataString..'/' or '')..Talent end end end - if not self.PlayerData['Spec'..groupNum] or self.PlayerData['Spec'..groupNum] ~= Spec then - self.PlayerData['Spec'..groupNum] = Spec - self.PlayerData_ShortString['Spec'..groupNum] = Spec - self.UpdatedData['Spec'..groupNum] = DataString + if not self.PlayerData['Spec'..Step] or self.PlayerData['Spec'..Step] ~= Spec then + self.PlayerData['Spec'..Step] = Spec + self.PlayerData_ShortString['Spec'..Step] = Spec + self.UpdatedData['Spec'..Step] = DataString + + if Step > 1 then + self.UncheckableDataList['Spec'..Step] = Spec + end end end - if self.PlayerData.ActiveSpec ~= ActiveSpec then - self.PlayerData.ActiveSpec = ActiveSpec - self.PlayerData_ShortString.ActiveSpec = ActiveSpec - self.UpdatedData.ActiveSpec = ActiveSpec - end - self.Updater.SpecUpdated = true end AISM.Updater:RegisterEvent('ACTIVE_TALENT_GROUP_CHANGED') @@ -312,25 +342,27 @@ if not AISM.Revision or AISM.Revision < Revision then --<< Glyph String >>-- function AISM:GetPlayerGlyphString() - local ShortString, FullString - local ActiveSpec = GetActiveSpecGroup() + local ShortString, FullString, SpellID, GlyphID - local SpellID, GlyphID - for groupNum = 1, playerNumSpecGroup do + for Step, Group in pairs(GroupArray) do ShortString, FullString = '', '' - for slotNum = 1, NUM_GLYPH_SLOTS do - _, _, _, SpellID, _, GlyphID = GetGlyphSocketInfo(slotNum, groupNum) + for SlotNum = 1, NUM_GLYPH_SLOTS do + _, _, _, SpellID, _, GlyphID = GetGlyphSocketInfo(SlotNum, Group) - ShortString = ShortString..(SpellID or '0')..(slotNum ~= NUM_GLYPH_SLOTS and '/' or '') - FullString = FullString..(SpellID or '0')..'_'..(GlyphID or '0')..(slotNum ~= NUM_GLYPH_SLOTS and '/' or '') + ShortString = ShortString..(SpellID or '0')..(SlotNum ~= NUM_GLYPH_SLOTS and '/' or '') + FullString = FullString..(SpellID or '0')..'_'..(GlyphID or '0')..(SlotNum ~= NUM_GLYPH_SLOTS and '/' or '') end - if self.PlayerData['Glyph'..groupNum] ~= FullString then - self.PlayerData['Glyph'..groupNum] = FullString + if self.PlayerData['Glyph'..Step] ~= FullString then + self.PlayerData['Glyph'..Step] = FullString + + if Step > 1 then + self.UncheckableDataList['Glyph'..Step] = FullString + end end - if groupNum == ActiveSpec and self.PlayerData_ShortString.Glyph1 ~= ShortString then + if Step == 1 and self.PlayerData_ShortString.Glyph1 ~= ShortString then self.PlayerData_ShortString.Glyph1 = ShortString self.UpdatedData.Glyph1 = ShortString end @@ -349,9 +381,11 @@ if not AISM.Revision or AISM.Revision < Revision then local CurrentSetItem, GearSetIDList = {}, {} local slotID, slotLink, isTransmogrified, transmogrifiedItemID, SetName, GeatSetCount, SetItemMax, SetOptionCount, colorR, colorG, colorB, checkSpace, tooltipText - for slotName in pairs(self.Updater.GearUpdated or self.GearList) do + for slotName in pairs(type(self.Updater.GearUpdated) == 'table' and self.Updater.GearUpdated or self.GearList) do needUpdate = nil + self.UncheckableDataList[slotName] = nil + slotID = GetInventorySlotInfo(slotName) slotLink = GetInventoryItemLink('player', slotID) @@ -364,11 +398,17 @@ if not AISM.Revision or AISM.Revision < Revision then isTransmogrified = nil end - ShortString = slotLink and select(2, strsplit(':', slotLink)) or 'F' - FullString = (slotLink or 'F')..'/'..(slotName == 'HeadSlot' and not isHelmDisplayed and 'ND' or slotName == 'BackSlot' and not isCloakDisplayed and 'ND' or isTransmogrified and transmogrifiedItemID or '0') + ShortString = slotLink and select(2, strsplit(':', slotLink)) or 'F' -- ITEM ID + FullString = slotLink or 'F' - for i = 1, MAX_NUM_SOCKETS do - FullString = FullString..'/'..(select(i, GetInventoryItemGems(slotID)) or 0) + if slotLink then + self.UncheckableDataList[slotName] = slotName == 'HeadSlot' and not isHelmDisplayed and 'ND' or slotName == 'BackSlot' and not isCloakDisplayed and 'ND' or isTransmogrified and transmogrifiedItemID or '0' + + for i = 1, MAX_NUM_SOCKETS do + self.UncheckableDataList[slotName] = self.UncheckableDataList[slotName]..'/'..(select(i, GetInventoryItemGems(slotID)) or 0) + end + + FullString = FullString..'/'..self.UncheckableDataList[slotName] end if self.PlayerData[slotName] ~= FullString then @@ -551,7 +591,7 @@ if not AISM.Revision or AISM.Revision < Revision then end if InputData.ActiveSpec then - Data[#Data + 1] = 'ASP:'..InputData.ActiveSpec + Data[#Data + 1] = 'ASP:1' end for groupNum = 1, MAX_TALENT_GROUPS do @@ -703,11 +743,20 @@ if not AISM.Revision or AISM.Revision < Revision then --print(Message) if Message:find('AISM_') then - if Message == 'AISM_Check' then + if Message:find('AISM_Check') then + Message = Message:gsub('AISM_Check', '') + self.AISMUserList[Sender] = true SendAddonMessage('AISM', 'AISM_CheckResponse', 'WHISPER', Sender) - elseif Message == 'AISM_CheckResponse' then - self.AISMUserList[Sender] = true + SendAddonMessage('AISM', 'AISM_CheckResponse:'..self.Revision, 'WHISPER', Sender) + elseif Message:find('AISM_CheckResponse') then + Message = Message:gsub('AISM_CheckResponse', '') + + if Message ~= '' then + self.AISMUserList[Sender] = tonumber(strsub(Message, 2)) + else + self.AISMUserList[Sender] = true + end elseif Message == 'AISM_UnregistME' then self.AISMUserList[Sender] = nil self.GroupMemberData[Sender] = nil @@ -720,18 +769,23 @@ if not AISM.Revision or AISM.Revision < Revision then self.AISMUserList[Sender] = nil self.CurrentInspectData[Sender] = nil elseif Message:find('AISM_DataRequestForInspecting:') then - local needplayerName, needplayerRealm = Message:match('^.+:(.+)-(.+)$') + Message = Message:gsub('AISM_DataRequestForInspecting:', '') + + local needplayerName, needplayerRealm, NeedOnlyUncheckableData = strsplit('-', Message) if needplayerName == playerName and needplayerRealm == playerRealm then - local TableToSend = {} - - for Index, Data in pairs(self.PlayerData) do - TableToSend[Index] = Data + if not NeedOnlyUncheckableData then + local TableToSend = {} + + for Index, Data in pairs(self.PlayerData) do + TableToSend[Index] = Data + end + + self:SettingInspectData(TableToSend) + self:SendData(TableToSend, Prefix, Channel, Sender) + else + self:SendData(self.UncheckableDataList, Prefix, Channel, Sender) end - - self:SettingInspectData(TableToSend) - - self:SendData(TableToSend, Prefix, Channel, Sender) end end @@ -814,13 +868,23 @@ if not AISM.Revision or AISM.Revision < Revision then end end - TableToSave.Gear[DataType] = { - ItemLink = stringTable[1] ~= 'F' and stringTable[1] or nil, - Transmogrify = stringTable[2] == 'ND' and 'NotDisplayed' or stringTable[2] ~= 0 and stringTable[2] or nil - } - - for i = 1, MAX_NUM_SOCKETS do - TableToSave.Gear[DataType]['Gem'..i] = stringTable[i + 2] ~= 0 and stringTable[i + 2] or nil + if #stringTable == 1 or #stringTable == 2 + MAX_NUM_SOCKETS then + TableToSave.Gear[DataType] = { + ItemLink = stringTable[1] ~= 'F' and stringTable[1] or nil, + Transmogrify = stringTable[2] == 'ND' and 'NotDisplayed' or stringTable[2] ~= 0 and stringTable[2] or nil + } + + for i = 1, MAX_NUM_SOCKETS do + TableToSave.Gear[DataType]['Gem'..i] = stringTable[i + 2] ~= 0 and stringTable[i + 2] or nil + end + else + TableToSave.Gear[DataType] = { + Transmogrify = stringTable[1] == 'ND' and 'NotDisplayed' or stringTable[1] ~= 0 and stringTable[1] or nil + } + + for i = 1, MAX_NUM_SOCKETS do + TableToSave.Gear[DataType]['Gem'..i] = stringTable[i + 1] ~= 0 and stringTable[i + 1] or nil + end end elseif self.DataTypeTable[DataType] == 'SetItemData' then TableToSave.SetItem = TableToSave.SetItem or {} @@ -898,12 +962,7 @@ if not AISM.Revision or AISM.Revision < Revision then local Prefix, Message, Channel, Sender, Type AISM:SetScript('OnEvent', function(self, Event, ...) - if Event == 'VARIABLES_LOADED' then - isHelmDisplayed = ShowingHelm() == 1 - isCloakDisplayed = ShowingCloak() == 1 - - self:UnregisterEvent('VARIABLES_LOADED') - elseif Event == 'PLAYER_LOGIN' then + if Event == 'PLAYER_LOGIN' then self:GetPlayerCurrentGroupMode() self:GetCurrentInstanceType() elseif Event == 'PLAYER_LOGOUT' then @@ -944,11 +1003,15 @@ if not AISM.Revision or AISM.Revision < Revision then self:GetPlayerCurrentGroupMode() self:Show() elseif Event == 'PLAYER_ENTERING_WORLD' or Event == 'ZONE_CHANGED_NEW_AREA' then + if not (isHelmDisplayed and isCloakDisplayed) then + isHelmDisplayed = ShowingHelm() + isCloakDisplayed = ShowingCloak() + end + self:GetCurrentInstanceType() self:Show() end end) - AISM:RegisterEvent('VARIABLES_LOADED') AISM:RegisterEvent('PLAYER_LOGIN') AISM:RegisterEvent('PLAYER_LOGOUT') AISM:RegisterEvent('CHAT_MSG_SYSTEM') diff --git a/ElvUI_SLE/modules/Armory/InspectArmory/InspectArmory.lua b/ElvUI_SLE/modules/Armory/InspectArmory/InspectArmory.lua index db7825f..2e5cf94 100644 --- a/ElvUI_SLE/modules/Armory/InspectArmory/InspectArmory.lua +++ b/ElvUI_SLE/modules/Armory/InspectArmory/InspectArmory.lua @@ -1,4 +1,6 @@ -local E, L, V, P, G = unpack(ElvUI) +if select(2, GetAddOnInfo('ElvUI_KnightFrame')) and IsAddOnLoaded('ElvUI_KnightFrame') then return end + +local E, L, V, P, G = unpack(ElvUI) local KF, Info, Timer = unpack(ElvUI_KnightFrame) -------------------------------------------------------------------------------- @@ -51,11 +53,17 @@ IA.Default_CurrentInspectData = { Finger1Slot = {}, Trinket0Slot = {}, Trinket1Slot = {}, SecondaryHandSlot = {} }, SetItem = {}, - Specialization = { [1] = {}, [2] = {} }, - Glyph = { [1] = {}, [2] = {} }, + Specialization = {}, + Glyph = {}, Profession = { [1] = {}, [2] = {} }, PvP = {} } +for i = 1, MAX_TALENT_GROUPS do + IA.Default_CurrentInspectData.Specialization[i] = {} + IA.Default_CurrentInspectData.Glyph[i] = {} +end + + IA.MainStats = { -- STR, INT, AGI, WARRIOR = STR, HUNTER = AGI, @@ -313,6 +321,22 @@ do --<< Button Script >>-- GameTooltip:Hide() end + + + function IA:Transmogrify_OnClick(Button) + local ItemName, ItemLink = GetItemInfo(self.Link) + + if not IsShiftKeyDown() then + SetItemRef(ItemLink, ItemLink, 'LeftButton') + else + if HandleModifiedItemClick(ItemLink) then + elseif BrowseName and BrowseName:IsVisible() then + AuctionFrameBrowse_Reset(BrowseResetButton) + BrowseName:SetText(ItemName) + BrowseName:SetFocus() + end + end + end end @@ -390,6 +414,10 @@ function IA:CreateInspectFrame() self:SetScript('OnShow', function() self.Model:Point('TOPRIGHT', self.HandsSlot) end) self:SetScript('OnEvent', function(self, Event, ...) if self[Event] then self[Event](Event, ...) end end) UIPanelWindows.InspectArmory = { area = 'left', pushable = 1, whileDead = 1 } + + self.DisplayUpdater = CreateFrame('Frame', nil, self) + self.DisplayUpdater:SetScript('OnShow', function() if Info.InspectArmory_Activate then self:Update_Display(true) end end) + self.DisplayUpdater:SetScript('OnUpdate', function() if Info.InspectArmory_Activate then self:Update_Display() end end) end do --<< Tab >>-- @@ -490,7 +518,6 @@ function IA:CreateInspectFrame() self.BG = self:CreateTexture(nil, 'OVERLAY') self.BG:Point('TOPLEFT', self.Tab, 'BOTTOMLEFT', 0, -38) self.BG:Point('BOTTOMRIGHT', self.BP, 'TOPRIGHT') - self.BG:SetTexture(KF.db.Modules.Armory.Inspect.BackgroundImage) end do --<< Buttons >>-- @@ -657,24 +684,47 @@ function IA:CreateInspectFrame() Slot.Gradation:Point(Slot.Direction, Slot, Slot.Direction == 'LEFT' and -1 or 1, 0) Slot.Gradation.Texture = Slot.Gradation:CreateTexture(nil, 'OVERLAY') Slot.Gradation.Texture:SetInside() - Slot.Gradation.Texture:SetTexture('Interface\\AddOns\\ElvUI_KnightFrame\\Media\\Graphics\\Gradation') + Slot.Gradation.Texture:SetTexture('Interface\\AddOns\\ElvUI_SLE\\modules\\Armory\\Media\\Textures\\Gradation') if Slot.Direction == 'LEFT' then Slot.Gradation.Texture:SetTexCoord(0, 1, 0, 1) else Slot.Gradation.Texture:SetTexCoord(1, 0, 0, 1) end + if not E.db.sle.Armory.Inspect.Gradation.Display then + Slot.Gradation.Texture:Hide() + end + if not (SlotName == 'ShirtSlot' or SlotName == 'TabardSlot') then -- Item Level - KF:TextSetting(Slot.Gradation, nil, { Tag = 'ItemLevel', FontSize = 10, directionH = Slot.Direction, }, 'TOP'..Slot.Direction, Slot, 'TOP'..(Slot.Direction == 'LEFT' and 'RIGHT' or 'LEFT'), Slot.Direction == 'LEFT' and 2 or -2, -1) + KF:TextSetting(Slot.Gradation, nil, { Tag = 'ItemLevel', + Font = E.db.sle.Armory.Inspect.Level.Font, + FontSize = E.db.sle.Armory.Inspect.Level.FontSize, + FontStyle = E.db.sle.Armory.Inspect.Level.FontStyle, + directionH = Slot.Direction + }, 'TOP'..Slot.Direction, Slot, 'TOP'..(Slot.Direction == 'LEFT' and 'RIGHT' or 'LEFT'), Slot.Direction == 'LEFT' and 2 or -2, -1) + + if E.db.sle.Armory.Inspect.Level.Display == 'Hide' then + Slot.Gradation.ItemLevel:Hide() + end -- Enchantment - KF:TextSetting(Slot.Gradation, nil, { Tag = 'ItemEnchant', FontSize = 8, directionH = Slot.Direction, }, Slot.Direction, Slot, Slot.Direction == 'LEFT' and 'RIGHT' or 'LEFT', Slot.Direction == 'LEFT' and 2 or -2, 2) + KF:TextSetting(Slot.Gradation, nil, { Tag = 'ItemEnchant', + Font = E.db.sle.Armory.Inspect.Enchant.Font, + FontSize = E.db.sle.Armory.Inspect.Enchant.FontSize, + FontStyle = E.db.sle.Armory.Inspect.Enchant.FontStyle, + directionH = Slot.Direction + }, Slot.Direction, Slot, Slot.Direction == 'LEFT' and 'RIGHT' or 'LEFT', Slot.Direction == 'LEFT' and 2 or -2, 1) + + if E.db.sle.Armory.Inspect.Enchant.Display == 'Hide' then + Slot.Gradation.ItemEnchant:Hide() + end + Slot.EnchantWarning = CreateFrame('Button', nil, Slot.Gradation) - Slot.EnchantWarning:Size(12) + Slot.EnchantWarning:Size(E.db.sle.Armory.Inspect.Enchant.WarningSize) Slot.EnchantWarning.Texture = Slot.EnchantWarning:CreateTexture(nil, 'OVERLAY') Slot.EnchantWarning.Texture:SetInside() - Slot.EnchantWarning.Texture:SetTexture('Interface\\AddOns\\ElvUI_KnightFrame\\Media\\Graphics\\Warning-Small') + Slot.EnchantWarning.Texture:SetTexture('Interface\\AddOns\\ElvUI_SLE\\modules\\Armory\\Media\\Textures\\Warning-Small') Slot.EnchantWarning:Point(Slot.Direction, Slot.Gradation.ItemEnchant, Slot.Direction == 'LEFT' and 'RIGHT' or 'LEFT', Slot.Direction == 'LEFT' and 3 or -3, 0) Slot.EnchantWarning:SetScript('OnEnter', self.OnEnter) Slot.EnchantWarning:SetScript('OnLeave', self.OnLeave) @@ -682,7 +732,7 @@ function IA:CreateInspectFrame() -- Gem Socket for i = 1, MAX_NUM_SOCKETS do Slot['Socket'..i] = CreateFrame('Frame', nil, Slot.Gradation) - Slot['Socket'..i]:Size(12) + Slot['Socket'..i]:Size(E.db.sle.Armory.Inspect.Gem.SocketSize) Slot['Socket'..i]:SetBackdrop({ bgFile = E.media.blankTex, edgeFile = E.media.blankTex, @@ -715,10 +765,10 @@ function IA:CreateInspectFrame() Slot.Socket3:Point(Slot.Direction, Slot.Socket2, Slot.Direction == 'LEFT' and 'RIGHT' or 'LEFT', Slot.Direction == 'LEFT' and 1 or -1, 0) Slot.SocketWarning = CreateFrame('Button', nil, Slot.Gradation) - Slot.SocketWarning:Size(12) + Slot.SocketWarning:Size(E.db.sle.Armory.Inspect.Gem.WarningSize) Slot.SocketWarning.Texture = Slot.SocketWarning:CreateTexture(nil, 'OVERLAY') Slot.SocketWarning.Texture:SetInside() - Slot.SocketWarning.Texture:SetTexture('Interface\\AddOns\\ElvUI_KnightFrame\\Media\\Graphics\\Warning-Small') + Slot.SocketWarning.Texture:SetTexture('Interface\\AddOns\\ElvUI_SLE\\modules\\Armory\\Media\\Textures\\Warning-Small') Slot.SocketWarning:SetScript('OnEnter', self.OnEnter) Slot.SocketWarning:SetScript('OnLeave', self.OnLeave) @@ -729,10 +779,11 @@ function IA:CreateInspectFrame() Slot.TransmogrifyAnchor:Point('BOTTOM'..Slot.Direction, Slot, Slot.Direction == 'LEFT' and -3 or 3, -3) Slot.TransmogrifyAnchor:SetScript('OnEnter', self.Transmogrify_OnEnter) Slot.TransmogrifyAnchor:SetScript('OnLeave', self.Transmogrify_OnLeave) + Slot.TransmogrifyAnchor:SetScript('OnClick', self.Transmogrify_OnClick) Slot.TransmogrifyAnchor.Texture = Slot.TransmogrifyAnchor:CreateTexture(nil, 'OVERLAY') Slot.TransmogrifyAnchor.Texture:SetInside() - Slot.TransmogrifyAnchor.Texture:SetTexture('Interface\\AddOns\\ElvUI_KnightFrame\\Media\\Graphics\\Anchor') + Slot.TransmogrifyAnchor.Texture:SetTexture('Interface\\AddOns\\ElvUI_SLE\\modules\\Armory\\Media\\Textures\\Anchor') Slot.TransmogrifyAnchor.Texture:SetVertexColor(1, .5, 1) if Slot.Direction == 'LEFT' then @@ -1271,7 +1322,7 @@ function IA:CreateInspectFrame() end end) InspectArmory_UnitPopup:SetScript('OnClick', function(self) - local SendChannel + local SendChannel, InspectWork if AISM and AISM.AISMUserList[self.Data.TableIndex] then if self.Data.Realm == Info.MyRealm then @@ -1283,31 +1334,43 @@ function IA:CreateInspectFrame() end end - if AISM and SendChannel then - ENI.CancelInspect(self.Data.TableIndex) - IA:UnregisterEvent('INSPECT_READY') + if self.Data.Unit then + if ENI.HoldInspecting == 'OPENING_DROPDOWN' then + ENI.HoldInspecting = nil + end - IA.NeedModelSetting = true - wipe(IA.CurrentInspectData) - E:CopyTable(IA.CurrentInspectData, IA.Default_CurrentInspectData) + InspectWork = IA.InspectUnit(self.Data.Unit, { CancelInspectByManual = 'KnightInspect' }) + end + + if AISM and SendChannel then AISM.CurrentInspectData[self.Data.TableIndex] = { - UnitID = self.Data.Unit, + UnitID = self.Data.Unit } + if not InspectWork then + ENI.CancelInspect(self.Data.TableIndex) + IA:UnregisterEvent('INSPECT_READY') + + IA.NeedModelSetting = true + wipe(IA.CurrentInspectData) + E:CopyTable(IA.CurrentInspectData, IA.Default_CurrentInspectData) + end + local TableIndex = self.Data.TableIndex + AISM:RegisterInspectDataRequest(function(User, Prefix, UserData) if Prefix == 'AISM_Inspect' and User == TableIndex then E:CopyTable(IA.CurrentInspectData, UserData) - IA:ShowFrame(IA.CurrentInspectData) + + if not InspectWork or IA:IsShown() and IA.LastDataSetting == TableIndex then + IA:ShowFrame(IA.CurrentInspectData) + end return true end end, 'InspectArmory', true) - SendAddonMessage('AISM_Inspect', 'AISM_DataRequestForInspecting:'..self.Data.Name..'-'..self.Data.Realm, SendChannel, self.Data.TableIndex) - end - - if self.Data.Unit then - IA.InspectUnit(self.Data.Unit, { CancelInspectByManual = 'KnightInspect' }) + + SendAddonMessage('AISM_Inspect', 'AISM_DataRequestForInspecting:'..self.Data.Name..'-'..self.Data.Realm..(InspectWork and '-true' or ''), SendChannel, self.Data.TableIndex) end DropDownList1:Hide() @@ -1350,8 +1413,8 @@ function IA:CreateInspectFrame() InspectArmory_UnitPopup.Data = DataTable end - hooksecurefunc('UnitPopup_ShowMenu', function(Menu, Type, Unit, Name) - if Info.InspectArmory_Activate and UIDROPDOWNMENU_MENU_LEVEL == 1 and IA.UnitPopupList[Type] then + hooksecurefunc('UnitPopup_ShowMenu', function(Menu, Type, Unit, Name, ...) + if Info.InspectArmory_Activate and IA.UnitPopupList[Type] and UIDROPDOWNMENU_MENU_LEVEL == 1 then local Button local DataTable = { Name = Menu.name or Name, @@ -1651,6 +1714,8 @@ IA.InspectUnit = function(UnitID, Properties) IA.ForbidUpdatePvPInformation = true IA:RegisterEvent('INSPECT_READY') IA:RegisterEvent('INSPECT_HONOR_UPDATE') + + return true end end @@ -1690,18 +1755,20 @@ function IA:InspectFrame_DataSetting(DataTable) local ItemCount, ItemTotal = 0, 0 do --<< Equipment Slot and Enchant, Gem Setting >>-- - local ItemData, ItemRarity, BasicItemLevel, TrueItemLevel, ItemUpgradeID, ItemTexture, IsEnchanted, CurrentLineText, GemCount_Default, GemCount_Enable, GemCount_Now, GemCount + local ItemData, ItemRarity, BasicItemLevel, TrueItemLevel, ItemUpgradeID, ItemType, ItemTexture, CurrentLineText, GemCount_Default, GemCount_Enable, GemCount_Now, GemCount -- Setting except shirt and tabard - for _, SlotName in pairs(self.GearUpdated or Info.Armory_Constants.GearList) do + for _, SlotName in pairs(type(self.GearUpdated) == 'table' and self.GearUpdated or Info.Armory_Constants.GearList) do + Slot = self[SlotName] + ErrorDetected, ItemRarity, ItemTexture, R, G, B = nil, nil, nil, 0, 0, 0 + if SlotName ~= 'ShirtSlot' and SlotName ~= 'TabardSlot' then - Slot = self[SlotName] - do --<< Clear Setting >>-- - NeedUpdate, ErrorDetected, TrueItemLevel, IsEnchanted, ItemUpgradeID, ItemTexture, R, G, B = nil, nil, nil, nil, nil, nil, 0, 0, 0 + NeedUpdate, TrueItemLevel, ItemUpgradeID, ItemType = nil, nil, nil, nil Slot.Link = nil Slot.ILvL = nil + Slot.IsEnchanted = nil Slot.ItemLevel:SetText(nil) Slot.Gradation.ItemLevel:SetText(nil) Slot.Gradation.ItemEnchant:SetText(nil) @@ -1717,6 +1784,10 @@ function IA:InspectFrame_DataSetting(DataTable) Slot.SocketWarning:Hide() Slot.SocketWarning.Link = nil Slot.SocketWarning.Message = nil + if Slot.TransmogrifyAnchor then + Slot.TransmogrifyAnchor.Link = nil + Slot.TransmogrifyAnchor:Hide() + end end if DataTable.Gear[SlotName].ItemLink then @@ -1777,9 +1848,12 @@ function IA:InspectFrame_DataSetting(DataTable) CurrentLineText = DataTable.Gear[SlotName]['Gem'..i] or CurrentLineText ~= self.ScanTT and CurrentLineText.GetText and CurrentLineText:GetText():gsub('|cff......', ''):gsub('|r', '') or nil if CurrentLineText then - Slot['Socket'..i]:Show() + if E.db.sle.Armory.Inspect.Gem.Display == 'Always' or E.db.sle.Armory.Inspect.Gem.Display == 'MouseoverOnly' and Slot.Mouseovered or E.db.sle.Armory.Inspect.Gem.Display == 'MissingOnly' then + Slot['Socket'..i]:Show() + Slot.SocketWarning:Point(Slot.Direction, Slot['Socket'..i], (Slot.Direction == 'LEFT' and 'RIGHT' or 'LEFT'), Slot.Direction == 'LEFT' and 3 or -3, 0) + end + GemCount_Now = GemCount_Now + 1 - Slot.SocketWarning:Point(Slot.Direction, Slot['Socket'..i], (Slot.Direction == 'LEFT' and 'RIGHT' or 'LEFT'), Slot.Direction == 'LEFT' and 3 or -3, 0) ItemTexture = ItemTexture or DataTable.Gear[SlotName]['Gem'..i] and select(10, GetItemInfo(DataTable.Gear[SlotName]['Gem'..i])) or nil @@ -1798,7 +1872,7 @@ function IA:InspectFrame_DataSetting(DataTable) end end - _, _, ItemRarity, BasicItemLevel, _, _, _, _, _, ItemTexture = GetItemInfo(Slot.Link) + _, _, ItemRarity, BasicItemLevel, _, _, _, _, ItemType, ItemTexture = GetItemInfo(Slot.Link) R, G, B = GetItemQualityColor(ItemRarity) ItemUpgradeID = Slot.Link:match(':(%d+)\124h%[') @@ -1812,26 +1886,37 @@ function IA:InspectFrame_DataSetting(DataTable) elseif CurrentLineText:find(Info.Armory_Constants.ItemLevelKey) then TrueItemLevel = tonumber(CurrentLineText:match(Info.Armory_Constants.ItemLevelKey)) elseif CurrentLineText:find(Info.Armory_Constants.EnchantKey) then - CurrentLineText = CurrentLineText:match(Info.Armory_Constants.EnchantKey) -- Get enchant string - - CurrentLineText = gsub(CurrentLineText, ITEM_MOD_AGILITY_SHORT, AGI) - CurrentLineText = gsub(CurrentLineText, ITEM_MOD_SPIRIT_SHORT, SPI) - CurrentLineText = gsub(CurrentLineText, ITEM_MOD_STAMINA_SHORT, STA) - CurrentLineText = gsub(CurrentLineText, ITEM_MOD_STRENGTH_SHORT, STR) - CurrentLineText = gsub(CurrentLineText, ITEM_MOD_INTELLECT_SHORT, INT) - CurrentLineText = gsub(CurrentLineText, ITEM_MOD_CRIT_RATING_SHORT, CRIT_ABBR) -- Critical is too long - CurrentLineText = gsub(CurrentLineText, ' + ', '+') -- Remove space - - Slot.Gradation.ItemEnchant:SetText('|cffceff00'..CurrentLineText) + if E.db.sle.Armory.Inspect.Enchant.Display ~= 'Hide' then + CurrentLineText = CurrentLineText:match(Info.Armory_Constants.EnchantKey) -- Get enchant string + CurrentLineText = gsub(CurrentLineText, ITEM_MOD_AGILITY_SHORT, AGI) + CurrentLineText = gsub(CurrentLineText, ITEM_MOD_SPIRIT_SHORT, SPI) + CurrentLineText = gsub(CurrentLineText, ITEM_MOD_STAMINA_SHORT, STA) + CurrentLineText = gsub(CurrentLineText, ITEM_MOD_STRENGTH_SHORT, STR) + CurrentLineText = gsub(CurrentLineText, ITEM_MOD_INTELLECT_SHORT, INT) + CurrentLineText = gsub(CurrentLineText, ITEM_MOD_CRIT_RATING_SHORT, CRIT_ABBR) -- Critical is too long + CurrentLineText = gsub(CurrentLineText, ' + ', '+') -- Remove space + + if L.Armory_ReplaceEnchantString and type(L.Armory_ReplaceEnchantString) == 'table' then + for Old, New in pairs(L.Armory_ReplaceEnchantString) do + CurrentLineText = gsub(CurrentLineText, Old, New) + end + end + + for Old, New in pairs(KnightFrame_ArmoryDB.EnchantString) do + CurrentLineText = gsub(CurrentLineText, Old, New) + end + + Slot.Gradation.ItemEnchant:SetText('|cffceff00'..CurrentLineText) + end - IsEnchanted = true + Slot.IsEnchanted = true end end --<< ItemLevel Parts >>-- if BasicItemLevel then if ItemUpgradeID then - if ItemUpgradeID == '0' then + if ItemUpgradeID == '0' or not E.db.sle.Armory.Inspect.Level.ShowUpgradeLevel and ItemRarity == 7 then ItemUpgradeID = nil else ItemUpgradeID = TrueItemLevel - BasicItemLevel @@ -1841,14 +1926,20 @@ function IA:InspectFrame_DataSetting(DataTable) Slot.ILvL = TrueItemLevel or BasicItemLevel Slot.ItemLevel:SetText((ItemUpgradeID and (Info.Armory_Constants.UpgradeColor[ItemUpgradeID] or '|cffffffff') or '')..TrueItemLevel) - Slot.Gradation.ItemLevel:SetText((not TrueItemLevel or BasicItemLevel == TrueItemLevel) and BasicItemLevel or (Slot.Direction == 'LEFT' and TrueItemLevel or '')..(ItemUpgradeID and (Slot.Direction == 'LEFT' and ' ' or '')..(Info.Armory_Constants.UpgradeColor[ItemUpgradeID] or '|cffaaaaaa')..'(+'..ItemUpgradeID..')|r'..(Slot.Direction == 'RIGHT' and ' ' or '') or '')..(Slot.Direction == 'RIGHT' and TrueItemLevel or '')) + Slot.Gradation.ItemLevel:SetText( + (not TrueItemLevel or BasicItemLevel == TrueItemLevel) and BasicItemLevel + or + E.db.sle.Armory.Inspect.Level.ShowUpgradeLevel and (Slot.Direction == 'LEFT' and TrueItemLevel..' ' or '')..(ItemUpgradeID and (Info.Armory_Constants.UpgradeColor[ItemUpgradeID] or '|cffaaaaaa')..'(+'..ItemUpgradeID..')|r' or '')..(Slot.Direction == 'RIGHT' and ' '..TrueItemLevel or '') + or + TrueItemLevel + ) end --print(SlotName..':', Slot.Link, BasicItemLevel, TrueItemLevel) --[[ -- Check Error - if (not IsEnchanted and Info.Armory_Constants.EnchantableSlots[SlotName]) or ((SlotName == 'Finger0Slot' or SlotName == 'Finger1Slot') and (DataTable.Profession[1].Name == GetSpellInfo(110400) and DataTable.Profession[1].Level >= 550 or DataTable.Profession[2].Name == GetSpellInfo(110400) and DataTable.Profession[2].Level >= 550) and not IsEnchanted) then + if (not Slot.IsEnchanted and Info.Armory_Constants.EnchantableSlots[SlotName]) or ((SlotName == 'Finger0Slot' or SlotName == 'Finger1Slot') and (DataTable.Profession[1].Name == GetSpellInfo(110400) and DataTable.Profession[1].Level >= 550 or DataTable.Profession[2].Name == GetSpellInfo(110400) and DataTable.Profession[2].Level >= 550) and not Slot.IsEnchanted) then ErrorDetected = true Slot.EnchantWarning:Show() Slot.Gradation.ItemEnchant:SetText('|cffff0000'..L['Not Enchanted']) @@ -1866,106 +1957,72 @@ function IA:InspectFrame_DataSetting(DataTable) Slot.EnchantWarning.Message = '|cff71d5ff'..GetSpellInfo(110426)..'|r : '..L['This is not profession only.'] end ]] - if not IsEnchanted and Info.Armory_Constants.EnchantableSlots[SlotName] then - ErrorDetected = true - Slot.EnchantWarning:Show() - Slot.Gradation.ItemEnchant:SetText('|cffff0000'..L['Not Enchanted']) - end - - if GemCount_Enable > GemCount_Now or GemCount_Enable > GemCount or GemCount_Now > GemCount then - ErrorDetected = true - - Slot.SocketWarning:Show() - Slot.SocketWarning.Message = '|cffff5678'..(GemCount_Now - GemCount)..'|r '..L['Empty Socket'] - --[[ - if GemCount_Enable > GemCount_Now then - if SlotName == 'WaistSlot' then - if TrueItemLevel < 300 then - _, Slot.SocketWarning.Link = GetItemInfo(41611) - elseif TrueItemLevel < 417 then - _, Slot.SocketWarning.Link = GetItemInfo(55054) - else - _, Slot.SocketWarning.Link = GetItemInfo(90046) - end - - Slot.SocketWarning.Message = L['Missing Buckle'] - - Slot.SocketWarning:SetScript('OnClick', function(self) - local itemName, itemLink - - if TrueItemLevel < 300 then - itemName, itemLink = GetItemInfo(41611) - elseif TrueItemLevel < 417 then - itemName, itemLink = GetItemInfo(55054) - else - itemName, itemLink = GetItemInfo(90046) - end - - if HandleModifiedItemClick(itemLink) then - elseif IsShiftKeyDown() and BrowseName and BrowseName:IsVisible() then - AuctionFrameBrowse_Reset(BrowseResetButton) - BrowseName:SetText(itemName) - BrowseName:SetFocus() - end - end) - elseif SlotName == 'HandsSlot' then - Slot.SocketWarning.Link = GetSpellLink(114112) - Slot.SocketWarning.Message = '|cff71d5ff'..GetSpellInfo(110396)..'|r : '..L['Missing Socket'] - elseif SlotName == 'WristSlot' then - Slot.SocketWarning.Link = GetSpellLink(113263) - Slot.SocketWarning.Message = '|cff71d5ff'..GetSpellInfo(110396)..'|r : '..L['Missing Socket'] + if E.db.sle.Armory.Inspect.NoticeMissing ~= false then + if not Slot.IsEnchanted and Info.Armory_Constants.EnchantableSlots[SlotName] and not (SlotName == 'SecondaryHandSlot' and ItemType ~= 'INVTYPE_WEAPON' and ItemType ~= 'INVTYPE_WEAPONOFFHAND' and ItemType ~= 'INVTYPE_RANGEDRIGHT') then + ErrorDetected = true + Slot.EnchantWarning:Show() + + if not E.db.sle.Armory.Inspect.Enchant.WarningIconOnly then + Slot.Gradation.ItemEnchant:SetText('|cffff0000'..L['Not Enchanted']) end - else + end + + if GemCount_Enable > GemCount_Now or GemCount_Enable > GemCount or GemCount_Now > GemCount then + ErrorDetected = true + + Slot.SocketWarning:Show() Slot.SocketWarning.Message = '|cffff5678'..(GemCount_Now - GemCount)..'|r '..L['Empty Socket'] end - ]] end - --print(SlotName, Slot.Link, TrueItemLevel, ItemTotal) + if Slot.TransmogrifyAnchor then --<< Transmogrify Parts >>-- + Slot.TransmogrifyAnchor.Link = DataTable.Gear[SlotName].Transmogrify ~= 'NotDisplayed' and DataTable.Gear[SlotName].Transmogrify or nil + + if type(Slot.TransmogrifyAnchor.Link) == 'number' then + Slot.TransmogrifyAnchor:Show() + end + end else NeedUpdate = true end end - if Slot.TransmogrifyAnchor then --<< Transmogrify Parts >>-- - Slot.TransmogrifyAnchor.Link = DataTable.Gear[SlotName].Transmogrify ~= 'NotDisplayed' and DataTable.Gear[SlotName].Transmogrify - - if type(Slot.TransmogrifyAnchor.Link) == 'number' then - Slot.TransmogrifyAnchor:Show() - else - Slot.TransmogrifyAnchor:Hide() - end - end - - -- Change Gradation - if ErrorDetected and KF.db.Modules.Armory.Inspect.NoticeMissing ~= false then - Slot.Gradation.Texture:SetVertexColor(1, 0, 0) - else - Slot.Gradation.Texture:SetVertexColor(unpack(KF.db.Modules.Armory.Inspect.GradationColor)) - end - Slot.Texture:SetTexture(ItemTexture or Slot.EmptyTexture) - Slot:SetBackdropBorderColor(R, G, B) if NeedUpdate then NeedUpdateList = NeedUpdateList or {} NeedUpdateList[#NeedUpdateList + 1] = SlotName end + else + Slot.Link = DataTable.Gear[SlotName].ItemLink + + if Slot.Link then + _, _, ItemRarity, _, _, _, _, _, _, ItemTexture = GetItemInfo(Slot.Link) + + if ItemRarity then + R, G, B = GetItemQualityColor(ItemRarity) + else + NeedUpdateList = NeedUpdateList or {} + NeedUpdateList[#NeedUpdateList + 1] = SlotName + end + end + + Slot.Texture:SetTexture(ItemTexture or self[SlotName].EmptyTexture) end - end - - for _, SlotName in pairs({ 'ShirtSlot', 'TabardSlot' }) do - Slot = self[SlotName] - ItemRarity, ItemTexture, R, G, B = nil, nil, 0, 0, 0 - - Slot.Link = DataTable.Gear[SlotName].ItemLink - if Slot.Link then - _, _, ItemRarity, _, _, _, _, _, _, ItemTexture = GetItemInfo(Slot.Link) - R, G, B = GetItemQualityColor(ItemRarity) + -- Change Gradation + if Slot.Link and E.db.sle.Armory.Inspect.Gradation.Display then + Slot.Gradation.Texture:Show() + else + Slot.Gradation.Texture:Hide() end - Slot.Texture:SetTexture(ItemTexture or self[SlotName].EmptyTexture) + if ErrorDetected and E.db.sle.Armory.Inspect.NoticeMissing then + Slot.Gradation.Texture:SetVertexColor(1, 0, 0) + Slot.Gradation.Texture:Show() + else + Slot.Gradation.Texture:SetVertexColor(unpack(E.db.sle.Armory.Inspect.Gradation.Color)) + end Slot:SetBackdropBorderColor(R, G, B) end @@ -2043,8 +2100,8 @@ function IA:InspectFrame_DataSetting(DataTable) do --<< Specialization Page Setting >>-- local SpecGroup, TalentID, Name, Color, Texture, SpecRole - if DataTable.Specialization.ActiveSpec then - SpecGroup = DataTable.Specialization.ActiveSpec + if DataTable.Specialization.ActiveSpec or next(DataTable.Specialization[2]) then + SpecGroup = DataTable.Specialization.ActiveSpec or 1 for i = 2, MAX_TALENT_GROUPS do self.Spec['Spec'..i]:Show() @@ -2068,7 +2125,6 @@ function IA:InspectFrame_DataSetting(DataTable) if Name then if Info.ClassRole[DataTable.Class][Name] then - SpecRole = Info.ClassRole[DataTable.Class][Name].Role if groupNum == SpecGroup then @@ -2161,6 +2217,8 @@ function IA:InspectFrame_DataSetting(DataTable) end self.LastDataSetting = DataTable.Name..(DataTable.Realm and '-'..DataTable.Realm or '') + + self:Update_Display(true) end @@ -2361,15 +2419,95 @@ function IA:ToggleSpecializationTab(Group, DataTable) end +function IA:Update_BG() + if E.db.sle.Armory.Inspect.Backdrop.SelectedBG == 'HIDE' then + self.BG:SetTexture(nil) + elseif E.db.sle.Armory.Inspect.Backdrop.SelectedBG == 'CUSTOM' then + self.BG:SetTexture(E.db.sle.Armory.Inspect.Backdrop.CustomAddress) + else + self.BG:SetTexture(Info.Armory_Constants.BlizzardBackdropList[E.db.sle.Armory.Inspect.Backdrop.SelectedBG] or 'Interface\\AddOns\\ElvUI_SLE\\modules\\Armory\\Media\\Textures\\'..E.db.sle.Armory.Inspect.Backdrop.SelectedBG) + end +end + + +function IA:Update_Display(Force) + local Slot, Mouseover, SocketVisible + + if (self:IsMouseOver() and (E.db.sle.Armory.Inspect.Level.Display == 'MouseoverOnly' or E.db.sle.Armory.Inspect.Enchant.Display == 'MouseoverOnly' or E.db.sle.Armory.Inspect.Gem.Display == 'MouseoverOnly')) or Force then + for _, SlotName in pairs(Info.Armory_Constants.GearList) do + Slot = self[SlotName] + Mouseover = Slot.Gradation:IsMouseOver() + + if Slot.Gradation.ItemLevel then + if E.db.sle.Armory.Inspect.Level.Display == 'Always' or Mouseover and E.db.sle.Armory.Inspect.Level.Display == 'MouseoverOnly' then + Slot.Gradation.ItemLevel:Show() + else + Slot.Gradation.ItemLevel:Hide() + end + end + + if Slot.Gradation.ItemEnchant then + if E.db.sle.Armory.Inspect.Enchant.Display == 'Always' or Mouseover and E.db.sle.Armory.Inspect.Enchant.Display == 'MouseoverOnly' then + Slot.Gradation.ItemEnchant:Show() + elseif E.db.sle.Armory.Inspect.Enchant.Display ~= 'Always' and not (E.db.sle.Armory.Inspect.NoticeMissing and not Slot.IsEnchanted) then + Slot.Gradation.ItemEnchant:Hide() + end + end + + SocketVisible = nil + + if Slot.Socket1 then + for i = 1, MAX_NUM_SOCKETS do + if E.db.sle.Armory.Inspect.Gem.Display == 'Always' or Mouseover and E.db.sle.Armory.Inspect.Gem.Display == 'MouseoverOnly' then + if Slot['Socket'..i].GemType then + Slot['Socket'..i]:Show() + end + else + if SocketVisible == nil then + SocketVisible = false + end + + if Slot['Socket'..i].GemType and E.db.sle.Armory.Inspect.NoticeMissing and not Slot['Socket'..i].GemItemID then + SocketVisible = true + end + end + end + + if SocketVisible then + for i = 1, MAX_NUM_SOCKETS do + if Slot['Socket'..i].GemType then + Slot['Socket'..i]:Show() + Slot.SocketWarning:Point(Slot.Direction, Slot['Socket'..i], (Slot.Direction == 'LEFT' and 'RIGHT' or 'LEFT'), Slot.Direction == 'LEFT' and 3 or -3, 0) + end + end + elseif SocketVisible == false then + for i = 1, MAX_NUM_SOCKETS do + Slot['Socket'..i]:Hide() + end + + Slot.SocketWarning:Point(Slot.Direction, Slot.Socket1) + end + end + + + if Force == SlotName then + break + end + end + end +end + + KF.Modules[#KF.Modules + 1] = 'InspectArmory' -KF.Modules.InspectArmory = function(RemoveOrder) - if not RemoveOrder and KF.db.Enable ~= false and KF.db.Modules.Armory and KF.db.Modules.Armory.Inspect and KF.db.Modules.Armory.Inspect.Enable ~= false and not Info.InspectArmory_Activate then +KF.Modules.InspectArmory = function() + if E.db.sle.Armory.Inspect.Enable ~= false and not Info.InspectArmory_Activate then Default_NotifyInspect = NotifyInspect Default_InspectUnit = InspectUnit if IA.CreateInspectFrame then IA:CreateInspectFrame() end + IA:Update_BG() NotifyInspect = ENI.NotifyInspect or NotifyInspect InspectUnit = IA.InspectUnit diff --git a/ElvUI_SLE/modules/Armory/InspectArmory/NotifyInspect.lua b/ElvUI_SLE/modules/Armory/InspectArmory/NotifyInspect.lua index 321904a..e962cd7 100644 --- a/ElvUI_SLE/modules/Armory/InspectArmory/NotifyInspect.lua +++ b/ElvUI_SLE/modules/Armory/InspectArmory/NotifyInspect.lua @@ -1,4 +1,4 @@ -local Revision = 1.5 +local Revision = 1.6 local ENI = _G['EnhancedNotifyInspect'] or CreateFrame('Frame', 'EnhancedNotifyInspect', UIParent) if not ENI.Revision or ENI.Revision < Revision then @@ -16,6 +16,12 @@ if not ENI.Revision or ENI.Revision < Revision then self[Event](...) end end) + ENI:SetScript('OnUpdate', function(self) + if not self.HoldInspecting then + self.NowInspecting = C_Timer.NewTicker(self.UpdateInterval, self.TryInspect) + self:Hide() + end + end) ENI:Hide() local playerRealm = gsub(GetRealmName(),'[%s%-]','') @@ -75,9 +81,10 @@ if not ENI.Revision or ENI.Revision < Revision then if UnitIsPlayer(Unit) and CanInspect(Unit) then local TableIndex = GetUnitName(Unit, true) + local Check = not (Properties and type(Properties) == 'table' and Properties.Reservation) if not ENI.InspectList[TableIndex] then - if not (Properties and Properties.Reservation) then + if Check then tinsert(ENI.InspectList, 1, TableIndex) else tinsert(ENI.InspectList, TableIndex) @@ -85,17 +92,17 @@ if not ENI.Revision or ENI.Revision < Revision then ENI.InspectList[TableIndex] = { UnitID = Unit } - if Properties then + if Properties and type(Properties) == 'table' then ENI.InspectList[TableIndex].InspectTryCount = Properties.InspectTryCount ENI.InspectList[TableIndex].CancelInspectByManual = Properties.CancelInspectByManual end - if not ENI.NowInspecting or ENI.NowInspecting._cancelled then + if not ENI.HoldInspecting and (not ENI.NowInspecting or ENI.NowInspecting._cancelled) then ENI.NowInspecting = C_Timer.NewTicker(ENI.UpdateInterval, ENI.TryInspect) + elseif ENI.HoldInspecting then + ENI:Show() end - - ENI:Show() - elseif not (Properties and Properties.Reservation) then + elseif Check then ENI.CancelInspect(TableIndex) ENI.NotifyInspect(Unit, Properties) end @@ -130,7 +137,7 @@ if not ENI.Revision or ENI.Revision < Revision then return end - ENI.CancelInspect(Name, 'INSPECT_READY') + ENI.CancelInspect(Name) end end end diff --git a/ElvUI_SLE/modules/Armory/InspectArmory/Profile.lua b/ElvUI_SLE/modules/Armory/InspectArmory/Profile.lua index c97bdcd..bda6b2d 100644 --- a/ElvUI_SLE/modules/Armory/InspectArmory/Profile.lua +++ b/ElvUI_SLE/modules/Armory/InspectArmory/Profile.lua @@ -1,12 +1,45 @@ -local E, L, V, P, G = unpack(ElvUI) +if select(2, GetAddOnInfo('ElvUI_KnightFrame')) and IsAddOnLoaded('ElvUI_KnightFrame') then return end + +local E, L, V, P, G = unpack(ElvUI) local KF, Info, Timer = unpack(ElvUI_KnightFrame) -KF.db.Modules.Armory = KF.db.Modules.Armory or {} +P.sle.Armory = P.sle.Armory or {} -KF.db.Modules.Armory.Inspect = { +P.sle.Armory.Inspect = { Enable = true, + NoticeMissing = true, - GradationColor = { .41, .83, 1 }, - BackgroundImage = 'Interface\\AddOns\\ElvUI_KnightFrame\\Media\\Graphics\\Space' + Backdrop = { + SelectedBG = 'Space', + CustomAddress = '' + }, + + Gradation = { + Display = true, + Color = { .41, .83, 1 } + }, + + Level = { + Display = 'Always', -- Always, MouseoverOnly, Hide + ShowUpgradeLevel = false, + Font = nil, + FontSize = 10, + FontStyle = nil + }, + + Enchant = { + Display = 'Always', -- Always, MouseoverOnly, Hide + WarningSize = 12, + WarningIconOnly = false, + Font = nil, + FontSize = 8, + FontStyle = nil + }, + + Gem = { + Display = 'Always', -- Always, MouseoverOnly, Hide + SocketSize = 10, + WarningSize = 12 + } } \ No newline at end of file diff --git a/ElvUI_SLE/modules/Armory/KnightFrame.lua b/ElvUI_SLE/modules/Armory/KnightFrame.lua index 29f1e1d..1756eb2 100644 --- a/ElvUI_SLE/modules/Armory/KnightFrame.lua +++ b/ElvUI_SLE/modules/Armory/KnightFrame.lua @@ -1,184 +1,14 @@ local E, L, V, P, G = unpack(ElvUI) -if not select(2, GetAddOnInfo('ElvUI_KnightFrame')) and not E:GetModule('KnightFrame') then +if not (select(2, GetAddOnInfo('ElvUI_KnightFrame')) and IsAddOnLoaded('ElvUI_KnightFrame')) then --<< INITIALIZE >>-- local AddOnName, Engine = 'ElvUI_KnightFrame', {} - local Info = { Name = 'KnightFrame', - MyRealm = gsub(E.myrealm,'[%s%-]',''), - ClassRole = { - WARRIOR = { - [(L['Spec_Warrior_Arms'])] = { --무기 - Color = '|cff9a9a9a', - Role = 'Melee' - }, - [(L['Spec_Warrior_Fury'])] = { --분노 - Color = '|cffb50000', - Role = 'Melee' - }, - [(L['Spec_Warrior_Protection'])] = { --방어 - Color = '|cff088fdc', - Role = 'Tank' - } - }, - HUNTER = { - [(L['Spec_Hunter_Beast'])] = { --야수 - Color = '|cffffdb00', - Role = 'Melee' - }, - [(L['Spec_Hunter_Marksmanship'])] = { --사격 - Color = '|cffea5455', - Role = 'Melee' - }, - [(L['Spec_Hunter_Survival'])] = { --생존 - Color = '|cffbaf71d', - Role = 'Melee' - } - }, - SHAMAN = { - [(L['Spec_Shaman_Elemental'])] = { --정기 - Color = '|cff2be5fa', - Role = 'Caster' - }, - [(L['Spec_Shaman_Enhancement'])] = { --고양 - Color = '|cffe60000', - Role = 'Melee' - }, - [(L['Spec_Shaman_Restoration'])] = { --복원 - Color = '|cff00ff0c', - Role = 'Healer' - } - }, - MONK = { - [(L['Spec_Monk_Brewmaster'])] = { --양조 - Color = '|cffbcae6d', - Role = 'Tank' - }, - [(L['Spec_Monk_Mistweaver'])] = { --운무 - Color = '|cffb6f1b7', - Role = 'Healer' - }, - [(L['Spec_Monk_Windwalker'])] = { --풍운 - Color = '|cffb2c6de', - Role = 'Melee' - } - }, - ROGUE = { - [(L['Spec_Rogue_Assassination'])] = { --암살 - Color = '|cff129800', - Role = 'Melee' - }, - [(L['Spec_Rogue_Combat'])] = { --전투 - Color = '|cffbc0001', - Role = 'Melee' - }, - [(L['Spec_Rogue_Subtlety'])] = { --잠행 - Color = '|cfff48cba', - Role = 'Melee' - } - }, - DEATHKNIGHT = { - [(L['Spec_DeathKnight_Blood'])] = { --혈기 - Color = '|cffbc0001', - Role = 'Tank' - }, - [(L['Spec_DeathKnight_Frost'])] = { --냉기 - Color = '|cff1784d1', - Role = 'Melee' - }, - [(L['Spec_DeathKnight_Unholy'])] = { --부정 - Color = '|cff00ff10', - Role = 'Melee' - } - }, - MAGE = { - [(L['Spec_Mage_Arcane'])] = { --비전 - Color = '|cffdcb0fb', - Role = 'Caster' - }, - [(L['Spec_Mage_Fire'])] = { --화염 - Color = '|cffff3615', - Role = 'Caster' - }, - [(L['Spec_Mage_Frost'])] = { --냉기 - Color = '|cff1784d1', - Role = 'Caster' - } - }, - DRUID = { - [(L['Spec_Druid_Balance'])] = { --조화 - Color = '|cffff7d0a', - Role = 'Caster' - }, - [(L['Spec_Druid_Feral'])] = { --야성 - Color = '|cffffdb00', - Role = 'Melee' - }, - [(L['Spec_Druid_Guardian'])] = { --수호 - Color = '|cff088fdc', - Role = 'Tank' - }, - [(L['Spec_Druid_Restoration'])] = { --회복 - Color = '|cff64df62', - Role = 'Healer' - } - }, - PALADIN = { - [(L['Spec_Paladin_Holy'])] = { --신성 - Color = '|cfff48cba', - Role = 'Healer' - }, - [(L['Spec_Paladin_Protection'])] = { --보호 - Color = '|cff84e1ff', - Role = 'Tank' - }, - [(L['Spec_Paladin_Retribution'])] = { --징벌 - Color = '|cffe60000', - Role = 'Melee' - } - }, - PRIEST = { - [(L['Spec_Priest_Discipline'])] = { --수양 - Color = '|cffffffff', - Role = 'Healer' - }, - [(L['Spec_Priest_Holy'])] = { --신성 - Color = '|cff6bdaff', - Role = 'Healer' - }, - [(L['Spec_Priest_Shadow'])] = { --암흑 - Color = '|cff7e52c1', - Role = 'Caster' - } - }, - WARLOCK = { - [(L['Spec_Warlock_Affliction'])] = { --고통 - Color = '|cff00ff10', - Role = 'Caster' - }, - [(L['Spec_Warlock_Demonology'])] = { --악마 - Color = '|cff9482c9', - Role = 'Caster' - }, - [(L['Spec_Warlock_Destruction'])] = { --파괴 - Color = '|cffba1706', - Role = 'Caster' - } - } - } + MyRealm = gsub(E.myrealm,'[%s%-]','') } - - local KF = E:NewModule(Information.Name, 'AceEvent-3.0', 'AceConsole-3.0', 'AceHook-3.0') - local Timer = {} - - Engine[1] = Core - Engine[2] = Information - Engine[3] = Timer - - _G[AddOnName] = Engine - - + local KF = E:NewModule(Info.Name, 'AceEvent-3.0', 'AceConsole-3.0', 'AceHook-3.0') + KF.Modules = {} --<< TOOLKIT >>-- @@ -213,8 +43,6 @@ if not select(2, GetAddOnInfo('ElvUI_KnightFrame')) and not E:GetModule('KnightF end - - --<< GLOBALSTRINGS >>-- for ClassName, SpecializationIDTable in pairs({ Warrior = { @@ -280,4 +108,191 @@ if not select(2, GetAddOnInfo('ElvUI_KnightFrame')) and not E:GetModule('KnightF _, L['Spec_'..ClassName..'_'..Name] = GetSpecializationInfoByID(ID) end end + + Info.ClassRole = { + WARRIOR = { + [(L['Spec_Warrior_Arms'])] = { --무기 + Color = '|cff9a9a9a', + Role = 'Melee' + }, + [(L['Spec_Warrior_Fury'])] = { --분노 + Color = '|cffb50000', + Role = 'Melee' + }, + [(L['Spec_Warrior_Protection'])] = { --방어 + Color = '|cff088fdc', + Role = 'Tank' + } + }, + HUNTER = { + [(L['Spec_Hunter_Beast'])] = { --야수 + Color = '|cffffdb00', + Role = 'Melee' + }, + [(L['Spec_Hunter_Marksmanship'])] = { --사격 + Color = '|cffea5455', + Role = 'Melee' + }, + [(L['Spec_Hunter_Survival'])] = { --생존 + Color = '|cffbaf71d', + Role = 'Melee' + } + }, + SHAMAN = { + [(L['Spec_Shaman_Elemental'])] = { --정기 + Color = '|cff2be5fa', + Role = 'Caster' + }, + [(L['Spec_Shaman_Enhancement'])] = { --고양 + Color = '|cffe60000', + Role = 'Melee' + }, + [(L['Spec_Shaman_Restoration'])] = { --복원 + Color = '|cff00ff0c', + Role = 'Healer' + } + }, + MONK = { + [(L['Spec_Monk_Brewmaster'])] = { --양조 + Color = '|cffbcae6d', + Role = 'Tank' + }, + [(L['Spec_Monk_Mistweaver'])] = { --운무 + Color = '|cffb6f1b7', + Role = 'Healer' + }, + [(L['Spec_Monk_Windwalker'])] = { --풍운 + Color = '|cffb2c6de', + Role = 'Melee' + } + }, + ROGUE = { + [(L['Spec_Rogue_Assassination'])] = { --암살 + Color = '|cff129800', + Role = 'Melee' + }, + [(L['Spec_Rogue_Combat'])] = { --전투 + Color = '|cffbc0001', + Role = 'Melee' + }, + [(L['Spec_Rogue_Subtlety'])] = { --잠행 + Color = '|cfff48cba', + Role = 'Melee' + } + }, + DEATHKNIGHT = { + [(L['Spec_DeathKnight_Blood'])] = { --혈기 + Color = '|cffbc0001', + Role = 'Tank' + }, + [(L['Spec_DeathKnight_Frost'])] = { --냉기 + Color = '|cff1784d1', + Role = 'Melee' + }, + [(L['Spec_DeathKnight_Unholy'])] = { --부정 + Color = '|cff00ff10', + Role = 'Melee' + } + }, + MAGE = { + [(L['Spec_Mage_Arcane'])] = { --비전 + Color = '|cffdcb0fb', + Role = 'Caster' + }, + [(L['Spec_Mage_Fire'])] = { --화염 + Color = '|cffff3615', + Role = 'Caster' + }, + [(L['Spec_Mage_Frost'])] = { --냉기 + Color = '|cff1784d1', + Role = 'Caster' + } + }, + DRUID = { + [(L['Spec_Druid_Balance'])] = { --조화 + Color = '|cffff7d0a', + Role = 'Caster' + }, + [(L['Spec_Druid_Feral'])] = { --야성 + Color = '|cffffdb00', + Role = 'Melee' + }, + [(L['Spec_Druid_Guardian'])] = { --수호 + Color = '|cff088fdc', + Role = 'Tank' + }, + [(L['Spec_Druid_Restoration'])] = { --회복 + Color = '|cff64df62', + Role = 'Healer' + } + }, + PALADIN = { + [(L['Spec_Paladin_Holy'])] = { --신성 + Color = '|cfff48cba', + Role = 'Healer' + }, + [(L['Spec_Paladin_Protection'])] = { --보호 + Color = '|cff84e1ff', + Role = 'Tank' + }, + [(L['Spec_Paladin_Retribution'])] = { --징벌 + Color = '|cffe60000', + Role = 'Melee' + } + }, + PRIEST = { + [(L['Spec_Priest_Discipline'])] = { --수양 + Color = '|cffffffff', + Role = 'Healer' + }, + [(L['Spec_Priest_Holy'])] = { --신성 + Color = '|cff6bdaff', + Role = 'Healer' + }, + [(L['Spec_Priest_Shadow'])] = { --암흑 + Color = '|cff7e52c1', + Role = 'Caster' + } + }, + WARLOCK = { + [(L['Spec_Warlock_Affliction'])] = { --고통 + Color = '|cff00ff10', + Role = 'Caster' + }, + [(L['Spec_Warlock_Demonology'])] = { --악마 + Color = '|cff9482c9', + Role = 'Caster' + }, + [(L['Spec_Warlock_Destruction'])] = { --파괴 + Color = '|cffba1706', + Role = 'Caster' + } + } + } + + + local Timer = {} + + Engine[1] = KF + Engine[2] = Info + Engine[3] = Timer + + _G[AddOnName] = Engine + + if type(KnightFrame_ArmoryDB) ~= 'table' then + KnightFrame_ArmoryDB = { + EnchantString = {} + } + end + + function KF:Credit() + return KF:Color_Value('Created By')..' |cffffffffArstraea|r |cffceff00(kr)|r |cffffffff/|r '..KF:Color_Value('E-mail')..' |cffffffff: qjr2513|r|cffceff00@naver.com|r' + end + + function KF:Initialize() + for i = 1, #KF.Modules do + KF.Modules[(KF.Modules[i])]() + end + end + E:RegisterModule(KF:GetName()) end \ No newline at end of file diff --git a/ElvUI_SLE/modules/Armory/Load_Armory.xml b/ElvUI_SLE/modules/Armory/Load_Armory.xml index 068cdca..00dd325 100644 --- a/ElvUI_SLE/modules/Armory/Load_Armory.xml +++ b/ElvUI_SLE/modules/Armory/Load_Armory.xml @@ -1,8 +1,9 @@