From 7b2425ed8c128598f3fb66ce98f75adb6fb2bc0f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=B8=8D=E6=98=8E=E4=B8=8D=E6=83=91?= Date: Wed, 11 Mar 2026 19:17:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B7=BB=E5=8A=A0=E5=BA=93=E5=AD=98item=20tags?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AGame/Character/Player/Player_Base.uasset | Bin 73254 -> 72649 bytes PHY_Item_Asset_Convention.md | 1 + .../GameplayTags/PHYInventoryItemTags.cpp | 3 ++ .../GameplayTags/PHYInventoryItemTags.h | 48 ++++++++++-------- 4 files changed, 30 insertions(+), 22 deletions(-) create mode 100644 PHY_Item_Asset_Convention.md diff --git a/Content/AGame/Character/Player/Player_Base.uasset b/Content/AGame/Character/Player/Player_Base.uasset index 51984f023283f9560300a221fd30061973669534..97e11983a286121691cd016da345c89d0c884a74 100644 GIT binary patch literal 72649 zcmeHw2YeL8`}bTDI!KX@LI^DhkU}p4=^;QGNvKM=Bo}g!#@z)72u45z6j4AysiJgI z5flVbK(QB!BBFwb4J=p?R1n_hJ3Di`cei)B0G9vnb@REK-DjS8+C1~jGqan$y)%MW zT)1-O%4lE4s{1hZ2bDN_20y-SeVBFdH;Zatn0bDGs%^}Iz4z{8tQOU+yyv%imj;x~ zuKCgJYlC+8>Jd(`PfNZGY8Us|XA=(9S$^h|4z21E?3TTwx?k-7Mdcr7vS+7_4{qy6 zu)((-8{R*mQ@u&UC+)cB^p4_c1e?|P=Fu~gbDlVUxZ%blubruNl3;g!Fx9*%GWo0T zQU`1dd~W-Tr34H3Abr`3$!*uiRcX2C!1Qg#4g~w6)6u7ECC_QGecF3ZtRC=Zx9SAD zsoAOLzN@?P&|NF1-Sv6#!$k&y^|M`iuPo;2=o9rHSZMXXxltQ}MU7f|G%j&>>-A66 zn_1c@=R_ZZeV_OA7pJ2ZovU#ye0AimxR5}Cdf1>=u0k}+J3Mp z-$a6U>>ARY*E4qZ)(_m&3l{A05ho!Y8%um2Yz7YMK@N5W-gAOL4{PcwWW_mww`Qag z0mba`rb3g&oXw4&STw;@U@Ekwm0E44g3#DWHjB|3nrJL6G>tDY7lz7uf~95J!I>F_ zMoWPyhZ*|i9jFh&Y1tNYu`M*Z$YRP!&KhgVwz1z5I`*xtsf#TfV=gqYSrK<7G|+${ zMlp4Kx^aw^UC4N=poO+l5jCN30?AlpDOJQ|XNG-n7$%o&6AFth9u7+iXT29}m@w3%3N?D;3OG&q#g=wh5ar8411W)n-+@x4~VF*G6z%>~iT+e1MDr8rFy5ZYO3fRWlx2pRHzlbi#VWv;#r@{DH#1h>eRg#sJ zZ%Q#!cjvJ2A#DaVbg3L-wweitrMAB17U)4u3#}yuCT?@~%Yi5#*eWa9X31w$cD~UY z?vNE@$~Bhc+pOtDDJ2$DTuEUz`{i`=b~mCfc9JQ(#AX_rXDUoFmRN~#-l4GQW~dru z8e_~ZO){Bsc*8NKv~i~V!KPd*o4@(i-rydUUt%h@mc|aX?f;c8*7&T(h9`;thAEsY!mt5U61w;;+CfFDKX}oC!16!+H`lf zV_cF_o5?Q8S4kcBU}Qxb^YhUknOY~!OfIn{6y}&Fv3gH_y1%(cGzt@J#Gp|d!n9aX z7L#$DW+ao3*o-vVEtwjim8~0ZI@DU*F5YBQyqr6E=3tYp#8NoKNS(}{o^Wq3gmJsT ziNoLYe~Mw zdJW5x$1Av2Tb$9HPyQM0bL(MPKbkyh3`HS!VcMeou&@Lq5gT@2w_!EwXn<)&79JJq z*KPhT2C03XQ=*99#1*yS8g{S@wXFH?@lT^~ql@zMDUg!?*_C83kL}SLV^po9p=K^L z1Ix-f3_LZkDzD|Eo4wiOg_WGO3@{4o@XO~jIBN+`Hx*C_rYQ6N#(;eYb}GYrwhTW8 zJBbm^<6Tlwj)`si{HqBFC8C0?Z?udtQTI?FXJ=li@w28?S~kV;!9_(j_QJg@Drs8T zD>%tsDZ9UfopZ$KWfv|!G9PxP;cPRenX-!tbF6G%`V?O%$$`UC*!C~Cy^E0)LxI7R zOKGV5G~UP_hHAjN3QWA8?;ECZKV9)V&pU9sgG+S(v}Y@v|? zXpR!c_qIv;6t<6r#tt>JB0m1*CcTk@kUcf5Mk|F& zNr8Q|r+&CRf~!E&h~2@I&aZQNd-Tm9;ZoJBSESWS6P&q_HM!JpIO1h2B>}~1exSyf zC1v}Q;aOZ$iqIySkFrf{-RhH@5D`rjDKXJnZyV=#SY zDj`5g_(tyNG8_|1Zhn!`#_E?Ye;aW(4p(;VF0MQNCzvCS!ST6MT3Jj`U>_(g!RYGr zB6KeM@yMTF!RoR~m3YmFOAR0~LJAw$=Bp3Ui<6pd6klc@>Dx`zXR7t;7@W1@!ZCO_wa>Ko zh*~|+vb8sFo|qOQg9xQ0A!1~*)y)>2#GvM8;`8R}>2FQoN@Eg@PWdAbLieZXNdz>r z$;uiI{ALeu`VUHuVPma3UxVKz#Ac>gX#OFgch&P7M7c8~ho?j-c7iQ4xzLn3uoL_` zQ_jQ6KVGPV zsjj`|aJK=9unrloO8w1ocbnP}bzx``!J>^;Tc##y%v6HS&gLy@Bc$jc+cSxY_2Rz; zN4=iQq*RIxd1Bu(=!5fZeTFTD)d84Wl1vi^o6Y#$9^IJ3lkZ$e~66DxcE^3r^mC5aXu?40lZT1c0~ z%FQ(Jdjl?ul!csW;NmL?5MsKMOPI)yx1NDt(6DD0GKY*rCnekROcrI`^wM`DFM_{4 zwLF|0Gz7i_0FuZLpB{RYlP$5)>P?PHRe)(X!&Hh-C_%aLr)x$+(-h;xLYD1&b{B-ky3i7SVo&I(FF0d5{ybdC; zJEvy73CTr8x;c9s8<=|OT?JWjY8VK{VY5>jbkJ4|E}{h`Dt5i_X%KoyY+2;6Cko#f zgEfMh%Z0>+3^mfirN|NznUgcYNOOD+J6vaVB}5fnH1ggovx(KYWBqeZq!M*VEq(dJ zK~AJpG(l>+dD2UWBPu&Ayb}toHi*MM{`|=_gdnwA9fYl3t~42Wo~%O*P-`=-YYP=C zs;iF2YyoqXKC#0bmoV=hw7v`nK{l(Bs=wXH`KCMM_R zT1_@~`|IDu*x@5+9THhkR6@f!v*ElqFyhj(^GpRsc4gN+6X7OSQ+_VXTs?09#7r|; z$S;6Z_4TOdEA_L=gC|J$hQh8Pb6j5b)B~y130ZH*QQB@?|Ag%M>%a3 zEJMb~flvOyRk2y@VXyaIOKYgEh{zVTd}tUa$|bgAg|TIqFpy|*!KZ**CRKhKl$1Eh z*RpKGd&RZk2?|V2q_7}aF)^hU0+dq6SMRn?FEoKp=`^F;`MlE0wjGwII7X}fEr-g` z*XemB1zCl(7UXMyX9jiN%0;1te!97sJ$t6giwG%{(=h+r_VAeI6b71`AMAnjQw596 zmG!*x`Ik`Fo(!i@Y_qbatyXtN|I+q^MW_1`w~l5A<;qHVby)a%C?b;!J|Ap)XxcHD zRapnIwKw_Ypi_nxS@Ls48Y80pw!vEs7ipKVVbY+I%7c5QF*c+1As;~QNjjf&c}U)D z#$MPGc=S(#98Js0W^7q%vl_UnHN4wk#%}PrqxU7ciphB|rPmnR&wire5!7}nJWN;B z{d_0lsz+h%EZV+(#qboao}RQKhm7oVIty2a=2)gv4)ODWwYXY1-;~POo*#}pi>sq6 z9>0gNr9&3%4<_;T_l*$`LL;M6uzw)tO?KeL^T8obEo2HWH=23+7Mc*9mMK%^s>iIK zdD$v4+TJRt%ATxl-tkg4Dv`t5TfbxK-#f;swSB`gG$VmFRpmZFC?-zzQcY1ZlZq?_ zG^M=sP?O1nDnKidHtEbXpJk8JrJ87@wP0D>pMwWffM!}gBBK;pBcpx2lV5L2<9>FE z9=4;g9UE%jX0@V^(=+3FN=1ToI1%!2qBmqb>}p5GYj?F{yRsc~HrI*OC7MR}DNH$` z_T{w0HaSf!CTnQgz(h{2lomh}%vN^q&vhQfFqZq&_I*m8BCyjR-yVbMNmj=e=J6Sp z`z8C}$+y14uBfaPcG9dl*!L^8F2Qb{6N+O_%1p~9KZ*oEVr3K}{fNzB9sCwoMTO(g zp*f&gbc_2jO*z<`;4Po|G@dtbw%WrbGjGQ{j=oZr#OA%aI9@WRcVz@EzU9qqmo7hs zMX4Q|)$iH47HHTZa=23b9%Rn47-{3}%h&q{A>UGQ9C-vSE$-M9_3ri~*@F+aZUfb# zDLu0o)fs$D>CF8I#P;sRycfnoyPi3PPEf((hKbtpyLsEQ5PpFI%cF+Py?9^;lvPqt z+r&u^ApT=m&~`d)=#}QvwuH&TZaw+CPaCQc0Vp$5)rP?bl8i+6L3Q9a&lk z8L2tj${xEfcppq?M;K_f7MN^&dXz*Ge_#EI1CISpgI!0K{d2-?@LM|_$8`9us&5^F z+lgxXCSGQIY*OZs$iWGbQG;UHlhbDQ$2=LEqjW%Z^U23)S+TT>=_usKdaoDMGMrzk!<4TES z5A@DRC6~W>){f*R>NE4U1_kW|J4_9p!#UeO?`$M)mq0q8yNlFpOW*xlxb-O1+QTnp znS4Kc@zBN-;IfFrc9(GsIqKkeIP0Sykf&)U+07m1gmai?3cdHIUR&+EElO|LC&=JW zGTLF#^T?-jb7#)ZLqYHXCtI>LZCm}|54aoi$w{-(#!os03Ovsiq~K2T&dCc|xori$ zI}DKg%bKJ-a0`aE zSc@}j{Oksxpc6_0I*%U>3ic|#dSzG$@2eM>9_ae)aEhrObwa?NH^85$g1 zy_$cpKSetG(%j$5pP}gBPis$qn)$O${{H@1+?K7#^XEwLJYgba|Hlhm}Hz_rY8ch z?}faqBKTDZA6@R!)d+#Q6^J#u74RN7i1Y=%)(j5z=cB}bB5gXL=S%&wunlPS&n>c$ zH<+o@aWgYS+iRetZU|PquaGu)$Cbf+u&EqsU~SK2?WznRg~_e`;at@;lvVltDLKZz zCVW_NU#?aMuBK^{5qnksMs5Id?TNqHAb8V#F#M@gd<~P-3+y!eq%igkn#Z8^(%pi@{B^6CdPb#41KwNXuRws8~U8 z`VO1KGYE>q`(YYEJ@prM(BIcN|6Io~{d5IU~C0++F@pgLIZymj)7wQEb;+2eDp8D-M!mH^8y=MupmX~-pc!9T# z=-ucA-ZO;P#!I}mUgACJMSpA|zQG>o$(Zsr;bnTDC-J@{JnRnO(CZJ0cbxFfD`@57 zP1C`X^N}257;l$#@V*tW>O#l8gx63b<9buSX0{O1R4zkR2u!RiUT7YOf10n@{i zz79QF>F_-x+Kw0HKEi9DgD3k}#ys@z6&=2E-ft~v0Of?2c%ONRchXC|&%MMu_NCUZBuv}C(l^S(leukqcyjEQhbPBsd3bWnl!u3H z5*+2>VS5Bed3fI|XbyO?t(;ph&+wfSCwdZ3&KVfLfjZ+-_D6eBhjF<|hp#gp=IL9# z#H;27->pP%vJO4z8!w2uU4$2+Lr>z#Tm<_5=7F9T?GG_t3P#wG<2rj_PpHAeO zEQl7nay^CrMw16bmmk1{D!iIV*=ccr=BuqZ|K15l?)YNMDN7h(rw%_2DLYS3{6+~{ z-x1PB8lEczA#B*mb3B$-XbQ~EyQyPBIRSvZvIu8~&$8`9KDu==ozW{-GM8gl}!``y=7r8I& zCpRt~sJmWx;wSU#&o%to5DDC?ko>+DBoK2J>?K~=JymD(gA*QZQWCD6f0HyTk?@5fS&kC z{Z2UP7b<9K`Hi`b{NR)LuNN`33T|p~1D!UdPc!=5L?1l#QI9@&pbbwZ;;BBY^Bd8p z1%2>rR}=c+nNa9{GkwZCFfD+_ev$+9Ko`CQJ_iW~UbqGv=fK4^c%dHrpa*#39Ce_B z{}BQ%>L4Gk!3#8?2k3zZU}y*VK?8IlJM=~g-BCh+sS{{|258|NZ9$_V2Wa6yxtU}` z`Zk(AII@+3Z4l)~QEn3D6Qbmesjamp`Pb1apRqav;u7K*!nOf*S3YLZtVY$U)vH#i zQN3FAS~Y9bs(Vwty0vT94QSG|{!Kxx+Xn}>Zr843r-<$y!}^4^Yu95?&py$y{S*4P z@0OgA6qga3^i-js$08m%X;-%#)h;DiLLN)We=-Mcc%=@*AT#b>Kc6O8m_zo zyBR7O_+i(`$Jeh?#X`PHpduVr{-?{wz_k5+9JwPkOE!3TeA-8suLy;}8#jT$#;+NN#0z@XqRUAuMf(X&@{Ol(|y z|AYZ)=@~5z88h#ib@%K!a~CXJ^x#8_mpuH)>c<{m zvv%G34I7`?y6xHLw(od;=f0O;+5hTmufOr;p~LTgaOA_IA00dS`Kd3y{Oap(PM`Vd z=U>kKdj7(1zyATfprT@ptv|((!i?5c|n;W>QTC0mM&Fi(a#iy6d@3XWVe$npJOL;y(ZP53} z4P#qh+_z?x5204gTRoQrr(ayXdPCX|bJ++&XtnU{wED+vE2sRp_JAR2KEJqQ%8#q6 z1rlof#kH$9Wd88T+_LI~+IIEoObs+} zNtV23-uF`?)fzf>OWyU{;qKcv_e?r9>x&fMzzq{Z*EDN%sH|1;3&A7IhPe0FK)~9h!H~ z>4>_ivGrN{h6}N=gV%jppKVKxW$~Qm>An|ECa&^X-U1B1xqRVdL_MI+zmOO^_@z&~ zHemG$H8Hk+iXpY%@va?XuCPf5d*~_ZuufzrVfW;H8&${CcI>xM= zl)jCD*oh8P4t_a*atS{>)G)ZXciI{BVxzbFzF&Ixv8A!>mRhIUE`F=|+S!-So=RF( z`S0={Xnf8W>UQ=ht>OA9i6~ zYDC@N?>;s^>|$EpswzZpQJ`_*@rSvdD~4TojL0sJWns&g)jqP27$#hJsd@qHO=qjl zes+1$n>O@%mD23v^E*sAyna>X2Gu+D9!ykLTw%8N)7e?c+t9WCiLfaLzp6c%mB0#z zFYP_sKYh#Vrz2{vUjF6EvA1mfKH`S?B<`8fy?gXq6S}0&H-`5=>U;K7{E|MWs~ryu zG%QMcVe9wt4^53_0aH&7KJ4>g&ptu7?>!rF!|J6(^%gp-dobze_nvJ&{QRoQ?^9oO zeyi{Mk50e0`RcM3vEAQpey()J@v>&T*M9E)a}XHTS{G01(Aj{>?+oZK`&;^Z+z*Uvt z?Q>`#<}sjloOe3z)pHy2R#knj`J-E)4qk!y^xKD;h$6{dMh@Pr_b!#MG{rOgh_n|FHf!HBx+gDsQOEgGP#<1%^-J!H5OH@Jo3xGPEJos&K&!^ks?xBM=`_s6hiFk>YcZ2H{PJUxy#R zc;c>ZWz}tWO#1V$8pDQK4MO&xqsWxv2ifEHpIcim{WBYdOBs0@az8rLz2^2V-y`6p zJw{Sd5K0?X&}3Ag;hYR*_4-j%>6wr{@+yIYW(2oN3hAn@dcy)P1B_6dmJTvvgt7Wa={Ap*a zKeQS?%$vHiXDa%P&`}XJEpBB zh&3R)Z1{3U&FaaZWvA-5D2?JF#mjFDAKduosbq>|EeF3AP}U^2H$_5XU3N2{?e|Qm z*)%h3$^l>AS@XlD9J=v^(KO9U>3rJJ^b-~|DtRo&TEF)98OI6hfbV+h@?e^I*1!wc z0Giud^N5{~xh%!NXPYya%T`tWhEUT<{q+mU3wRpP67F-=v2*d{KMwAmIyN}ahr-w( zf0{QEc`hjxuYWCrg)vL>zzdZiUpM!Qa zJG7FU(a`YKbL#?+Sw2ZS&7HoHUBsy9nm25FXWr>3nx_uTYjAXZ~5`x^5ehdN5%FqY59RW zFV*Q|f8zlEH(AZQgIN7R$~_u8hWz(v@d9Ps-_qdIE2kC?W2|_evSknYbYn$}!SC|O z7h5U6FcD%W&TlD!B>%7JM0z<~jL~Lfct{{Bl8%J_Lvn`}SW+`W3%bX}4IFPacd~Ww z+7(r{i6at+hUN_%UOIT}&GRQQ;@*q-AoN!`=q##@F?YG0Jp zC6%gT2bct!xAQB#81jI4INTCC_KtKd{};dc7D(3;lq;hBO|*|)2P&}__(ekh7HI~Er^>u zVo1-J$jFJDW=5x^Qsc0wFlv`DG&M3Ez>L_u5t3eNr@XxEg1E6c@k2^cSKh%*=U_JF zO;)(ECe2N+bP2J)*2VrNAbtF zzfyv``{A8>bm>k%IKv-pi8Dtjp7jB4Y2vP$fsLUXl_;n2Zv}?$YWC~K;w+wxWkt-y z2GDmjD_|2?E*sCR99qJXSQf#vSRO&G)S{+nl}cB|ga>E|;pQ@1xwSr`?X}8KSU%~uymHg%tWD(C>iKhxI(2r z*)NOiXr>pU0Czm~Ko*XnQXk=n(~llG>jw z+3hTzMq?4#9lAqT=@l5&ax_U_bBAl7x2H%c4HU_g^C2vSM$b5s4Ak{~4X}nb~$pp`grcWN77qL{~y9Rn^i^4^(PWF&2RUQ?KM3P4g=V~MWl-5!C>(x~k zvegx(YDw*xw5qlbwPR7`ajkktd8Bvsr#>G`zGt9hMzNx6jf}#cbqEmcd(pddqR1D! zvv7(g-C0+Li5moAR;yao2%B9&Wm(EqIdBTx>Am!4ID;c#^pVI25 z@-t9crFj3fY9+l&l{kiMS-|b7MrHll`a%ZJnuH3hAc~BAsaHa2oT+~u$q)6Q(Ynwm z9Vq5E8Mm+18nQiXP{=bAWEN^(=nR+hl4lEip*&z_FtL0#gZ_5XICz51VbjTbf+(KR z!>#m_4!2Q0oJ@IX3a|5H^LU*v*$T1zJ*sO+kGwUbRwvl~^irF_{CW?&gU>LHSQ$IS z?q#dU%9q)l^k82&x4RrMQnRa_Po$q99$~)4+@{7RndxY2TWad%Jn7j^a%7Z0gEry1 zsr_=bT1k0ic96nzIAy+8XGb-Ll!w<;$R+9Ok8SBSVLa=VSz{PQuOg8vGTTA6j2TC@cFXIehqS{0$`zw%9AM=I`Q5=~{v_+Kb_`1UfG7lCNR?t>zov;I{Fq zN2LGspa_D@x+mq*$gaCm9K=;O`t;&Cco)jH7il2JeO{HiqoCsI*>bg`%^B`+I9`a!cUUQv^N*_p>) z>~3IZqX+q5EJ32^I-L9v-(5&PB`(7+5r1R&PKdH2VxSh@NH1ftyLG%Gy}H|{uI3T% z@h2^&W~b6eu=kGrSQ~v~pQyXr7BZ*8=s-@DWp9IB9epm+v!#7|y2X^!y3qf z3RT&6`l|yu8`#K4t>mxRfi%#*qBm{jYR`FPq51_@u&_@k?ei!ea*Lp>(8sr2O?$fw zDl?4!WI@~okh}EQuTWNtIb_-1w9>~eiQEUpY$-8d9l82buv$9cA@(S=fZ0b#?AeY| z3&#Eyz}4X+*^G`~>x#=sbqt zQS^t{-IcsCnvWU-{a27T{G@HQ_e!ufgbwN~4Sx@H(P;qrj-p$HSG;7DR(5I-ySvhe zmw(Dm4WP=brNBFqK79!%lp+J>C<%49QxoZxByu;dZ;3O?3sIcykgyIC->>JBTqY`TJpP_SXpAfG|nv@ zY3Fdlh!#M%q@Ign{0N?~P%%rlB$-DpfB6UF@Bnf?qc(JOv(f6LwMF6CEe^&~-8 zdYC$^%M4bwX-TqVkrgmsV|Gt=+fv2=?YhT6yQ|(<%$*m>+0$`m40X6$Xdn+zc(`gK zdpC;wM$ccgqtZY-yw@VD;*Fu@cx9SbJfz3tK8IE83@Gi5-33{XKD+ow+{4pwBarMsqfK4Jv$F0&j%c76#G6sy(n-s!wbn>M$JJBiio<)Ka?Ovf&Ib(aRG{o;*wiodP#qYlzLR1r3~gzKV^F5 zO>zg%dvDT@XL>PYv|EpmnTET(*L}3I5ly3@t3(WZS2SA7IHFx&Msa__-5=-Jtk#Ss zkA#Pr$mMS;%@VktBdXjZa?FI02V(83Qg&U*XM06oMr=Ic z)06&`I}FG-ko_VrM!t+F9ZRJWxfMLzv52R<0Cys~5-;3M!k=e-ndFChA9a1B2vK#|N z2Zgq)cgcO8>pK@3cvLH28z~P~(%5kT+2J1%OJ%|=KqBoV@POOgL1Kp_}QeYJo zO}xfeh##bkqIOu>#SjnZ2d@GIobhaC4A%;A7x&JvI>TNgWa&Y?EMD=Gy9wHLtdcJc z=c{(CAH46CaN>==P^84n0jt2jyOXro9YzhF9E~D4_E@^{bKK2_Mh4miQ20sDQ1?A# zEJIF>r(SUXO_8z0ZJWxX24fI^2HHnc=vNcv)jp#kqong(3;8|OO?2TeI z-8&iNEaMIvyF^+Iv1^Mz&#_eQ$~op!&OM5Z0`{Ct^zbR4u8dLP^$HeNgkcZ+Y~!!wZV)g=}3N<+Z0%5J3q{<5~lFWrFB+5 zjR_Oi6uUK`9>%89wIc^ft&?3NeGZTrR>NElTJAaA=E4QDpVC@tA-Sskf|*9a3Afwq z@8}ooXDNLD*Zak>=Wz!`>MeUkzvpFNb+P*!G6<#Z)p!HudZo4GD>}4fN2k==@fpy{I1`!a?-AKHO#|G?HD6OS8bme}g zL}KXwUorGct2y0N@*?oxtmTu<9Q4P%X2>?H=Y;vbsoTejD#sZhm1?MM3$~(QdrANJWu|hpRGyV^vAtw z4|U9_Ftr!3^Qy>D(Oyug{Z$;W`=QA8*Ku(5RaGyom87+`o+M!vwOkLo=a;9KTee`;c57;;L)^3iyg`Hk0m9!e3 zVUX0+{8HLhjStwRmUzn8b-(6y=6XGS#6~;CB|0m4*O-K7j1-AgU8P>?oQnU=P_X`9 z55dm7!dE{g>5XSdjXqL#9%OInWm&+yS}#FcS3l84~0aFYmZ| z>z&{$JzM3AyA#fKu1H?#>W$zd$AR=my*Uzi(r^D>j|68qKD_tIe73qJ{SM>G)uzM@xfoEU&Zzn*BnTRlYJHL1iL`GxP;&L2%_OQQWCqTI$ zs7UC!r@hUc|Jw`j>=E9Me!bcE@7N1~N61;)vq${58&FACPsHOrE#EdJMnk) zDs?GF3-MH5?%RthrKZtE7E?xY)>u=vEri#$lQsIU{cXp8do!t|V6dq;-<(aa{mn_S z6cw8+HZ!S#H#dhV?{2l<6n}*;2spgr_`f$pm-kv|s=tOeLtpEw zmf`A&ML8w;CJY0YSApX-&`R}SQ$BZm{=#R1{!jS(aMHuN=k_aCc3-)2;-xDFj42Ff zeqgZUSfCXA8$YB=ubyRWKEKp_JtEFsus@>TuEi_9ag-d;53`T+oREK>^hi71bXa;Ydk z6y-;v#Ov#Ee5@4orZDArUzA5gc}$d_it@N9Zx^Ljt9=3nbHr=T?VU$3{17>hlKlmO zw$Y24M(6~2pjWs}w+V>0QH+3ru>3i4fY5+9!o{=rqGPC1@NeGNjFt71wydy7U|C_2 zT4z1_^1MEkW4sdS4I!_K8@8f~QSK^XaQu2SjsT@lzwvX@IJ7o2DIo5%TEoNBs!oc} zSySLYCu+v)m(yxyOxYvN#oNS*mRdj13d?%{b^iZ3=NN6ck$xkI?h}>n`r;PUqp~S|;2&@W{F-<@`ZT5w zCKmjHIi%M6Wp&`;2v7?3J4c+#E`Z%U`jqdIWtVoI8yfjg^qx6yeUSL3gDI{_NxQ@0 zC*ZH2z*&j4j~JdG9KCVnXSJqH33%E;V22A~3VIQ(eP&4%Fqj1gO7z+yT=2tAL3)1& zQK4!R;tDll?zQr#Q6)p#ON%*T6#f&!5f#Bu9?f=$vzvF&bkJ}_Wl&M|07)J=YMg^h;ZE^)YAwjue4e?J@j7d+2aGmlF69*R&UGN$<@!wB~NWJB8)BCcemLP8_ zz1yySkZ1%zLrqUht6{2>N3-YU8HCl661_fZMCJ8V<5wfiP*x^!HJ-16xG?*~^<+_k zDh`zX^wF6DFjB#|8+}HN7?lH5#C0hyZ!76lr-~7y;-K2iNrcgG1W860YBaS+0D{T` zB(I}nAZxd_l#B+7T{1}ND%p6nqeF&wob!0{Dp?>OS9G{k9-ztsrH&^vIE6l1M6Nx6 z?-8<#0rsN_9nu0oyp=-~O4^vledlFSIa`z{IE&E&AX)GXi(p#HSpo-KDv5Ix+?$sO zfL3_Uz7|zTsoN%1g=aUWc*|$jjH|X;weY%TATG@;ORx#PYR>~wxK}f7n z>FOmrM0BbT0qzn&tqfOZ`D{T+@<*7$;bO?w^*o?RL3Z#TtxS9>A{^KSc9h2;TtJa= z0-|jsVQ8cdKgM1Kt{fHG1`>t_*v^y(_qi$J%EjjviVCSY_alM@$mX(aEKXc17tF9Dtzc8W3aPKb()Hn&K2~|apiEXs3V1y z{jpCVLRbm=i~Hy;!BUFyf4h&yk~T2dU(iR=K-^wUgw!W*9ir037ZG!DNTKdkF73-WT=L-TPYma|tK37C_lQcZz$O8Mz&_#}1%h?e zYJbeWx7B@{`_JyueqPM-6BnciK#pg zu>(1$ljLD`wC4(qiAP=Ao9g;Onr9i~DtZ)Fjxj?#xDhCSC93SUH z!k|p;R*@O3EH~zv{9m*7|Mb#_dazeC1Qae()V-ocii!l*AjzXnR%j^jQ!S2j9cLjC zusxC!KW@mO&biUkA2s(`K6M$=Ev}cu(GuXDKmh2GwQK2DA7@E#nv--WQ2YXO9pwdw{tEiE>X%LlDw-p*p45~0bw8HFA2MeKp^!kWn z{|&+CYwEE(glI0oCsR~NP2C3{LUbE^>Re6m`Q}{n$B%umApVh0>gHsOvpp$AfJ8F* z)T49rn)cK0t+8dmh@u`%Fv6 z$Hr|dKK5k8CvKYy9h_k+HJmsDyAJdguGweYeF9N_wL2ffY|Z@j740xa%WM>-r@!*b2Kt z$mbGEo);C;6Wzv=Fi(k01O?OzCo<-D7aaLD;f=_YX?18x=;g!qnoCQ8ZC7V@^$Lo-wI9!8+sn-|6JW0+Ao{jo{tTW z-Af`sk7Wm1b}aO-oxFA4s;Oh5g8lShuWQ70(9Q7I=_Xlvqr>-~&1`jYOmW=y{(r1` zKB4bD(7_pYonk%T)s?cLbla<1B&TzivDr0pXXEtG!xHCy*=@O{d)=>q?~UTl2@n)_ zhRxA1cj!E}SJX%qyiU>}n!Ce6HzZchi6k1j(~T#f|7Vh$2-3uDa`PhvkO~K+#&`J7bDOuF8OKM)M#BmgX~@4xwcgXv4hN8zIf$^@e^a>p8q&7c6IM{OY~s>WO9Re(QMR& zyqtuQk#|@6rp;3+r=NnQ+yxob(aW}#W1lF2e5dA|at-_8d6&jxaq|ypWLAH zj_>Vr^VSJF5|*~v^7^toza<3ns`F}mSMcGx{#BATP5StQX@8E2hvLq#Xb=;Jqhnr| z_*scacMc2tS8voD_q4d0CTt^zr`!1R86mojKlf8`s&FoI_NKITBOl9*n117sE>C_N zkRwHaL^A$hgEH;bu8}!+6hyrE^$g#q-}&j39<1X2jSb;+dVQaT9u~!q7FK7U&b&Ot zpC0uz(rZ=m^74E-D`i#krcGHm%Afr{(s*x!%)k;7$T@p}fg!a0&}w1_x;eQd8aq&M z7rJD~g9$d&e6ZR3yZR;Ed%5!+9HD z5B5*2Smgk?kz{nf9YP?_4o3CRW5VU0&#;wY5gT&9sQz7W(t~=ia1av*_h8Jaxc(R1 zYJj}XchU4<_Y3(^IOyQAwD5XkQbW<@R56bL>)m-ol{dcUd=~<`Im7A*J}4Y?bGeIo z{WlZfd(O9YAcr@)-Qx53_TS#D9P`NiA9l%z3B3urIm6n5m^d7DYbl`Gh$Jz2>9)cF z%khG^n;XOKM)Jd~2!GD(dgk8nv^H-x+KQJk3QRMb-=D*tg zrV}qodqEVK0tX(}-}HR)qg&tG9=*ah?dz$(-+8wlY%#}Hz8uqnNKvDuZbwEx%I>lQ zy*TkIEs%5|Z>t8?di6<*PQH77^o2c8QhBcLPtdEN|kWpF3BMeWFBz zJ2mH8UyTF2OjNooSUrxN$3!dHTW-gW+nnhDQTYFSU`@IEo~a9l?MQlZ)fH<-@Y?sK zF=1QTPxx>B_|ZGZ4SS_l^2`rjnttSyj7@s5YZzFvFTvK^qe24<@;*Jp@O{$z!7)#n zZ<_h~hLnwZuz&Nwg1oJL`b?dpFPXZbvXsoS4Vl<(G^*$lk~6G8BmTmK6>_rwcrV zmQ++|;%{W&ClbMdmPc)_->`X0Fqe|MA2t+$D;&pKX1{%U#=BLb=G1=jSe?TWzep}% zDu+!AI(Oc^)q_1MBt^k3MaJjl-!N>jd*!?f4mmt_64gVG(Ovg{vTtmQ_#LxeeCFu1 zTDA0G|K?!>c{}H?*`M{zhJ=?EZR|Na=J6eRu>S+Y=5101hjzAE#UV;pN|ywPPb$)1 zy9y-j{#&x9As*(CN1!~Rk`qZ0fDlo->~kQu33XQqau#=$HL2n$ca`m^VuHKM8>k}H zU1cq*nB}grHdQ?7uCgUnOm|n=mMXfrtHew%(>fOmA!dRv4wp&{!e@AuP9<8-7nQu| zD=xG?aI1iU5;{X3JmYv-T+NnHDtW(d5CBPjv$%E<5P?b}*@>Wca0DoY{oDQy5j(`8 zX)ghGVS+8$-tH>Fq_e1eO_V6w;EO8*wbP>0_(hB<*I1Hob2vW;Oggk?Gbtb*1%1Rh ziaPYEI^o-Z8)GW}FmPennyxRs@aI~aKyWc*KT+YJW`qE`sM(q-958FR!@NuedBI)f zMylNHsj{xSN;uS7QK>b?ApwIAX^nx5i(6RKt3}z6J?q4kme5uKE1wV%kklMZ0-#&@ tF$lfKb{Rg@dhd+j6^qZWDGTZS%0Xy~m815UaJ)yV-X7`$h%tIs*nJHs3Yj|F-QWTA(D5a~{^b)BKZi6BjQcoo`Nl_uB zGK5spqgN7AhNSrKeeOB8EBDs#z5m;v&$;`Y^<8W2wfA0o@3r?ixAF>4)(xJ6veJoZ zt-BW3?oimd>Ef1zs>jWj^Sh!_%JQaKqM|A&f^6qP5D^4Hj8(8m)X-EL++H?85O0u+ z>VO}R${oMuvZ{<{AcdGZBZw2Y)Pk{Rs4_1URl&wkUxTP%1o@x@l(VEUkW$JJTxdA7Q4u$k-uE- zEjJdVRD?MyD`78`%k!s9?m^Kbn7o><$`PVKA&@&p1g+cXydfYom^9>f?4_ENAjxBZ z1xU+bbTt+9GL!|s07Z}Dzeg}Zb$y^yP+eWfh^z$TaXR^U89S)14x|dyr-0u!buH8q zzmVmtnZmpDEYU=)M9+l!29^L)CFtW`b+v1YUZIiEq6l?)D~jlm*ot}%59L3+y4+OX-!DGiEc z5Itm6@;|?+i}uxY(w}H(I*1E^X+RrvMB?Oj6p4P~OLb1w2>8y#Ahq zNjNZANDXd;^#%e=mK_8O**x9^%VuFFOCMl?5i42HA$S8)r8tu%z|mM5hOQ)w8DWdR zz}d$LTHFc-zC1hx4)2P0=h=wN>kS}w?=*ey3D zOxD>-dYGW;f?SWdH&bA0KIE*f)x@F_+6m(svPxu}67Wp~bupCJ0BkTQB-zL{ecd;< zFc)KK7#)%T{LhzDrPa=6G4l0nPHzPH-uK3(j0J;F1Iv61}%Wkuq>zp zS_<`nGUP#38G_J6s01p8=E-3pZVFT=4%wj?yoX$}*r_o?F!u|a7XqblWGx04Oc{)f zISXYG&)GzdD+V%Q`AT!;xUm#J%JNtwh&r{b|MarYUOXW~yWQL;>)h*_+uB-y8c?MN z2TpH|dc@`J^KQu;Q^QQe(I@*kWzCW~0h%8CbCAQa`?p5b78eJjfg>+=o1Q!!TD>9U zsZ3prTDJ4hEurmY{aF`Vrr+?way{>0kLOWnl+SBYBm2_$hWEB4OdIhHPUGLB9~$K| zyu9^D>Sn(JYiQbMhMEz^Mx8H>!cSk#3z$@kLNJ0EOhvMD5ZCgzcz=61` zJpU5X&^+4P?vciITpK<-vFUBMlc)u(Ilw)>QzK zQT4DTV>DWC7OY?59~+Bo6{(nVFYDdK=ao73KY>Kw}1T8N_!wmG|car|~dV(W5@s3+QjK@P%y|qu$(_xMuyF($Q%p8E6oL%OwBUg91*9qoXSp`CxC6A&!8f1%#vq-cHngw zLpC=QN_}m&6Lh3_@f`a4qWpw=0_g9zi0-9m_y9W}RRX+1z)=e&qhIEP2*{RND zfp?;K?Y|hD33aJ?(Yms0Sy(Wp$_9Jv~O_ zLq)Oj!l7($I}vcFx-6SJEgQGfkU2y*D-7Fa8YWx6VKmwLWb00W=IOTn(WcO5?rnFv zoxvb3@Z!EBJ=5go!l5kOhs>CRbT%AJy7*{PfD_C^{Slu%z@K8-4;4&xv4%F~5?|P{F{=TNOlNYeAZ3{ADP7KbIk>4kSr>PEkLaMl*ZCeNEn<65O>(B0)UIFKf|3QQF7-CdquvVj9&rp$>j z%v1pDh9o}a#zmwUQl58r*-6$1j@*hj-WpY(*fVn-n41r0Hs4GH%MY>)41sz9q3IU& zW><0%H%G_f;*dzQT*NdMTgq6Jl!9t%8fYRj zMmx`(T>uuJG#c+>7i#^}kimybSGcWx<@5}DadY$MF(jpFdTzn%`o=2-s}l;YRwwRx z&ONtT(}lnOChczH#n_N%ds>2Sy{ooNojU!tN@ClN%HC93dH#i5wJR~ab0wcCw|6yt ziA|o;Ytgn>@WYosm%n+@?K`9Vu!z&@2t{PNU?o5I`*R^qsu7A$lDy4YXJ|UT*xY2k z40e(RoR;g=K^xm(VGC6-H!n$=?f{$yCozY=GT*3YryE#x)km_sJiyYuy!BvwNb+PQSH#D&tx8PR=8IVQ*^J(_^f-gpEh&^~mA(FE z@*>Z?+rT?rHoWbV*eDqEdG{ zy8;YgBofSeU|O_@MFPA|tLK7%B&QcHuc9D$Q4Sc)ss)QI84>WqrPlVoa{q2O#RG{* zm2T@VgQr0hfxLmsZ5H>%rFFwJ7;1o~#Y2tXBj4+AS>S8|gK2Q$vfns(;QUVPMcolf zPUX4CEAkr$r)f+pSP&Mb`k(`Q(V(&}6@+C^MxUxxPj+^>XQ^;Lnr7cvpjCL-E#ExG zGGAEf+B3U;<*ONW?>g%LRK1!kDN?Foyp{I3EGjWKBqYvW`li(B%lXXcwJ%e_ywj*hw-oNBg+ zqgBt{WV?8v=B=4XNZ6E8_3}&6-FxLI9wNb|#@PjZdyak9Xx!k?6;bl#)#hcZcVDeI z*&)mo{@bR+#mYsO3fEsNN^}m-e|EjaAY_Z7fv&(>s>V6&$=J8OEKQO^?ld*+`jwN~#vn&i7xy5%&o@=*ju zi$6W&^I+@NJ6U2V1DOLo-fzN(#HUv|G)?NT+rcK__+qODVw z2t6~{HF-CeUEYS82T?;~h|q_xPA)x>Rt^-aIQf1z8dn)|Nb>WmrP~s8%&PdN?CtZw zR;Rt46cpG~;w101qJx(Au)l2T$_AH`D@XjFujCfCwpiedVqWzpsYzf5tN$p?LHqi_T+`{9#&v8Ai8$d-gQ0;=dMx5c8@Zhc!g!(N7$KeX z7&T^Ww|{w*Z^Ld`>yXEAN|FRIrP+mCM@PhZPkT~_Z-iN-3TvxZ0G}w^6b65k530n&Qg73x<6b)wCS1nfFXSpT zHKwP>Xr;&MATXLqPN&@nMq&RSrs1o89v;e|bGN6)+Z+WOk6^BMk(Jbzs985+w=asel2IQ^}CA&aSJOX(*{evP9KvVHPOdPg3Z8uo3cwuEfwxpgzo^UB+`LMP{I3}61brEKoH(xZ`*UyrSQ zP#PItv-J7&;`?!_8&jG*|N5#|?Kr}lloDuB?(ZtLpt3~!gYAh82}ALc(WppztpAR~ z&a@%8iS4$Ckv;+@n^Z8_u-n1Tc67^&*1^L&5UP5EXmMB4OeGzzIb;yXiytmT#osZg z%!XlSELbH>$Y3#zzt(&GdVd&zT7&h)wZ!DTo1$`J_kOT*r(L?f&tdhH>AT)Ex2|P)f?@1)fv0H-+od=YP1iKW5sK59Rz`Vv0=~cfxgpoA z2E^W{igqYbwMskPE=KvF>LXdH-gzydH-y}Y;Jcvabz@3)*qv}Y;dCz zJQ>~DBr`?dP`+c`nuJwB@d;0-F4E6SlYLe<%}X!ZNg(&I=I$FMztYR6hc!p}$R*!B z!xJ&1{(KhQ!q3aaxo6LUzVm@`zgw?rJh9fgwfV345!$F<;3I*&vo4w+QkU(~;~Qw7 z*_}|8lTCY0UGG=0+G*jDZIvJL9@6HVN!{q%FJ9p7W+!nAEcS^*U7vh)(2&}%U`&AB zmr5px7$)qMkltw{F!) z3BH0OF=jk2ySR`0{?8qUT?6AR{@Hn)2{uZz!FZ9&Czc+4PBshJM0pU1^%8xoCG#9>6 zcgC)~{tODX-5Kgj!9f$_=tYDXpNa`DZ0pYi#Tmh~7sz)SY|P*4aLF^{)0QNgH(B5? zD{-3l&IS-3F}K=`V?U=+=Pp-pyoKN=P2S+n%XC99O6!MPYgc&A1@}KWllWxuO}mJv zShMTaO_Sp%@x+9g>2E(EFh1c$e zOMJ3z;B`}sT_)#fOPtgx;b&VV5uqW#E;~{DSOuJ}xp<87cL4`K0St$yZ~|}>TaxL4 z-JNettIvVwKQZcXqJ&#qL;rm?19JrV)qmIF&UmEn|D-4Dgxwh86nbqyeGIvxQSdKEJy0sOj*Uj02V<3yh>+%-Htu z+M(3UD5bsoOwK83xtRyqX)H?6m!1rEkR{r!=c}_9b(}{{?vAAI-)GgeFHlKo-`8Nz z>pCbrHFDN&&8p8BX~6oHsM2_fni}J~y1c>hQSTD}0Nw-6bJl`+&5LKNLS1}(r%$b& zux~-Y)oc(*1;T^JM^NBcMdhmespNZ$p&tl?%CIa4!S3F(NO^+#d`i= zTNmHy;X_$Ez&HxBg(nmC;Ap}h2^XnQ!$9EHK2q=&fe~EdTJv?hHt;Ah7-fb58XD6| zy5@pN4?hVaPZBX-U!%DqwCk(%lE8#|1_7}GR}@&fguslF1CI=16yTX#9&tSP)1xsJ zOgu<~E6N!&4VuO`Y;Ja7&f&->d?B#9Bl0wD9I?K38O;5zAk~SWvZB{8i8dK!*ot_qFR)>m zg{9rq5WGkre%R77iV|7tpQwc8b5f}&5gPf|ESZts+2d4CB~{-c3S{jWytmZ=@GA*o z>18uSSSz#?R7mk~x%g6256i{(j1bcz`c&gTMt_3VvP?2rl@NNeEm#$S&kPkXs1uVS;oru@;QG zK73gQ6Kkz_Xpo`}E>?C(`yU8-INx^)A?*_|X&(V{YELVOi^9)P|LyBRNi3~imb!!} zhip~YOn47te)q%|j;q!G%U)*xD}n-kRy1#=xahc|W8ufXA|gOEl(5$gn_a0Y#AJ%c z)>Z0CGaoxZ3z9Y3h_yYG(ICV?#$?I|Ok`(nfH;;=rSwh569B`J08==oP^Bu)ltdA9 z3`OIyxmDkl$yA5!uTqs~@{dym)Nx@dRZ6lk$yNXi62*S2R*)5E zKzN(7RHzt$y5CBLFHT9N8-WBDmRG6ttzBXDi?Qlz-ESl)5sGo$*EMGrx)6+sXW;U{ z2ap?K6C6~F{g>c0eHL19Bc@*?CyKWwAVapPPq6*>)hOXCTr)w1!Q%$3^u9Ee74Tmy zMs;YMH{4@A)h?6(Ix zlJGUWCZPsqijOh+0~>kRYGj4rt8g+Y6kxp%Oi_FcfH&ei%o%VK@D!FYkdK8ul#;}I z8i>M{!VBJnB|p^tC(=-mMS9vJT^jibBkA9e1-2AY4XUyd-hea#tOZ~&0~^1(6Ev7H z=Y>arndx;TgBjyS6e0Z>cIR)HU9F-mM(|81RRjQ}A~Gj<5d@#F!P9jZ#86`hI;-|y zu%&g1w3`I7lgMF)n@WC#Kx&3=0@DODYS`6h6@z(PYp@osMBvy+og8%q@xaQk0^43G zgW1*dQa7_hUvJ)U?}|7s7YNw6vNuO+dw3zNZU#v6S@?B z?;ORcNub-oL^kVQ#v^mVf{*x+naqtaKX4*fGbUKV4L+pVLx{4P##oaBo5Zcj0+=%3 z1}+G(F%OG0M``Zy6<^LepXIS(k>ra*y8ybmhnC95GX@Vja?B$X^bqEeuxJ(!bY3L4v+9)-A@>m@N$pS zzMZRNm$BT0S`p539~SUE?I0{ba2=rynu<3@vpOdF+6GH_C--lB1b!{g(MJ}MWf3`N z9{~)15KN&&4l~?=#DC}`?r-{)Gg=-Wc0Tq@B5>a7jpy0<3yft$GN=3=Hz{vU#*&>C z(ym{&u%mtNFKeHX{!)kg3zTVIqnhh*s?j6U{N-P^1!{rpXf@DZgphBJXY?Fb#B>fh z?BW*NlT3e$U``fvIhhISnLy8zS$CbA1S_V=_O%?Wl~KbRBrsibmP5bhr!2j6WD zOQDQkZ$?9TK^!E)&snQq`$-BD1pj}N1aQhDRfBbt#XR%l)1p_-(&J%AyN$OeJB4&* zNz@S6)7`d9{pHF~rz)2_MN?1y^3r{UhE#_Shp9Z0Z68F$3*xUS0o%M90FemlH) z+w;Y<52P9N_K2z~L;c^=cEOsnpQXkZFm9F-#}eAz|BWmBH$&eJn8tDFzvuaZD=1<& zJH)|sZqp{C8Q5}X5t^aunj#T&d7j@9WhtQbd)m(iHb@xGNeK>ELwjsg7g1W%dzvw4V%o zS*-uH$-n989}fC_U>r>3xa2tK;V}iro?iOno)+qaJ^iplM$^vV7v=nccXLnlcf|@f z&fiP{MSo9&QvgL8ew{0XtXwu17Rqk)!bKF7#p*lFbfK1AYd`YzTgp0R@4EXzZ;w|7 zI~tq{#%o5|X=cm|P{HttipHw~F)r6vh0JxbUA~AN4LYXL61a!=LjsTu;BN{+$VPBr z_qor|+T}_JOpub~j(|eQ#C&w+y5B+5`QSJnP!6x@p zrgL-<5N~qcl1LQ2%v#ScwZZXs1pjZ5li#&|%2ZM0ij;3WtoZWlbbH}Cd z;`Xys1EJ>cY53~FwgZWFWMqsEgs!5$ri4HyY#rf>!EqsgQXE@#}}-O>>WZWqM+RnZ)1VZOe$k zKM5S+*061aVX_rh#+6T1d=AGBHkr(GFjSPmbid4iyI{EeV-9<5?9ms#f7zd*;FOAU ze}WjDbAK-W3fJ|TAsJ2Tlb(A@Wq0g;SB%O&I%n~Hcq05g?Poo!jA@UW=|ah>t1ZXX zw~RVmQp(X>bMwRyJKB$X9i?F0V`fw+_=juCI-3$h#|u4e0a^EdzbT7(j{Tt1aRU?< zM+67D{%XIM_l@QSug(il&-b*SI0UwIm?tR;5Q6YzjdgsRFuif|Ct@3_fBJ)v}UX7w0e1hr;EQg8pbOt{-vgJ4{_x@-V zPi3eB3&DCJbh3mC@i>>rxv-MQ3iNnBR05qtPvt|+1$Prj5&b0}>Otk`Omu!86nYc* zAF(ccNp$X-=c)XMS7x8&_I({aykjpr+F>vz)Nz!b*C8u&6f{y^-f7r}R`SE53f3Vh-2b!Ii zUSGZNu88NZ$G3iOd^YbKI~u2EKFQL|Q10S@0d1KPsas z6n4C-K<}$d(c{BvM(g(5Dgcwdr*Z13G?t!%a&Fp`HmC4c&eyuvEvPAM7H3EMNl)oQ znZsON5>pK+PDi&5t(_cxrJEhi4)4Q65!6WV1ksAV-%c;-LZYY>=h*Srt%S&g80Ckv zR3#xr#*Un4olm0paPYQ}LKW#oV!-u?>?hTiMnZ@(SZ7xJmBz0T1hSLJVI}~7n6EV8 z14tal{13w@`aW^y5LNEPRFJoKUmNuV0K zP}mJhL`o#v>Kv3-Uzks|g2UV6iJm)l>7(g#QA>}Z>yo(XX) zeBBEad`n<*Z&s&Il13e<|DxfUZ)pgHoE!c}@eaL2irMhWK+_aA`I$#2wc4k53_CRS z{qDw&_LGK}rSGGlW~ef~lmc9j$bQ_k#+t@!GRu~|$#K1vc-H(6hm5PR-0x}syjjbM zwkalZFq0w2;m1O1xbKofX$Ao^SA6j7PCp@y>bQ9j&{QIyFlOO_uOTN;8vtubkS;ER zQf8keABh}h_@S{DxCtYO6G{;Qzz!0`&^pTO9P)|CVTS9O3~r*~6G#*EXab@s4grw< zR0dTfK1HJo%c26x6Zm0+)v~BA{*I7T{OxQ77ceKpCK%cd#4SjWehRd-pfT}SN}nf(&Y)HkkF2KR z@AT+Ja;P|MJpoUc;H(LNtO5RLLl7s}p$>p?obZb$m?m(J0*kLOFaVMj0|dM|E&=o^ z6D4j~LHI@nCdQY9)KiS7aWV0I_~9E}SOL6-P_`0~jhSDP&W7te$)yChU@a6F;Y_p^ UIt~u=;xPXCB3Q-uD4?_d50ap1vH$=8 diff --git a/PHY_Item_Asset_Convention.md b/PHY_Item_Asset_Convention.md new file mode 100644 index 0000000..5f28270 --- /dev/null +++ b/PHY_Item_Asset_Convention.md @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/Source/PHYInventory/Private/GameplayTags/PHYInventoryItemTags.cpp b/Source/PHYInventory/Private/GameplayTags/PHYInventoryItemTags.cpp index 4811106..f2efaa2 100644 --- a/Source/PHYInventory/Private/GameplayTags/PHYInventoryItemTags.cpp +++ b/Source/PHYInventory/Private/GameplayTags/PHYInventoryItemTags.cpp @@ -8,6 +8,9 @@ namespace PHYInventoryItemTags UE_DEFINE_GAMEPLAY_TAG_COMMENT(Tag__GIS_Item_Type_Equipment, "GIS.Item.Type.Equipment", "Equipment item category"); UE_DEFINE_GAMEPLAY_TAG_COMMENT(Tag__GIS_Item_Type_Consumable, "GIS.Item.Type.Consumable", "Consumable item category"); UE_DEFINE_GAMEPLAY_TAG_COMMENT(Tag__GIS_Item_Type_Material, "GIS.Item.Type.Material", "Material item category"); + + UE_DEFINE_GAMEPLAY_TAG_COMMENT(Tag__GIS_Attribute_Item_Consumable_RestoreHealth, "GIS.Attribute.Item.Consumable.RestoreHealth", "Consumable item attribute: RestoreHealth"); + UE_DEFINE_GAMEPLAY_TAG_COMMENT(Tag__GIS_Attribute_Item_Consumable_RestoreInnerPower, "GIS.Attribute.Item.Consumable.RestoreInnerPower", "Consumable item attribute: RestoreInnerPower"); UE_DEFINE_GAMEPLAY_TAG_COMMENT(Tag__GIS_Item_EquipSlot_MainHand, "GIS.Item.EquipSlot.MainHand", "Main hand slot"); UE_DEFINE_GAMEPLAY_TAG_COMMENT(Tag__GIS_Item_EquipSlot_OffHand, "GIS.Item.EquipSlot.OffHand", "Off hand slot"); diff --git a/Source/PHYInventory/Private/GameplayTags/PHYInventoryItemTags.h b/Source/PHYInventory/Private/GameplayTags/PHYInventoryItemTags.h index 2fe4d71..6e56b48 100644 --- a/Source/PHYInventory/Private/GameplayTags/PHYInventoryItemTags.h +++ b/Source/PHYInventory/Private/GameplayTags/PHYInventoryItemTags.h @@ -8,31 +8,35 @@ namespace PHYInventoryItemTags { // Item category tags - UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag__GIS_Item_Type_Weapon); - UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag__GIS_Item_Type_Equipment); - UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag__GIS_Item_Type_Consumable); - UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag__GIS_Item_Type_Material); + PHYINVENTORY_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag__GIS_Item_Type_Weapon); + PHYINVENTORY_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag__GIS_Item_Type_Equipment); + PHYINVENTORY_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag__GIS_Item_Type_Consumable); + PHYINVENTORY_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag__GIS_Item_Type_Material); + + // 消耗品效果 + PHYINVENTORY_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag__GIS_Attribute_Item_Consumable_RestoreHealth); + PHYINVENTORY_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag__GIS_Attribute_Item_Consumable_RestoreInnerPower); // Equipment slot tags - UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag__GIS_Item_EquipSlot_MainHand); - UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag__GIS_Item_EquipSlot_OffHand); - UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag__GIS_Item_EquipSlot_Head); - UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag__GIS_Item_EquipSlot_Chest); - UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag__GIS_Item_EquipSlot_Legs); - UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag__GIS_Item_EquipSlot_Feet); - UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag__GIS_Item_EquipSlot_Accessory); + PHYINVENTORY_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag__GIS_Item_EquipSlot_MainHand); + PHYINVENTORY_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag__GIS_Item_EquipSlot_OffHand); + PHYINVENTORY_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag__GIS_Item_EquipSlot_Head); + PHYINVENTORY_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag__GIS_Item_EquipSlot_Chest); + PHYINVENTORY_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag__GIS_Item_EquipSlot_Legs); + PHYINVENTORY_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag__GIS_Item_EquipSlot_Feet); + PHYINVENTORY_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag__GIS_Item_EquipSlot_Accessory); // Common item attributes used by this project - UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag__GIS_Attribute_Item_Attack); - UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag__GIS_Attribute_Item_Defense); - UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag__GIS_Attribute_Item_CritRate); - UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag__GIS_Attribute_Item_CritDamage); - UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag__GIS_Attribute_Item_Hit); - UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag__GIS_Attribute_Item_Dodge); - UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag__GIS_Attribute_Item_Parry); - UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag__GIS_Attribute_Item_ArmorPenetration); - UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag__GIS_Attribute_Item_DamageReduction); - UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag__GIS_Attribute_Item_LifeSteal); - UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag__GIS_Attribute_Item_Resilience); + PHYINVENTORY_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag__GIS_Attribute_Item_Attack); + PHYINVENTORY_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag__GIS_Attribute_Item_Defense); + PHYINVENTORY_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag__GIS_Attribute_Item_CritRate); + PHYINVENTORY_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag__GIS_Attribute_Item_CritDamage); + PHYINVENTORY_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag__GIS_Attribute_Item_Hit); + PHYINVENTORY_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag__GIS_Attribute_Item_Dodge); + PHYINVENTORY_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag__GIS_Attribute_Item_Parry); + PHYINVENTORY_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag__GIS_Attribute_Item_ArmorPenetration); + PHYINVENTORY_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag__GIS_Attribute_Item_DamageReduction); + PHYINVENTORY_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag__GIS_Attribute_Item_LifeSteal); + PHYINVENTORY_API UE_DECLARE_GAMEPLAY_TAG_EXTERN(Tag__GIS_Attribute_Item_Resilience); }