From f4ccaaf049f0850424f80c135ed909278ceb1ff0 Mon Sep 17 00:00:00 2001 From: cajun <12363371+CajunAvenger@users.noreply.github.com> Date: Wed, 13 Mar 2024 19:33:52 -0500 Subject: [PATCH] add down triangle --- .../corners/triangle_down.png | Bin 0 -> 45039 bytes .../{specialize.png => triangle_up.png} | Bin .../corners/triangle_down.png | Bin 0 -> 45039 bytes .../{specialize.png => triangle_up.png} | Bin data/magic-m15-mainframe-dfc.mse-style/style | 5054 ++++------------- 5 files changed, 1180 insertions(+), 3874 deletions(-) create mode 100644 data/magic-m15-altered.mse-style/corners/triangle_down.png rename data/magic-m15-altered.mse-style/corners/{specialize.png => triangle_up.png} (100%) create mode 100644 data/magic-m15-mainframe-dfc.mse-style/corners/triangle_down.png rename data/magic-m15-mainframe-dfc.mse-style/corners/{specialize.png => triangle_up.png} (100%) diff --git a/data/magic-m15-altered.mse-style/corners/triangle_down.png b/data/magic-m15-altered.mse-style/corners/triangle_down.png new file mode 100644 index 0000000000000000000000000000000000000000..ba1ed80c41070a18cf187f37b7f914e8776055f5 GIT binary patch literal 45039 zcmeFYbyQSe7e9Pwr~yQVMmj~hTS8i-LlEiip&Mq9MoK|JLO{Ym0cn*OS^)u(Qo2F9 zhn)BFeR{pWwchot_5S{QWVvSM+;jHXXPIu zv2mhk6mESI>Z8KL$o8AZ-*X0^AgO(#=-&I`nfZo&UPz}|Jhk|G1D4$Hy-Q%JF@9rh z$H^(Cq9(MYby#+{g{0dJ5xz z6;*OjG~`7rmVnFgbbO1$`MKC=Y6UKykR)QU=*S^rYk7YxqDR3lMv~q>pmH%z(;WaH z(Jso$dUutT|FLjzxw+v_DOL(XVWaFjm-{=JBleL!A*pl&O)G3u+znK|v zCq0&Z(HW0eBph zaZwoSN>y9%<7%@H)kktC#8G%2obCSEb{f`%cZ=V!-|#omi;01KpyR$dRKvW#lPYsb z`N`hL82$Aliq1$Qh54K`BG8Tc_3O!E>uamwA2(CISt^NZ=;|)Q-6uX!pt0A?T^Nxc z2>ZgHPOm!8v0FRSH#BTH?=g9O!b!Tl_LNonX@035A9UO4Ks(qPLrrVy8|t>bZ~*yg zVA3mzZeOA8x|i@hA1iMY0qwwJPlvx`QEkAq=|j*(r6 zo1L^hn}R&i?I0PDfQN&h4NH)RyQi;AkR01zbY;NrSIvTKEPr+JbCY8;)z)KCM))|e zhzW=Z2=S{1xde!?$rG{M_OW-AF;G$aI|=ZY9GkPBpO=iFU|?XNK%l4q!pBKaSXx?I zP)I~jM1&vg!S5UF>1Pwf@9E2aMdEKXR2+Qmd|bTzTo9ftS2S&G5&nL1Y;53jmVfZ) z;iawpPx79=f0qI%55XWCFF|1eAwdrh!G9m&>!%t368Sqr|Hl!&M&NlCG;r`m`1{y7 zs0KKA`mz5z346PLj`#BSasO*M_I82}?hYPcS6^^e;s2OY{jRp&KSx}Nz{$nK>#tFu zu>Yf{pNr$ag!Lc1T|N10IseWGIQ*Y<|D*Rm*8W##u$Q*Bj0(ce|BAi4DspUB^UK&H z>|E?+{`%@5CgLC|B5cnuB`Ge#FJ>og!*6SAE6Oh>Z7(e;<{)GzVJrM^r0#n9`q_Be zIb4wfi3_-ZbR47|#B79x9r+y{ZN&M->_r{;ZAGNS`Gv*A#l#(j?4=!rZT^jfu8#|- zl{W7G&eatudytd_*wsNoN{HXlRz#X#%*Nh~lZgR7BI_HnTBL--gW5bknpS4^>7jr`|hZSX+Z+xXe2*!VesM1@4eWQ0Uzghh>n zrDcT0WkkgJg~Vlq{;fa4-o-Ka|Eu@a@nO0Bw@ue@@df7({;TP4XUfpQ`)|Mg_S4Z@fB^f|e@IY? zLIBuE;CEMBm0%U;IzY+*<&5A1n{N22n))dtJgzV~@E1^YuxAN$@pERm0*WS)*J%KN z1-Pqn$0+FcMqZ$`QRnZjeCfL^goF^KRl>q!0aclxrXx%J3JZPxkAW3ShDIA9otBD; zEVmL1*fbClifbAa~NbEh1B2=vS=oUa!7Ab z;jA|)ltIo3X9W?(kKjrWMGYg`Q+YsVm+s`J^J04&jx`SI1#lTF-&lD~QJ$IPic|&- z38V(sO8{jEsfl9x%vCZ#hA6fcK+QCfMIDCmMe6}@au-*~>a|&=3X>Tk#cRy>V(j=) zYt#9iNt9P}#2bDFq?pkU2D|^dLs4)fKCrqij*(lPGI4zl z#biH1!HEDLpHPewuzEdwkExKQfQ991Nh0%&_*e-biYF&-rcz&dxWa^HZ7q4Q#>LR6 z>^@0C0%4i~8)u3A0h@#bbwWadhL%=zX#&bq(HW|q%Ak7Z4kU#^8pduMTJ zX%3S>Ar&+W?CtOGu2-}a6%+vLV~98JA6fIENL!_GLFUrl9PSC?dvPClpT8;eUbyDB zK1$^=QKxosdZ^zN;y+xTmzXtfdiC+=+uf@PGsp=E37@!3E8TkbJi47Bt9k~M)wJWI_ z+&Q5^`2yyoa{Qh#9IUKNW9KV8;HsJVA4;fy7|wq4uwLM4db(ay2$8LwT@+oZ(5brQ zR|6$Y7w3XJF>luByT>g2sXtOFj`EV=J3+Ulyk-HAiAp!8>png{l_B5h?47nd`d%m) z`$c+PL(2j;m8?QEV0ZxQQlB-DdME#@NnzKXVAFwZjq3>1<9FR1S66;9mm%Ddcbsgj ztnz~;)REdl3%j($00kM`{aiVfvTh0m514x7HxdKG!jwN+3pEHpf^IWyOw^Og2H3N5 zaSbZ$uai4X|lJ;OE?lPh!y6>PACkB;5SAq$G`Oos-S+)|6?3Guchu zOQHu4eo^9pa!gC_SS7{tBJA-dw@SbHqT%!p?~hNuTw)%hxV5e$N(Khv?aPb1Ace=kx`wcVZ$H~kX8Pc3Nq2+@+4!vC-? zBT(*w2~7c9TBmb@I@<7>9hCz)Cs-0IMYfZSy$Ve=OndPnvQ#_gRlw#jT$#7zK=htY zPKKWVkYrf}gP78r8gI|clW&x(N+AUzAF0I3zqQq8c|4N_9Bod-CDUWo?%$VK?tAh0 zqg{8V$<*QZ8?>YXf*jyfx5$WRBY-i8v*9SSd>BUPV110{N-?HB`;$>nP`GX+w;h+N z8L850WD%^#nDzSe0!oh9IOgBSl0BoEtXlR3La-#tRZ1!c9S$L`5(Vvo5+-}%Z zddAIct^+FVpHO*2&4i5&_xEPCbo(oU9dGovpZUwJz#)YI3$CIF>I|5CEYedyQ+)Sk zdDD^WHQGVa4`#J0Bkzo-=)=bNwSRn#ow)6>0^r7BzbhC{?X+{8vN8rJ4-J;y>mB&0 zPJ_z{o?V;X=O0Wz``y@TI&Q6cf7T7TO*~5sJp4sFBIDa+fV!7*E}!9>nHeiaC|dNGF)al zXaNZt07aMkrAojy1Vfq2d$kzKA;{_b6@$Ft<6*e@}sLuEnzoTzGZ2k5cDnDybg=sC=>FDiJ?QR0* zh@_2;ypjiTNMYXz7fULkKoPO*C-r@~}M2YDeGN>b?n84bYcsLzx8 z^e-5RESkrx>1#cD} zI?_8N?2( zk_Uzvq9;1UrK5|8rm+gUZt*4H&SuT9fyin9wHBKN!b)n-ILLcElq)6LUsN(4XrKVP zY$DdS9`DMWiL@QNwcKa%3skWqn?>G~6Deq^3f#8jvp6L#|FnEM6+cq+N9{4+F}-U)L9`j#GNt~BHxXN7_Y6zxH&XqrPuppV+401UjRn%|8HJ}Y8$ zB}*OL{w;=mMGTn@?L>-4W{~GdAX=k$tujX8kQe~u|Az9)Vss?v!6&{V7%Ca&C5k(Hi>P3E&MdUi6Bp%I8KH2yVrHs8ZfJQ8HnCF3 z13-IR%|536YC$T1RxlBJzJgB#0e8X~v)y#;X&(Ol8DzTo^_yG8yv7uewytBt$G94= zlht9jtdf%fA#vLh9zdxZYrG{mj*+!!L74UoV(7y{@$28P0mHBGkLWpGtVoEZ*y5_= zNg$?^gzdWKH|u9g;NbngxF~YY9419{adv#@xJ;}$XqUD=RY^?!Zh59Z(2omugQVCi zjcCTvkg4#`8opK285Q7qOnYMi!LXOv6?|Q*`P%-7;ECXj-@5j@^=fAVH@LwnA{^72wM1V^d9EE_D3m1AdN&I!&|>&8)LB3)%cR zZ}5b{iR?2qLs7O{z{Z{!tZWLN(GlY#)=sMJ-1#U7G_{!1bp(4;hL_BN*d*_GCmCpU zw77r@)<-YSw!R>x%ISRYL`3On&W3yLVa!z^(Y=2d=C^s(Ad|#Ep<_c{@dWXYYu8`K zz5(6+>j+n}3|A)>LZHv87<)51JE8E&R!k!zrjfbPMPuy1&g4m(5 z<4fRdP@qC-=DDP8EH>M%TuDuhed^vp>c?x36fDAg8emVlpr=V3||+IMA?=-V@p; zlYC_)?kfZD+S*4k1cX50Z-y9(cG{5bY&d7W%SW@;nfO!Po@*}(-e%i(C+r5=W3(-h zD^SJw_&}7}9P;cB<++v;m*OdLBo4uK>!XcNv@(9C#R8$isI$Ut$-k~DPRJ>Bkx54R zoa9!A`?&%Q6z!kb{@Ptq6X4CY(D87Ep%S2y?)H=ChelRX1y=3geJSkF zV|4rUYxV_1=N&*NPPJNoX3fYdPYXkjg4UpQkBdEq)Z)8*wxc=zR=*|;ei(! zOTfn0wz>8=?}Jt0jmb|GO0d2>S%nQv!K7Fe9!Hj%<-d3CK`f1c5=8u*slx6Vr%gn`~N1%%!!0~=t ze`F`lp7vT6dnFD9mrmC`!DjM=hm<=IpMX>FUbN<1lVlt z@*b?{;3+n&q4*WL{`_X#lCxgASSPer`fjAJPnN&`==8?kk@szDO(x5 z|2&>{Z_j$L0P?lZJ?Y@U4}{(1Z{NOk9xMN_)<>o~z-uH+#ridaA6ZOH49HdtXlL!ZQ~3DIYH;aC5%Fd? z%mU%3xrq`UW<^#l&2J33NM5{1ev)lQEG#UHZ``U$3nR$ke4riV_nYxE1;DC)m*DUR zM@eK0e7rH3SS=-t#PBAPF`;4&Z?z0B>wXp#r9yZC(NfK-K3g9tixak!R~jp~pp>zB zJ>}>^1o)G|%K_N6nf3e!pc2S^`ZQk4O8_Ez(<*!Jh|6FBiT5*Kv)?L$z|m{1gvJJq zy1bHEP0jB&#$}FQ)0FOp8<7D4yo_z4mz*Ob2|yY?_RY4rOV;&?3i->E6`tECi=w8D z&UYKEzUi;-$7X4#K~YB5?|>j;^q`lnnCH3E>R1ISIXO8iaEL4aM66*5y+pS4u0Fow z5P$?vhBL^A(Sq!Z*SHW<3z|J5mB%zx4Rbwsa++MIj8MZ~hF_@M;jj2e(V5PaTp`6! zVI}kC-OY8Z_Hh>M=rWHMxh^qR_BuE?IP37|KoDk*D=j^pV#`E`5e@fx%7O>H^~%Mc z?e%K9e4QTwm7EM>B&RquzxX^CSpO+;udea=MY*5L`DPK6hY%S>5@BP*8n87P!=F=c z`%AE8ej!!9bGqrw^sFZ#j_EUV_}P)#KJ|C~de1x*qCrZ@T4ql0Y1hn~FkJA0&xMNA zTxzl?D3F5wO{ZO|9Mu-P0(AB|kY9bI52WpJ5u(KaoObDNd4ba@^oU04wY4==d`9=S zk(4PdviG+cn-qiNZrsR*Ykup@M|R>elZw`P)qA|@fmYlmGvzE+eY{L7u^|DX z0t(O#gux>M?wNfrD}AOXWC?W^0Iv0OO~HUN-i*$6Xzi#%?}DbbkVN6znR0DEMGt zml!*|=K^OjmX~+w8H3>9zTN?`LE7`@%TB&>tYsF%^`h7JR!W|6_;Ug06ES|H=yTl% ze5fmRE(@ocLXT}a6Q5;C`%=qaVnjzdUfsg)KS+$Mndgk?|E(2F2)L9~ zXwMwizL@%QJi9-@Wo;kykQ9qM8v^`#uMJLhTL2Kct|(s5l_lXp6ms~-rqV{2+lb>e z6kTd(@R$$Qfw^(f*m#@IvXQddX`nT9JNzr1N*g(j(@TGR8UGDbMn=Z`*yc^RnFp|F z1ZX&seEYadnt~6YU#Z^nKJy5SOP6IKMQcwtKL%Z6n&@Xe$GcoiU4su1YD!ACIoLA$ zxNM<{F6^|#12YxvPsztG2LiNmBp7uSE*RXdCrFVhoCEkIbn%8dYi1k5^x8~D5|?+D z`T|P)_<`atTA9tEvJtmQnH#aJYDq!Tx!n?Y=#uwxlz>WJ*I@m!`}*&7>=y6Ap1|fl zCDpSKHpCbi(5`_}@}Us?60kJ;I^S{OS*DeGz>&@XOs7Rc%(55GBEl1_#Fe3|R`}#ahdpuN2eT&n8WthSO!6dS!=x$eY z?YEDB*nMFGvn1MGWW!F|K4|5>JylBWF0wx-!9)2>__G1U53>1{AqDlVM73@K@tG>CqE4Y-q=Ud4T*z-#+j+1O!g8uXp8MP$6Bl$hZ#xdQ6(S1RK=c~SWr$rCz%i+@@@9Xcrt^8SGCZYI6f^Tz( zfscY4WQ171)Pf(P z=ooh+zEl9{F~r3%&e1F@c+cZTJUAkr4)dj49x&E{T5_NHO}Wc6hh!hHx>f69^Koit28n2ECzXrD zBc}coE+z@VM2km5XYChAfc7Z{%wl@#{OCi35?CCgr%uiXoXbRd6#;ehxP<#NTA8~p zgXh<x!(LP@uH06`5BN445Gkkc-bw3s8{llp1ap$3Y8SILXNxG6nTQNf1v2eGs(yJ zeJ{lclw-|Tj-K@4c*!?33E?SnmeL<2htWyP>5-na#Pszg!50w4$H{n#8s>`HxKea7 zVx&Sug?ECwl>#>>V=9_Y@pa`6kv#QQxU+ALXR_a`6<6(GC`cFfdIj%9;gg(4E8acR zx4K~sh6xuRB?9p4e9^kN?$eD_q;eSAtZfd{a?dp1t2T}58wV!|D z$hlmF)yY+BZv8XtHMBY3a zE#vtqy_MK(9JAy6XE#K^*)68n=4zHgAl`Kv*Q-7U$EhzX@ugfS=(7<)S!Q+L3fyA2 z&x@Vvys4d?bE#1;8{^W_vwu~uSP#EBe)9AwI6jA6UY}Dhsr~oC>Ym-|w`GkC)t`E8icYdIg%y4u5iFy~>2&Yd#4O0WUuN z#u-$%;o>c*wG%YD$^pK-^1RTS0NZiLPA#?FF7*=~;Sv#q2=%6r4CUbUQOjd*k&ssE zjRK&*aY(G*HDd}$(Lnw{S-ePhIfK@}2MRf*Y%a=s_9(|Iha5=ZVZ;A;A8dFN0cg8Q zs*m+2JVb#ui1j=co8JfwLv(&bcCuS}^N;VF%(#QZXqi!5B2;1z09dtm8r0qpEq$dv zuocpNq|qy=!F_YKV@}f4v6u}AOAZ;>G7mfYwGwo)G-j;u^e_dU34*50hQm>My^4r% z1agkhkBg*Cnp~NqZNYj(;%fO%oj2UwL?h;3jS3?x0^H5GXBbOtMkB0eL8#xctR=x zH1#O18o-mi8`$BHX^{lFt1Qye53FWL*LKRDluuVBL$g$Xu(=3s&Z`q_pPTQWoMvGA zXZY^w)N7NEPo6Qor9GFV24YD@M-qXB5Ak>h5sMuO6hX^tE4yp2^JSZs*j9a^jyn@h zxCM=$$kBm1q#@_Kal4p>)B>|w*U0Mg7>mcg;&@UA-GyE|!57kBe7vwYsk6VFEGy59 zbmM#Pz!Ida!ge_WHpU}CCp3tHknrcX_O_XQ$=yqS`uD%7q01JJ`4aFuIy(!I*k%n) zowoDf6cGZ~K@*cr{2h8X08cS^R|s{S%OvKr2%Gfo)&sl72<%p8OkGcEN&ILcRe^Y5 zrT>KBXY<8%r#yew(GM1gK#`fg2)YQR9+Yv}=q%;UVkw z`csLGTg58w?tE7f^}fDqVb}|;*Y)Ao5BSm2TqtNkUoaC|REISCb}&@n^D1;oRpQ|c zf+~L>TbuE{4Doa(k&4%QV25DmXkz;}qrvJ2L$UMd3>*azjdniHEL4sQcw<ESD1B-W-j#!{l9rFHFht=nTThQ9zN0sTXIS0GZ?t;t%#iBMJZR29eD@!O@k zsx!?^ACg<%0+rsQ><&ILo)~dfy|nz)z?lm`a>h@#&U4Dq-zf69C#xea&F3aBFR@)$ zlJa-DQ;ybXOb|?a93i`L%XRf8k#(b7Lq-sR60}fk-{fWTI zDT=s8h;_rysO7#3vdxM5eLCd2Lqs7IeX=J%ff(g5t{hmms_`NOuWV9Lr~W$GdrVo? z`DsLV<5D(-eHQmYEbzE#0dgj<{5$A?HSX)6&b{nKp4~$^B=$n`^vL^}JVqMO-Fx^N zcq7!+V$+VFC2z+=C*f{A2*haPgGIj|*!MT_2?48x-hqMcIOecNpaa^!wGljxd{Gb1 z)4$LDvh|sXW#ZzZJ%)?U_o+~akSa<~PDdLTbDz#*yprtVEKi3_5dv@O!e$tLo-azB zQErbVxmLd`P6;8)J!cNFT@Y){E~PR57{+-O6;QaaUpovfNIf*MdB(yK;{3BzeEP=W z&ENG1`o*MiL9RN6V53ARZoX>v*4@&_fHfGBxb|sJ#(lCOfvq58mH}lTayj)SuzgjS zxhUcygt}`c5`ax$=qbrg%fo|%PlC3mNWFe)*W2tn4*MGn{i7D3_naTBv8?oLBCkMa=r)!V%qG?dUlNhr`Rr-+ylbYu9C>!c*s$Ioy8Df*h+nnQ zDtxX>E?Pyn+Ua}i(~_2g&|^<9DdmzYsmQa%Q6M$;wLy@)E6{TR15Rbuj1(T~p&Ag>@ePt`5kY7fvKGw2#l@@BKz8&A$;JnSEnNJ3jYWZgi8M#T z9!}k^;CcjJ@zThL0U`sdEB(jHHw>Be*O|l8cViYlP6aWq0ZVU zKTB|$aptV&`HTlS1%x}Yp<&!hMe%x;L>5#rk{1#-w}^U(Xd(n*A|H7fr;Mc&eH~Ew zeOC~weCd?C;zuB$q`}E087SD5bR(|ZLbk}|=gqn=#AbxRTX#&<=^YyyLfAdrTw*zg z9sGz1O2F{|M`#LU(lUhXW%yA`c~Xl56AH$0{zLil6~`hLU34Bx$Xbet#Wkz#`R@06 zt5+r!F9A(*f?pn{JQixeBV7&;okABVm(JqcFDJFxblol~=@XlZ_WI{!z|#%!OMfHM zhWW&MyF>Q|p3x$^4K!6Og9)vQ23v-1h(>gzv5xIca7H&QKPI$#W!dz3b@(lg7%Nb% z@mfe?zGSWR^ghAC<`}*Db!P9UTm?L+$3P>o+@~9O=)0N>C@VnBP;Pd3x=F}&n10&- za%hC@6MUaJGA2OjryQ1DJ!Ssw>q}By`CYM4K_!jxzFcWy?~lUHGld`I1<~$q);GTC z8v8yCV=D+v^)&rBuX|qY@r9zhLKgLrYdpi`ii`iu*-i zjtvTJp>@159koBu!tk)p-QVY7b%7v7F(CCVh!HLKE=E*jX!nA2=9P|_hg=h)IO78j z#JZ;Jd1%piM+?eDQU>j#`eK;CVZhi`!gopu4IdH zFW2)G!7M80b5^$7(}&T}!ZpdQE>jl6&c%4m`xkT3j-MpsrT7ROdGvFzH5) zwj@IJsFR}{fOlm~Lf%8B2b&WQCEFl&7H$4{;^vTojpOw$1wlblcD1Aq`ihqCmho@{ zPcThS3R-SZMfl&{PmarA%F+38@|24vf;t-RockmaI zSvkPzEp^0sg1Xnw?_;A8n`g9vAG$Syr&mXqi zNi&b!ZcG^;A5Y^HfToxS<{#Ew5cSoMJcsl?{Oq^&?PV-TKOwau@r2m%s-g+-s=brF z8}UeFkkD}&+WmtlJk!uEEZxoGxTP$sv4SD8$M-51ZUDvqv@Nv+#!y8Gsb zF}$rORU@`0Y^w~}r7cx9?P>>Wa`8>Xti^5V_qj-{v}lu$ZhnI17Cj|Je=ZsoBLVBM zT03b-T6>-$rB8N#7IG240^&v9LB@#+>i$4lF6&@m&YMz@%li~v>=0atsqx3#cxYDb z_}%QYx?4jrEhkA$Qgb%*(lkZN=QDsz{nbWHhtx;}&qEkUR^4Mi2IZ zju1Jd!veNFb>=r6vidU@{~!Brp$5zuPmiAEb>+j!H*@`$@jB@bC|8K$GbaAnVky_2 zTqO~h9V6BkD`|mz;+BvKA-fTDZf#W07Svx4}As6y!= zLn*n&Op#WKZ`O_FF*Sedrxo+Q=_rs?5~D2SD%EmupaxgMT_UPvHcGa~zr%f)F!DWH z;?9R*vn;vLls|u;CC^C%^2wI%Z{S>$B!R>RiX0bQ$YnjDrnhl z*?H7E?gm%lA)#o=+Mt4vKv)x-cF}#Pp%1>>nz(+egV#fkH`{xtknfm6m{7aGk;(Jz z5)o}M!8NL=d+c@(1aLxUE6izNvgak6F0HHK=ZN8EZQ+`%rFuLX=Z6oPQ+vb+X2XpaNC7LYbB4EXYgy#T zOUfiSc?vDRfY~4Q1zp(N;avaNwhqM`50nv9gl{ZlsT9svoeiw%0cL%`h_4*q>#^%x zLVDLL|MmORCqXagW$uTFpgCgF5Ovr;wW~ARRvU~k)@LuP2O29?aN`S9oQERonH|qR z2N_teq|ol4bn9GiB1B750#s44K*npoX(ZO`8l4o7M$V+GkBeLCb=bUb+ zt4@J+agiJX<|qXE{r>bnn(+HV)QcD14#!>|yEI@U=XB&R+<+TDF6E43rGXZxlxm4} z?{og0pSq%HS+rK?o$CGTCYf(8*TTO9taVPK;66k86_yrZvK}IIk~(qSnaIv>=B{gP z?;h~ATorK%eBRLn>!!>Osh1(N8W6pRM%-D}k+%Jn0i_&?51Or*oDm@#*Ym)w$pjt7 z&`KJX=-e8kw+3L8tzQYW&`nnNsQ{uSt;0t#u<^P>W-vQ3^Ns&DWcI{4{PM?b+`*ZI z-Fz_@zTY)2B}Pb1LqkGVum(cj-1mF3`$aSuv^YNxGY=mj8E-+f$aCvOyPT7d4kM!x zEmY|?5N=L7Cr9h^=z-iYwC@iFy!g@EfHx3XG^t0UNAbn43+`&uZMluL_5q889=t@7!QX>UN-|v^Wt^m zyU$O0CJ6Gc&-#Pz*Mh(C$Vim~apUeX?;G+b_6l2gs8Sa&N!_+T&=d_O-K$0@l;Shr zzjvoxq$xmR<-t-xea&y4G~7beK%o-a>Y9cIOuImP;(nF_g4M?-pe)SQe>MHbYkeR? zo<>Ihp_Oi4^y%UHCyC2`JZI<55wQ#5mgDKTtN6pO--N6j@iR!P6wuWAQ$%s!)Rc~o-+Wn!P|JE|X1V94giV(e!4oDU$i+;(DI&({$e7Fw( zr9nG9y_`*7et;QHdv+3Z`*aogtA~)aBRbfZrU1+%Isg1z@(JcOc!PM!QdSQJgAKno zrtp}kX_K7MGHE)03?xCl9zhHIvS6K@NXbbr{#X)vBGzc$Z7bRyE$|9)I(NF1A_jx+ z-$u1ztP)|89{8t6o5^ZxBp&RL05f!O#pc);@l_F`HDb&1z4=LIPwPiO20}~2KOmF+ z9AXKzu5z6dcQYvf(=wGxSa__V>LGF?^5PXVSG^GHaU# z`yJ-C4*<-6K44`-E$;eM9z%ctYVF5PQjxYw&X{Og*!`Ag zjoh{a+P-A-3~q`{cJM#yV!ri}bIbxM{_g&VcOm1(Kz|VcOO*m< zZp9JGW5)##1kI6$J>EETRM6>o#iY_ZK$cJhoBZjHVV$KCj4&OntRyget-~8o$#>@R zaA8}ZJ*}JlNp5Zu;iKz1qRvbSmH?m8&WQwdOf@8g{h{Rd-F)QJr<})q! z(O^T_1ERctd_R2sQ%r%P;=#)iMB2&6fj9fwYU>+fK>O#FyLg2WMm1rq zCFob33Pr*Dj?)pAu?H&wzp#D!)z_L&EWYQ|28w(O0}jr`sZtVeI0UODbM)ru+Mc;F+{8A!hEzYWpA zy1;2*%XRG$;~~bCt+k$qrTN|7I}|>U0+<^7cl z6)h?}%7lzMSW&vh$ygdttIfzkD#pBeMToktXTFd8sXew(^An#6d7}qrr|OJJOg=_p zc5Eg?dWGuLlwjNhWL~R-HqK^RH(p#QLIB`(o&*d`Ih2Qt!+{HKpzp-Ac6Kvxk_he4 zmJcU`8~I0@tzwagmdA(dl9im~N*Xt+9eVF4G09OY0cJ_dHT0wpg)r^|a>vt4i1%F`tk@wan_gTzfP+Z z*0}eHN5n`b>bDig1e(TAVXVc_O6T1H=O3?vRSeLXNw>-baTEeJq<+_~C)%l}zGW}~ z3S>|eOBa(oJ#cg{PZu))2D{44laU}SWePvITPLLid&_dI=}?D3A)*b@0#MD2NgePq zoOUy%5`Zd=v2CN}y1tDyj$XM>77Lg`Xv++Cx^l|f567?saIdBjgcL}#Drct+W(O4kv(XUZWsm}}_Py)aKI z8`x|p;Pj62eDk=|c~YwAAn;U_3@E$*p{pR$sj`+#NdwRRXh5L=3_3+9 zyYAgMO%bjdS972G%qSOnVAyO9V0i{sjHi_WMx$gb=$yoNC5!e=p5<69NTS;QqVjhMhvb-bTZX<39lv!S$5n_YLlZ zVE4_Cgc_+^xt1X(syYHEOM79KOVYSrWT*-wqKJz_4lo|kEpi}uajCHQ*oepN+*C}v z9no?TTixG?`tTU8^a`~G2KK>_7ORAExPl^>Lu|oY#dlQsDRz!o&~4Z!c^!j0rB zWX_)mG8XN>K5Eyu>J10PSTktw=~|YxWWaY4I=Z^%BMG+k<%(HRXT1y3&&J?rCZKkc zXew-+V@uD5sSq)WMMq*C-PoejZrOi(8tgpX_?G>QtkKGSRR|S51%>3} zNS|*J2zk%jKTG|7L=>sX3~8|F1nt&``e{n%^E?j3ebX(M!zC(8%GvTSTXw`(l$K)Y zJv+gwer+z?&-1VoaA6-u~c;&s|cl$JJ zZ*P~Y=kz4w5RMK9ERDG_XUz9Jo?d<@O;?EcDT<);iDdN^P<_M-9yc5O&S|P-oU_8m4Kg zs~S=TGMcc)WtWOgr-y7J`&PG3vDtw+Gbj5r^RFHYI6c1NtfT&CX@Ln?38W9$JmpY} zRRJ_}!(E)UH};@XNzh5s+1je0n+~6D47#s=VR^9E!z=j8szsi4x+VPt$@AwXCM>&j zZniaQbt;tQA&8%hM6MipF#o2m6xNs@PIi6Dx_VOh6$i>%k3(Ae#>bDsrVU;RJ#h!X zj=_W5=~Z;lhUMJ<|xTRVzdhRQMZb#bYMBwbc@IqsF zvyjgs+4Q7HOBhasYM8CvSL2>1OW8n={lW{7lAhTy7UXX}mcBeD!vO0YROospf8z~{ zc6+&nwDVZG=tDw~LEGnoR*7oKbRltBo8+CnsQTin3Zk3-Y98dZ}Dbwl2*^P*Uku|g=aP;f^6vti`P=5Wi2uc<)Nz``%VI?c_ zTSikuX}3^{V6B?5U^S$NMb`R39|VK1n3#Ax^I8{SxUem6#Hyt`e~;qi41t^l^D4G~ zBQpfXu0g?`Rw=ryd?z+!wf20`XGm&t?_F#|gDIbRgXxliEcn8nSiY(YDa0I5bg>S< zh;7l6t*w*fTM&R+-^OLpLV}klTEq6`+MPY}lo#mC7qG#eYs~lQBS29M{b<2>?)_*tm9#(vHCn`jz3g`JBSJY4v;0GzFNuK^A&Z}2p zIYrJ{$^fL5TIE_$D*hB>Pzbn|Oeb#V21+eG&0|7>MOYZ3TJF=Yv817h8rw{U`fUvx z9!7-#81dh1faU}2)~6K#u*^-;Yr`t|W6R@PD8Ajx*CDpaa?E2KpwVeLM zXDtPHqE2n>U)GxOIGgMIw5{}*P+0w85p1kTZ=7RB#s-YNrTo0~JZJFz15w(gCCN)t z`~>P;7g|)_AA>n;6S=65=pJy~;zhFtx6ag_?O@UIEXEWWb zC0r~gsq)Vel~1j3DTSnp4ikZdr!TOZ6aF?Nf_Rf#(;6^t#!1dPR-iJhQ$);l7&auU z@ZB*LUD;QGLX=rYf-kV(RW!a@oK?V^{gp@!3DPJT95Eq{eDdL#^f4wP%>><+i^i6GmbOp{AWSmCosD>=1OisAwB5j?)##E}N?%nJSr5iq9Qu)TNF@zLKU9|J zQrX+*^aHUeo3cW-5F3w+ZYK)n@D0`xQC0g)w1!429dJ}eIr;ezQCw_PZ+a$3#ZzJY z39W%DCES?$0=_L5V4Yk##}zF^SI~D#f@BpJA91TFHZ*jwwb4F)8#5@zAmazq&Z)WI z)WHK26}9GI15Dmf(#f9-T+tKeSa#zZ;kf6_0b*U%_umevVXW>mDOr+;$QSEd9C85k zxIs9TK_iubd!%gP^6VMKWlY`;A@aR#L11%}=;CO?pxpvXS@t&S7V7flpcwcjp3NW{ zS(fq^9&#T2|IqZ+aZ!C=w0DL9hLWKKfiEeYQVJ;DNJuM47=)BcNe?L?2na|^H_|0F z2m*o<(hW+Bbl1!~{N8)~>BoETnS0MUd+)W^T1S{oE@HCQp5f1*KVU*pi(VFao?AB& z15B;femu*0{wr@Ht-E#GOLoZ7Fw!5y>u1&y?=1ytg;-dGJ^Js``+FgRQFZ>t7ufUH z9dzi^_vkJTh1bv{B_aU+1i5cc6`Pq$p_!I>pm<6;+4FzH1aUaFEO=xBKv-h*{s6wg zQ?mSVux*r`?BwV`$ZdXKs~3Bp`QwovVeL1=Goiafc*uocstH_p=ElXXHDvhElTBjK z0j3AEdn+WAszn?05oebYDvP@y!6W?CPk$evd#|1{-eH8GBvB7eDffSnPHguO=VZzx z+CRAH^RO71_t8?eAzxn4#w0}lQ5BI{9kGkqtTT=M`0;vvKqXPbi9pGY;Z!&k=2>6f zE?00&#mQMoQDgeA;GoUbfCcrSfMKXFI+jvRQ?sM*_I%-MPcrC0fE*^QkT)o~nr6tU z(sldX0(ozDplRE$EkzRy$Z8&S-MK{^h()Danh@R!<<`BKh_#$eW(loV8K1jL_v~+d76(?JY6?&NJMxBTm@Pm7S{v8#e1jXSqK0rrJR{l4 zqTaOgV)=iBAF&{y@FM*iSgv4{6j|)^gSAS(x_sB&&G*x__BH?*HeZerh24w~fpm#+ zvim>%--&YLpRMH+vosTOBETey@|g3C7EeGas3|3bJ*~=PD{xTkN2NE-M%nA&gEuG! z+PC&)Uo;MX2Bpu%F@V>IJ?_KS>)j@%|4sp5eQN;#EvdjXLh>{}h7w$a+~#E&`A8sD z=>TuzDR4Cu@CztW3sQ_Q2v&4*s#_n!C=~kD99#{Ck}-&S?1wR+FPAP z&>NGyK`_R5WuMZ0Q>W3HhIOcnl6|L2CGtk&?$lO2j@&%~bhJ;UP+j%Q;e7@TbN z6$L64(omSexyj*bp&k9+-X6$T8Z~wuArVb>_@GMX$<@@_{^xIJc`*uSCaCS-i*=l7 zh!y_;K1#Bs%#1?@^u1_)bN7vI?F+-ZM@f2mnO%@J4;e^*zO~twDopU8Sqz`?!WBfg z);Ta|FL>>5g2*QFyCAumTFWz+at03&5_JW<%3jEG86T8HQ~_~FXmD`wpTV$*UE0t@ zcCA33suO0d;TS-pSP_`2QsHf5g%s58yhLUO_oa?y8GU{P>wxk`J6@!O0_HE9XmyCj z?kE&rMOdT)y(p%`T`49M6cj469voieh4Z6~B6=ApOln_<+p|TGHn!NzfhBJlzbLmUn#NFKM3XlItS3Mc!2|a#nDH&%vY5 z=_}bebH@JiuYc|zP8o)hwl+0lG%Ifiwaax?B{+!ZVAMTvm?v5{!B@|}pLW7=v^`(W zwLvs7!1+B;5(RT_BCU5WxI6PXUe?4AN_%dc`LH@)O-JZq{=!||XRX(U{-u95t*^X( z^)%Wv&I~GvP}!Rw7LG&XDZx$%mQc^HEm|Jfpi15h9{G$-%%xECTR6!!^TI#>t7N8| zmI~wgd|P3R071@7ZQA+aH-ZR6)D#>y{?dj5D_>>=bVqA>cqSCLsgI|r2)n|CBI!HR zaUhL}CkLq&zG^g6NPg#?8f?3zs(kJ9J)lf|(9*om#tI14pN z|1PQqq`sja5Gt&DQU366&zC)q5w`W{fQ0wB^U0oKo^u#12yIrZy z)hiU>r5Mj)=eeoDpYyE!>RzZlEi8PatV!h%t=~=oX)NMEPq?O`d z1~d0dwd02DbIbGG0c?(b_xobPbc+8yXW;vH*fqGl(&nUYte~1sOEpqfy9GdO%yP~D&ngTO|J0o zPs1)%h0AK0$Si-+c+tIt3u~xl26=TApw^v)a{QE?tL3C*<)Nr^vO1Ez`qUbJJ0ze` zC+Q$M!reN;2F*JT-PAwC>vv~|1ob3cTD%SwoH}CRx|G7%CdB-Y8zT*`-h`(f>Y^Q_ zw{A8UL7SL^bHxQhQ0zeX77$-g+ce!UR_F z-pyx2)6+PHkoI;q%re@_0iPSMR({9y?5J(@7JyL`s>NM+K^M8u+QY~~1ipWWYyUb+ z@E>J7|3h0i=m~aWF9}T!XKaf_7*hdep`k5;&R(GP*zB#W2xy-;C$Blp4}z(rd9Gj# z%f#{I$hhE{nBIreHFl1EMR}Ia*o(LySM&6}Qpm!a9TE&fK7O4A* zhmHi0GX9QbGBp+auM+{!z;L=wPkhnzaF~73B;_QIJ}RbwOc(uu!i7abVk|+P!q2=# zL%pvF3n-!BGvKq%eb?LWo&1ck6)ALJoq&b^LefD;~I`D&n(qiH*Ng2#udvl~Kwst|yKbz8=&4G?m-o2sv@I}D2r zUfsnC-S2?DvMC@8S^+MfRah8i7)6!>z?vH9dv9;oE)~}WC0zO62y55;Vyv2a(fd|k z?~=5a6%kOyf4X-rU47qY#%rre1h>y;ZQx-~ZKO+Xum%r4EDQ^#Yb*WlA&`>xA~y*f z{xQ+w#>y=$5)>Jxh|npz-=T?e3un9zAw2&$_c@GkB#f>T?_;@14{ukf7Sf8Dg608w zv}8QqL@@*PlAnOzeT?Yrn|8WXaasidnwk%$tGdh&x<33ZT(pl!c2_g*LrO^2n^J6$ zEcPT$p299=Ue*k784DlP)F(i?8vG8QV7gKgheO%TJMXjZryOvU(1Br|M@Jyrf{Cae zn3&k^Fls8mhSs{f6jCOCL`IU1+B?4BfV2%I6`wo_+(gK6t&@@A{g?d=&O!xM#!@Lv z2q{qk(cblep=TWE-_0;PJIlQItG?4=)gx0PXc|An*xd7>?wN(*4VK3}2yF-i6-vk8 zEz-gWV!YI8v5oIjyjLW~O1;Db^m94WE?CI1W*ri4vSPL`@W9DwW*??LBK-jDXX zK{AY%j;xxXT#o8hw};e3C?SngglXN28(o`pQaFO`-aox3vj;ay)q?>r8UcV&J`<%T zGpQkK8M&T$w+-F`#Fp(%DBhh~Opg#fBf1HqESSjg7d!(e-^K&rtlrv=8}C8D4N z#k9C^*`uWK!G)d%RjxfE!&y6&LC!UJ@AK5jBrZGs54X#yVTITEp<+2JBFoQ@#AgxQ zaAmXs4UAIM+Gl|NYD)4>HoVeT8nAJY(KL4$&adsYd(qy+6Qcv=7BP;NKGeUR$at0- zf{bb9K#Ndra1*uQfya5A3fqr4P+zBpE3jM$pqsA`JsE%qHDOOL@zHu-vV_&7kKaKp zui-!m{bbXMOCD*}^!^1%2U&wFZV)1p8Xfb@N+^xsi@PY*21F49HNVjptW0Y%M(96PJSe(5C^#4~ngF?hU$u#ndwcDS_iGy? zq}_*kq@f7i0jzQ`MDnX4!b7Y3KFrfQkgzL-Y_l-_ zY~GQg50j=)waX-86~l5#dLR9B+aPRWlYD4bYyQC>k=gioJw;sqXJ7NL%+R3UB)@Su zg@LddpVQZ4jP9IZL61IrUi8l{=ZWwrY4M-emr5CsZZB-G*;90)%*wz>d}yeRQQDnU zS`r}#M)vPPe<+#%BH;0J&MQ~^PP8HKhJ!a?^qs2w$Ml@s*lF*fO-6#ihezg5G%4!uP z7YXoj3P(G@U)3U5VqvhfCzF#-_~7<8_sca6HNtXu+wNlb!>3>^!CUk!(?|=yQEEv4 za86JcUK@B+t7j-w5>Ak*n+Jfd*L|4Y184=ZFn)TQk#UufdxK-a2Z zMx&V(2o&_>i5Mo!Yn0eJQGD>u`fm`=A3mL!1c5S-g^$ma$4M~ZDI)6u`p-kJznZoB zV%$!McoZ}93jNFK|02OSbYqOouQ5s4S}kn$`J#W_cFE6^d5F&&6xQFup)d#Nn{necqkiVjRAfGum5~@l0CNPI_R&a&O$<FvH?aZxKtkZegh||`|8Eo0iC#G9*Hu^c647_U z)uKz~uZQ-x=-&B8xDP2|kPBr2!MZQ0(m`;WYT9F)XlTMY#f=QXy6qtcs_pT@EGfi- z+pZ>-2m63Rr1AF-z?<+(Z-Fg*(Sm1CEM%Ma+iBv*=XuIEI$hg#DI#m7b*P>x$y>47 zlSp%co}U;X%M;;;;G$|h}0eVnjN02 z$AtcF2bDa8eMm@6rvYI8x1?}LbYHMz7ZVr10^Rv8K-z!FNev6G5QtTK2YHuloC^SP z%yQ6OdT4qQ4ouT{4ddn+Kzu%lLxw@!+b1o+#VY53haRoeq_Df|u1So@fr8U%LEaAS zW)^H4Q$ck=K=P2mKPbz0U9L&3m>>cIU#P!leMA+TLrqm_M^WzMH%XfJ97F-I(7z2< zN}PxfaTB3|_fiQ1mIa?BZxa@r4pJ9Xd1w6wM_wl%B|2Us9GwZfV`W^Jnb~%xmzyj< zZlNEpqD!oc05i~tSIFH+`wdQ%7=cu^(Vx{(<$=d!SfEy-)Kk?Ua3gwLoFN_^ogc{} zb5UbXQQGB1 zsfP}p8~M4rgN>=LZf>m;@X$Aq^&MrpNzDsOVvoMuW8+cu5dTP-q7o!WA%~oXhtHMY zItc+0;EiKi0l!RtEL1@Q15t%HP7WO`^WUEleeX(Q3I*E>^*j^=$l=LT_ZG)5_tqPP zPr)DWcyc+cqIN6qwvZ0}zo!U*gxb(NSp{wMgg{O$QTA0HKJI9+2#cs?vtZxr_-Y-e zjS{U0R&Sth#@h%}f^TGUtR4a=AaqhqvDYL{`kQSAm=c1j#i6=)7vzk0)-D+-4!*W4 z(5ZE%lKEmlpZIE~)BEf36vpbYKT(@{ibpdaA=XSzXsk@f|B^C zz8+&ECjS+rNwH9355O5i$yasYF%HIF8)J?f>*%~n?b!U=>z2ms&Xu4GUI`vmeDx?G zMzQ)N@A!`y0`N)YvmTLzIP9Vj^xEJ(@NOL3CzVP*;Trit^uVl9J6&vyQ2`mk8~!3P z4w5Wk7*ZfdV$R(EC3#(g{9zS3Jk}L1iJvz;%$Hk2Ef7qmIVxIXjP3mi6@DKIyAl!H z&zRD3c(XrRbjx3FyUP1Qf;_pjfh}5DaWnFswnon-gp_`$pf;jk`yyd*6aCoj@z)Z# zg3aQ8lG$m9HIQ9a=r4!GBtXAs$$Y4=mMqX!D6Y2g7-IsX;tAKlx}8~m`}XaG2>Lx| zM&AX4E4KlM8v`A;HVcRve#gN>X(v?fcRlq+J=k}C(ko3&QjV!oCW!Ta4?B_UJ0gkE z?Vo5O_kzov6p&6idW?YFZr0RAd3zpr3EJTm1QhO#;Em-vW9IT+8to(GNv;C`MZWU$ zF)idjtqT2HAto+-c3M47a+cbca*Kh5HCQ2Di7Pod`S)p0J|&ATVr{GDTWgEP{;4rN zDBH}SYU|5LKs^~X>#%x*+aX5hm&ymH3t3&VKM3EYl#^bae8mWY3+M}*iIZ5C#X=?} zua|%@{ZW0{lii|M zZSBYgB9{2K?(Vl+FbMH;<}IlrLhbSmD;jXdi&gu;rPYT03z|gyK~c>iyB;}-zU14$ zE9?w+)Gw_a!FJi9a|qWk(Up5mi6GL@hO^0!42!Z@>*`SK^!u!IbOg_R4e+AVy;x6& z#YeJ*EoGu9@zn_oEMxiC;~%>h`1>FH+zP%nDq3B=?t8)CuI;Atw%7}^ZEEPO?nwDf zlPcGoNI6hG$hiQ}tLxw_UASmfL{jYaiEcz&#wL<6Pjn)zM-jGvVLyaxQTV z6yg?EAy&@g)GHXdlZW>+%(lIL-nYOza|6|8)#j3gOXS076z?8O84u@c<*E=3S&;7*gl0KZ#9*<7dJJKNwIVOh1xRbKV@A7`BXS2h@gRcuzYEg)qD2)?(@nye`l9d~gZ8OJn#Yg(y)AQ>~=@%)uWn6#q z-qC+Xk8a;^MzI{A&W|yytp(i3p#YM=7&ZqkDCNCi>onn`F2~jW$Bl_~a;i}2nB*|f zrtFH7u*g%*=DfAnuw0+Tr+@{HFl4n!ZZ~V+l9=tsrg94Qpr2g$tGaLg9Bio(aznHY z$knYTw_fy?3uVL*fQ==PC2W_LSb8;Wc;;)QD#OWLR!gbtN7rHVzPOgHy#EFd(-QGk zzoZwrZ$1La?MFG5g#t+m9dA92toZDw-DMI*VfbGQsKuXuQ$xX6mdL%2E`mi!38!tR zrj)1WxuZqon@p-z@X{qAQ}l`y1%%dV>Hip8nM&2l1wVTS4@Nv-X-I#9@$=1dCkkZg zvfz#OLgl{x=k@S-;%PXMHJ@b_n)*|3_Yh> zx1id86vP~>>Ek>BIhWhi6;IzDA==jc5a_WoIH-!>Z*w|wsx*Y7b@d&7Wq%nFmX~@X zj{+Ce*nZN{9QrqKc6e6qrn8gB46DH79B>8NEq&8_MOm@cV-Zjm>|h*qc}t zUW?--ZaA9q)BAx~U&Ak=Qpo!AUcTP$J&uozYqIGRleBvz5KaH3_TXRQgk(k~_l27L zD^sh~wyvWojz7Lx-1|<*f(&Fq@)YP~nETy-V-_mQ$h?T#_(K6{y7o8Q4X+5FGkfbt z*!pJHh{aNUAeTc$>%=s&P)nrTwolnO{+r}0O|&3L!j`iPX7*@H4L-1lBWqJH7ad3z z9nV+`zjdrJeU_T94kWdAR@1KQO(WJ%@Qd&ivaa}F2IUWCdv9gS@h~Wsr_rE?B!WEI zET<(l1<>Q&?2sJ0zz!kv{hQL#()`S5RboXNDuzMM__pT@ZL;c7R0!~v@r@5#;JUHu zUDQ~%OZVrF`QLAZ!tdv6CzrX{nWE*I;R~Ya&cKy9!%>8GNo(`=y+15|wH{zE&Fdoi z10&ws3Q>@Md$j3ur;h%)LBk@0y;8l?YG<4#P-WPvAO2+EPY0T!kD}*x;7z^!t!?-;ufSg2e7u@&GyX z>*e0vddxlET5S|Uo?DlItT9Tgd)Z(8dXh!}5wq_>_!h-GN(u=2G>z3txf25Djf3I?Hm`042V9&#WfSJA<+-P|8&|sTM!|%*9z)YU34aZ8%TYo zB$qirkI2YJ2C*RV+yC>J=_)GtM1Skt!tUZ*1av85vm7Dh_O4$o6qEg+bxeUFJYNY!=H!334$euvb>~UFWIJR{vf#PK`bJ+ z?efVupeL@N3iMjyCCcg?r@*xc`ACc|@Wl0WYJXqqB$-DI@`yh>zuBeU`k=c{Fw8Jv z(}F=jDZYE4%_bX*fWvr=?ypAsH;-(7xL=eVNJk=%`p~z)idXcgR^!u}Ia^Odh-v$fZ`MsaX@#~?A}C;cg81^OBtrl2laj1iy2eN15E|2J zJRQ7;lWCrfiMO?I#0Mt$HOIU)HUrw)lFQUl0u+lJ+rQ{TzXC4^yTQ!L5f#??o$?)g z5GP)(zTHe!)6pTXcGDPc=vp~DOp&*wBj|qrU(N%?&%Q6~puV^pFley%F0ckUYw$UL zgG9g$iVb2_nLKr0fBVc1WnRB72-e^xV9Qm;$!#l=Q)e-ucfrUD>vIsa9YQ$B<`mZ#qaXg zI9m|pX(qb=M-Vo1!(@3jZ~gEMn{1^5dv}p>dF+S=t3_-UbPF2@RXkm-PxJa)^!~TM zEWy~TBe_9F`cQe`7zVhc*4uL}<^|I5w2#bSdnI=xcAUrNWN^}-dMxWCgYPjk%m>_- zp6c=8-{K5pS>gk1DI0@5X4x*;R+(p)XJk@c%$9)}`)4%JqZ`P4t^K)z3C|(LT%>La z`IT#{o+t=lUpbff@CasX9|~Gfd|iV%|M&Jzv=GKD?_61b*VEAN^uIf!C4<-nVY&C) zR%q_z1<9LoTbxSwypOCd&&u;ciBBU)@j;l;;44}I<|P03i~vrzza!S8#RKYm2`lti z<7?WEpKiIBN+j7F7!20A+0G~YC++U_c&;bYam+l>=G!i54JD}qZkKDI58d4KK-pFw zR=*!?{w>|(+DCfcuvZiaR*N@(i?{$IWjJ--+U8=hB51nKx8&&sjPvXkc9$6a>d~vP zqTyONY5qq_q?7Q{YZd&1zdWW0l0c*wg{=a1u+Gt5NOSqe$wr04I&Gt}?1A^z8$=sp zsTE|b@}9A?CywjZP~=kHBFQ@fC0r8NGXIX!iP>h3=*dS$Hq*+h@hXPS$frxyiob;p zBQYC;?kVEu{y&q(U4?e54Uo{LP?ZrLw{z!GN#B&LiRcM;c}rc!h=Du`!CGYYTAlgF z*c)Q>w0D~t)F`}bd(3;%AQl$&Ipt8-*Xk+^62qJ(8GznNTK zjs8FBS`SfU8R2`fB%{ma2R1kijd7~_f?$mi9^;)Il01zBHq`e@jPqNR+&>AT{Enxh z?C(WLgFqcE`s}+!ZWl3+ywTOiiMS1#nUv$^-nAV|vNX^8o2@S=^Pu-yFOSc+xe6`H z!~2(?6FR=qE@p!)`|x*`O3ICty*7KNPtJ#VD_;eE61kxZwof%md@KDrhsk17SF^ia zvJYUH;-owM(%T_Ct~4Boiz4^WH4*;{Ho(O7ZSENHAK%`6+Th@Z?bfEkN3{`txdR91 z$#$k0vMIOpk0}c}XWc1%Bp%Ayl`Ev)cFr{VoYGp4teX~?97&S0q9XwRmZh1vrRNUyEj48c4F;5?Rnl4$B(b8_T434KJCB}USrJltd@{Ur1dzF{e^_u_@qKW z@tNLCQ2wwCNN*1Qj_SWC2ay&eDecOpwOg!YH?m~vm)!AO@q#tmms}A zyfkTp%kutSQuMNLc7pg#S<^YNpSpAYk8_G#Z@rK|QPrM~0E0VX5Vs#qe8itidV}C9 zXJmGNej%4Ult+{_ceU zc{v9%Ozj9gQAph~Gfz&xJLWGcSwhuO2#aP3_xp39?pVgthP&Ik^Odg2?tkZx_ZOuu z^hmxB@-(=tM&}k7hlRrngN4|I=utBNbqJG!2D?gnqm72+^_!F|Y?`Q=)2(yoLX*lT z!7UMwoAVi9x^+jq7xST3FE37B(SMpWJEqk6ni6J_Nr9eiV@nUz{K#MH$L52 ze_-AG&)TyYn<_*b??Rz*R*!yumE&~%HFDLEPCN&GjJ>OzWb3tIu_D6~PJi6_e6A4* z8+^%=IFRpn?wr;?-2dW{|JxTAeO+1(bEOHF+eqOiVIl~f2wrrm%xpv$9dG-|+v!6! z>2jZY-_)L4KS_bLEp;(C$D{}#pIqR7O-ObA!sGGI)46)_7NMLZ2_B7MJ#ddI^bS{N z7}mBfDGnEBZj0+ny{+5i{&``Ec$){EKkfYU`+Vwy+cpHu6?zfBaxB24$w;IZ%%x67 zal_@f>1RCVACvn2d2oMt#G$_T(xSJo@ZnLfFzM0OWXG3P_raE*!CbgyRm1|V7#Cid zN#&5TKlk)o`cu<94y&Jq*G#fOuHR*WN~3$ZAC;2**wY)A6^W+zxu|qklI4lR?J0sI zIJ5O_7uvq2-A#_NqIy{tE1-VJ)YJI>xG z45}Ebt4)qv{qKjmXC&y+Hi^%HCF9?c6?tTC60?LMV^%ql{c||2lsSwkqg+S6@@EdS z+81Qr$6KSPjgD;vArB$+3W0o%%EJ=6(o0yp&^fbnqNOtI#m+Y>O8l!*FVOPUc8kZa zOuu`^i{**MoPYIctPlFs7MTHac&Wn1O=v$ox4zQn&By2HMOz1|i}ioWuA5V%G6Pkr zT_Is+8rE~pEj6iG)Hj;^vy|T%>1~9>vr_>O7#R{BHD8*ga`+bkmsB!kI!0q|n6`Uv z&_CJ3I-i8jwcs*c!XL`vFFdn~hMr}8k!_RSZnlxc{UV#?oBdG2{Zfbm*^f^rb?~a_ zFpy5%Q(J+^W{oOZFGuAt^L#BSJT$ZNb^qVhTDK^z%TFTD8@HZgEvlmY{gff77|+|4 z*lDUJ0JL+Iw#YM=FI82c<`(~-&Ch8;n=I>L^+&yP{BZbH)D$+Y^U)d=EmoRj5pC4t z%=*1L$=@M-a=Q9ojq|+W@ftzfKu@a&d&Z}AbFoB3>wbTeM3juIl$vNZUfF{jDZrsF z9`TbWO=F4IHTS=y>A#cnqO|9Mm6P9xY5T&+1N6G}G@rl8gd37^h4CuDLXDhq#7?<$}$jNbq zrcuj|2vdV!usq{3y}>j}WAceP@#)gy=Q3jK8hF}dN{x$%I-P#tM`04Wt{a4*B0jE8O#E2i<}1)YrqQI<~vaZ zoc^oapoUnUG~+H_R+7ur1kO@CztgO>%z|hh#tZp-+Uk3Lp!8 zhj>oZf0n8(FMsQfAD?}H>)C|>zU|(sEcwTetYI+f;3xe8_1B=6JJ^I0$6u51?-Fjh z6;T68S(}&41Tx&$;E-jZc9!>6O9p_#RFq+qn~W`W40UzB4gfc0SGmjeSrMglf$WU` zB@~$pL>e-ybKj;=P5#nbCJY(JvQjhy?1u0Kw^{DC6C&nD57N^?i(p&;vn69XSKU4PQ@7MO-A~Exno(giE8V5~V4x8f z?};mV522bX@ucuUHR#)Rzqwj?^TKbqcK_b~PlD$2t?8i`p!|)vgF79#LqAfUfoqp~ z!D(qLa&GE;X?#p7*;W`Iu?v60JmmrdroZxwT~SXBQ`en#wM?CRr_afa9RcIS%-`1^ zAWCckYCt^n2B$!=R9a16={o7t8!s5=KL-xBxJ%ZtFzt-V(M)7&v}vS$Bbi4L0e`~< zZVK|%|FUwMqx?s@e|1@`B1|?EHNmt7rd2!wYA8jXd$bFaiGbQ>r9yzcV>@ts^L>N$8wsc<90RKzxQUrRie*76P&_># zVYiz)__ySBbSFGu!lLYP(|aHeTJxK}#AoXz*}1$R9ogqK08a5^rPv`>=jx`OXs!$9 zmWP8t(b$!jXx<4F_Ib)gJOvG)LO2%6{cwfT|Jx54Gr~v)AWAcUFV9oi+oa0w?h-BD zmjPO-5*t1}^=*^*yJ?YdAJuyMqTmdVir34Dw?4HNV4SC4{k?%3l)#e=fS&(ISR5V4 z3J7RiEo0^2@%cBMB3PoR^K)WY@TeQ0@nme!`=if^|4P#2LM9OZD9=gvk8)7kc5o|p zR^p=9OVaEX1H{4M7!)GZ041XiRv4htxx3<0%^Wgri5a?l5CJ${uV!nfdX^;ME*jb3 zY;lwN1?lb9@_E*je8oLxW<6Fq0%5!{XXh3-i1uh*;Ik%*f(5R^otx(C{*-|H3mywk zHTKd0TM}Pu({{dnKGm^$1b55`SxE0gU<)}CB+7D}W~H`-B-&3@FZ*8I9gWncMU})4 zkpidb`^Wpr2xL(KcRxNz7IRaCT1~!9Y7O+yE{~4x>mOO`c0L!;BJHpQkRdqY>A~^q z0z6~drF{|NuhLEW^$Q^FDRcW3YPF34T4Q)k6y}FC`DfyoEJ!}Gh=p3l+;f=&)EUxF znXmn)*Mv^w1PQ~iN6n74 z!^C_CUen5o?EpXg(j1`kk%YOw}f| zz=KEhsYBu50~di>a#_sbjrF&=TNJ~MTDM7T>vyAv>ON%stV}fXkpy(m@h>x_nV-)e zvq7HZOF~lk7~nMoNV^ojetiSwVw`He-B6~VFQ>MT#iMkVE<+S?5-9lwD}E=-zbZ{G z9ynxQJ{h;|mK|Z@ip1%TpWw|H(M9@OML@wOq-L4=I~(QW2oDm{2?pF<{Drm4^N)nq zpZ?&{-TGq@$#@!ABPX8?vFQS9-uKc@KhhIvkO)Qzf0r;suok@L5WJCCv7kEOxtCt^ zE90b|!uFxbr;G>R=T>tX@iRQF?*z!PI4EQ?FK+9@l4EJQiA9qyP6rfiXB+cs6yzgI z>HJwcYixg|VQ`nuo?WuNg{nu}yI-hEM;z6M9lwZTFYK|1+=U6pjs44wX-&7UvlG1RkKC@*#OvqHddW+-rebvn))# zEumvCbG}GWJvXg8a9P<{JZp3sKeXQ<$fT1#0+wW#a#o_)5OFx_3DMx= zf`xyR%)?(?RQpDvQ{r&<>-Ve;Lev%~emymNr7SDqbfNO7P&b`fy`W^rQT=h*i6i?AsP|6Cm%8hM;(O9iE#T@j&uE(SOo) z(ccM{f6sU)yhcI2wSo6j#1b$Ur%ZO03YAe;8K_=Q(k&qo%eE+Vzo5T%YSU>tDv1^* z9IwC=1X!dme<>%fo4XSXBER#O4vcayZQo;H-r(GB+%N}ncH_5wfv$1bH-?m}?}ZF* z0YhdDr>4#8cC~?TmI7l~t{@YC$3^GEUlczs5_0Uuw`LRc81KFrjNT<|$P;G3WwSug z3f?1A{>z;XcXPkfQKa*XB2wjY=$JY-=>P@bTfMxYH|{5K2kY#ngd|0@uu}nqk}a|* zTQjl$V$(U=id(tOI9OA1!q0|cp@v%cnWnk_?06||x2;`a-hw*T>m~7+wS0mrvH!)c z!IdMbUCL2H*T_4vBpGJ2H~-p%N&RN9RR2l2CK&Nk)AcZ2zuIjhLdgc6^{46FS&S_H z@(Gi{U;gV}_4txp6O;LkkC|AXNm@VaOB;O0Q6dVcXOVJ2f3|(z;gM=ziue;nm6ZSC zB7vGJW1r7cWPAk^#`vl2SXn|X)Wm-z3grROLsEXYoyz7#abg?CifH-sK=(P^Zwvpt z2kaKrAO+&24Y6^c&N>q&Ov*Do0XFp2PJ_aG+2`u7L*rFyNepX&ciAn!3;#TE68w?_ z-)m&Sy#-Iyn$*6IsbC7 ztK4})TZ@EF?o-`$nz09t1h)%W`tDHYl*qV7LBUvBdf612OLhXXvv)NP0KlT{iu8;% zb-Dq`v2b;-@?v+80qg9PsO1|44=<0nL~UMeeD+u~_lhODe5=Oy#EqT7Ub+)26=Kt$ zrVLs?MS6L!hq@FJGW2?jU-asV*-ypqE&r%~v#V$K8?-(oNEsyJzXol~@jNG+=MB-r zdReAZmZidY`QUXR*C=bq&dB(Ip_tH(|K#zAqLh6eW>{Ip=UMggH=9$#Z+h)}ha*Y4 zAGF;niLTihHGjV;->X|=H+vPkEB!9VhlT*Y*-j_&3 z*4CW$Gd>KMiz?OQ;Bpv__r<{7&tYQ;o+hU-UN4%9!|{$QpcpvbWycf0L!8i&yInZ` zQ)pAmia8b<7UMB2rlxh3%>XWoSFY1`yWrQf)s7!6ep&sr9IxLyQGRILYenJyhmGap zeirLAtqSH_JkPM3P7Ol?DWAgQT<+d#Z$aq##`RCPo{Fqy%!|K}kvrK;-MuIB+@oRr z3QUd7)5|D4&5XZt_ndjz z(dT!~F*>2K_4|X7g5zt1p?|NNSH9-aqR*hAGT*xn>z&tknbB$cnQqu(Z%lC8%wH7r zjpCT(P{EYymuH8-6z7^v+N;p+XPasimQVMnfQzzKh5fkTqdJG})rwU#SH$0ap=%r7 z*J1Zui6tD~aPHIkXyk=G#xpe2(fAS!yRSuIxydx4>;;oYY24fxF9%w2f|Ra#EyTok z7&8?Hq_k_lo{}l>*z?PHqA>TWF_A`|IYk|B@`ulQwScG2T5=Oa#+r zy(awrw}M~8_d8bclkyF3GlA`BcGo&eW zehd3h4wH?&77+w}hX~fM`yC~(Cf|0Jk4NrETpSV1pIUNJ#4zw7i_z7oV%ERgC5IT0 zfx1tU_Sf&Hh?DCaEYc>#v#~Pl^l(*suIJtI6U>x-nOTT=`zQX-#(Y~#V+gI_S)`G` zK-7Q4y1PYc-uI_}LrugDz_!opsM*Ae0F(yxyBYgL>C$cp`~bP;(}&qyh^|lF_DpiN z-0pyg0Q^yg2NM0E83V>SbuXsB;x$76 zJHpqPaIUMGucBad-)bgciKqbAU>$$hnW-LLi3bm8BhJ(KZ!J9s9QPITHx(SabB7xq1Sw$1^XVjsIO`enQ1Hy098 zm~dmFSm2tnu-lE>TD|@n-P*aHPS;ubezU9lTcq8v_0CGFv+A4QJ)+oHwl=3Dxs&bB zHHm|lflh4jt2=%2cd}R=>h{{|f8w=yy6SiV!|rEzB#S&x$(U|nnlMY7(|k3%Vo$x3 z>GYdi)+ZWlkTtK5y$$-8DAFUjg&xEZ`Cw09m&N~vt_rM-5O1u!D%X~b1m^*>{lD2R ztYVk{SgFpJ)0OE9pM8_eiOm(GwBu7VBG(~-i`{Ph^{LPA48Q&iY`s^F~IfNt8?efYCTw?Xt2ux0w zt1R>7s@sHQat$!R8|2}Cpcsl}f8B0D$yV};2olZKnQgsPovJ@h@Y$prjCoSAG%(gr zy?Ew9-SBk)hUd)O4t%m__VIGV2KT-JAiDDPvdFp?cs(MeCYAiX`#L_#hHR?59Sh%o zJ@xCrLM`t~c7?V;buTFM0pU1RldQ`8AN>~*7AphWM56g978KGl1r%yx)}0Y~LnUCY z7OoFw-D9|228?&B*%_1Lt#YVHI~JCD;vyMuMF^PsY_^CXObpZJjUN#e#@Po<$w{ZT z1H;wjnql56n4)kq=#s(L{wI$^o&Owj>j2OQ8lD|v0^BxQkEWCdbKj6}f`=f1_?Cm& z??eWuwZ8Yc(*M0iMULC(f_~C1W&lWLSclB!-^44w)>m*Di4-cBZbLGW89g=p6L79b z0)mWT&~S+t`O~ZaIZd`!4Bf{B_x#g_T?5qQSHF~LtHAjq;AFx-uVG-Iqx7$7YR(-95QLK<9JwY{kc^z^J@q^OCET%dO}bA82pm8pz?qWb1vz7)sjuV_@?iK_kSa1W^lBq4C=+XU_r1 zC-u0=?aCD_g-veV!61)HF^paisZ3a^VczI!=XKP820yRLHufJUH&Ws2&Qe9z-J^+) zc*(r`Ki^>LAzdamxq%Z^oM=s?SI>v%X8xCuY<(P_D}j4L{IM}*M`uf*f?TTSzRhr% zW9ouLt2HBBPSSYh4iV1`Sb4%P7f|crpb5hxgt?%+O99XL7qz9$pH_9uS1>WV^B@-nEb3!#&12Y8jVW*b9;z-Z(cNOx2E9BD{zqbo zz?)*4-%%adLYM6H9v!n%RJd(O^h=jF9o)ZaLjo=L(u~W1df;w7Ez}q)s{<|Fz|A)K z|4wt6I%&xxlEZyC5sacVi)O}?`6b}9^qry%)9T-PlQ?3IWe}@>K2HcYQp&a)&iA=I zq;GWJ1d~LeYJH*-k3pi;O$_@=@}Bh^?&qCI|Fx$0tAsKp)v2*_+tJrVFG@DPR2}Vp z|6BK7+f@?azUc*Q?iG3yg_s$Mbt&8*ojRbtC`dZ+$oVA07p@jW{dNKb)}@{oKWJvR zUri1Yp^JAfM*CmV5s)2Y-Mod$ea~GZF*Nx1ybkEV$wPGSXwNm0>WCY1Z(@ueie6hc zNxdgFdM{HmasSO~IxYvyfw5NDlqfEtWw%~>D$qq=^B}6T>bb?s(`DnHX&MBp;EIn_97tc5 z>HWF(|IMGP+Ph?|%@=boW+W%~%zDfZfOOkG?lS0MRCg&!YrK_u;Lt9Kt{3=Lb2_TbEI)2ou*^G6_y z?XOl}=@mbT)D?l00OI-H+hg{TKTf9Uy$B^OsR*=0Nvo==z@a7nd-J%~jny%@oazFh z=MOfheG*oRsIiF!XR{=fmh$(@Vi;Wg5EBue3jm zznfl1d`;lWVC-G{#a^ff_y=2Y-#fLHZVDLo%x@03hQUCJH`c@d$#=!m-1B*9hENZ@ z5zl@};2mhVOYexw)KOsnmKdhJ?&Ybm9}gY+6bof2Lhn;d3u=hhq272N#pA8j;o{{l z_tT{w&sDJ?>%ak2;b5M{0*RQ(ermQ>>*w=~X!f34r#dyjUUId7j1wb zc+>e23elD_ao1(Vb*iRvY*1Qg_ub^2*p_+kkDl-?rYOsac@b>+`DMFw!11!yJ801A z-k3Ft_ADG&{yck$J$=jrc6pPVZH}iFesuol+hSVwwF(KvhQNMYR=5sw!|GPKgr0h{(pr8Exg6At_+b-Km_VQbvC!u<%+N!bf zt~PVN$D0e3U(s(HYjG{fJ0yl>&eAm+mUGRg!1PqqkROR1fPL+OYpeN>pYDTuR-ZDJ}Cn@dH;rxH3eniUMI1 z`eT~+))(-iMjfV)1Y~jil6Z)$hN~0Qt^3pZLt4D`K?q5W@*(aHd-?rj8w?rv<8(TE zSyV`Pddtr>l%=CwZxE9nyIjEy4;x)&fZUhs?nu5Uk*;SeC)Kv{Ta67zzUP_oY&p0 z(EC#T6-}>Uux*U-&bWN{?Dg{jUgtEZ$Xio92iN=B_a&_AO`~v{P~;22$3wYH-wO3# z+$TuCNE#E{yvC5_iPNDPCp?PYB&{_r5lGy?+z$7yTAcPx24HGz0<)|E;HaeCvQ}EU zp)gYTDkHUS+^i6rD(fUiL4BkX6+joKgWjlQ7pwMsp-Q8RQA+ygXq*j5R3dp7_eQ^7 z!d075KR$dmp+cp${Nv+;qUNe`i<>!Gj0Xz|W}Ayt+3!w=kaV74JB1ad>G*px)YNJ7 zjK5@QpIr!M5&~p#=4&VXP$WB+;xGEb@kJT0Rlie+6A+WRR2hJdjE5enqeCdsmRr$} z((Td`#Vyl-PFjjnX-%kM-re%&qtB6~p!>JKkxzWR=cCJOes|h6pvHCmjIP3qJJp`v zm`$-d4{V7TqnEy}QM7kX>5r(;M!0hjeN!?4nvJ+p-C+QZ7iFn6%Ul7{71w@!f@pQ( ziFaUV{UyJ4Vw0CUP|rLa0eu?mK$VTU$_J7rdYr+zsKoCJQUBm^YF}Oc#17#2^G!57 z4&8~*Hl}xF@y19JKY-g?2EI|_Ql)tXd~wFDF5H~2?1P6-2ln{xTYoaEEu{nrTDB@9 z(6G3kn$!lWlbka9dSI}3wpM;G*@3m9i)%$Ws4>{uW=aSUMd9(4S3rG6QWr%iPoUxU z4u3;`?x10X3_Azw$)gU3M4UZoRA58L+}|EIIevLDEi)W}HwhCs0XYj5UGBT&!XM?&gzb%WTV=bI6 zwuGFzpK@^y_An+5O92Bhp}+xt84y2oRm2{p#O@8(HhmO242)Vch0 z*O(>tI&_~}=tziQ<2fXy&Jyha!gPKQ?^MzNX3#g2Emc@DYQVd0bIjE$;b_N};$;y~ zg7i>+cejPe_pR$c*lk=`gcw|w6To(l zJCRkin#WN-6>YcXhi*m45Cw=*IGWu*qrqUH)HGQq)&`@8|J2kx1@R8ey70Mx4$szZ z6zaw8-;NFrQZER8uHVXWBb4gl31B)C?vmXQpa)aM5TJ)|T3Gu0Nq>U3aN&LEeNQ*= z_@}P0_cE?4V1}=@oPWdta%deZ8b1lQ&ksJI2im>4_C3ipk+Vo%eAEy;-zgVA`9&;+ ziq;3t`-t`kU}x^7s|0KF_**;&`NZZxFq0c;rP=^sDW-RMrgn3dC=_nNJQD*+eYr^7 zfHarZ#8FnvrMgxU=LzC=2Om7EbBl95*85C`l)de0Jv7XhlhQ!z<~w`_)ljlm$_F(o zLui0LleB3LV+dG97BL19fkx=jo2KB^ERfpsrLVsG-qAiWMThoYTCMZ@!@}3u^KVb| zm^90}mgCLId0Cb}AWl=Qh_56>9ZC?=x?Lui+M?~*7~3Vb`>R+@ zMBsoo8Q{l}b8k}i|623JEZrs39Kkpxsx1Xb5`2)H@zjl}0}6>$i~k z4L@QI8+vi~($8r8J`exJ$x>F2YU|6a`vzJkW))A&lw$3e9z5UaHIxQ#@ZlBcE&7{W z9Y*Qkrg&qaeh94_J5<{~J4ym6{*~;b*6yJT`LZ&SsAd`^a{WI=k;IGKKFg&HoNjij zp~|SO-6I0I{#y4J3;>^;X6%n>d8af&mUO9D82-Uy2FDAVqOo{ zwIOwTd%H}Nw}>4=q>?R~SXH!n1q6c4Djl|n!Lhe{nIr$xS5=M@E3F4@TuUX?Y~^}y zAp_b*JTTSN0m_?JsYC&YQy)--Z4YO8$ut=&5EC&JM2r5QH=RHM&}9JA6P0J*;{lU) zPj-uAhUN--{yqi2X#d%EmrH41FNQ}|Tvk)$`}21b~2QTj{UcMBeF|4te& z`nGzRc&)GW20{|FoQ2^*1-;RS?aXf4*N63hP62%BY85R=&7 zJI*s;ow#%belNYAyxKnNX-u3W8g#4KYm7D$6Tr(DDK&8owE-r`tB6NR8q&xzIIBu+(~}SPVCdIIV&=7 zj|HcnLru(YX?%iVl_o^HYe7@blo+!_oNK`@>Ic-m0ZWGRjhg2JwWNg~`Cr7cxkd!D zojSjNe=_=K^gC7_J19{vD61tRxmvfz4b;C_`xFXpxxSxuwZ%4Wc%ALC(n0;xAUlLS zU*~|U#mSH10>~%=ij=7-bZ8Gh4lFWs0)wt*ocVsaFE0q#W-nNi4}~)oUyZQC^iYjM z7kTdGwu}A;W9GJ`wLeeM**Vb$GyQ;R)5!S>>$!U^AGKJ z{5_ruD2;Qds^sW-xZa^^mDxG}h{htuc~JnaHqZ_cC|o1=C{J==XY#Fz79!AswCMVt zZhGC&MY<>+)j)$B>vul{1T$%Pe9&N}M+!yve*np*4M8Q1yN-t?i&f@ikbpbk;0jIR z-R+DMsNd=%DIIUGYjRJS<1ZQdg2&m28+fPYDWj%37w*miLl|d%qe3^(cK-dc`2lWb zX69G*oWolh0LaG%!PsE{nJQFu8{j}VO@bIjS6!|F&2+O8+{q�RKnqJh8zj>rPht?>2VZ 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�RKnqJh8zj>rPht?>2VZ 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[-0-9 ,+>\<]()?)+)[|]", replace:"\\1|") - text_filter := text_filter + d20_filter + {apply_margins(input, name:margin_code)} + {add_spacers(input, name:margin_code)} + {if is_modal(input) then bump_text(softline_ripper(input)) else input} + mask_hybrid_with_land := { styling.hybrid_name == "grey" } + mask_hybrid_with_gold := { styling.hybrid_name == "gold" } - ####### Create images - - template_prefix := [card: "normal/" card2: "normal/" card3: "planeswalker/" card4: "planeswalker/" card5: "planeswalker/" card6: "planeswalker/" arrow: "arrows/", slide: "masks/", slide2: "masks/", slide5: "masks/", slide3: "mask_back/", slide4: "mask_back/", slide6: "mask_back/", nyx: "nyx/" miracle: "miracles/" miracle2: "miracles/" legend: "legend/" legend2: "legend/" curtain: "curtains/" map: "maps/" mappt: "maps/" pt: "normal/" pt2: "normal/" saga:"saga/" stamp2: "normal/" stamp3: "planeswalker/" stamp: "" identity: "/magic-identity-new.mse-include/" identity2: "/magic-identity-new.mse-include/" snow:"snow/" snowtexture:"snow/" alias:"" alias2:"" icon:"icons/" icon2:"icons/" flag:"flags/" flag2:"flags/" mark:"bookmarks/" unnotch:"unnotched/"] - template_suffix := [card: "card.jpg" card2: "card2.jpg" card3: "card.png" card4: "card2.png" card5: "card3.png" card6: "card4.png" arrow: "arrow.png", slide: "slide.png", slide2: "slide2.png", slide5: "slide3.png", slide3: "slide.png", slide4: "slide2.png", slide6: "slide3.png", nyx: "nyx.png" miracle: "miracle.png" miracle2: "miracle2.png" legend: "crown.png" legend2: "crown.png" curtain: "card.png" map: "card.png" mappt: "pt.png" saga:"card.jpg", stamp: "stamp.jpg" stamp2: "stamp.jpg" stamp3: "stamp.png" pt: "pt.png" pt2: "pt2.png" identity: "identity.png" identity2: "identity.png" snow:"card.jpg" snowtexture:"snow.png" alias:"alias.png" alias2:"alias.png" icon:"arrow.png" icon2:"arrow2.png" flag:"flag.png" flag2:"flag2.png" mark:"mark.png" unnotch:"card.jpg"] - template := { switch_lead(type) + template_prefix[type] + input + switch_follow(type) + template_suffix[type] } - land_template := { switch_lead(type) + template_prefix[type] + (if input == "a" then "c" else input) + (if landless(type) then "" else "l") + switch_follow(type) + template_suffix[type] } - landless := {if input == "arrow" or input == "nyx" or input == "comcrown" or input == "cons" or input == "icon" or input == "crown" or input == "nyxcrown" or input == "card3" or input == "card4" or input == "card5" or input == "card6" or input == "stamp3" or input == "flag" or input == "flag2" or input == "alias" or input == "alias2" or input == "icon" or input == "icon2" then true else false} + #Should multicolor lands with basic land types have a colored name? + mask_multi_land_with_color := { styling.colored_multicolor_land_name } + base_template_prefix := [card: "" alias: "alias/" snow:"snow/" snowtexture:"snow/" devoid:"devoid/" nyx: "nyx/" miracle: "miracles/" node:"nodes/" promo: "promo/" crown: "legend/" cons:"conspiracy/" curtain: "curtains/" fnm: "fnm/", fnmpt: "paradox/", inverted: "inverted/", invertedpt: "inverted/", map: "maps/" energy: "energies/", mappt: "maps/" pt: "", slide: "masks/", slide2: "masks/", slide3: "masks/", arrow: "arrows/", arrow2: "arrows/", arrow3: "arrows/", season: "season/" stamp: "" identity: "/magic-identity-new.mse-include/", puma: "puma/"] + shifted_template_prefix := [card: "shifted/" alias: "shifted/" snow:"snow/" snowtexture:"snow/" devoid:"devoid/" nyx: "nyx/" miracle: "shifted/" node:"shifted/" promo: "promo/" crown: "shifted/" cons:"conspiracy/" curtain: "curtains/" fnm:"fnm/", fnmpt: "paradox/", inverted: "inverted/", invertedpt: "inverted/", map: "maps/" energy: "energies/", mappt: "maps/" pt: "shifted/", slide: "shifted/", slide2: "shifted/", slide3: "shifted/", arrow: "arrows/", arrow2: "arrows/", arrow3: "arrows/", season: "season/" stamp: "shifted/" identity: "/magic-identity-new.mse-include/", puma: "puma/shifted/"] + template_prefix := { if type == "miracle" and pure_snow() then [miracle:"snow/"] else if is_shifted() then shifted_template_prefix else base_template_prefix } + template_suffix := [card: "card.jpg" node:"node.png" alias:"alias.png" devoid:"card.png" snow:"card.jpg" snowtexture:"snow.png" nyx: "nyx.png" miracle: "miracle.png" promo: "card.jpg" crown: "crown.png" cons:"cons.png" curtain: "card.png" fnm:"card.png", fnmpt: "pt.png", inverted: "card.png", invertedpt: "pt.png", map: "card.png", energy: "card.png", mappt: "pt.png" pt: "pt.png", slide: "slide.png", slide2: "slide2.png", slide3: "slide3.png", stamp: "stamp.jpg", arrow: "arrow.png", arrow2: "arrow2.png", arrow3: "arrow3.png", season: "flag.png" identity: "identity.png", puma: "puma.png"] + template := { crown_lead(type) + template_prefix()[type] + input + crown_follow(type) + template_suffix[type] } + land_template := { crown_lead(type) + template_prefix()[type] + (if input == "a" then "c" else input) + (if landless(type) then "" else "l") + crown_follow(type) + template_suffix[type] } # Use land templates for previews because they show more contrast hybrid_previews := "land,hybrid" - ####### Control weird images - switch_lead := { - if (input == "legend" or input == "legend2") and (styling.legend_crown == "custom" and styling.custom_crown_location != "") + + landless := {if input == "nyx" or input == "node" or input == "miracle" or input == "alias" or input == "devoid" or input == "energy" or input == "season" or input == "cons" or input == "arrow" or input == "crown" or input == "nyxcrown" then true else false} + + crown_lead := { + if input != "crown" then "" + else if (styling.legend_crown == "custom" and styling.custom_crown_location != "") then "/magic-mainframe-extras.mse-include/" + styling.custom_crown_location - else if input == "alias" - then (if mainframe_walker() then "alias/walker/" else "alias/normal/") - else if input == "alias2" - then (if mainframe_walkerb() then "alias/walker/" else "alias/normal/") - else if input == "miracle" and is_snow() - then "snow/" - else if input == "miracle2" and back_snow() - then "snow/" else "" } - switch_follow := { - if (input == "legend" or input == "legend2") then ( - if is_full() - then "bl" - else if styling.legend_crown == "nyx" or (check_nyx(input) and chosen(styling.other_options, choice:"auto nyx crowns")) - then "nyx" - else if styling.legend_crown == "companion" - then "com" - else "" - ) + crown_follow := { + if input != "crown" then "" + else if is_borderless() + then "bl" + else if styling.legend_crown == "nyx" or (is_nyx() and chosen(styling.other_options, choice:"auto nyx crowns")) + then "nyx" + else if styling.legend_crown == "companion" + then "com" else "" } - check_nyx := { - if input == "legend" and is_nyx() - then true - else if input == "legend2" and back_nyx() - then true - else false - } - loyalty_image_name := { - if contains(input, match: "+") then "loyaltyup.png" - else if contains(input, match: "-") then "loyaltydown.png" - else "loyaltynaught.png" - } - - # The normal backface - card_background2 := { color_background(type:"card2", base_hybrid:card_hybrid) } - # The planeswalker front face - card_background3 := { color_background(type:"card3", base_hybrid:card_hybrid) } - # The planeswalker backface - card_background4 := { color_background(type:"card4", base_hybrid:card_hybrid) } - # The 4walker front face - card_background5 := { color_background(type:"card5", base_hybrid:card_hybrid) } - # The 4walker backface - card_background6 := { color_background(type:"card6", base_hybrid:card_hybrid) } - # The nyx frontface - nyx_background := { color_background(type:"nyx", base_hybrid:card_hybrid) } - # The miracle frontface - miracle_background := { color_background(type:"miracle", base_hybrid:card_hybrid) } - # The miracle backface - miracle_background2 := { color_background(type:"miracle2", base_hybrid:card_hybrid) } - # The legend frontface - legend_background := { color_background(type:"legend", base_hybrid:card_hybrid) } - # The legend backface - legend_background2 := { color_background(type:"legend2", base_hybrid:card_hybrid) } - # The front map face - map_background := { color_background(type:"map", base_hybrid:card_hybrid) } - - saga_background := { color_background(type:"saga", base_hybrid:card_hybrid) } - unnotched_background := { color_background(type:"unnotch", base_hybrid:card_hybrid) } - bookmark_background := { color_background(type:"mark", base_hybrid:card_hybrid) } - snow_background := { color_background(type:"snow", base_hybrid:card_hybrid) } - snow_texture := { color_background(type:"snowtexture", base_hybrid:card_hybrid) } - curtain_background := { color_background(type:"curtain", base_hybrid: card_hybrid)} + transfer_levels := {if is_mutate() then false else true} + node_background := { color_background(type:"node", base_hybrid:card_hybrid) } + nyx_background := { color_background(type:"nyx", base_hybrid:card_hybrid) } + devoid_background := { color_background(type:"devoid", base_hybrid:card_hybrid) } + snow_background := { color_background(type:"snow", base_hybrid:card_hybrid) } + snow_texture := { color_background(type:"snowtexture", base_hybrid:card_hybrid) } + puma_bar := { color_background(type:"puma", base_hybrid:card_hybrid) } + fnm_background := { color_background(type:"fnm", base_hybrid:card_hybrid) } + inverted_background := { color_background(type:"inverted", base_hybrid:card_hybrid) } + alias_bar := { color_background(type:"alias", base_hybrid:card_hybrid) } + miracle_background := { color_background(type:"miracle", base_hybrid:card_hybrid) } + map_background := { color_background(type:"map", base_hybrid:card_hybrid) } + energy_background := { color_background(type:"energy", base_hybrid:card_hybrid) } + promo_background := { color_background(type:"promo", base_hybrid:card_hybrid) } + fnm_ptbox := { color_background(type:"fnmpt", base_hybrid:pt_hybrid) } + inverted_ptbox := { color_background(type:"invertedpt", base_hybrid:pt_hybrid) } + mappt_background := { color_background(type:"mappt", base_hybrid:pt_hybrid) } arrow_background := { color_background(type:"arrow", base_hybrid:pt_hybrid) } - alias_bar := { color_background(type:"alias", base_hybrid:card_hybrid) } - alias_bar2 := { color_background(type:"alias2", base_hybrid:card_hybrid) } - - # pt scripts - card_ptbox2 := { color_background(type:"pt2", base_hybrid:pt_hybrid) } - card_mapbox := { color_background(type:"mappt", base_hybrid:pt_hybrid) } - walker_stamp := { color_background(type:"stamp3", base_hybrid:card_hybrid) } - # modal dfc flag scripts - front_flag_image := { color_background(type:"flag", base_hybrid:card_hybrid) } - back_flag_image := { color_background(type:"flag2", base_hybrid:card_hybrid) } - front_arrow_image := { color_background(type:"icon", base_hybrid:flip_pt_hybrid2) } - back_arrow_image := { color_background(type:"icon2", base_hybrid:flip_pt_hybrid2) } - + arrow_background_2 := { color_background(type:"arrow2", base_hybrid:pt_hybrid) } + arrow_background_3 := { color_background(type:"arrow3", base_hybrid:pt_hybrid) } + crown_background := { color_background(type:"crown", base_hybrid: card_hybrid)} + curtain_background := { color_background(type:"curtain", base_hybrid: card_hybrid)} + cons_background := { color_background(type:"cons", base_hybrid: card_hybrid)} + background_slide := { color_background(type:"slide", base_hybrid: card_hybrid)} + background_slide_2 := { color_background(type:"slide2", base_hybrid: card_hybrid)} + background_slide_3 := { color_background(type:"slide3", base_hybrid: card_hybrid)} + season_background := { color_background(type:"season", base_hybrid:card_hybrid) } # Use the normal tap symbol mana_t := { if styling.tap_symbol == "old" then "old" else if styling.tap_symbol == "diagonal T" then "older" else "new" } + loyalty_image := { + if contains(input, match: "+") then "loyaltyup.png" + else if contains(input, match: "-") then "loyaltydown.png" + else "loyaltynaught.png" + } # Use guild mana symbols? guild_mana := { styling.use_guild_mana_symbols } - - - # Loyalty cost arrows - loyalty_image := { - if contains(input, match: "+") then "loyalty up" - else if contains(input, match: "-") then "loyalty down" - else "loyalty naught" - } - - ####### Shape things - card_shape := {if contains(styling.dfc_type, match: "modal") then "modal double faced" else "transform double faced"} - a_saga := {is_saga() or is_class()} - b_saga := {back_saga() or back_class()} - saga_reminder := { if styling.alternate_saga_reminder != "" then styling.alternate_saga_reminder else if is_class() then "Gain the next level as a sorcery to add its ability." else "As this Saga enters and after your draw step, add a lore counter. Sacrifice after III." } - saga_reminderb := { if styling.alternate_saga_reminder != "" then styling.alternate_saga_reminder else if back_class() then "Gain the next level as a sorcery to add its ability." else "As this Saga enters and after your draw step, add a lore counter. Sacrifice after III." } - mainframe_walker := {contains(styling.front_style, match:"planeswalker")} - mainframe_walkerb := {contains(styling.back_style, match:"planeswalker")} - - ####### Promo stuff - is_promo := { chosen(styling.other_options, choice:"promo") } - is_full := { chosen(styling.other_options, choice:"mythic edition") and not is_map() and not back_map() and not front_clear() and not back_clear() } - is_unsorted := {chosen(styling.other_options, choice:"remove from autocount")} - comma_count := filter_text@(match:",") - paragraph_count := - replace@(match:"\n", replace:"")+ - filter_text@(match:"\n") - - ######## General Stuff - is_stamped := { is_rare() and chosen(styling.other_options, choice:"use holofoil stamps") } - is_normal_size := { not chosen(styling.other_options, choice:"wider planeswalker images") } - lv_chop := { pull_comma_array(input, cell:cell, end:0, default:0)} - loyal_move := { pull_comma_array(input, cell:cell, end:0, default:0)} - use_evobar := {chosen(styling.other_options, choice: "pokemon evobar") and not chosen(styling.other_options, choice:"godzilla style alias")} - opacity := {pull_comma_array(styling.opacity, cell:input, end:false, default:50)} - is_pinned := {chosen(styling.other_options, choice:"pride pinlines")} - - ####### Front Face Variables - is_normal := { not contains(styling.front_style, match:"planeswalker") } - front_clear := {chosen(styling.other_options, choice:"clear front")} - has_identity := { chosen(styling.other_options, choice:"front color indicator")} - is_miracle := {styling.front_style == "miracle"} - is_class := {styling.front_style == "class"} - is_nyx := {styling.front_style == "nyx" or chosen(styling.other_options, choice:"nyx front")} - is_vehicle := {styling.front_style == "vehicle" or chosen(styling.other_options, choice:"vehicle front") or (chosen(styling.other_options, choice:"automate type frames") and lang_setting("is_vehicle")(card.sub_type))} - is_map := {styling.front_style == "map"} - is_snow := {styling.front_style == "snow" or chosen(styling.other_options, choice:"snow front") or (chosen(styling.other_options, choice:"automate type frames") and lang_setting("is_snow")(card.super_type))} - is_saga := {two_boxes() or three_boxes() or four_boxes()} - is_legend := {is_normal() and not is_map() and (chosen(styling.other_options, choice:"legendary front") or (lang_setting("is_legendary")(card.super_type) and set.auto_legends)) } + # Is the card a promo card? + is_promo := { styling.promo } + is_stamped := {styling.use_holofoil_stamps and (card.rarity == "rare" or card.rarity == "mythic rare")} + has_identity := { styling.color_indicator_dot } + shrink_type := {if styling.shrink_typeline_text != "" then to_int(styling.shrink_typeline_text) else if length(remove_tags(card.type)) > 41 then 2 else if length(remove_tags(card.type)) > 38 then 1 else 0 } + shrink_name := {if styling.shrink_name_text != "" then to_int(styling.shrink_name_text) else 0 } + is_unsorted := {styling.remove_from_autocount} + is_devoid := { chosen(styling.frames, choice: "devoid") and not is_map()} + is_clear := { (chosen(styling.frames, choice: "clear") or is_devoid()) and not is_map()} + is_puma := { chosen(styling.frames, choice: "puma") and not is_map() and not is_clear() and not contains(styling.frames, match:"less art") and not is_full_art() } + is_mutate := { not is_expanded_art() and not is_full_art() and chosen(styling.frames, choice: "mutate") and not is_map()} + is_miracle := { chosen(styling.frames, choice: "miracle") and not is_map() and not is_expanded_art() and not is_cons() and not is_fnm() and not is_inverted()} + is_nyx := { chosen(styling.frames, choice: "nyx") and not is_map() } + is_vehicle := { (chosen(styling.frames, choice: "vehicle") or (chosen(styling.other_options, choice:"auto vehicles") and lang_setting("is_vehicle")(card.sub_type))) and not is_map()} + is_snow := { (chosen(styling.frames, choice: "snow") or (chosen(styling.other_options, choice:"auto snow") and lang_setting("is_snow")(card.super_type))) and not is_map()} + is_cons := { chosen(styling.frames, choice: "draft matters") or chosen(styling.frames, choice: "conspiracy") and not is_map() } + is_scrolls := { chosen(styling.frames, choice: "conspiracy") and not is_map()} + is_shifted := { chosen(styling.frames, choice: "planeshifted") and not is_map() and not is_full_art() and not is_fnm()} + is_fnm := {chosen(styling.frames, choice:"fnm promo") and not is_clear() and not is_full_art() and not is_map()} + is_inverted := {chosen(styling.frames, choice:"inverted") and not is_clear() and not is_full_art() and not is_fnm() and not is_map()} + is_map := { chosen(styling.frames, choice: "map") } + use_node := { chosen(styling.frames, choice: "lesson") } + is_season := { chosen(styling.frames, choice: "season") and not is_map() } + is_legend := {not is_map() and (chosen(styling.frames, choice: "legend") or (set.auto_legends and lang_setting("is_legendary")(card.super_type))) } + is_full_art := {chosen(styling.frames, choice:"fullart") and not is_map() and not is_clear()} + is_expanded_art := {not is_map() and not is_clear() and contains(styling.frames, match:"less art")} + is_borderless := {not is_map() and not is_clear() and chosen(styling.frames, choice:"borderless art")} + is_thbland := {chosen(styling.frames, choice:"frameless art") and not is_leveler() and remove_tags(card.text) == "\n"} + expanded_mask := { "bigimagemasks/" + (if is_full_art() then "dka_" else "") + (if is_borderless() then (if is_stamped() then "rare_" else "") + "borderless_" else "") + "frameless.png"} is_curtains := {contains(card.notes, match:"!curtain")} - is_mutate := {chosen(styling.other_options, choice:"front mutate") and is_normal() and not is_full() and not is_saga() and not is_map() and not front_clear()} - is_leveler := {styling.front_style == "leveler"} - poke_walker := {mainframe_walker() and not is_full() and use_evobar()} - is_skinned := {not is_saga() and chosen(styling.other_options, choice:"godzilla style alias")} - use_vorthos := {chosen(styling.other_options, choice:"vorthos box")} - - # Back Face - back_normal := { not contains(styling.back_style, match:"planeswalker") } - has_identity2 := { chosen(styling.other_options, choice:"back color indicator") and not contains(card.card_color_2, match:"colorless")} - back_clear := {chosen(styling.other_options, choice:"clear back")} - back_miracle := {styling.back_style == "miracle"} - back_class := {styling.back_style == "class"} - back_nyx := {styling.back_style == "nyx" or chosen(styling.other_options, choice:"nyx back")} - back_vehicle := {styling.back_style == "vehicle" or chosen(styling.other_options, choice:"vehicle back") or (chosen(styling.other_options, choice:"automate type frames") and lang_setting("is_vehicle")(card.sub_type_2))} - back_map := {styling.back_style == "map"} - back_snow := {styling.back_style == "snow" or chosen(styling.other_options, choice:"snow back") or (chosen(styling.other_options, choice:"automate type frames") and lang_setting("is_snow")(card.super_type_2))} - back_saga := {back_two_boxes() or back_three_boxes() or back_four_boxes()} - back_legend := {back_normal() and not back_map() and (chosen(styling.other_options, choice: "legendary back") or (set.auto_legends and lang_setting("is_legendary")(card.super_type_2)))} - back_mutate := {chosen(styling.other_options, choice:"back mutate") and back_normal() and not is_full() and not back_saga() and not back_map() and not back_clear()} - back_poke_walker := {mainframe_walkerb() and not is_full() and use_evobar()} - back_leveler := {styling.back_style == "leveler"} - back_skinned := {not back_saga() and chosen(styling.other_options, choice:"godzilla style alias")} - - - top_of_textbox := {(if is_class() then 60 else if mainframe_walker() then (if has_four_abilities() then 292+(if front_clear() then 5 else 0) else 329) else if is_map() then 340 else if is_mutate() then 395 else 327)-lv_chop(styling.level_1_chop, cell:0)} - bottom_of_textbox := {(if is_class() then 437 else if mainframe_walker() then 477-(if is_modal_dfc() then 5 else if is_stamped() then 2 else 0) else if is_map() then 475 else 481)-lv_chop(styling.level_1_chop, cell:1)} - - top_of_textbox2 := {(if back_class() then 60 else if mainframe_walkerb() then (if back_four_abilities() then 292+(if back_clear() then 5 else 0) else 329) else if back_map() then 340 else if back_mutate() then 394 else 327)-lv_chop(styling.level_5_chop, cell:0)} - bottom_of_textbox2 := {(if back_class() then 437 else if mainframe_walkerb() then 477-(if is_modal_dfc() then 5 else 0) else if back_map() then 475 else 481)-lv_chop(styling.level_5_chop, cell:1)} - - mask_script := { if contains(styling.custom_mask, match:".png") then "/magic-mainframe-extras.mse-include/" + styling.custom_mask - else if a_saga() then "" - else if is_full() and is_normal() and not is_saga() and not is_map() then "borderless_mask" + (if is_stamped() then "_rare" else "") + (if not is_modal_dfc() then "_transform" else "") + ".png" - else if front_clear() and is_normal() then "imagemask_clear_normal.png" - else if front_clear() then "imagemask_clear.png" - else if is_mutate() then "mutate_mask.png" - else if not mainframe_walker() then "" - else "planeswalker/guidelines/" + walker_mask_front() - } - back_mask_script := { if contains(styling.custom_mask_2, match:".png") then "/magic-mainframe-extras.mse-include/" + styling.custom_mask - else if b_saga() then "" - else if is_full() and back_normal() and not back_saga() and not back_map() then "borderless_mask" + (if not is_modal_dfc() then "_transform_back" else "") + ".png" - else if back_clear() and back_normal() then "imagemask_clear_normal.png" - else if back_clear() then "imagemask_clear.png" - else if back_mutate() then "mutate_mask.png" - else if not mainframe_walkerb() then "" - else "planeswalker/guidelines/" + walker_mask_back() - } - - ####### Planeswalker stuff - text_size := { 14 -(if styling.front_font_cap == "" then 0 else to_number(styling.front_font_cap)) } - text_size2 := { 14 -(if styling.back_font_cap == "" then 0 else to_number(styling.back_font_cap)) } - stripe01 := {if length(card_style.text.layout.separators) or else 0 > 0 then card_style.text.top + card_style.text.layout.separators[0] -4 else 0} - stripe12 := {if length(card_style.text.layout.separators) or else 0 > 1 then card_style.text.top + card_style.text.layout.separators[1] -4 else 0} - stripe23 := {if length(card_style.text.layout.separators) or else 0 > 2 then card_style.text.top + card_style.text.layout.separators[2] -4 else 0} - stripe34 := {if length(card_style.text.layout.separators) or else 0 > 3 then card_style.text.top + card_style.text.layout.separators[3] -4 else 0} - stripe45 := {if length(card_style.text.layout.separators) or else 0 > 4 then card_style.text.top + card_style.text.layout.separators[4] -4 else 0} - stripe01b := {if length(card_style.text_2.layout.separators) or else 0 > 0 then card_style.text_2.top + card_style.text_2.layout.separators[0] -4 else 0} - stripe12b := {if length(card_style.text_2.layout.separators) or else 0 > 1 then card_style.text_2.top + card_style.text_2.layout.separators[1] -4 else 0} - stripe23b := {if length(card_style.text_2.layout.separators) or else 0 > 2 then card_style.text_2.top + card_style.text_2.layout.separators[2] -4 else 0} - stripe34b := {if length(card_style.text_2.layout.separators) or else 0 > 3 then card_style.text_2.top + card_style.text_2.layout.separators[3] -4 else 0} - stripe45b := {if length(card_style.text_2.layout.separators) or else 0 > 4 then card_style.text_2.top + card_style.text_2.layout.separators[4] -4 else 0} - - abil_center := { if card_style.text.layout.blocks[input].bottom or else 0 > 0 then - card_style.text.top + card_style.text.layout.blocks[input].middle + overlap_check(input) - else -30 - } - overlap_check := { - if input == 0 - then 0 - else if card_style.text.layout.blocks[input].middle == card_style.text.layout.blocks[input-1].middle - then 40*(input-1) - else 0 - } - max_level_function := [ - "auto": { - if card.level_4_text != "" and card.level_4_text != "​" then 4 - else if card.level_3_text != "" and card.level_3_text != "​" then 3 - else 2 - }, - "one": {1}, - "two": {2}, - "three": {3}, - "four": {4}, - "none": {0} - ] - max_level := {max_level_function[force_level()]()} - mainframe_walker_text_script := { - if max_level() == 1 or (max_level() == 2 and card.level_2_text == "") or force_level() == "two" then - combined_editor(field1: card.level_1_text, separator1: "\n", field2: card.level_2_text) - else if max_level() == 2 or force_level() == "three" then - combined_editor(field1: card.level_1_text, separator1: "\n", field2: card.level_2_text, separator2: "\n", field3: card.level_3_text) - else if max_level() >= 3 or force_level() == "four" then - combined_editor(field1: card.level_1_text, separator1: "\n", field2: card.level_2_text, separator2: "\n", field3: card.level_3_text, separator3: "\n", field4: card.level_4_text) - else - combined_editor(field1: card.level_1_text, separator1: "\n", field2: card.level_2_text, separator2: "\n", field3: card.level_3_text) - } - loyal_move := { - if input == 2 and (card.level_2_text == "" or card.level_2_text == "​") then -15 - else if input == 3 and (card.level_3_text == "" or card.level_3_text == "​") then -5 - else if input == 6 and (card.level_6_text == "" or card.level_6_text == "​") then -15 - else if input == 7 and (card.level_7_text == "" or card.level_7_text == "​") then -5 - else if input > 3 then pull_comma_array(styling.move_back_loyalty_costs, cell:input, end:0, default:0) - else pull_comma_array(styling.move_loyalty_costs, cell:input, end:0, default:0) - } - loyal_moveb := {loyal_move(input+4)} - abil_centerb := { if card_style.text_2.layout.blocks[input].bottom or else 0 > 0 then - card_style.text_2.top + card_style.text_2.layout.blocks[input].middle + overlap_checkb(input) - else -30 - } - overlap_checkb := { - if input == 0 - then 0 - else if card_style.text_2.layout.blocks[input].middle == card_style.text_2.layout.blocks[input-1].middle - then 40*(input-1) - else 0 - } - max_level_functionb := [ - "auto": { - if card.level_8_text != "" and card.level_8_text != "​" then 4 - else if card.level_7_text != "" and card.level_7_text != "​" then 3 - else 2 - }, - "one": {1}, - "two": {2}, - "three": {3}, - "four": {4}, - "none": {0} - ] - max_levelb := {max_level_functionb[force_levelb()]()} - mainframe_walker_text_scriptb := { - if max_levelb() == 1 or (max_levelb() == 2 and card.level_6_text == "") or force_levelb() == "two" then - combined_editor(field1: card.level_5_text, separator1: "\n", field2: card.level_6_text) - else if max_levelb() == 2 or force_levelb() == "three" then - combined_editor(field1: card.level_5_text, separator1: "\n", field2: card.level_6_text, separator2: "\n", field3: card.level_7_text) - else if max_levelb() >= 3 or force_levelb() == "four" then - combined_editor(field1: card.level_5_text, separator1: "\n", field2: card.level_6_text, separator2: "\n", field3: card.level_7_text, separator3: "\n", field4: card.level_8_text) - else - combined_editor(field1: card.level_5_text, separator1: "\n", field2: card.level_6_text, separator2: "\n", field3: card.level_7_text) - } - margin_left := { - if not (mainframe_walker() or mainframe_walkerb()) then 0 - else if input == "lv1" then (if card.loyalty_cost_1 == "" and unindent() then 0 else 130) - else if input == "lv2" then (if card.loyalty_cost_2 == "" and unindent() then 0 else 130) - else if input == "lv3" then (if card.loyalty_cost_3 == "" and unindent() then 0 else 130) - else if input == "lv4" then (if card.loyalty_cost_4 == "" and unindent() then 0 else 130) - else if not mainframe_walkerb() then 0 - else if input == "lv5" then (if card.loyalty_cost_5 == "" and unindent() then 0 else 130) - else if input == "lv6" then (if card.loyalty_cost_6 == "" and unindent() then 0 else 130) - else if input == "lv7" then (if card.loyalty_cost_7 == "" and unindent() then 0 else 130) - else if input == "lv8" then (if card.loyalty_cost_8 == "" and unindent() then 0 else 130) - else 0 - } - margin_top := { - if is_class() and (input == "lv2" or (input == "lv3" and card.level_3_text != "​") or (input == "lv4" and card.level_4_text != "")) and (input == "lv1" or input == "lv2" or input == "lv3" or input == "lv4") then - 30 - else if input == "lv1" or input == "lv2" or input == "lv3" or input == "lv4" then - lv_chop(styling.level_1_chop, cell:3) - else if back_class() and (input == "lv6" or (input == "lv7" and card.level_7_text != "​") or (input == "lv8" and card.level_8_text != "")) and (input == "lv5" or input == "lv6" or input == "lv7" or input == "lv8") then - 30 - else if input == "lv5" or input == "lv6" or input == "lv7" or input == "lv8" then - lv_chop(styling.level_5_chop, cell:3) - else 0 - } - add_spacers := { if input == "" and inner_level(name) then "​" else input} - inner_level := { - if input == "lv4" and max_level() > 4 then true - else if input == "lv3" and (is_class() or max_level() > 3) then true - else if input == "lv2" and (is_class() or max_level() > 2) then true - else if input == "lv1" and (is_class() or max_level() > 1) then true - else if input == "lv8" and max_level() > 8 then true - else if input == "lv7" and (back_class() or max_level() > 7) then true - else if input == "lv6" and (back_class() or max_level() > 6) then true - else if input == "lv5" and (back_class() or max_level() > 5) then true - else false - } - force_tall := { contains(styling.other_options, match:"force fourwalker front")} - force_tallb := { contains(styling.other_options, match:"force fourwalker back")} - force_level := { - if styling.front_style == "1 ability planeswalker" then "one" - else if styling.front_style == "2 ability planeswalker" then "two" - else if styling.front_style == "3 ability planeswalker" then "three" - else if styling.front_style == "4 ability planeswalker" then "four" - else if mainframe_walker() then "auto" - else "none" - } - force_levelb := { - if styling.back_style == "1 ability planeswalker" then "one" - else if styling.back_style == "2 ability planeswalker" then "two" - else if styling.back_style == "3 ability planeswalker" then "three" - else if styling.back_style == "4 ability planeswalker" then "four" - else if mainframe_walkerb() then "auto" - else "none" - } - has_four_abilities := { max_level() > 3 or force_tall()} - has_two_abilities := { max_level() < 3 and max_level() > 0} - back_four_abilities := { max_levelb() > 3 or force_tallb()} - back_two_abilities := { max_levelb() < 3 and max_levelb() > 0} - walker_mask_front := { - (if front_clear() then "clear_" else if is_normal_size() or is_full() then "" else "wide_") - + (if is_full() then ("mythic_mask" + (if max_level() > 3 or force_tall() then "_four" else "") + (if is_stamped() then "_rare" else ""))) - + (if not is_full() then ((if max_level() > 3 or force_tall() then "four_" else "") + "frame_mask") else "") - + ".png" - } - walker_mask_back := { - (if back_clear() then "clear_" else if is_normal_size() or is_full() then "" else "wide_") - + (if is_full() then ("mythic_mask" + (if max_levelb() > 3 or force_tallb() then "_four" else "") + "_back")) - + (if not is_full() then ((if max_levelb() > 3 or force_tallb() then "four_" else "") + "frame_mask") else "") - + ".png" - } - - - ##### leveler stuff - box_leveler := {styling.level_containers == "pt boxes"} - loy_leveler := {styling.level_containers == "loyalty boxes"} - aug_leveler := {box_leveler() and center_label(input)} - level_label := {if styling.level_label == "" then "level" else pull_comma_array(styling.level_label, end:false, cell:input, default:styling.level_label)} - center_label := {loy_leveler() or level_label(input) == " "} - lv_1_height := {lv_2_coordinate()} - lv_2_coordinate := {max(min(52 + to_number(pull_comma_array(styling.stripe_coordinate, cell:0)),152), 0)} - lv_3_coordinate := {max(min(101 + to_number(pull_comma_array(styling.stripe_coordinate, cell:1)),152), lv_2_coordinate())} - lv_4_coordinate := {max(min(152 + to_number(pull_comma_array(styling.stripe_coordinate, cell:2)),152), lv_3_coordinate())} - lv_2_height := {lv_3_coordinate() - lv_2_coordinate()} - lv_3_height := {lv_4_coordinate()-lv_3_coordinate()} - lv_4_height := {152-lv_4_coordinate()} - l1_center := {327 + 0.5*lv_1_height()} - l2_center := {327 + lv_2_coordinate() + 0.5*lv_2_height()} - l3_center := {327 + lv_3_coordinate() + 0.5*lv_3_height()} - l4_center := {327 + lv_4_coordinate() + 0.5*lv_4_height()} - mask_height := {if input == "one" then lv_1_height() else if input == "two" then lv_2_height() else lv_3_height()} - lone_pt := {chosen(styling.other_options, choice:"regular pt on levelers")} - lv_2_ptbox := { if is_vehicle() then "vpt.png" else if front_clear() then "xpt.png" else leveler_ptbox2() } - lv_3_ptbox := { if is_vehicle() then "vpt.png" else if front_clear() then "xpt.png" else leveler_ptbox3() } - arrow_left := {if box_leveler() then -3 else if loy_leveler() then 10 else 18} - arrow_width := {if box_leveler() then 84 else if loy_leveler() then 42 else 56} - arrow_height := {if aug_leveler(input) then 42 else if box_leveler() then 50 else if loy_leveler() then 40 else 40} - - box_leveler2 := {styling.level_containers_2 == "pt boxes"} - loy_leveler2 := {styling.level_containers_2 == "loyalty boxes"} - aug_leveler2 := {box_leveler2() and center_label2(input)} - center_label2 := {loy_leveler2() or level_label(input+3) == " "} - lv_5_height := {lv_6_coordinate()} - lv_6_coordinate := {max(min(52 + to_number(pull_comma_array(styling.back_stripe_coordinate, cell:0)),152), 0)} - lv_7_coordinate := {max(min(101 + to_number(pull_comma_array(styling.back_stripe_coordinate, cell:1)),152), lv_6_coordinate())} - lv_8_coordinate := {max(min(152 + to_number(pull_comma_array(styling.back_stripe_coordinate, cell:2),152)), lv_7_coordinate())} - lv_6_height := {lv_7_coordinate() - lv_6_coordinate()} - lv_7_height := {lv_8_coordinate()-lv_7_coordinate()} - lv_8_height := {152-lv_8_coordinate()} - l5_center := {327 + 0.5*lv_5_height()} - l6_center := {327 + lv_6_coordinate() + 0.5*lv_6_height()} - l7_center := {327 + lv_7_coordinate() + 0.5*lv_7_height()} - l8_center := {327 + lv_8_coordinate() + 0.5*lv_8_height()} - mask_height := {if input == "one" then lv_5_height() else if input == "two" then lv_6_height() else lv_7_height()} - lv_6_ptbox := { if back_vehicle() then "vpt.png" else if back_clear() then "xpt.png" else leveler_ptbox2() } - lv_7_ptbox := { if back_vehicle() then "vpt.png" else if back_clear() then "xpt.png" else leveler_ptbox3() } - arrow_left2 := {377 + if box_leveler2() then -3 else if loy_leveler2() then 10 else 18} - arrow_width2 := {if box_leveler2() then 84 else if loy_leveler2() then 42 else 56} - arrow_height2 := {if aug_leveler2(input) then 42 else if box_leveler2() then 50 else if loy_leveler2() then 40 else 40} - - arrow_offset := { - to_number(pull_comma_array(styling.move_loyalty_costs, cell:input, end: 0)) - + (if box_leveler() then -5 else 0) - + (if aug_leveler(input) then 4 else 0) - } - arrow_offset2 := { - to_number(pull_comma_array(styling.move_back_loyalty_costs, cell:input, end: 0)) - + (if box_leveler2() then -5 else 0) - + (if aug_leveler2(input) then 4 else 0) - } - - ##### saga stuff - split_12 := {to_number(pull_comma_array(styling.stripe_coordinate, cell:0, end:true, default:(if two_boxes() then 296 else if four_boxes() then 225 else 249)))} - split_23 := {to_number(pull_comma_array(styling.stripe_coordinate, cell:1, end:true, default:(if two_boxes() then 437 else if four_boxes() then 296 else 343)))} - split_34 := {to_number(pull_comma_array(styling.stripe_coordinate, cell:2, end:true, default:(if three_boxes() then 437 else if four_boxes() then 367 else 600)))} - split_12b := {to_number(pull_comma_array(styling.back_stripe_coordinate, cell:0, end:true, default:(if back_two_boxes() then 296 else if back_four_boxes() then 225 else 249)))} - split_23b := {to_number(pull_comma_array(styling.back_stripe_coordinate, cell:1, end:true, default:(if back_two_boxes() then 437 else if back_four_boxes() then 296 else 343)))} - split_34b := {to_number(pull_comma_array(styling.back_stripe_coordinate, cell:2, end:true, default:(if back_three_boxes() then 437 else if back_four_boxes() then 367 else 600)))} - - coords_map := [ - 1: {[card_style.level_1_text.top, card_style.level_1_text.bottom-card_style.level_1_text.top]}, - 2: {[card_style.level_2_text.top, card_style.level_2_text.bottom-card_style.level_2_text.top]}, - 3: {[card_style.level_3_text.top, card_style.level_3_text.bottom-card_style.level_3_text.top]}, - 4: {[card_style.level_4_text.top, card_style.level_4_text.bottom-card_style.level_4_text.top]}, - 5: {[card_style.level_5_text.top, card_style.level_5_text.bottom-card_style.level_5_text.top]} - 6: {[card_style.level_6_text.top, card_style.level_6_text.bottom-card_style.level_6_text.top]} - 7: {[card_style.level_7_text.top, card_style.level_7_text.bottom-card_style.level_7_text.top]} - 8: {[card_style.level_8_text.top, card_style.level_8_text.bottom-card_style.level_8_text.top]} - ] - auto_snap := { - snap_array := split_text(replace(line, match:",[^,]+$", replace:","), match:",") - abil := to_number(pull_comma_array(line, cell:input-1, end:true)) ###textbox to snap to - if abil == 0 then 600 else snap_calc(input, snap_array:snap_array, abil:abil, bump:bump) - }@(bump:0) - snap_calc := { - out := 0 - abil_array := saga_lore_count(snap_array) ###chapters in each box - ch_count := abil_array[abil-1] ###chapters in this box - self_index := saga_ch_placement(snap_array)[input-1] ###input's index - box_deets := coords_map[abil+bump]() ###[top, height] - remain := box_deets[1] - 30*ch_count ###remaining space after chapter hexes - excess := remain - 10*(ch_count-1) ###remaining after 10px gaps - if excess >= 0 then out := box_deets[0] + excess/2 + 40*(self_index-1) ###top + buffer*index + hex*index-1 - else ( ###may not be enough room to ten-gap the middle - inner_gap := 10 - squeeze := 0 - outer_gap := (remain - inner_gap * (ch_count-1))/2 - if outer_gap < -6 then ( - squeeze := 2*(outer_gap+6)/(ch_count-1); - outer_gap := -6 - ) - inner_gap := inner_gap + squeeze - out := box_deets[0] + outer_gap + (self_index-1)*(30+inner_gap) - ) - out - } - chapter0 := { if styling.reminder_coordinate != "" then max(60,min(to_number(styling.reminder_coordinate),438)) else 155} - chapter1 := { if length(comma_count(styling.snap_chapter_to_box)) > 0 then auto_snap(1, line:styling.snap_chapter_to_box) else to_number(pull_comma_array(styling.move_loyalty_costs, cell:0, end:true, default:(if two_boxes() then 183 else 185))) } - chapter2 := { if length(comma_count(styling.snap_chapter_to_box)) > 1 then auto_snap(2, line:styling.snap_chapter_to_box) else to_number(pull_comma_array(styling.move_loyalty_costs, cell:1, end:true, default:(if two_boxes() then 223 else 279))) } - chapter3 := { if length(comma_count(styling.snap_chapter_to_box)) > 2 then auto_snap(3, line:styling.snap_chapter_to_box) else to_number(pull_comma_array(styling.move_loyalty_costs, cell:2, end:true, default:(if two_boxes() then 329 else 373))) } - chapter4 := { if length(comma_count(styling.snap_chapter_to_box)) > 3 then auto_snap(4, line:styling.snap_chapter_to_box) else to_number(pull_comma_array(styling.move_loyalty_costs, cell:3, end:true, default:600)) } - chapter5 := { if length(comma_count(styling.snap_chapter_to_box)) > 4 then auto_snap(5, line:styling.snap_chapter_to_box) else to_number(pull_comma_array(styling.move_loyalty_costs, cell:4, end:true, default:600)) } - chapter6 := { if length(comma_count(styling.snap_chapter_to_box)) > 5 then auto_snap(6, line:styling.snap_chapter_to_box) else to_number(pull_comma_array(styling.move_loyalty_costs, cell:5, end:true, default:600)) } - - chapter1b := { if length(comma_count(styling.snap_chapter_to_back_box)) > 0 then auto_snap(1, line:styling.snap_chapter_to_back_box, bump:4) else to_number(pull_comma_array(styling.move_back_loyalty_costs, cell:0, end:true, default:(if back_two_boxes() then 183 else 185))) } - chapter2b := { if length(comma_count(styling.snap_chapter_to_back_box)) > 1 then auto_snap(2, line:styling.snap_chapter_to_back_box, bump:4) else to_number(pull_comma_array(styling.move_back_loyalty_costs, cell:1, end:true, default:(if back_two_boxes() then 223 else 279))) } - chapter3b := { if length(comma_count(styling.snap_chapter_to_back_box)) > 2 then auto_snap(3, line:styling.snap_chapter_to_back_box, bump:4) else to_number(pull_comma_array(styling.move_back_loyalty_costs, cell:2, end:true, default:(if back_two_boxes() then 329 else 373))) } - chapter4b := { if length(comma_count(styling.snap_chapter_to_back_box)) > 3 then auto_snap(4, line:styling.snap_chapter_to_back_box, bump:4) else to_number(pull_comma_array(styling.move_back_loyalty_costs, cell:3, end:true, default:600)) } - chapter5b := { if length(comma_count(styling.snap_chapter_to_back_box)) > 4 then auto_snap(5, line:styling.snap_chapter_to_back_box, bump:4) else to_number(pull_comma_array(styling.move_back_loyalty_costs, cell:4, end:true, default:600)) } - chapter6b := { if length(comma_count(styling.snap_chapter_to_back_box)) > 5 then auto_snap(6, line:styling.snap_chapter_to_back_box, bump:4) else to_number(pull_comma_array(styling.move_back_loyalty_costs, cell:5, end:true, default:600)) } - - chapter_custom := { if to_number(pull_comma_array(styling.snap_chapter_to_box, cell:6, end:true)) > 0 then auto_snap(7, line:styling.snap_chapter_to_box, bump:0) else to_number(pull_comma_array(styling.custom_chapter_coordinate, cell:0, end:false, default:600)) } - chapter_customb := { if to_number(pull_comma_array(styling.snap_chapter_to_back_box, cell:6, end:true)) > 0 then auto_snap(7, line:styling.snap_chapter_to_back_box, bump:4) else to_number(pull_comma_array(styling.custom_chapter_coordinate, cell:0, end:false, default:600)) } - custom_chapter_node := {if contains(styling.custom_chapter_location, match:".png") then "/magic-mainframe-extras.mse-include/" + styling.custom_chapter_location else "saga/chapter6.png"} - custom_name := {if styling.custom_chapter_name == "" then "C" else styling.custom_chapter_name} - - two_boxes := {styling.front_style == "2 box saga"} - three_boxes := {styling.front_style == "3 box saga"} - four_boxes := {styling.front_style == "4 box saga"} - back_two_boxes := {styling.back_style == "2 box saga"} - back_three_boxes := {styling.back_style == "3 box saga"} - back_four_boxes := {styling.back_style == "4 box saga"} - alt_loc := { if styling.replacement_chapter_location != "" then styling.replacement_chapter_location else "no"} - alt_chapters := { (if match(styling.replacement_chapter_location, match:"/$") then "/magic-mainframe-extras.mse-include/" + styling.replacement_chapter_location else "saga/") + "chapter" + input + ".png"} - - build_array := { - if input > 523 or input < 0 then 0 - else if four_boxes() and input +17 >= (if split_34() != "" then split_34() else 600) then 4 - else if (four_boxes() or three_boxes()) and input +17 >= (if split_23() != "" then split_23() else 343) then 3 - else if input +17 >= (if split_12() != "" then split_12() else 249) then 2 - else if input +17 <= (if split_12() != "" then split_12() else 249) then 1 - else 0 - } - alt_leaders := { - alt := ["I,","II,","III,""IV,","V,","VI,"] - if match(card.notes, match:"!altleader [^,]+,") then - alt := break_text(split_text(card.notes, match:"!altleader ").1, match:"[^,]+,") - alt - } - level_leader := { - alt := alt_leaders() - (if build_array((if chapter1() != "" then chapter1() else 185)) == input then alt.0 + " " else "") - +(if build_array((if chapter2() != "" then chapter2() else 279)) == input then alt.1 + " " else "") - +(if build_array((if chapter3() != "" then chapter3() else 373)) == input then alt.2 + " " else "") - +(if build_array((if chapter4() != "" then chapter4() else 600)) == input then alt.3 + " " else "") - +(if build_array((if chapter5() != "" then chapter5() else 600)) == input then alt.4 + " " else "") - +(if build_array((if chapter6() != "" then chapter6() else 600)) == input then alt.5 + " " else "") - +(if build_array((if chapter_custom() != "" then chapter_custom() else 600)) == input then custom_name() + ", " else "") - } - build_array2 := { - if input > 523 or input < 0 then 0 - else if back_four_boxes() and input +17 >= (if split_34b() != "" then split_34b() else 600) then 4 - else if (back_four_boxes() or back_three_boxes()) and input +17 >= (if split_23b() != "" then split_23b() else 343) then 3 - else if input +17 >= (if split_12b() != "" then split_12b() else 249) then 2 - else if input +17 <= (if split_12b() != "" then split_12b() else 249) then 1 - else 0 - } - level_leader2 := { - alt := alt_leaders() - (if build_array((if chapter1b() != "" then chapter1b() else 185)) == input then alt.0 + " " else "") - +(if build_array((if chapter2b() != "" then chapter2b() else 279)) == input then alt.1 + " " else "") - +(if build_array((if chapter3b() != "" then chapter3b() else 373)) == input then alt.2 + " " else "") - +(if build_array((if chapter4b() != "" then chapter4b() else 600)) == input then alt.3 + " " else "") - +(if build_array((if chapter5b() != "" then chapter5b() else 600)) == input then alt.4 + " " else "") - +(if build_array((if chapter6b() != "" then chapter6b() else 600)) == input then alt.5 + " " else "") - +(if build_array((if chapter_customb() != "" then chapter_customb() else 600)) == input then custom_name() + ", " else "") - } - end_leader := replace@(match:", $", replace:" — ") - - ##### d20 stuff + is_pinned := {chosen(styling.other_options, choice:"pride pinlines")} + use_main_rarity := { contains(set.mainframe_rarity_name, match: ".png")} + un_png := replace@(match:".png", replace: "") + ancestral_mana := { chosen(styling.other_options, choice:"ancestral generic mana")} + override_clear := replace@(match:"()?", replace: "")+ + replace@(match:"()?", replace: "") + override_filter := replace@(match:"\\[([^\\]]+)]", replace: "[\\1]") is_d20 := {styling.d20_dividers != "off" and not is_leveler()} is_all_break := {contains(styling.d20_dividers, match:"all breaks")} d20string := "^()?((()?[-0-9 ,+>\<]()?)+|[Ee]lse|[Oo]ther) ?()?[|]" d20_array := filter_text@(match:"(\n|"+d20string+")") +split_text@(match:d20string) - number_of_rolls := {if is_all_break() then 1+length(filter_text(card.rule_text, match:"\n"))-rolls_start(card.text) else length(d20_array(input))-1} + number_of_rolls := {min(6, if is_all_break() then 1+length(filter_text(card.rule_text, match:"\n"))-(rolls_start(card.text)-invert_rolls()) else length(d20_array(input))-1)} rolls_start := { if styling.d20_dividers == "all breaks +3" then 4 else if styling.d20_dividers == "all breaks +2" then 3 @@ -598,164 +173,230 @@ init script: else if is_d20() then length(d20_array(input).0) else 0 } + d20_filter := replace@(match:"^([Ee]lse ?|[Oo]ther ?|(()?[-0-9 ,+>\<]()?)+)[|]", replace:"\\1|") top_of_para := { input := input + no_roll(card.text) - if card_style.text.layout.paragraphs[input].top or else 0 > 0 then - card_style.text.top + card_style.text.layout.paragraphs[input].top - 0.5*(card_style.text.layout.paragraphs[input].top-card_style.text.layout.paragraphs[input-1].bottom) + input := max(input, 0) + if card_style.text.layout.paragraphs[input].top or else -1 >= 0 then + if invert_rolls() == 1 and input == rolls_start()-invert_rolls() then card_style.text.top + else if input == 0 then card_style.text.top + card_style.text.layout.paragraphs[input].top + else card_style.text.top + card_style.text.layout.paragraphs[input].top - 0.5*(card_style.text.layout.paragraphs[input].top-card_style.text.layout.paragraphs[input-1].bottom) else 0 } height_of_para := { input := input + no_roll(card.text) if card_style.text.layout.paragraphs[input].bottom or else 0 > 0 then - card_style.text.layout.paragraphs[input].bottom + 1.3*(card_style.text.layout.paragraphs[input].top-card_style.text.layout.paragraphs[input-1].bottom) - card_style.text.layout.paragraphs[input].top + if invert_rolls() == 1 and input == rolls_start() then card_style.text.layout.paragraphs[input-1].bottom + else card_style.text.layout.paragraphs[input].bottom + 1.3*(card_style.text.layout.paragraphs[input].top-card_style.text.layout.paragraphs[input-1].bottom) - card_style.text.layout.paragraphs[input].top else 0 } no_roll := {if styling.d20_dividers == "all breaks" then 1 else if rolls_start(input) == 0 then 1 else 0} + invert_rolls := {if chosen(styling.other_options, choice:"inverted d20") then 1 else 0} + + text_filter := text_filter + override_clear + d20_filter + {if chosen(styling.other_options, choice:"override-style text") then override_filter(input) else input} - back_d20 := {styling.d20_dividers_back != "off" and not back_leveler()} - back_all_break := {contains(styling.d20_dividers_back, match:"all breaks")} - number_of_rolls_b := {if back_all_break() then 1+length(filter_text(card.rule_text_2, match:"\n"))-rolls_start_b(card.text) else length(d20_array(input))-1} - rolls_start_b := { - if styling.d20_dividers_back == "all breaks +3" then 4 - else if styling.d20_dividers_back == "all breaks +2" then 3 - else if styling.d20_dividers_back == "all breaks +1" then 2 - else if styling.d20_dividers_back == "all breaks" then 0 - else if back_d20() then length(d20_array(input).0) - else 0 - } - top_of_para_b := { - input := input + no_roll_b(card.text_2) - if card_style.text_2.layout.paragraphs[input].top or else 0 > 0 then - card_style.text_2.top + card_style.text_2.layout.paragraphs[input].top - 0.5*(card_style.text_2.layout.paragraphs[input].top-card_style.text_2.layout.paragraphs[input-1].bottom) - else 0 - } - height_of_para_b := { - input := input + no_roll_b(card.text_2) - if card_style.text_2.layout.paragraphs[input].bottom or else 0 > 0 then - card_style.text_2.layout.paragraphs[input].bottom + 1.3*(card_style.text_2.layout.paragraphs[input].top-card_style.text_2.layout.paragraphs[input-1].bottom) - card_style.text_2.layout.paragraphs[input].top - else 0 - } - no_roll_b := {if styling.d20_dividers_back == "all breaks" then 1 else if rolls_start_b(input) == 0 then 1 else 0} - - ##### class stuff - alt_text := {is_class()} - alt_text_script := { - combined_editor(field1: card.chapter_text, separator1:"\n", field2: card.level_1_text, separator2: "\n", field3: card.level_2_text, separator3: "\n", field4: card.level_3_text, separator4: "\n", field5: card.level_4_text) - } - lev0 := { - if card_style.text.layout.separator[0] or else 0 > 0 then card_style.text.top+card_style.text.layout.separator[0]-1 else 600 - } - lev2 := { - if card_style.text.layout.separator[1] or else 0 > 0 then card_style.text.top+card_style.text.layout.separator[1]-13 else 600 - } - lev3 := { - if card_style.text.layout.separator[2] or else 0 > 0 then card_style.text.top+card_style.text.layout.separator[2]-13 else 600 - } - lev4 := { - if card_style.text.layout.separator[3] or else 0 > 0 then card_style.text.top+card_style.text.layout.separator[3]-13 else 600 - } - alt_textb := {back_class()} - alt_text_scriptb := { - combined_editor(field1: card.chapter_text_2, separator1:"\n", field2: card.level_5_text, separator2: "\n", field3: card.level_6_text, separator3: "\n", field4: card.level_7_text, separator4: "\n", field5: card.level_8_text) - } - lev0b := { - if card_style.text_2.layout.separator[0] or else 0 > 0 then card_style.text_2.top+card_style.text_2.layout.separator[0]-1 else 600 - } - lev2b := { - if card_style.text_2.layout.separator[1] or else 0 > 0 then card_style.text_2.top+card_style.text_2.layout.separator[1]-13 else 600 - } - lev3b := { - if card_style.text_2.layout.separator[2] or else 0 > 0 then card_style.text_2.top+card_style.text_2.layout.separator[2]-13 else 600 - } - lev4b := { - if card_style.text_2.layout.separator[3] or else 0 > 0 then card_style.text_2.top+card_style.text_2.layout.separator[3]-13 else 600 - } - - - ##### mainframe stuff - shrink_type := {if styling.shrink_typeline_text != "" then to_number(styling.shrink_typeline_text) else 0 } - shrink_name := {if styling.shrink_name_text != "" then to_number(styling.shrink_name_text) else 0 } - shrink_type2 := {if styling.shrink_back_typeline_text != "" then to_number(styling.shrink_back_typeline_text) else 0 } - shrink_name2 := {if styling.shrink_back_name_text != "" then to_number(styling.shrink_back_name_text) else 0 } - is_flagged := {chosen(styling.other_options, choice: "use doublecast flags") } - use_main_rarity := { contains(set.mainframe_rarity_name, match: ".png")} - un_png := replace@(match:".png", replace: "") - ancestral_mana := { chosen(styling.other_options, choice:"ancestral generic mana")} - unindent := {chosen(styling.other_options, choice:"unindent nonloyalty abilities")} - - ###### future - is_shifted := {false} - back_shifted := {false} - - special_text := { - if contains(styling.front_style, match:"saga") then ( - card.chapter_text - +(if card.level_1_text != "" then "\n" + end_leader(level_leader(1)) + card.level_1_text else "") - +(if card.level_2_text != "" then "\n" + end_leader(level_leader(2)) + card.level_2_text else "") - +(if card.level_3_text != "" then "\n" + end_leader(level_leader(3)) + card.level_3_text else "") - +(if card.level_4_text != "" then "\n" + end_leader(level_leader(4)) + card.level_4_text else "") - ) - else if is_class() then ( - card.chapter_text - +(if card.level_1_text != "" then "\n" + card.level_1_text) - +(if card.level_2_text != "" then "\n" + card.level_9_text + (if card.level_2 == "" then " Level 2" else " " + card.level_2) + "\n" + card.level_2_text) - +(if card.level_3_text != "" then "\n" + card.level_10_text + (if card.level_3 == "" then " Level 3" else " " + card.level_3) + "\n" + card.level_3_text) - +(if card.level_4_text != "" then "\n" + card.level_11_text + (if card.level_4 == "" then " Level 4" else " " + card.level_4) + "\n" + card.level_4_text) - ) - else if is_leveler() then ( - (if card.level_0 != "" then "[" + level_label(0) + " " + card.level_0 + "] " else "") + card.level_1_text + (if card.pt != "" then " [" + card.pt + "]" else "") + "\n" - + (if card.level_1 != "" then "[" + level_label(1) + " " + card.level_1 + "] " else "") + card.level_2_text + (if card.pt_2 != "" then " [" + card.pt_2 + "]" else "") + "\n" - + (if card.level_2 != "" then "[" + level_label(2) + " " + card.level_2 + "] " else "") + card.level_3_text + (if card.pt_3 != "" then " [" + card.pt_3 + "]" else "") + (if card.level_4_text != "" then "\n" else "") - + (if card.level_3 != "" then "[" + level_label(3) + " " + card.level_3 + "] " else "") + card.level_4_text + (if card.pt_7 != "" then " [" + card.pt_7 + "]" else "") - ) - else if is_mutate() then card.level_1_text + "\n" + card.text - else if not contains(styling.front_style, match:"planeswalker") then "" else - (if card.loyalty_cost_1 != "" then "[" + card.loyalty_cost_1 + "]: " else "") +(if card.level_1_text != "" and card.level_1_text != card.rule_text then card.level_1_text+"\n" else split_text(match:"\n", card.rule_text).0+"\n") - + ( if card.loyalty_cost_2 != "" then "[" + card.loyalty_cost_2 + "]" + ": " else "") +(if card.level_2_text != "" then card.level_2_text+"\n" else if contains(paragraph_count(card.rule_text), match:"~") then split_text(match:"\n", card.rule_text).1+"\n" else "") - + ( if card.loyalty_cost_3 != "" then "[" + card.loyalty_cost_3 + "]" + ": " else "") +(if card.level_3_text != "" then card.level_3_text else if contains(paragraph_count(card.rule_text), match:"~~") then split_text(match:"\n", card.rule_text).2 else "") - + (if has_four_abilities() then "\n" + ( if card.loyalty_cost_4 != "" then "[" + card.loyalty_cost_4 + "]" + ": " else "") +(if card.level_4_text != "" then card.level_4_text else if contains(paragraph_count(card.rule_text), match:"~~~") then split_text(match:"\n", card.rule_text).3 else "") else "") - } - special_text2 := { - if back_saga() then ( - card.chapter_text_2 - +(if card.level_5_text != "" then "\n" + end_leader(level_leader2(1)) + card.level_5_text else "") - +(if card.level_6_text != "" then "\n" + end_leader(level_leader2(2)) + card.level_6_text else "") - +(if card.level_7_text != "" then "\n" + end_leader(level_leader2(3)) + card.level_7_text else "") - +(if card.level_8_text != "" then "\n" + end_leader(level_leader2(4)) + card.level_8_text else "") - ) - else if back_class() then ( - card.chapter_text_2 - +(if card.level_5_text != "" then "\n" + card.level_5_text) - +(if card.level_6_text != "" then "\n" + card.level_12_text + (if card.level_6 == "" then " Level 2" else " " + card.level_6) + "\n" + card.level_6_text) - +(if card.level_7_text != "" then "\n" + card.level_13_text + (if card.level_7 == "" then " Level 3" else " " + card.level_7) + "\n" + card.level_7_text) - +(if card.level_8_text != "" then "\n" + card.level_14_text + (if card.level_8 == "" then " Level 4" else " " + card.level_8) + "\n" + card.level_8_text) - ) - else if back_leveler() then ( - (if card.level_5 != "" then "[" + level_label(4) + " " + card.level_5 + "] " else "") + card.level_5_text + (if card.pt_4 != "" then " [" + card.pt_4 + "]" else "") + "\n" - + (if card.level_6 != "" then "[" + level_label(5) + " " + card.level_6 + "] " else "") + card.level_6_text + (if card.pt_5 != "" then " [" + card.pt_5 + "]" else "") + "\n" - + (if card.level_7 != "" then "[" + level_label(6) + " " + card.level_7 + "] " else "") + card.level_7_text + (if card.pt_6 != "" then " [" + card.pt_6 + "]" else "") + (if card.level_8_text != "" then "\n" else "") - + (if card.level_8 != "" then "[" + level_label(7) + " " + card.level_8 + "] " else "") + card.level_8_text + (if card.pt_8 != "" then " [" + card.pt_8 + "]" else "") - ) - else if back_mutate() then card.level_5_text + "\n" + card.text_2 - else if not contains(styling.back_style, match:"planeswalker") then "" else - (if card.loyalty_cost_5 != "" then "[" + card.loyalty_cost_5 + "]: " else "") +(if card.level_5_text != "" and card.level_5_text != card.rule_text_2 then card.level_5_text+"\n" else split_text(match:"\n", card.rule_text_2).0+"\n") - + ( if card.loyalty_cost_6 != "" then "[" + card.loyalty_cost_6 + "]" + ": " else "") +(if card.level_6_text != "" then card.level_6_text+"\n" else if contains(paragraph_count(card.rule_text_2), match:"~") then split_text(match:"\n", card.rule_text_2).1+"\n" else "") - + ( if card.loyalty_cost_7 != "" then "[" + card.loyalty_cost_7 + "]" + ": " else "") +(if card.level_7_text != "" then card.level_7_text else if contains(paragraph_count(card.rule_text_2), match:"~~") then split_text(match:"\n", card.rule_text_2).2 else "") - + (if back_four_abilities() then "\n" + ( if card.loyalty_cost_8 != "" then "[" + card.loyalty_cost_8 + "]" + ": " else "") +(if card.level_8_text != "" then card.level_8_text else if contains(paragraph_count(card.rule_text_2), match:"~~~") then split_text(match:"\n", card.rule_text_2).3 else "") else "") - } - back_face := replace@(match:"([0-9])a", replace:"\\1b") - is_bumped := {not mainframe_walker() and (card.loyalty_cost_1 != "" or card.loyalty_cost_2 != "" or card.loyalty_cost_3 != "" or card.loyalty_cost_4 != "")} - back_bumped := {not mainframe_walkerb() and (card.loyalty_cost_5 != "" or card.loyalty_cost_6 != "" or card.loyalty_cost_7 != "" or card.loyalty_cost_8 != "")} - - is_modal_dfc := {styling.dfc_type != "transforming"} - auto_flags := {styling.dfc_type == "modal with standard flags"} - custom_watermark_a := {if styling.card_watermark == "" or not contains(styling.card_watermark, match:".png") then "/magic-watermarks.mse-include/planeswalker.png" else "/magic-watermarks.mse-include/" + styling.card_watermark} - custom_watermark_b := {if styling.card_watermark_2 == "" or not contains(styling.card_watermark_2, match:".png") then "/magic-watermarks.mse-include/planeswalker.png" else "/magic-watermarks.mse-include/" + styling.card_watermark_2} - shown_cr := {if set.automatic_copyright then set.copyright != "" else card.copyright != ""} - + center_map := {is_map() and (card.casting_cost == "" or chosen(styling.other_options, choice:"always center map names"))} + use_evobar := {chosen(styling.other_options, choice:"pokemon evobar")} # alternate rarity color alt_rarity := {styling.alt_rarity_color} + is_skinned := {chosen(styling.other_options, choice:"godzilla style alias")} + use_vorthos := {((not is_leveler() or lone_pt()) and card.pt != "") or chosen(styling.other_options, choice:"vorthos box")} + clear_tops := {chosen(styling.other_options, choice:"clear tops") and not is_puma()} + is_tarot := {chosen(styling.other_options, choice:"text watermarks")} + pure_snow := {is_snow() and not is_fnm() and not is_inverted() and not is_full_art() and not is_leveler() and not is_shifted()} + chop_top := {if styling.chop_top == "" then 0 else if comma_count(styling.chop_top) == "," or comma_count(styling.chop_top) == ",," then split_text(match:",", styling.chop_top).0 else styling.chop_top} + chop_bot := {if comma_count(styling.chop_top) == ",," then split_text(match:",", styling.chop_top).1 else if styling.chop_bottom == "" then 0 else styling.chop_bottom} + top_of_textbox := {(if is_map() then 340 else if is_full_art() then 359 else if is_mutate() then 395 else 327) - (-chop_top()) + body_font_vertical()} + bottom_of_textbox := {(if is_map() then 475 else 481) - chop_bot() } + + is_leveler := {chosen(styling.frames, choice:"leveler")} + box_leveler := {styling.level_containers == "pt boxes"} + loy_leveler := {styling.level_containers == "loyalty boxes"} + aug_leveler := {box_leveler() and center_label(input)} + level_label := {if styling.level_label == "" then "level" else pull_comma_array(styling.level_label, end:false, cell:input, default:styling.level_label)} + center_label := {loy_leveler() or level_label(input) == " "} + lv_1_height := {lv_2_coordinate()} + lv_2_coordinate := {max(min(52 + to_number(pull_comma_array(styling.level_offset, cell:0))+(if is_full_art() then 20 else if is_mutate() then 12 else nil),152), 0)} + lv_3_coordinate := {max(min(101 + to_number(pull_comma_array(styling.level_offset, cell:1)+(if is_full_art() then 10 else if is_mutate() then 12 else nil)),152), lv_2_coordinate())} + lv_4_coordinate := {max(min(152 + to_number(pull_comma_array(styling.level_offset, cell:2)+(if is_full_art() then 10 else if is_mutate() then 12 else nil)),152), lv_3_coordinate())} + lv_2_height := {lv_3_coordinate() - lv_2_coordinate()} + lv_3_height := {lv_4_coordinate()-lv_3_coordinate()} + lv_4_height := {152-lv_4_coordinate()} + l1_center := {327 + (if is_full_art() then 16 else 0) + 0.5*lv_1_height()} + l2_center := {327 + lv_2_coordinate() + 0.5*lv_2_height()} + l3_center := {327 + lv_3_coordinate() + 0.5*lv_3_height()} + l4_center := {327 + lv_4_coordinate() + 0.5*lv_4_height()} + overlay1 := {if is_d20() then "d20slice.png" else slice_crop(background_slide(), height: lv_2_height(), width:314, distance:(152-lv_2_coordinate()))} + overlay2 := {if is_d20() then "d20slice.png" else slice_crop(background_slide_2(), height: lv_3_height(), width:314, distance:lv_3_height())} + overlay3 := {if is_d20() then "d20slice.png" else slice_crop(background_slide_3(), height: lv_4_height(), width:314, distance:lv_4_height())} + mask_height := {if input == "one" then lv_1_height() else if input == "two" then lv_2_height() else if input == "three" then lv_3_height() else if input == "four" then lv_4_height() else 0} + lone_pt := {chosen(styling.other_options, choice:"regular pt on levelers") and not starting_loyalty()} + starting_loyalty := {chosen(styling.other_options, choice:"use starting loyalty")} + choose_ptbox := {if is_fnm() then fnm_ptbox() else if is_inverted() then inverted_ptbox() else card_ptbox()} + lv_2_ptbox := { if is_vehicle() then "vpt.png" else if is_clear() then "cpt.png" else if is_fnm() then fnm_ptbox() else if is_inverted() then inverted_ptbox() else leveler_ptbox2() } + lv_3_ptbox := { if is_vehicle() then "vpt.png" else if is_clear() then "cpt.png" else if is_fnm() then fnm_ptbox() else if is_inverted() then inverted_ptbox() else leveler_ptbox3() } + lv_4_ptbox := { if is_vehicle() then "vpt.png" else if is_clear() then "cpt.png" else if is_fnm() then fnm_ptbox() else if is_inverted() then inverted_ptbox() else color_background(type:"pt", base_hybrid:leveler_pt_hybrid3) } + arrow_left := {if box_leveler() then -3 else if loy_leveler() then 10 else 18} + arrow_width := {if box_leveler() then 84 else if loy_leveler() then 42 else 56} + arrow_height := {if aug_leveler(input) then 42 else if box_leveler() then 50 else if loy_leveler() then 40 else 40} + arrow_offset := { + to_number(pull_comma_array(styling.arrow_or_bullet_offsets, cell:input, end: 0)) + + (if box_leveler() then -5 else 0) + + (if aug_leveler(input) then 4 else 0) + } + custom_watermark_a := {if styling.card_watermark == "" or not contains(styling.card_watermark, match:".png") then "/magic-watermarks.mse-include/planeswalker.png" else "/magic-watermarks.mse-include/" + styling.card_watermark} + special_text := {if is_leveler() then ((if card.level_0 != "" then "[" + level_label(0) + " " + card.level_0 + "] " else "") + card.level_1_text + (if card.pt != "" then " [" + card.pt + "]" else "") + "\n" + + (if card.level_1 != "" then "[" + level_label(1) + " " + card.level_1 + "] " else "") + card.level_2_text + (if card.pt_2 != "" then " [" + card.pt_2 + "]" else "") + "\n" + + (if card.level_2 != "" then "[" + level_label(2) + " " + card.level_2 + "] " else "") + card.level_3_text + (if card.pt_3 != "" then " [" + card.pt_3 + "]" else "") + (if card.level_4_text != "" then "\n" else "") + + (if card.level_3 != "" then "[" + level_label(3) + " " + card.level_3 + "] " else "") + card.level_4_text + (if card.pt_7 != "" then " [" + card.pt_7 + "]" else "") + ) else if is_mutate() then + card.level_1_text + "\n" + card.rule_text + else "" + } + shown_cr := {if set.automatic_copyright then set.copyright != "" else card.copyright != ""} + card_shape := {if is_leveler() then "leveler" else "normal"} + + white_text := {is_full_art() or is_fnm() or is_inverted()} + + rare_width := { + cw := card_style.rarity.content_width + cw := if cw > 44 then (if set.print_fix != "" then set.print_fix else 22) else if cw < 22 then 22 else cw + if card_style.rarity.width == 0 then 0 else cw + } + + ### Customize fonts + swap_font := {styling.apply_custom_fonts} + name_font := { + swap_font_name( + src:styling.custom_name_font, + font_name: if is_map() then "Beleren Small Caps" else "Beleren Bold" + ) + } + name_font_size := { + swap_font_size( + src:styling.custom_name_font, + font_size: if is_map() then 14.8 else 16 + ) - shrink_name() + } + name_font_color := { + swap_font_color( + src: styling.custom_name_font, + font_color: if is_shifted() or is_fnm() or is_inverted() then "white" else "black" + ) + } + name_font_vertical := { + swap_font_vertical( + src: styling.custom_name_font + ) + } + name_font_italic := { + swap_font_italic( + src: styling.custom_name_font + ) + } + + type_font := { + swap_font_name( + src:styling.custom_type_font, + font_name: "Beleren Bold" + ) + } + type_font_size := { + swap_font_size( + src:styling.custom_type_font, + font_size: if is_map() then 12 else 13 + ) - shrink_type() + } + type_font_color := { + swap_font_color( + src: styling.custom_type_font, + font_color: if is_full_art() or is_puma() or is_shifted() or is_fnm() or is_inverted() then "white" else "black" + ) + } + type_font_vertical := { + swap_font_vertical( + src: styling.custom_type_font + ) + } + type_font_italic := { + swap_font_italic( + src: styling.custom_type_font + ) + } + + body_font := { + swap_font_name( + src:styling.custom_body_font, + font_name: "MPlantin" + ) + } + body_font_size := { + swap_font_size( + src:styling.custom_body_font, + font_size: if styling.font_cap != "" then to_number(styling.font_cap) else if is_mutate() then 12 else 14 + ) + } + body_font_color := { + swap_font_color( + src: styling.custom_body_font, + font_color: if is_full_art() or is_fnm() or is_inverted() then "white" else "black" + ) + } + body_font_vertical := { + swap_font_vertical( + src: styling.custom_body_font + ) + } + body_font_italic := { + swap_font_italic( + src: styling.custom_body_font, + font_name: "MPlantin-Italic" + ) + } + + pt_font := { + swap_font_name( + src:styling.custom_pt_font, + font_name: "Beleren Bold" + ) + } + loyalty_font_size := { + swap_font_size( + src:styling.custom_pt_font, + font_size: 14 + ) + } + loyalty_font_color := { + swap_font_color( + src: styling.custom_pt_font, + font_color: "white" + ) + } + pt_font_size := { + swap_font_size( + src:styling.custom_pt_font, + font_size: if is_map() then 14 else 16 + ) + } + pt_font_color := { + swap_font_color( + src: styling.custom_pt_font, + font_color: if is_shifted() or is_fnm() or is_inverted() then "white" else if is_vehicle() and (not is_legend() or chosen(styling.other_options, choice:"brown legendary vehicle pt")) then "white" else "black" + ) + } + pt_font_vertical := { + swap_font_vertical( + src: styling.custom_pt_font + ) + } + pt_font_italic := { + swap_font_italic( + src: styling.custom_pt_font + ) + } + + use_flash_dot := {false} ############################################################## Set info fields set info style: symbol: @@ -765,245 +406,64 @@ set info style: fill type: solid fill color: rgb(255,255,255) border color: rgb(0,0,0) +set info style: + symbol: + variation: + name: special + border radius: 0.10 + fill type: solid + fill color: rgb(155,155,155) + border color: rgb(0,0,0) ############################################################## Extra style options +styling field: + type: text + name: chop top + description: Shrinks the textbox X pixels from the top OR shrinks "top,bottom," +styling field: + type: text + name: chop bottom + description: Shrinks the textbox X pixels from the bottom. +styling field: + type: text + name: shrink name text + description: Reduces the name text N points. +styling field: + type: text + name: shrink typeline text + description: Reduces the typeline text N points. +styling field: + type: multiple choice + name: frames + description: Use these frames. Higher level frames may override lower levels. + choice: lesson + choice: map + choice: devoid + choice: clear + choice: borderless art + choice: frameless art + choice: fullart + choice: puma + choice: mutate + choice: fnm promo + choice: inverted + choice: planeshifted + choice: legend + choice: season + choice: conspiracy + choice: draft matters + choice: miracle + choice: vehicle + choice: nyx + choice: leveler + choice: snow styling field: type: text name: popout image style description: The styling instructions for the popout image field, formatted as "left,top,width,height,". The text MUST end with a comma. -styling field: - type: choice - name: dfc type - choice: transforming - choice: modal with standard flags - choice: modal with custom flags -styling field: - type: choice - name: front style - choice: normal - choice: auto-sizing planeswalker - choice: 4 ability planeswalker - choice: 3 ability planeswalker - choice: 2 ability planeswalker - choice: 1 ability planeswalker - choice: 2 box saga - choice: 3 box saga - choice: 4 box saga - choice: class - choice: leveler - choice: miracle - choice: nyx - choice: vehicle - choice: snow - choice: map - initial: normal - description: Choose the style for the front face -styling field: - type: choice - name: defaults - choice: Click here for default coordinate information - choice: 2 ability walker stripes - "48," - choice: 3 ability walker stripes - "27,80," - choice: 4 ability walker stripes - "21,69,119," - choice: 2 box saga stripes - "296," - choice: 3 box saga stripes - "249,343," - choice: 4 box saga stripes - "225,296,367" - choice: 2 box saga chapters - "183,223,329," - choice: 3 box saga chapters - "185,279,373," - choice: saga chapters use the "move loyalty costs" options - choice: to add chapters 4-6, add their coordinates at the end, ie "183,223,329,369," - choice: leveler stripes - "0,0," - choice: leveler arrows use the "move loyalty costs" options - choice: for loyalty costs, saga chapters, leveler arrows and stripes, use -N to move up styling field: type: text - name: stripe coordinate - description: Overrides the coordinates for the ability stripes. Defaults are "48," and "27,80," and "21,69,119,". The text MUST end with a , -styling field: - type: text - name: move loyalty costs - description: Moves loyalty costs up the specified amount. Use negative to move down. Formatted as "1,2,3,4," MUST end with a comma. -styling field: - type: text - name: snap chapter to box - description: Sets the chapter symbols to the given textbox, fo example "1,1,2," for I, II - Ability 1; III - Ability 2 -styling field: - type: text - name: front font cap - description: Use to standardize the font size of separated abilities. Default is size 14. -styling field: - type: text - name: shrink name text - description: reduces the name text N points. -styling field: - type: text - name: shrink typeline text - description: reduces the typeline text N points. -styling field: - type: text - name: level 1 chop - description: Changes the start/stop points of the first textbox. Use negative to move down. Formatted as "1,2," MUST end with a comma. -styling field: - type: text - name: level 2 chop - description: Changes the start/stop points of the second textbox. Use negative to move down. Formatted as "1,2," MUST end with a comma. -styling field: - type: text - name: level 3 chop - description: Changes the start/stop points of the third textbox. Use negative to move down. Formatted as "1,2," MUST end with a comma. -styling field: - type: text - name: level 4 chop - description: Changes the start/stop points of the fourth textbox. Use negative to move down. Formatted as "1,2," MUST end with a comma. -styling field: - type: choice - name: d20 dividers - choice: d20 mode - choice: off - choice: all breaks - choice: all breaks +1 - choice: all breaks +2 - choice: all breaks +3 - description: Do dice levels normally, off, on all linebreaks, on all but the first linebreak, etc. -styling field: - type: choice - name: back style - choice: normal - choice: auto-sizing planeswalker - choice: 4 ability planeswalker - choice: 3 ability planeswalker - choice: 2 ability planeswalker - choice: 1 ability planeswalker - choice: 2 box saga - choice: 3 box saga - choice: 4 box saga - choice: class - choice: leveler - choice: miracle - choice: nyx - choice: vehicle - choice: snow - choice: map - initial: normal - description: Choose the style for the back face -styling field: - type: text - name: back stripe coordinate - description: Overrides the coordinates for the backface ability stripes. Defaults are "48," and "27,80," and "21,69,119,". The text MUST end with a , -styling field: - type: text - name: move back loyalty costs - description: Moves loyalty costs of the back face up the specified amount. Use negative to move down. Formatted as "1,2,3,4," MUST end with a comma. -styling field: - type: text - name: snap chapter to back box - description: Sets the chapter symbols to the given textbox, fo example "1,1,2," for I, II - Ability 1; III - Ability 2 -styling field: - type: text - name: back font cap - description: Use to standardize the font size of separated abilities of the back face. Default is size 14. -styling field: - type: text - name: shrink back name text - description: reduces the name text N points. -styling field: - type: text - name: shrink back typeline text - description: reduces the typeline text N points. -styling field: - type: text - name: level 5 chop - description: Changes the start/stop points of the first textbox of the back face. Use negative to move down. Formatted as "1,2," MUST end with a comma. -styling field: - type: text - name: level 6 chop - description: Changes the start/stop points of the second textbox of the back face. Use negative to move down. Formatted as "1,2," MUST end with a comma. -styling field: - type: text - name: level 7 chop - description: Changes the start/stop points of the third textbox of the back face. Use negative to move down. Formatted as "1,2," MUST end with a comma. -styling field: - type: text - name: level 8 chop - description: Changes the start/stop points of the fourth textbox of the back face. Use negative to move down. Formatted as "1,2," MUST end with a comma. -styling field: - type: choice - name: d20 dividers back - choice: d20 mode - choice: off - choice: all breaks - choice: all breaks +1 - choice: all breaks +2 - choice: all breaks +3 - description: Do dice levels normally, off, on all linebreaks, on all but the first linebreak, etc. -styling field: - type: text - name: opacity - description: set opacity for planeswalkers, from 0 to 255. Formatted as Front,Back, -styling field: - type: text - name: custom mask - description: Uses a custom mask from data/magic-mainframe-extras.mse-include -styling field: - type: text - name: custom mask 2 - description: Uses a custom mask from data/magic-mainframe-extras.mse-include -styling field: - type: text - name: custom symbol one - description: Uses a custom DFC symbol from data/magic-mainframe-extras.mse-include -styling field: - type: text - name: custom symbol two - description: Uses a custom DFC symbol from data/magic-mainframe-extras.mse-include -styling field: - type: multiple choice - name: other options - description: Additional options - choice: normal back face - choice: vorthos box - choice: pride pinlines - choice: promo - choice: mythic edition - choice: prerelease stamps - choice: remove from autocount - choice: use hovering pt - choice: use hovering loyalty - choice: use holofoil stamps - choice: center front - choice: center back - choice: center first name - choice: center second name - choice: right align - choice: clear front - choice: clear back - choice: nyx front - choice: nyx back - choice: vehicle front - choice: vehicle back - choice: snow front - choice: snow back - choice: legendary front - choice: legendary back - choice: meld back - choice: front color indicator - choice: back color indicator - choice: front mutate - choice: back mutate - choice: wider planeswalker images - choice: force fourwalker front - choice: force fourwalker back - choice: regular pt on levelers - choice: ancestral generic mana - choice: unindent nonloyalty abilities - choice: auto nyx crowns - choice: godzilla style alias - choice: pokemon evobar - choice: automate type frames - initial: use hovering pt, use holofoil stamps, back color indicator, unindent nonloyalty abilities, auto nyx crowns, automate type frames -styling field: - type: text - name: alternate saga reminder - description: Change the reminder text that is generated for new cards + name: custom symbol + description: Uses a custom Lesson symbol from data/magic-mainframe-extras.mse-include styling field: type: choice name: legend crown @@ -1017,25 +477,53 @@ styling field: name: custom crown location description: location of custom legend crown images in magic-mainframe-extras styling field: - type: text - name: custom chapter location - description: The location of the custom chapter symbol inside magic-mainframe-extras + type: multiple choice + name: other options + description: Other frame options + choice: prerelease stamp + choice: brown legendary vehicle pt + choice: godzilla style alias + choice: pokemon evobar + choice: ancestral generic mana + choice: override-style text + choice: always center map names + choice: use starting loyalty + choice: regular pt on levelers + choice: auto vehicles + choice: auto snow + choice: auto nyx crowns + choice: text watermarks + choice: clear tops + choice: vorthos box + choice: pride pinlines + choice: inverted d20 + initial: auto nyx crowns, auto vehicles, auto snow styling field: type: text - name: custom chapter coordinate - description: Set the custom symbol at the given heights, formatted as Front,Back, + name: font cap + description: Caps the font size of all text boxes to allow consistent sizes. Default is 14. +styling field: + type: choice + name: d20 dividers + choice: d20 mode + choice: off + choice: all breaks + choice: all breaks +1 + choice: all breaks +2 + choice: all breaks +3 + description: Do dice levels normally, off, on all linebreaks, on all but the first linebreak, etc. styling field: type: text - name: custom chapter name - description: Set how this symbol will be called in text exports (ie I, II...). Default is C. + name: arrow or bullet offsets + description: Formatted as 1,2,3,. Move the level arrow down X pixels. Use negative to move up. styling field: type: text - name: replacement chapter location - description: location of replacement chapter symbols in magic-mainframe-extras, formatted as "folder/" + name: level offset + description: Formatted as 1,2,3,. Move the level boxes down X pixels. Use negative to move up. For 4 equal levels, use -14,-25,-38, styling field: type: text name: level label - description: Change the level label. default is "LEVEL". Secondary lables can be added after a comma, "1,2,3,4,5,6," + description: Change the level label. default is "LEVEL". Secondary lables can be added after a comma, "1,2,3," styling field: type: choice name: level containers @@ -1043,32 +531,72 @@ styling field: choice: pt boxes choice: loyalty boxes styling field: - type: choice - name: level containers 2 - choice: arrows - choice: pt boxes - choice: loyalty boxes + type: boolean + name: use holofoil stamps + description: Change to no to disable rare holofoil stamps +styling field: + type: boolean + name: color indicator dot + description: Use the color indicator dot + initial: no styling field: type: text name: card watermark description: Filename in magic-watermarks to use for standalone card watermark -styling field: - type: text - name: card watermark 2 - description: Filename in magic-watermarks to use for standalone card watermark styling field: type: text name: alt rarity color description: Use a custom color for the rarity symbol. Formatted as "R1,G1,B1:R2,G2,B2:...:X:" 1 and 2 are fill color, 3 and 4 border color, X is border thickness. For example, rare is 214,196,94:95,84,40:0,0,0:0,0,0:0.07 styling field: type: boolean - name: grey hybrid name - description: Use a grey background for the name and type line on hybrid cards. This is done on real cards. + name: apply custom fonts + description: Enable to attempt to use custom fonts given below + initial: no +styling field: + type: text + name: custom name font + description: Formatted as "font name;font size;font color;vertical offset;italic font name" last 4 are optional. color can be a name or R,G,B,A numbers. +styling field: + type: text + name: custom type font + description: Formatted as "font name;font size;font color;vertical offset;italic font name" last 4 are optional. color can be a name or R,G,B,A numbers. +styling field: + type: text + name: custom body font + description: Formatted as "font name;font size;font color;vertical offset;italic font name" last 4 are optional. color can be a name or R,G,B,A numbers. +styling field: + type: text + name: custom pt font + description: Formatted as "font name;font size;font color;vertical offset;italic font name" last 4 are optional. color can be a name or R,G,B,A numbers. +styling field: + type: choice + name: hybrid name + choice: grey + choice: gold + choice: hybrid + description: Use a grey background for the name and type line on hybrid cards like real cards, or gold or hybrid instead. +styling field: + type: boolean + name: remove from autocount + description: Removes the automatic card number for specific cards, to allow for overcounted cards like in Planeswalker Decks. + initial: no +styling field: + type: boolean + name: colored multicolor land name + description: Use a colored background for the name and type on multicolor land cards with a basic land type. This is done on real cards. styling field: type: boolean name: use guild mana symbols description: Use the Ravnica guild symbols instead of the official half/half circles for hybrid mana. initial: no +styling field: + type: choice + name: tap symbol + description: What tap and untap symbols should be used on cards? + initial: modern + choice: modern + choice: old + choice: diagonal T styling field: type: package choice name: text box mana symbols @@ -1081,12 +609,18 @@ styling field: initial: magic-mana-large.mse-symbol-font styling field: type: choice - name: tap symbol - description: What tap and untap symbols should be used on cards? - initial: modern - choice: modern - choice: old - choice: diagonal T + name: center text + description: When to center text (short text only means only on one-line cards with no flavor text) + choice: always + choice: short text only + choice: never + choice: right align + initial: never +styling field: + type: boolean + name: promo + description: Is this card a promo card, with the "P" rarity? + initial: no styling field: type: boolean name: inverted common symbol @@ -1109,10 +643,19 @@ styling style: modern: /magic-mana-large.mse-symbol-font/mana_t.png old: /magic-mana-large.mse-symbol-font/mana_t_old.png diagonal T: /magic-mana-large.mse-symbol-font/mana_t_older.png + center text: + render style: both + choice images: + always: /magic.mse-game/icons/center-all-text.png + short text only: /magic.mse-game/icons/center-short-text.png + never: /magic.mse-game/icons/center-no-text.png inverted common symbol: choice images: no: { symbol_variation(symbol: set.symbol, variation: "common") } yes: { symbol_variation(symbol: set.symbol, variation: "invertedcommon") } + frames: + render style: checklist + direction: vertical other options: render style: checklist direction: vertical @@ -1122,15 +665,15 @@ card style: border color: left: 0 top : 0 - width: { if is_full() then 0 else 752} - height: {if is_full() then 0 else 523} + width: {if is_borderless() then 0 else 375} + height: 523 radius: 18 left width: 17 right width: 17 top width: 17 bottom width: 18 z index: 4 - mask: {"border_mask_" + (if is_legend() then "l" else "n") + (if back_legend() then "l" else "n") + (if card.border_color == rgb(200,200,200) then "_silver") + ".png"} + mask: { (if is_puma() then "puma_" else "") + (if is_legend() then "crown_border" else "border_mask") + (if card.border_color == rgb(200,200,200) then "_silver" else "") + ".png" } card color: left: 0 top: 0 @@ -1139,71 +682,59 @@ card style: z index: 0 render style: image popup style: in place - image: { if front_clear() or is_map() or mainframe_walker() then "" else if is_saga() or is_class() then saga_background() else if is_modal_dfc() then unnotched_background() else card_background() } - card color 2: - left: 377 - top: 0 - width: 375 - height: 523 - z index: 0 - render style: image - popup style: in place - image: { if back_clear() or back_map() or mainframe_walkerb() then "" else if back_saga() or back_class() then saga_background() else if chosen(styling.other_options, choice:"normal back face") then unnotched_background() else card_background2() } + image: { if is_clear() or clear_tops() then "" else if is_fnm() then fnm_background() else if is_inverted() then inverted_background() else if is_full_art() then promo_background() else if pure_snow() then snow_background() else card_background() } ############################# Name line name: - left: { if is_map() then 65 else if is_normal() then 58 else 62 } - top: { if is_map() then 27 else if is_normal() then 30 else if front_clear() then 22 else 22 } - right: { (if is_map() then 344 else 339) - card_style.casting_cost.content_width } - height: {23 - (0.5 * shrink_name())} - alignment: { if chosen(styling.other_options, choice:"center first name") then "bottom center" else "bottom shrink-overflow"} + left: { if center_map() then 55 else if is_map() then (if use_node() then 65 else 60) else if use_node() then 58 else if card.card_symbol=="none" then 32 else 50 } + top: { (if is_map() then 27 else if is_devoid() then 30 else if is_clear() or clear_tops() then 31 else 30)+ name_font_vertical() } + right: { if center_map() then 320 else (if is_map() then 320 else 341) - card_style.casting_cost.content_width } + height: { 23 - (0.5 * shrink_name()) } + alignment: {if center_map() then "center bottom shrink-overflow" else "left bottom shrink-overflow" } + padding bottom: 0 + z index: 2 + font: + font: + name: { name_font() } + italic name: { name_font_italic() } + size: { name_font_size() } + color: { name_font_color() } + shadow color: {if is_shifted() or is_fnm() then rgb(0,0,0) else rgba(0,0,0,0)} + shadow displacement x: -1 + shadow displacement y: 1 + alias: + left: {if is_skinned() then 45 else if is_map() then 15 else 33} + top: {if is_map() then 58 else 53} + width: {if is_skinned() then 285 else if use_evobar() then max(100, card_style.alias.content_width) else 0} + height: 20 + alignment: { (if is_skinned() then "center" else "") + "bottom shrink-overflow"} padding bottom: 0 z index: 3 font: - name: { if is_map() then "Beleren Small Caps" else "Beleren Bold"} - size: { if is_map() then 14.8 - shrink_name() else 16 - shrink_name() } - color: black - name 2: - left: { if back_map() then 442 else if back_normal() then 435 else 439 } - top: { (if back_map() then 27 else if back_normal() then 30 else if back_clear() then 22 else 22) - 0.5*shrink_name2() } - right: { (if back_map() then 719 else 714) - card_style.casting_cost_2.content_width } - height: {23 - (0.5 * shrink_name2())} - alignment: { if chosen(styling.other_options, choice:"center second name") then "bottom center" else "bottom shrink-overflow"} - padding bottom: 0 - z index: 3 - font: - name: { if back_map() then "Beleren Small Caps" else "Beleren Bold"} - size: { if back_map() then 14.8 - shrink_name2() else 16 - shrink_name2()} - color: { if chosen(styling.other_options, choice:"normal back face") or back_map() or back_clear() or back_saga() or back_class() then "black" else "white" } + name: {if use_evobar() then "Matrix" else "MPlantin-Italic"} + size: {if use_evobar() then 10 else 9} + style: {if use_evobar() then "italic" else "bold"} + weight: {if use_evobar() then "italic" else "bold"} + color: {if use_evobar() then "black" else "white"} casting cost: - right: 347 - top: { if is_normal() then 29 else 21 } + right: { if is_map() then 327 else 346} + top: { if is_map() then 27 else 29} width: { max(30, card_style.casting_cost.content_width) + 5 } height: 23 alignment: middle right + font: + name: MPlantin + size: { if is_map() then 14 else 15} symbol font: name: magic-mana-large - size: 15 + size: { if is_map() then 14 else 15} alignment: middle right always symbol: true - z index: 4 - padding top: 0 - casting cost 2: - right: 722 - top: { if back_normal() then 29 else 21 } - width: { max(30, card_style.casting_cost_2.content_width) + 5 } - height: 23 - alignment: middle right - symbol font: - name: magic-mana-large - size: 15 - alignment: middle right - always symbol: true - z index: 4 + z index: 2 padding top: 0 card symbol: - left: {if card.card_symbol=="none" then 20 else 29} - top: 23 - height: 18 + left: {if card.card_symbol=="none" then 20 else 30} + top: 29 + height: 20 width: 14 z index: 1 render style: image @@ -1211,21 +742,13 @@ card style: tombstone: tombstone.png ############################# Image image: - left: { if is_class() then 28 else if is_saga() then 188 else if front_clear() or is_map() or is_full() then 0 else if is_mutate() then 22 else if is_normal() then 29 else if is_normal_size() then 25 else 15 } - top: { if is_saga() or is_class() then 59 else if is_map() then 57 else if front_clear() or is_full() then 0 else if is_normal() then 59 else if is_normal_size() then 52 else 15 } - width: { if is_saga() or is_class() then 157 else if front_clear() or is_map() or is_full() then 375 else if is_mutate() then 330 else if is_normal() then 316 else if is_normal_size() then 324 else 345 } - height: { if is_map() then 241 else if is_saga() or is_class() then 379 else if front_clear() or is_full() then 523 else if is_mutate() then 334 else if is_normal() then 231 else if is_normal_size() then 428 else 493 } + left: { if is_clear() or is_map() or is_expanded_art() or is_puma() then 0 else if is_full_art() then 23 else if clear_tops() then 15 else if is_mutate() then 22 else 29} + top: {if is_map() then 57 else if is_clear() or is_expanded_art() or clear_tops() then 0 else 59} + width: {if is_clear() or is_map() or is_expanded_art() or is_puma() then 375 else if is_full_art() then 328 else if clear_tops() then 345 else if is_mutate() then 330 else 316} + height: {if is_clear() or is_expanded_art() then 523 else if is_map() then 241 else if is_puma() then (if is_mutate() then 334 else 265) else if is_full_art() then 423 else if clear_tops() then 291 else if is_mutate() then 334 else 231} z index: 1 - mask: { mask_script() } default: {default_image(card.card_color)} - image 2: - left: { if back_class() then 405 else if back_saga() then 565 else if back_clear() or back_map() or is_full() then 377 else if back_mutate() then 399 else if back_normal() then 406 else if is_normal_size() then 402 else 392 } - top: { if back_saga() or back_class() then 59 else if back_map() then 57 else if back_clear() or is_full() then 0 else if back_normal() then 59 else if is_normal_size() then 52 else 15 } - width: { if back_saga() or back_class() then 157 else if back_clear() or back_map() or is_full() then 375 else if back_mutate() then 330 else if back_normal() then 316 else if is_normal_size() then 324 else 345 } - height: { if back_saga() or back_class() then 379 else if back_map() then 241 else if back_clear() or is_full() then 523 else if back_mutate() then 334 else if back_normal() then 231 else if is_normal_size() then 428 else 493 } - z index: 1 - mask: { back_mask_script() } - default: {default_image(card.card_color_2)} + mask: { if is_devoid() then "image_mask_devoid.png" else if is_clear() then "image_mask.png" else if is_thbland() then "cornermask.png" else if is_puma() then "puma_mask" + (if is_mutate() then "_mutate.png" else "3.png") else if is_expanded_art() then expanded_mask() else if is_full_art() then "promo/image_mask" + (if is_rare() and styling.use_holofoil_stamps then "_rare") + ".png" else if is_mutate() and not clear_tops() then "mutate_mask.png" else ""} mainframe image: left: {if comma_count(styling.popout_image_style) == ",,,," then split_text(match:",", styling.popout_image_style).0 else "0"} top: {if comma_count(styling.popout_image_style) == ",,,," then split_text(match:",", styling.popout_image_style).1 else "0"} @@ -1234,59 +757,37 @@ card style: z index: 8 ############################# Card type indicator: - left: { if is_map() then 18 else 31 } - top: { if is_saga() or is_class() then 449 else if is_map() then 298 else if has_four_abilities() then 265 else 300 } + left: { (if is_map() then 18 else if is_season() then 43 else 31) + (if is_clear() then 2 else 0) + (if use_flash_dot() then 3 else 0)} + top: { if is_clear() or is_map() then 298 else if is_thbland() then 449 else if is_full_art() then 332 else 300 } width: 17 height: 17 z index: 2 render style: image - visible: { has_identity()} + visible: { styling.color_indicator_dot } image: { card_identity() } - indicator 2: - left: { if back_map() then 395 else 408 } - top: { if back_saga() or back_class() then 449 else if back_map() then 298 else if back_four_abilities() then 265 else 300 } - width: 17 - height: 17 - z index: 2 - render style: image - visible: { has_identity2()} - image: { card_identity_2() } type: - left: { if is_map() then 85 else if has_identity() then "52" else "32" } - top: { (if is_map() then 297.5 else if is_saga() or is_class() then 444 else if has_four_abilities() then 261 else 296) + shrink_type() } - width: { if is_map() then 205 else (if has_identity() then "290" else "310") - rare_width() } - height: { if is_map() then 18 - shrink_type() else 20 - shrink_type() } + left: { if is_map() then 85 else (if use_flash_dot() then 3 else 0) + if is_season() then (if styling.color_indicator_dot then 64 else 44)+(if is_clear() then 4 else 0) else (if styling.color_indicator_dot then 52 else 32) + (if is_clear() then 4 else 0) } + top: { (if is_map() then 297.5 else if is_clear() then 294 else if is_thbland() then 444 else if is_full_art() then 329 else 296) + shrink_type() + type_font_vertical() } + width: { if is_map() then 205 else (if styling.color_indicator_dot then "290" else "310") - rare_width() - (if is_season() then 12 else 0) } + height: { (if is_map() then 18 else 20) - shrink_type() } alignment: { if is_map() then "center top shrink-overflow" else "top shrink-overflow"} - z index: 2 + z index: 5 padding top: 2 - padding bottom: { if is_map() then 4 else 0} - padding right: { if is_map() then 2 else 0} font: - name: Beleren Bold - size: { if is_map() then 12 - shrink_type() else 13 - shrink_type()} - color: black - separator color: red - type 2: - left: { if back_map() then 462 else if has_identity2() then "429" else "409" } - top: { (if back_map() then 297.5 else if back_saga() or back_class() then 444 else if back_four_abilities() then 261 else 296) + shrink_type2() } - width: { if back_map() then 205 else (if has_identity2() then "290" else "310") - rare_width() } - height: { if back_map() then 18 - shrink_type2() else 20 - shrink_type2()} - alignment: {if back_map() then "center top shrink-overflow" else "top shrink-overflow"} - z index: 2 - padding top: 2 - padding bottom: { if back_map() then 4 else 0} - padding right: { if back_map() then 2 else 0} - font: - name: Beleren Bold - size: { if back_map() then 12 - shrink_type2() else 13 - shrink_type2()} - color: { if back_clear() or back_map() or back_saga() or back_class() or chosen(styling.other_options, choice:"normal back face") then "black" else "white"} + name: { type_font() } + italic name: { type_font_italic() } + size: { type_font_size() } + color: { type_font_color() } + shadow color: {if is_full_art() or is_puma() or is_shifted() or is_fnm() then "black" else rgba(0,0,0,0)} + shadow displacement x: -1 + shadow displacement y: 1 separator color: red rarity: - right: { if is_map() then 199 else 344 } - top: { if is_saga() or is_class() then 445 else if is_map() then 53 else if is_normal() then 297 else if has_four_abilities() then 262 else 297 } + right: { if is_map() then 199 else if is_scrolls() then 334 else 344} + top: { if is_map() then 53 else if is_clear() then 295 else if is_thbland() then 445 else if is_full_art() then 329 else 297 } width: {if set.shorten_types_for_rarity then 44 else 0} height: 22 - z index: 3 + z index: 5 render style: image alignment: middle right choice images: @@ -1327,70 +828,36 @@ card style: script: if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "mp.png" else symbol_variation(symbol: set.masterpiece_symbol, variation: "mythic rare") - rarity 2: - right: { if back_map() then 576 else 721} - top: { if back_saga() or back_class() then 445 else if back_map() then 53 else if back_normal() then 297 else if back_four_abilities() then 262 else 297 } - width: {if set.shorten_types_for_rarity then 44 else 0} - height: 22 - z index: 3 - render style: image - alignment: middle right - choice images: - # Images based on the set symbol - basic land: - script: - if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "c.png" - else if use_alt_rarity() then alt_symbol() - else if styling.inverted_common_symbol then symbol_variation(symbol: set.symbol, variation: "invertedcommon") - else symbol_variation(symbol: set.symbol, variation: "common") - common: - script: - if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "c.png" - else if use_alt_rarity() then alt_symbol() - else if styling.inverted_common_symbol then symbol_variation(symbol: set.symbol, variation: "invertedcommon") - else symbol_variation(symbol: set.symbol, variation: "common") - uncommon: - script: - if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "u.png" - else if use_alt_rarity() then alt_symbol() - else symbol_variation(symbol: set.symbol, variation: "uncommon") - rare: - script: - if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "r.png" - else if use_alt_rarity() then alt_symbol() - else symbol_variation(symbol: set.symbol, variation: "rare") - mythic rare: - script: - if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "m.png" - else if use_alt_rarity() then alt_symbol() - else symbol_variation(symbol: set.symbol, variation: "mythic rare") - special: - script: - if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "s.png" - else if use_alt_rarity() then alt_symbol() - else symbol_variation(symbol: set.symbol, variation: "special") - masterpiece: - script: - if use_main_rarity() then "/magic-mainframe-extras.mse-include/" + un_png(set.mainframe_rarity_name) + "mp.png" - else symbol_variation(symbol: set.masterpiece_symbol, variation: "mythic rare") - ############################# Text box + ############################# Text boxs text: - left: { if is_class() then 188 else if is_map() then 40 else if mainframe_walker() then 48 else if is_bumped() then 47 else 29} + left: { if (card.level_0 != "" or card.level_1 != "" or card.level_2 != "") then 75 else if is_map() then 40 else 29} top: { top_of_textbox() } - width: {if is_class() then 153 else if is_leveler() then 0 else -lv_chop(styling.level_1_chop, cell:2) + if is_saga() then 0 else if is_map() then 287 else if is_normal() then (314 - if is_bumped() then 18) else if mainframe_walker() then 300 else 0} - bottom: { bottom_of_textbox()} + width: { if is_leveler() then 0 else (if(card.level_0 != "" or card.level_1 != "" or card.level_2 != "") then -46 else 0) + if is_map() then 287 else 314 } + bottom: { bottom_of_textbox() } font: - name: MPlantin - italic name: MPlantin-Italic - size: { if styling.front_font_cap != "" then styling.front_font_cap else (if is_mutate() then 12 else 14) } + name: { body_font() } + italic name: { body_font_italic() } + size: { body_font_size() } scale down to: 6 - color: black + color: { body_font_color() } + shadow color: {if is_full_art() or is_fnm() then "black" else rgba(0,0,0,0)} + shadow displacement x: -1 + shadow displacement y: 1 symbol font: name: { styling.text_box_mana_symbols } - size: { if styling.front_font_cap != "" then styling.front_font_cap else (if is_mutate() then 12 else 14) } + size: {if styling.font_cap != "" then to_number(styling.font_cap) else (if is_mutate() then 12 else 14)} + scale down to: 6 alignment: - script: if chosen(styling.other_options, choice:"center front") then "middle center" else if chosen(styling.other_options, choice:"right align") then "middle right" else "middle left" - z index: 5 + script: + if (styling.center_text == "short text only" and + not contains(match:"\n", card.rule_text) and + card.flavor_text == "" and + card_style.text.content_lines <= 2) or + styling.center_text == "always" + then "middle center" + else if styling.center_text == "right align" then "middle right" + else "middle left" + z index: 4 padding left: 6 padding right: 4 line height hard: {if is_modal(card.rule_text) then 0.9 else 1.2 } @@ -1398,118 +865,36 @@ card style: line height soft: 0.9 line height hard max: {if is_modal(card.rule_text) then 1.0 else 1.3 } line height line max: 1.6 - text 2: - left: { if back_class() then 565 else if back_map() then 417 else if mainframe_walkerb() then 425 else if back_bumped() then 425 else 407 } - top: { top_of_textbox2() } - width: {if back_class() then 153 else if back_leveler() then 0 else -lv_chop(styling.level_5_chop, cell:2) + if back_saga() then 0 else if back_map() then 287 else if back_normal() then (314 - if is_bumped() then 18) else if mainframe_walkerb() then 300 else 0} - bottom: { bottom_of_textbox2()} - font: - name: MPlantin - italic name: MPlantin-Italic - size: { if styling.back_font_cap != "" then styling.back_font_cap else (if back_mutate() then 12 else 14) } - scale down to: 6 - symbol font: - name: { styling.text_box_mana_symbols } - size: { if styling.back_font_cap != "" then styling.back_font_cap else (if back_mutate() then 12 else 14) } - alignment: - script: if chosen(styling.other_options, choice:"center back") then "middle center" else if chosen(styling.other_options, choice:"right align") then "middle right" else "middle left" - z index: 5 - padding left: 6 - padding right: 4 - line height hard: {if is_modal(card.rule_text_2) then 0.9 else 1.2 } - line height line: 1.5 - line height soft: 0.9 - line height hard max: {if is_modal(card.rule_text_2) then 1.0 else 1.3 } - line height line max: 1.6 - chapter text: - left: 30 - top: 60 - width: {if not is_saga() then 0 else 153} - height: 96 - z index: 3 - font: - name: MPlantin - italic name: MPlantin-Italic - size: { if styling.front_font_cap != "" then styling.front_font_cap else 13 } - scale down to: 6 - color: black - symbol font: - name: { styling.text_box_mana_symbols } - size: { if styling.front_font_cap != "" then styling.front_font_cap else 13} - alignment: - script: if chosen(styling.other_options, choice:"center front") then "middle center" else "middle left" - z index: 5 - padding left: 3 - padding right: 1 - line height hard: {if is_modal(card.chapter_text) then 0.9 else 1.2 } - line height line: 1.5 - line height soft: 0.85 - line height hard max: {if is_modal(card.chapter_text) then 1.0 else 1.3 } - line height line max: 1.6 - visible: {is_saga()} - mask: textmask.png - chapter text 2: - left: 407 - top: 60 - width: {if not back_saga() then 0 else 153} - height: 96 - z index: 3 - font: - name: MPlantin - italic name: MPlantin-Italic - size: { if styling.back_font_cap != "" then styling.back_font_cap else 13 } - scale down to: 6 - symbol font: - name: { styling.text_box_mana_symbols } - size: { if styling.back_font_cap != "" then styling.back_font_cap else 13 } - alignment: - script: if chosen(styling.other_options, choice:"center back") then "middle center" else "middle left" - z index: 5 - padding left: 3 - padding right: 1 - line height hard: {if is_modal(card.chapter_text_2) then 0.9 else 1.2 } - line height line: 1.5 - line height soft: 0.85 - line height hard max: {if is_modal(card.chapter_text_2) then 1.0 else 1.3 } - line height line max: 1.6 - visible: {back_saga()} - mask: textmask.png - watermark: - left: { if is_class() then 187 else if is_saga() then 45 else if is_map() then 40 else 19} - top : { if has_four_abilities() then 296 else if is_saga() or is_class() then 60 else 330 } - width: { if is_class() then 160 else if is_saga() then 133 else if is_map() then 287 else 334} - height: { if is_class() then 160 else if is_saga() then 378 else if is_map() then 154 else if has_four_abilities() then 185 else 152 } - z index: 4 - render style: image - alignment: middle center - include file: /magic-watermarks.mse-include/watermarks - watermark 2: - left: { if back_class() then 564 else if back_saga() then 422 else if back_map() then 5417 else 396} - top : { if back_four_abilities() then 296 else if back_saga() or back_class() then 60 else 330 } - width: { if back_class() then 160 else if back_saga() then 133 else if back_map() then 287 else 334} - height: { if back_saga() or back_class() then 378 else if back_map() then 154 else if back_four_abilities() then 185 else 152 } - z index: 4 - render style: image - alignment: middle center - include file: /magic-watermarks.mse-include/watermarks_back - ############################# Levels + ############################# leveler level 1 text: - left: {if is_leveler() then (if card.level_0 != "" then (if loy_leveler() then 57 else if box_leveler() then 78 else 75) else if is_map() then 40 else 29) else if is_saga() then 45 else if is_mutate() then (if is_bumped() then 47 else 29) else 0} - top: { if is_leveler() then 327-lv_chop(styling.level_1_chop, cell:0) else if is_saga() then 155-lv_chop(styling.level_1_chop, cell:0) else if is_mutate() then 329 else 0 } - right: { -lv_chop(styling.level_1_chop, cell:2) + if is_leveler() then (if lone_pt() then 342 else if card.pt != "" then 277 else 342) else if is_saga() then 183 else if is_mutate() then 343 else 0 } - bottom: { if is_leveler() then (327+lv_1_height()-lv_chop(styling.level_1_chop, cell:1)) else if is_saga() then (if split_12() == "" then 249 else split_12())-lv_chop(styling.level_1_chop, cell:1) else if is_mutate() then 391 else 0 } + left: { if is_leveler() and card.level_0 != "" then (if loy_leveler() then 57 else if box_leveler() then 78 else 75) else if is_map() then 40 else 29} + top: {if is_mutate() then 329 else top_of_textbox()} + right: { if is_leveler() then (if lone_pt() or card.pt == "" then 342 else 277) else if is_mutate() then 342 else if is_map() then 40 else 29} + bottom: { if is_mutate() then 392 else if is_leveler() then (327+lv_1_height()) else bottom_of_textbox() } font: - name: MPlantin - italic name: MPlantin-Italic - size: { if styling.front_font_cap != "" then styling.front_font_cap else if has_four_abilities() then 13.8 else if is_mutate() then 12 else 14 } + font: + name: { body_font() } + italic name: { body_font_italic() } + size: { body_font_size() } scale down to: 6 - color: black + color: { body_font_color() } + shadow color: {if is_full_art() or is_fnm() then "black" else rgba(0,0,0,0)} + shadow displacement x: -1 + shadow displacement y: 1 symbol font: name: { styling.text_box_mana_symbols } - size: { if styling.front_font_cap != "" then styling.front_font_cap else if has_four_abilities() then 13.8 else if is_mutate() then 12 else 14 } + size: {if styling.font_cap != "" then to_number(styling.font_cap) else 14} + scale down to: 6 alignment: - script: if chosen(styling.other_options, choice:"center front") then "middle center" else "middle left" - z index: 5 + script: + if (styling.center_text == "short text only" and + not contains(match:"\n", card.rule_text) and + card.flavor_text == "" and + card_style.text.content_lines <= 2) or + styling.center_text == "always" + then "middle center" + else "middle left" + z index: 3 padding left: 6 padding right: 4 line height hard: {if is_modal(card.level_1_text) then 0.9 else 1.2 } @@ -1518,22 +903,33 @@ card style: line height hard max: {if is_modal(card.level_1_text) then 1.0 else 1.3 } line height line max: 1.6 level 2 text: - left: {if is_leveler() then (if card.level_1 != "" then (if loy_leveler() then 57 else if box_leveler() then 78 else 75) else if is_map() then 40 else 29) else if is_saga() then 45 else 0} - top: { if is_leveler() then (329 + lv_2_coordinate()-lv_chop(styling.level_2_chop, cell:0)) else if is_saga() then (if split_12() == "" then 249 else split_12())-lv_chop(styling.level_2_chop, cell:0) else 0} - right: { -lv_chop(styling.level_2_chop, cell:2) + if is_leveler() then (if card.pt_2 != "" then 277 else 342) else if is_saga() then 183 else 0 } - bottom: { if is_leveler() then card_style.level_2_text.top + lv_2_height()-2-lv_chop(styling.level_2_chop, cell:1) else if not is_saga() then 0 else (if is_saga() then (if split_23() == "" then 343 else split_23()) else 0) - lv_chop(styling.level_2_chop, cell:1) } + left: { if is_leveler() then (if card.level_1 != "" then (if loy_leveler() then 57 else if box_leveler() then 78 else 75) else if is_map() then 40 else 29) else 0} + top: { if is_leveler() then (329 + lv_2_coordinate()) else 0 } + right: { if is_leveler() then (if card.pt_2 != "" then 277 else 342) else 0 } + bottom: { if is_leveler() then (329 + lv_2_coordinate()) + lv_2_height()-2 else 0 } font: - name: MPlantin - italic name: MPlantin-Italic - size: { if styling.front_font_cap != "" then styling.front_font_cap else if has_four_abilities() then 13.8 else 14 } + name: { body_font() } + italic name: { body_font_italic() } + size: { body_font_size() } scale down to: 6 - color: black + color: { body_font_color() } + shadow color: {if is_full_art() or is_fnm() then "black" else rgba(0,0,0,0)} + shadow displacement x: -1 + shadow displacement y: 1 symbol font: name: { styling.text_box_mana_symbols } - size: { if styling.front_font_cap != "" then styling.front_font_cap else if has_four_abilities() then 13.8 else 14 } + size: {if styling.font_cap != "" then to_number(styling.font_cap) else 14} + scale down to: 6 alignment: - script: if chosen(styling.other_options, choice:"center front") then "middle center" else "middle left" - z index: 5 + script: + if (styling.center_text == "short text only" and + not contains(match:"\n", card.rule_text) and + card.flavor_text == "" and + card_style.text.content_lines <= 2) or + styling.center_text == "always" + then "middle center" + else "middle left" + z index: 3 padding left: 6 padding right: 4 line height hard: {if is_modal(card.level_2_text) then 0.9 else 1.2 } @@ -1542,22 +938,33 @@ card style: line height hard max: {if is_modal(card.level_2_text) then 1.0 else 1.3 } line height line max: 1.6 level 3 text: - left: {if is_leveler() then (if card.level_2 != "" then (if loy_leveler() then 57 else if box_leveler() then 78 else 75) else if is_map() then 40 else 29) else if is_saga() then 45 else 0} - top: {if is_leveler() then (331 + lv_3_coordinate()-lv_chop(styling.level_3_chop, cell:0)) else (if is_saga() then (if split_23() == 0 then 343 else split_23()) else 0) -lv_chop(styling.level_3_chop, cell:0) } - right: { -lv_chop(styling.level_3_chop, cell:2) + if is_leveler() then (if card.pt_3 != "" then 277 else 342) else if is_saga() then 183 else 0 } - bottom: { if is_leveler() then (329 + lv_3_coordinate()+lv_3_height()-2-lv_chop(styling.level_3_chop, cell:2)) else if not is_saga() then 0 else if two_boxes() then (if split_23() == "" then 343 else split_23())-lv_chop(styling.level_3_chop, cell:0) else (if is_saga() then (if split_34() == "" then 437 else split_34()) else 0) - lv_chop(styling.level_3_chop, cell:1) } + left: {if card.level_2 != "" then (if loy_leveler() then 57 else if box_leveler() then 78 else 75) else if is_map() then 40 else 29} + top: {331 + lv_3_coordinate()} + right: {if card.pt_3 != "" then 277 else 342} + height: {if not is_leveler()then 0 else lv_3_height()-2} font: - name: MPlantin - italic name: MPlantin-Italic - size: { if styling.front_font_cap != "" then styling.front_font_cap else if has_four_abilities() then 13.8 else 14 } + name: { body_font() } + italic name: { body_font_italic() } + size: { body_font_size() } scale down to: 6 - color: black + color: { body_font_color() } + shadow color: {if is_full_art() or is_fnm() then "black" else rgba(0,0,0,0)} + shadow displacement x: -1 + shadow displacement y: 1 symbol font: name: { styling.text_box_mana_symbols } - size: { if styling.front_font_cap != "" then styling.front_font_cap else if has_four_abilities() then 13.8 else 14 } + size: {if styling.font_cap != "" then to_number(styling.font_cap) else 14} + scale down to: 6 alignment: - script: if chosen(styling.other_options, choice:"center front") then "middle center" else "middle left" - z index: 5 + script: + if (styling.center_text == "short text only" and + not contains(match:"\n", card.rule_text) and + card.flavor_text == "" and + card_style.text.content_lines <= 2) or + styling.center_text == "always" + then "middle center" + else "middle left" + z index: 3 padding left: 6 padding right: 4 line height hard: {if is_modal(card.level_3_text) then 0.9 else 1.2 } @@ -1566,22 +973,33 @@ card style: line height hard max: {if is_modal(card.level_3_text) then 1.0 else 1.3 } line height line max: 1.6 level 4 text: - left: {if is_leveler() then (if card.level_3 != "" then (if loy_leveler() then 57 else if box_leveler() then 78 else 75) else if is_map() then 40 else 29) else if is_saga() then 45 else 0} - top: { if is_leveler() then (331 + lv_4_coordinate()-lv_chop(styling.level_4_chop, cell:0)) else if is_saga() then (if split_34() == "" then 437 else split_34())-lv_chop(styling.level_4_chop, cell:0) else 0} - right: { -lv_chop(styling.level_4_chop, cell:2) + if is_leveler() then (if card.pt_7 != "" then 277 else 342) else if is_saga() then 183 else 0 } - bottom: { if is_leveler() then (329 + lv_4_coordinate()+lv_4_height()-2-lv_chop(styling.level_4_chop, cell:2)) else if three_boxes() then (if split_34() == "" then 437 else split_34())-lv_chop(styling.level_4_chop, cell:1) else if is_saga() then 437-lv_chop(styling.level_4_chop, cell:1) else 0 } + left: {if card.level_3 != "" then (if loy_leveler() then 57 else if box_leveler() then 78 else 75) else if is_map() then 40 else 29} + top: {331 + lv_4_coordinate()} + right: {if card.pt_7 != "" then 277 else 342} + height: {if not is_leveler() then 0 else lv_4_height()-2} font: - name: MPlantin - italic name: MPlantin-Italic - size: { if styling.front_font_cap != "" then styling.front_font_cap else if has_four_abilities() then 13.8 else 14 } + name: { body_font() } + italic name: { body_font_italic() } + size: { body_font_size() } scale down to: 6 - color: black + color: { body_font_color() } + shadow color: {if is_full_art() or is_fnm() then "black" else rgba(0,0,0,0)} + shadow displacement x: -1 + shadow displacement y: 1 symbol font: name: { styling.text_box_mana_symbols } - size: { if styling.front_font_cap != "" then styling.front_font_cap else if has_four_abilities() then 13.8 else 14 } + size: {if styling.font_cap != "" then to_number(styling.font_cap) else 14} + scale down to: 6 alignment: - script: if chosen(styling.other_options, choice:"center front") then "middle center" else "middle left" - z index: 5 + script: + if (styling.center_text == "short text only" and + not contains(match:"\n", card.rule_text) and + card.flavor_text == "" and + card_style.text.content_lines <= 2) or + styling.center_text == "always" + then "middle center" + else "middle left" + z index: 3 padding left: 6 padding right: 4 line height hard: {if is_modal(card.level_4_text) then 0.9 else 1.2 } @@ -1589,102 +1007,16 @@ card style: line height soft: 0.9 line height hard max: {if is_modal(card.level_4_text) then 1.0 else 1.3 } line height line max: 1.6 - level 5 text: - left: {if back_leveler() then (377 + if card.level_5 != "" then (if loy_leveler2() then 57 else if box_leveler2() then 78 else 75) else if back_map() then 40 else 29) else if back_saga() then 422 else if back_mutate() then (if back_bumped() then 424 else 406) else 0} - top: { if back_leveler() then 327-lv_chop(styling.level_5_chop, cell:0) else if back_saga() then 155-lv_chop(styling.level_5_chop, cell:0) else if back_mutate() then 329 else 0 } - right: { -lv_chop(styling.level_5_chop, cell:2) + if back_leveler() then (if lone_pt() then 719 else if card.pt_4 != "" then 654 else 719) else if back_saga() then 560 else if back_mutate() then 720 else 0 } - bottom: { if back_leveler() then (327+lv_5_height())-lv_chop(styling.level_5_chop, cell:1) else if back_saga() then (if split_12b() == "" then 249 else split_12b())-lv_chop(styling.level_5_chop, cell:1) else if back_mutate() then 391 else 0 } - font: - name: MPlantin - italic name: MPlantin-Italic - size: { if styling.back_font_cap != "" then styling.back_font_cap else if back_four_abilities() then 13.8 else if back_mutate() then 12 else 14 } - scale down to: 6 - color: black - symbol font: - name: { styling.text_box_mana_symbols } - size: { if styling.back_font_cap != "" then styling.back_font_cap else if back_four_abilities() then 13.8 else if back_mutate() then 12 else 14 } - alignment: - script: if chosen(styling.other_options, choice:"center back") then "middle center" else "middle left" - z index: 5 - padding left: 6 - padding right: 4 - line height hard: {if is_modal(card.level_5_text) then 0.9 else 1.2 } - line height line: 1.5 - line height soft: 0.9 - line height hard max: {if is_modal(card.level_5_text) then 1.0 else 1.3 } - line height line max: 1.6 - level 6 text: - left: {if back_leveler() then (377 + if card.level_6 != "" then (if loy_leveler2() then 57 else if box_leveler2() then 78 else 75) else if back_map() then 40 else 29) else if back_saga() then 422 else 0} - top: { if back_leveler() then (327 + lv_6_coordinate())- lv_chop(styling.level_6_chop, cell:0) else if back_saga() then (if split_12b() == "" then 249 else split_12b())- lv_chop(styling.level_6_chop, cell:0) else 0 } - right: { -lv_chop(styling.level_6_chop, cell:2) + if back_leveler() then (if card.pt_5 != "" then 654 else 719) else if back_saga() then 560 else 0 } - bottom: { if back_leveler() then card_style.level_6_text.top + lv_6_height() else if back_normal() and not back_saga() then 0 else (if back_saga() then (if split_23b() == "" then 343 else split_23b()) else 0) - lv_chop(styling.level_6_chop, cell:1) } - font: - name: MPlantin - italic name: MPlantin-Italic - size: { if styling.back_font_cap != "" then styling.back_font_cap else if back_four_abilities() then 13.8 else 14 } - scale down to: 6 - color: black - symbol font: - name: { styling.text_box_mana_symbols } - size: { if styling.back_font_cap != "" then styling.back_font_cap else if back_four_abilities() then 13.8 else 14 } - alignment: - script: if chosen(styling.other_options, choice:"center back") then "middle center" else "middle left" - z index: 5 - padding left: 6 - padding right: 4 - line height hard: {if is_modal(card.level_6_text) then 0.9 else 1.2 } - line height line: 1.5 - line height soft: 0.9 - line height hard max: {if is_modal(card.level_6_text) then 1.0 else 1.3 } - line height line max: 1.6 - level 7 text: - left: {if back_leveler() then (377 + if card.level_7 != "" then (if loy_leveler2() then 57 else if box_leveler2() then 78 else 75) else if back_map() then 40 else 29) else if back_saga() then 422 else 0} - top: { if back_leveler() then (327 + lv_7_coordinate())-lv_chop(styling.level_7_chop, cell:0) else if back_saga() then (if split_23b() == "" then 343 else split_23b())-lv_chop(styling.level_7_chop, cell:0) else 0 } - right: { -lv_chop(styling.level_7_chop, cell:2) + if back_leveler() then (if card.pt_6 != "" then 654 else 719) else if back_saga() then 560 else 0 } - bottom: { if back_leveler() then (327 + lv_7_coordinate()+lv_7_height())-lv_chop(styling.level_7_chop, cell:1) else if not back_saga() then 0 else (if back_two_boxes() then (if split_23b() == "" then 343 else split_23b()) else if split_34b() == "" then 437 else split_34b())-lv_chop(styling.level_7_chop, cell:1)} - font: - name: MPlantin - italic name: MPlantin-Italic - size: { if styling.back_font_cap != "" then styling.back_font_cap else if back_four_abilities() then 13.8 else 14 } - scale down to: 6 - color: black - symbol font: - name: { styling.text_box_mana_symbols } - size: { if styling.back_font_cap != "" then styling.back_font_cap else if back_four_abilities() then 13.8 else 14 } - alignment: - script: if chosen(styling.other_options, choice:"center back") then "middle center" else "middle left" - z index: 5 - padding left: 6 - padding right: 4 - line height hard: {if is_modal(card.level_7_text) then 0.9 else 1.2 } - line height line: 1.5 - line height soft: 0.9 - line height hard max: {if is_modal(card.level_7_text) then 1.0 else 1.3 } - line height line max: 1.6 - level 8 text: - left: {if back_leveler() then (377 + if card.level_8 != "" then (if loy_leveler2() then 57 else if box_leveler2() then 78 else 75) else if back_map() then 40 else 29) else if back_saga() then 422 else 0} - top: {if back_leveler() then (327 + lv_8_coordinate())-lv_chop(styling.level_8_chop, cell:0) else if back_saga() then (if split_34b() == "" then 437 else split_34b())-lv_chop(styling.level_8_chop, cell:0) else 0} - right: { -lv_chop(styling.level_8_chop, cell:2) + if back_leveler() then (if card.pt_8 != "" then 654 else 719) else if back_saga() then 560 else 0 } - bottom: { if back_leveler() then (327 + lv_8_coordinate()+lv_8_height())-lv_chop(styling.level_8_chop, cell:1) else if back_three_boxes() then (if split_34b() == "" then 437 else split_34b())-lv_chop(styling.level_8_chop, cell:1) else if back_saga() then 437-lv_chop(styling.level_8_chop, cell:1) else 0 } - font: - name: MPlantin - italic name: MPlantin-Italic - size: { if styling.back_font_cap != "" then styling.back_font_cap else if back_four_abilities() then 13.8 else 14 } - scale down to: 6 - color: black - symbol font: - name: { styling.text_box_mana_symbols } - size: { if styling.back_font_cap != "" then styling.back_font_cap else if back_four_abilities() then 13.8 else 14 } - alignment: - script: if chosen(styling.other_options, choice:"center back") then "middle center" else "middle left" - z index: 5 - padding left: 6 - padding right: 4 - line height hard: {if is_modal(card.level_8_text) then 0.9 else 1.2 } - line height line: 1.5 - line height soft: 0.9 - line height hard max: {if is_modal(card.level_8_text) then 1.0 else 1.3 } - line height line max: 1.6 + watermark: + left: { if is_map() then 40 else 19 } + top: { if is_full_art() then 359 else 330 } + width: { if is_tarot() then 0 else if is_map() then 287 else 334 } + height: { if is_map() then 154 else if is_full_art() then 120 else 152 } + z index: 2 + render style: image + popup style: in place + alignment: middle center + include file: /magic-watermarks.mse-include/watermarks ############################# Levels level 0: z index: 7 @@ -1722,453 +1054,123 @@ card style: size: {12 + if center_label(0) then 0.5 else 0} level 2: z index: 7 - left: {if is_class() then 270 else if box_leveler() then 8 else if loy_leveler() then 14 else 21} - top: {if is_class() then lev2()+4 else l3_center() - (if aug_leveler(2) then 4 else 2) - (if center_label(2) then 6 else 0) + arrow_offset(2)} - width: {if is_class() and card.level_2_text == "​" then 0 else if is_class() then 70 else if is_leveler() or card.level_2 != "" then (34 + (if box_leveler() then 30 else 0)) else 0} - height: {if is_class() then 20 else 22} - alignment: {if is_class() then "center right" else "center middle shrink-overflow"} + left: {if box_leveler() then 8 else if loy_leveler() then 14 else 21} + top: {l3_center() - (if aug_leveler(2) then 4 else 2) - (if center_label(2) then 6 else 0) + arrow_offset(2)} + width: {if is_leveler() or card.level_2 != "" then (34 + (if box_leveler() then 30 else 0)) else 0} + height: 22 + alignment: center middle shrink-overflow font: - name: {if is_class() then "MPlantin" else "Beleren Bold"} - size: {if loy_leveler() or is_class() then 11 else 12 + if center_label(0) then 2 else 0} + name: Beleren Bold + size: {if loy_leveler() then 11 else 12 + if center_label(0) then 2 else 0} weight: bold color: {if loy_leveler() then "white" else "black"} shadow color: { if loy_leveler() then rgba(0,0,0,0) else "white"} shadow blur: 2 symbol font: name: { styling.level_mana_symbols } - size: {if is_class() then 11 else 12 + if center_label(0) then 0.5 else 0} + size: {12 + if center_label(0) then 0.5 else 0} level 3: z index: 7 - left: {if is_class() then 270 else if box_leveler() then 8 else if loy_leveler() then 14 else 21} - top: {if is_class() then lev3()+4 else l4_center() - (if aug_leveler(3) then 4 else 2) - (if center_label(3) then 6 else 0) + arrow_offset(3)} - width: {if is_class() and card.level_3_text == "​" then 0 else if is_class() then 70 else if is_leveler() or card.level_3 != "" then (34 + (if box_leveler() then 30 else 0)) else 0} - height: {if is_class() then 20 else 22} - alignment: {if is_class() then "center right" else "center middle shrink-overflow"} + left: {if box_leveler() then 8 else if loy_leveler() then 14 else 21} + top: {l4_center() - (if aug_leveler(3) then 4 else 2) - (if center_label(3) then 6 else 0) + arrow_offset(3)} + width: {if is_leveler() or card.level_2 != "" then (34 + (if box_leveler() then 30 else 0)) else 0} + height: { if card_style.level_4_text.height < 10 and card.level_3 == "" then 0 else 22} + alignment: center middle shrink-overflow font: - name: {if is_class() then "MPlantin" else "Beleren Bold"} - size: {if loy_leveler() or is_class() then 11 else 12 + if center_label(0) then 2 else 0} + name: Beleren Bold + size: {if loy_leveler() then 11 else 12 + if center_label(0) then 2 else 0} weight: bold color: {if loy_leveler() then "white" else "black"} shadow color: { if loy_leveler() then rgba(0,0,0,0) else "white"} shadow blur: 2 symbol font: name: { styling.level_mana_symbols } - size: {if is_class() then 11 else 12 + if center_label(0) then 0.5 else 0} - level 4: - left: 270 - width: {if is_class() and card.level_4_text == "" then 0 else 70} - top: {lev4()+4} - height: {if not is_class() then 0 else 20} - z index: 7 - font: - name: MPlantin - size: 11 - weight: bold - symbol font: - name: magic-mana-small - size: 11 - alignment: {if is_class() then "center right" else "center middle shrink-overflow"} - level 5: - z index: 7 - left: {377+ if box_leveler2() then 8 else if loy_leveler2() then 14 else 21} - top: {l5_center() - (if aug_leveler2(0) then 4 else 2) - (if center_label2(0) then 6 else 0) + arrow_offset2(0)} - width: {if back_leveler() or card.level_5 != "" then (34 + (if box_leveler2() then 30 else 0)) else 0} - height: 22 - alignment: center middle shrink-overflow - font: - name: {if back_class() then "MPlantin" else "Beleren Bold"} - size: {if loy_leveler() or back_class() then 11 else 12 + if center_label(0) then 2 else 0} - weight: bold - color: {if loy_leveler2() then "white" else "black"} - shadow color: { if loy_leveler2() then rgba(0,0,0,0) else "white"} - shadow blur: 2 - symbol font: - name: { styling.level_mana_symbols } - size: {12 + if center_label2(0) then 0.5 else 0} - level 6: - z index: 7 - left: {if back_class() then 647 else 377+ if box_leveler2() then 8 else if loy_leveler2() then 14 else 21} - top: {if back_class() then lev2b()+4 else l6_center() - (if aug_leveler2(0) then 4 else 2) - (if center_label2(1) then 6 else 0) + arrow_offset2(1)} - height: 22 - width: {if back_class() and card.level_6_text == "​" then 0 else if back_class() then 70 else if back_leveler() or card.level_6 != "" then (34 + (if box_leveler2() then 30 else 0)) else 0} - alignment: {if back_class() then "center right" else "center middle shrink-overflow"} - font: - name: {if back_class() then "MPlantin" else "Beleren Bold"} - size: {if loy_leveler() or back_class() then 11 else 12 + if center_label(0) then 2 else 0} - weight: bold - color: {if loy_leveler2() then "white" else "black"} - shadow color: { if loy_leveler2() then rgba(0,0,0,0) else "white"} - shadow blur: 2 - symbol font: - name: { styling.level_mana_symbols } - size: {if back_class() then 11 else 12 + if center_label2(0) then 0.5 else 0} - level 7: - z index: 7 - left: {if back_class() then 647 else 377+ if box_leveler2() then 8 else if loy_leveler2() then 14 else 21} - top: {if back_class() then lev3b()+4 else l7_center() - (if aug_leveler2(0) then 4 else 2) - (if center_label2(2) then 6 else 0) + arrow_offset2(2)} - width: {if back_class() and card.level_7_text == "​" then 0 else if back_class() then 70 else if back_leveler() or card.level_7 != "" then (34 + (if box_leveler2() then 30 else 0)) else 0} - height: 22 - alignment: {if back_class() then "center right" else "center middle shrink-overflow"} - font: - name: {if back_class() then "MPlantin" else "Beleren Bold"} - size: {if loy_leveler() or back_class() then 11 else 12 + if center_label(0) then 2 else 0} - weight: bold - color: {if loy_leveler2() then "white" else "black"} - shadow color: { if loy_leveler2() then rgba(0,0,0,0) else "white"} - shadow blur: 2 - symbol font: - name: { styling.level_mana_symbols } - size: {if back_class() then 11 else 12 + if center_label2(0) then 0.5 else 0} - level 8: - z index: 7 - left: {if back_class() then 647 else 377+ if box_leveler2() then 8 else if loy_leveler2() then 14 else 21} - top: {if back_class() then lev4b()+4 else l8_center() - (if aug_leveler2(0) then 4 else 2) - (if center_label2(3) then 6 else 0) + arrow_offset2(3)} - width: {if back_class() and card.level_8_text == "" then 0 else if back_class() then 70 else if back_leveler() or card.level_8 != "" then (34 + (if box_leveler2() then 30 else 0)) else 0} - height: 22 - alignment: {if back_class() then "center right" else "center middle shrink-overflow"} - font: - name: {if back_class() then "MPlantin" else "Beleren Bold"} - size: {if loy_leveler() or back_class() then 11 else 12 + if center_label(0) then 2 else 0} - weight: bold - color: {if loy_leveler2() then "white" else "black"} - shadow color: { if loy_leveler2() then rgba(0,0,0,0) else "white"} - shadow blur: 2 - symbol font: - name: { styling.level_mana_symbols } - size: {if back_class() then 11 else 12 + if center_label2(0) then 0.5 else 0} - ############################# Class costs - level 9 text: - left: 190 - width: {if not is_class() then 0 else if is_class() and card.level_2_text == "​" then 0 else 80} - top: {lev2()+4} - height: 20 - z index: 7 - font: - name: MPlantin - size: 12 - symbol font: - name: magic-mana-small - size: 12 - alignment: middle left - level 10 text: - left: 190 - width: {if not is_class() then 0 else if is_class() and card.level_3_text == "​" then 0 else 80} - top: {lev3()+4} - height: 20 - z index: 7 - font: - name: MPlantin - size: 12 - symbol font: - name: magic-mana-small - size: 12 - alignment: middle left - level 11 text: - left: 190 - width: {if not is_class() then 0 else if is_class() and card.level_4_text == "" then 0 else 80} - top: {lev4()+4} - height: 20 - z index: 7 - font: - name: MPlantin - size: 12 - symbol font: - name: magic-mana-small - size: 12 - alignment: middle left - level 12 text: - left: 567 - width: {if not back_class() then 0 else if back_class() and card.level_6_text == "​" then 0 else 80} - top: {lev2b()+4} - height: 20 - z index: 7 - font: - name: MPlantin - size: 12 - symbol font: - name: magic-mana-small - size: 12 - alignment: middle left - level 13 text: - left: 567 - width: {if not back_class() then 0 else if back_class() and card.level_7_text == "​" then 0 else 80} - top: {lev3b()+4} - height: 20 - z index: 7 - font: - name: MPlantin - size: 12 - symbol font: - name: magic-mana-small - size: 12 - alignment: middle left - level 14 text: - left: 567 - width: {if not back_class() then 0 else if back_class() and card.level_8_text == "" then 0 else 80} - top: {lev4b()+4} - height: 20 - z index: 7 - font: - name: MPlantin - size: 12 - symbol font: - name: magic-mana-small - size: 12 - alignment: middle left - + size: {12 + if center_label(0) then 0.5 else 0} ############################# PT pt: - z index: 5 + z index: 4 left: {if is_leveler() and not lone_pt() then 291 else 286} - top: { if is_leveler() and not lone_pt() then (l1_center() - 14) else if is_map() then 467 else 469} - width: { if is_normal() or card.pt != "" then 60 else 0} + top: { (if is_leveler() and not lone_pt() then (l1_center() - 14) else if is_map() then 467 else 469)+(pt_font_vertical())} + width: {if starting_loyalty() and not is_leveler() then 0 else 60} height: 28 alignment: center middle shrink-overflow font: - name: Beleren Bold - size: { if is_map() then 14 else 16} - color: {if is_shifted() or is_vehicle() then "white" else "black"} + name: {pt_font()} + italic name: {pt_font_italic()} + size: {pt_font_size()} + color: {pt_font_color()} separator color: red - shadow color: {if is_shifted() then rgb(0,0,0) else rgba(0,0,0,0)} + shadow color: {if is_shifted() or is_fnm() then rgb(0,0,0) else rgba(0,0,0,0)} shadow displacement x: -1 shadow displacement y: 1 + pt 2: - z index: 5 - left: {if is_leveler() then 291 else 661} - top: { if is_leveler() then (l2_center() - 12) else if back_map() then 467 else 469} - width: {if is_leveler() and lone_pt() and card.pt == "" then 0 else if (is_leveler() and not lone_pt()) or back_normal() or card.pt_2 != "" then 60 else 0 } - height: 28 + z index: 4 + left: 291 + top: {(l2_center() - 12)+(pt_font_vertical())} + width: {if is_leveler() and not lone_pt() or card.pt_2 != "" then 60 else 0} + height: 28 alignment: center middle shrink-overflow font: - name: Beleren Bold - size: { if back_map() then 14 else 16} - color: {if is_leveler() and is_vehicle() then "white" else if is_leveler() or back_clear() then "black" else "white"} + name: {pt_font()} + italic name: {pt_font_italic()} + size: {pt_font_size()} + color: {pt_font_color()} separator color: red - shadow color: {if is_shifted() then rgb(0,0,0) else rgba(0,0,0,0)} + shadow color: {if is_shifted() or is_fnm() then rgb(0,0,0) else rgba(0,0,0,0)} shadow displacement x: -1 shadow displacement y: 1 pt 3: - z index: 5 + z index: 4 left: 291 - top: {(l3_center() - 12)} + top: {(l3_center() - 12)+(pt_font_vertical())} width: {if is_leveler() and not lone_pt() or card.pt_3 != "" then 60 else 0} height: 28 alignment: center middle shrink-overflow font: - name: Beleren Bold - size: {if is_map() then 14 else 16} - color: {if is_shifted() or is_vehicle() then "white" else "black"} + name: {pt_font()} + italic name: {pt_font_italic()} + size: {pt_font_size()} + color: {pt_font_color()} separator color: red - shadow color: {if is_shifted() then rgb(0,0,0) else rgba(0,0,0,0)} + shadow color: {if is_shifted() or is_fnm() then rgb(0,0,0) else rgba(0,0,0,0)} shadow displacement x: -1 shadow displacement y: 1 pt 7: - z index: 5 + z index: 4 left: 291 - top: {(l4_center() - 12)} + top: {(l4_center() - 12)+(pt_font_vertical())} width: {if is_leveler() and not lone_pt() or card.pt_7 != "" then 60 else 0} - height: 28 + height: {if card_style.level_4_text.height < 10 and card.pt_7 == "" then 0 else 28} alignment: center middle shrink-overflow font: - name: Beleren Bold - size: {if is_map() then 14 else 16} - color: {if is_shifted() or is_vehicle() then "white" else "black"} + name: {pt_font()} + italic name: {pt_font_italic()} + size: {pt_font_size()} + color: {pt_font_color()} separator color: red - shadow color: {if is_shifted() then rgb(0,0,0) else rgba(0,0,0,0)} + shadow color: {if is_shifted() or is_fnm() then rgb(0,0,0) else rgba(0,0,0,0)} shadow displacement x: -1 shadow displacement y: 1 - pt 4: - z index: 5 - left: {377+ if back_leveler() and not lone_pt() then 291 else 286} - top: { if back_leveler() and not lone_pt() then (l5_center() - 14) else if is_map() then 467 else 469} - width: {if back_leveler() and not lone_pt() or card.pt_4 != "" or is_leveler() then 60 else 0} - height: 28 - alignment: center middle shrink-overflow - font: - name: Beleren Bold - size: {if is_map() then 14 else 16} - color: {if back_shifted() or back_vehicle() or (is_leveler() and not back_leveler()) then "white" else "black"} - separator color: red - shadow color: {if back_shifted() then rgb(0,0,0) else rgba(0,0,0,0)} - shadow displacement x: -1 - shadow displacement y: 1 - - pt 5: - z index: 5 - left: 668 - top: {(l6_center() - 12)} - width: {if back_leveler() and not lone_pt() or card.pt_5 != "" then 60 else 0} - height: 28 - alignment: center middle shrink-overflow - font: - name: Beleren Bold - size: {if is_map() then 14 else 16} - color: {if back_shifted() or back_vehicle() then "white" else "black"} - separator color: red - shadow color: {if back_shifted() then rgb(0,0,0) else rgba(0,0,0,0)} - shadow displacement x: -1 - shadow displacement y: 1 - pt 6: - z index: 5 - left: 668 - top: {(l7_center() - 12)} - width: {if back_leveler() and not lone_pt() or card.pt_6 != "" then 60 else 0} - height: 28 - alignment: center middle shrink-overflow - font: - name: Beleren Bold - size: {if is_map() then 14 else 16} - color: {if back_shifted() or back_vehicle() then "white" else "black"} - separator color: red - shadow color: {if back_shifted() then rgb(0,0,0) else rgba(0,0,0,0)} - shadow displacement x: -1 - shadow displacement y: 1 - - pt 8: - z index: 5 - left: 668 - top: {(l8_center() - 12)} - width: {if back_leveler() and not lone_pt() or card.pt_8 != "" then 60 else 0} - height: 28 - alignment: center middle shrink-overflow - font: - name: Beleren Bold - size: {if is_map() then 14 else 16} - color: {if back_shifted() or back_vehicle() then "white" else "black"} - separator color: red - shadow color: {if back_shifted() then rgb(0,0,0) else rgba(0,0,0,0)} - shadow displacement x: -1 - shadow displacement y: 1 - - ############################# Loyalty loyalty: z index: 7 - left: 328 - top: 466 - width: { if card.loyalty != "" then 13.16 else if is_normal() then 0 else 13.16 } - height: { if card.loyalty != "" then 34.63 else if is_normal() then 0 else 34.63 } + left: 326 + top: {468+(pt_font_vertical())} + width: {if starting_loyalty() then 13.16 else 0} + height: 34.63 alignment: center middle font: - name: Beleren Bold - size: 14 - color: white - loyalty 2: - z index: 7 - left: 705 - top: 466 - width: { if card.loyalty_2 != "" then 13.16 else if back_normal() then 0 else 13.16 } - height: { if card.loyalty_2 != "" then 34.63 else if back_normal() then 0 else 34.63 } - alignment: center middle - font: - name: Beleren Bold - size: 14 - color: white - loyalty cost 1: - z index: 7 - left: {if is_normal() then 14 else 28} - top: { abil_center(0) - 17.3 - 2 - loyal_move(0) } - width: { if not is_normal() or card.loyalty_cost_1 != "" then 18 else 0 } - height: { if not is_normal() or card.loyalty_cost_1 != "" then 35 else 0 } - alignment: center middle - font: - name: Beleren Bold - size: 11 - color: white - loyalty cost 2: - z index: 7 - left: {if is_normal() then 14 else 28} - top: { abil_center(1) - 17.3 - 2 - loyal_move(1) } - width: { if not is_normal() or card.loyalty_cost_2 != "" then 18 else 0 } - height: { if not is_normal() or card.loyalty_cost_2 != "" then 35 else 0 } - alignment: center middle - font: - name: Beleren Bold - size: 11 - color: white - loyalty cost 3: - z index: 7 - left: {if is_normal() then 14 else 28} - top: { abil_center(2) - 17.3 - 2 - loyal_move(2) } - width: { if card.loyalty_cost_3 != "" then 18 else if has_two_abilities() or is_normal() then 0 else 13.16 } - height: 35 - alignment: center middle - font: - name: Beleren Bold - size: 11 - color: white - loyalty cost 4: - z index: 7 - left: {if is_normal() then 14 else 28} - top: { abil_center(3) - 17.3 - 2 - loyal_move(3) } - width: { if has_four_abilities() or card.loyalty_cost_4 != "" then 18 else 0 } - height: 35 - alignment: center middle - font: - name: Beleren Bold - size: 11 - color: white - loyalty cost 5: - z index: 7 - left: {if back_normal() then 391 else 405} - top: { abil_centerb(0) - 17.3 - 2 - loyal_moveb(0) } - width: { if not back_normal() or card.loyalty_cost_5 != "" then 18 else 0 } - height: { if not back_normal() or card.loyalty_cost_5 != "" then 35 else 0 } - alignment: center middle - font: - name: Beleren Bold - size: 11 - color: white - loyalty cost 6: - z index: 7 - left: {if back_normal() then 391 else 405} - top: { abil_centerb(1) - 17.3 - 2 - loyal_moveb(1) } - width: { if not back_normal() or card.loyalty_cost_6 != "" then 18 else 0 } - height: { if not back_normal() or card.loyalty_cost_6 != "" then 35 else 0 } - alignment: center middle - font: - name: Beleren Bold - size: 11 - color: white - loyalty cost 7: - z index: 7 - left: {if back_normal() then 391 else 405} - top: { abil_centerb(2) - 17.3 - 2 - loyal_moveb(2) } - width: { if card.loyalty_cost_6 != "" then 18 else if back_two_abilities() or back_normal() then 0 else 13.16} - height: 35 - alignment: center middle - font: - name: Beleren Bold - size: 11 - color: white - loyalty cost 8: - z index: 7 - left: {if back_normal() then 391 else 405} - top: { abil_centerb(3) - 17.3 - 2 - loyal_moveb(3) } - width: { if back_four_abilities() or card.loyalty_cost_8 != "" then 18 else 0 } - height: { if back_four_abilities() or card.loyalty_cost_8 != "" then 35 else 0 } - alignment: center middle - font: - name: Beleren Bold - size: 11 - color: white + name: {pt_font()} + italic name: {pt_font_italic()} + size: {loyalty_font_size()} + color: {loyalty_font_color()} ############################# Card sorting / numbering set code: left: 24 top: 498 width: 40 height: 10 - z index: 6 - font: - name: Relay-Medium - size: 7 - color: white - weight: bold - set code 2: - left: 399 - top: 498 - width: 40 - height: 10 - z index: 6 + z index: 3 font: name: Relay-Medium size: 7 @@ -2180,74 +1182,31 @@ card style: top: 497.5 width: 200 height: 10 - z index: 2 + z index: 3 font: name: Beleren Small Caps Bold size: 7.25 color: white copyright: right: 350 - top: { if is_leveler() and not lone_pt() then 488 else if is_normal() and card.pt != "" or card.loyalty != "" then (if is_map() then 504 else 500) else if is_normal() then 488 else 498 } + top: + { + if is_leveler() and not lone_pt() + then 488 + else if (starting_loyalty() and card.loyalty != "") or (card.pt != "" and not starting_loyalty()) + then 500 + else 488 + } width: {if set.automatic_copyright then 0 else 140} height: 10 - z index: 6 - alignment: middle right shrink-overflow + z index: 4 + alignment: middle right font: name: MPlantin size: 6.5 color: white weight: bold - illustrator 2: - left: { 419 + card_style.set_code.content_width } - top: 497.5 - width: 200 - height: 10 - z index: 2 - font: - name: Beleren Small Caps Bold - size: 7.25 - color: white - copyright 2: - right: 728 - top: { if back_leveler() then (if lone_pt() then (if card.pt_4 != "" then 500 else 488) else 488) else if is_leveler() then (if card.pt_4 != "" then 500 else 488) else if (back_normal() and card.pt_2 != "") or card.loyalty_2 != "" then (if back_map() then 504 else 500) else if back_normal() then 488 else 498 } - width: {if set.automatic_copyright then 0 else 140} - height: 10 - z index: 6 - alignment: middle right shrink-overflow - font: - name: MPlantin - size: 6.5 - color: white - weight: bold -############################## Alias - alias: - left: {if is_saga() then 188 else if is_skinned() then 45 else if poke_walker() then 36 else if is_map() then 17 else 33} - top: {if mainframe_walker() then 47 else if is_map() then 58 else 53} - width: {if is_skinned() then 285 else if use_evobar() then max(100, card_style.alias.content_width) else 0} - height: 20 - alignment: { (if is_skinned() then "center") + "bottom shrink-overflow"} - padding bottom: 0 - z index: 3 - font: - name: {if use_evobar() then "Matrix" else "MPlantin-Italic"} - size: {if use_evobar() then 10 else 9} - style: {if use_evobar() then "italic" else "bold"} - weight: {if use_evobar() then "italic" else "bold"} - color: {if use_evobar() then "black" else "white"} - alias 2: - left: { if back_saga() then 565 else if back_skinned() then 422 else if back_poke_walker() then 413 else if back_map() then 394 else 410} - top: {if mainframe_walkerb() then 47 else if back_map() then 58 else 53} - width: {if back_skinned() then 285 else if use_evobar() then max(100, card_style.alias_2.content_width) else 0} - height: 20 - alignment: { (if back_skinned() then "center") + "bottom shrink-overflow"} - padding bottom: 0 - z index: 3 - font: - name: {if use_evobar() then "Matrix" else "MPlantin-Italic"} - size: {if use_evobar() then 10 else 9} - style: {if use_evobar() then "italic" else "bold"} - weight: {if use_evobar() then "italic" else "bold"} - color: {if use_evobar() then "black" else "white"} + ############################################################## Extra card fields extra card field: @@ -2255,29 +1214,10 @@ extra card field: name: card code save value: false script: - if set.automatic_card_numbers and not is_unsorted() then - forward_editor(prefix: card_number_m15() + "a/" + card_count_m15() + " " + rarity_code() + " ", field: card.card_code_text) + if set.automatic_card_numbers and not styling.remove_from_autocount then + forward_editor(prefix: card_number_m15() + "/" + card_count_m15() + " " + rarity_code() + " ", field: card.card_code_text) else combined_editor(field1: card.custom_card_number, separator: " " + rarity_code() + " ", field2: card.card_code_text) -extra card field: - type: text - name: card code 2 - save value: false - script: - if set.automatic_card_numbers and not is_unsorted() then - forward_editor(prefix: card_number_m15() + "b/" + card_count_m15() + " " + rarity_code() + " ", field: card.card_code_text_2) - else - back_face(card.custom_card_number) + " " + rarity_code() + " " + card.card_code_text_2 -extra card field: - type: color - name: opac filter - script: rgb(opacity(0), opacity(0), opacity(0)) - save value: false -extra card field: - type: color - name: opac filter 2 - script: rgb(opacity(1), opacity(1), opacity(1)) - save value: false extra card field: type: choice name: artist arrow @@ -2286,21 +1226,27 @@ extra card field: choice: white extra card field: type: choice - name: artist arrow 2 + name: pt box + script: card.card_color editable: false save value: false - choice: white -extra card field: - type: choice - name: loyalty box - editable: false - choice: loyalty - save value: false extra card field: type: choice - name: loyalty box 2 + name: pt box 2 + script: card.card_color + editable: false + save value: false +extra card field: + type: choice + name: pt box 3 + script: card.card_color + editable: false + save value: false +extra card field: + type: choice + name: pt box 4 + script: card.card_color editable: false - choice: loyalty save value: false extra card field: type: choice @@ -2314,198 +1260,24 @@ extra card field: choice: stamp save value: false editable: false +extra card field: + type: choice + name: clear frame + script: card.card_color + save value: false + editable: false +extra card field: + type: choice + name: mirror frame + script: card.card_color + save value: false + editable: false extra card field: type: choice name: foil layer choice: foil save value: false editable: false -extra card field: - type: choice - name: foil layer 2 - choice: foil - save value: false - editable: false -extra card field: - type: choice - name: loyalty cost box 1 - editable: false - script: loyalty_image(card.loyalty_cost_1) - save value: false -extra card field: - type: choice - name: loyalty cost box 2 - editable: false - script: loyalty_image(card.loyalty_cost_2) - save value: false -extra card field: - type: choice - name: loyalty cost box 3 - editable: false - script: loyalty_image(card.loyalty_cost_3) - save value: false -extra card field: - type: choice - name: loyalty cost box 4 - editable: false - script: loyalty_image(card.loyalty_cost_4) - save value: false -extra card field: - type: choice - name: loyalty cost box 5 - editable: false - script: loyalty_image(card.loyalty_cost_5) - save value: false -extra card field: - type: choice - name: loyalty cost box 6 - editable: false - script: loyalty_image(card.loyalty_cost_6) - save value: false -extra card field: - type: choice - name: loyalty cost box 7 - editable: false - script: loyalty_image(card.loyalty_cost_7) - save value: false -extra card field: - type: choice - name: loyalty cost box 8 - editable: false - script: loyalty_image(card.loyalty_cost_8) - save value: false -extra card field: - type: text - name: colon 1 - editable: false - script: ":" - save value: false -extra card field: - type: text - name: colon 2 - editable: false - script: ":" - save value: false -extra card field: - type: text - name: colon 3 - editable: false - script: ":" - save value: false -extra card field: - type: text - name: colon 4 - editable: false - script: ":" - save value: false -extra card field: - type: text - name: colon 5 - editable: false - script: ":" - save value: false -extra card field: - type: text - name: colon 6 - editable: false - script: ":" - save value: false -extra card field: - type: text - name: colon 7 - editable: false - script: ":" - save value: false -extra card field: - type: text - name: colon 8 - editable: false - script: ":" - save value: false -extra card field: - type: choice - name: top stripe - editable: false - save value: false - choice: stripe -extra card field: - type: choice - name: bot stripe - editable: false - save value: false - choice: stripe -extra card field: - type: choice - name: fourth stripe - editable: false - save value: false - choice: stripe -extra card field: - type: color - name: top color - script: if front_clear() then rgb(230,230,230) else rgb(200,200,200) - editable: false - save value: false -extra card field: - type: color - name: bottom color - script: if front_clear() then rgb(230,230,230) else rgb(200,200,200) - editable: false - save value: false -extra card field: - type: color - name: stripe color - script: if front_clear() then rgb(230,230,230) else rgb(200,200,200) - editable: false - save value: false -extra card field: - type: color - name: stripe color 2 - script: if front_clear() then rgb(230,230,230) else rgb(200,200,200) - editable: false - save value: false -extra card field: - type: choice - name: top stripe back - editable: false - save value: false - choice: stripe -extra card field: - type: choice - name: bot stripe back - editable: false - save value: false - choice: stripe -extra card field: - type: choice - name: fourth stripe back - editable: false - save value: false - choice: stripe -extra card field: - type: color - name: top color back - script: if back_clear() then rgb(230,230,230) else rgb(200,200,200) - editable: false - save value: false -extra card field: - type: color - name: bottom color back - script: if back_clear() then rgb(230,230,230) else rgb(200,200,200) - editable: false - save value: false -extra card field: - type: color - name: stripe color back - script: if back_clear() then rgb(230,230,230) else rgb(200,200,200) - editable: false - save value: false -extra card field: - type: color - name: stripe color 2 back - script: if front_clear() then rgb(230,230,230) else rgb(200,200,200) - editable: false - save value: false extra card field: type: text name: auto copyright @@ -2514,158 +1286,17 @@ extra card field: editable: false show statistics: false extra card field: - type: text - name: auto copyright 2 - script: set.copyright + type: choice + name: mainframe rarity + choice: rarity save value: false editable: false - show statistics: false -extra card field: - type: text - name: pt 2 copy - script: if chosen(styling.other_options, choice:"use hovering loyalty") and card.pt_2 == "" then card.loyalty_2 else card.pt_2 - editable: false - save value: false extra card field: type: choice - name: pt box - script: card.card_color - editable: false - save value: false -extra card field: - type: choice - name: pt box 2 - script: if is_leveler() then card.card_color else card.card_color_2 - editable: false - save value: false -extra card field: - type: choice - name: pt box 3 - script: card.card_color - editable: false - save value: false -extra card field: - type: choice - name: pt box 4 - script: card.card_color_2 - editable: false - save value: false -extra card field: - type: choice - name: pt box 5 - script: card.card_color_2 - editable: false - save value: false -extra card field: - type: choice - name: pt box 6 - script: card.card_color_2 - editable: false - save value: false -extra card field: - type: choice - name: pt box 7 - script: card.card_color - editable: false - save value: false -extra card field: - type: choice - name: pt box 8 - script: card.card_color - editable: false - save value: false -extra card field: - type: choice - name: corner - choice: none - choice: day - choice: night - choice: moon - choice: eldrazi - choice: compass - choice: closed fan - choice: open fan - choice: specialize triangle - choice: specialize arrows - choice: artifact - choice: creature - choice: enchantment - choice: instant - choice: land - choice: multitype - choice: sorcery - choice: planeswalker - choice: structure - choice: aetherprint - choice: modal - choice: - name: sparker colors - choice: white - choice: blue - choice: black - choice: red - choice: green - choice: multicolor - choice: colorless - choice: custom one - choice: custom two - default: "day" - script: if is_modal_dfc() then "modal" else if value == "modal" then "day" else value - save value: true - editable: true -extra card field: - type: choice - name: corner 2 - choice: none - choice: day - choice: night - choice: moon - choice: eldrazi - choice: compass - choice: closed fan - choice: open fan - choice: specialize triangle - choice: specialize arrows - choice: artifact - choice: creature - choice: enchantment - choice: instant - choice: land - choice: multitype - choice: sorcery - choice: planeswalker - choice: structure - choice: aetherprint - choice: modal - choice: - name: sparker colors - choice: white - choice: blue - choice: black - choice: red - choice: green - choice: multicolor - choice: colorless - choice: custom one - choice: custom two - script: if is_modal_dfc() then "modal" else if value == "modal" then "night" else value - default: "night" - save value: true - editable: true -extra card field: - type: choice - name: floating frame - choice: map + name: vehicle overlay + choice: car door save value: false editable: false - script: card.card_color -extra card field: - type: choice - name: floating frame 2 - choice: map - save value: false - editable: false - script: card.card_color_2 extra card field: type: choice name: snow overlay @@ -2673,12 +1304,6 @@ extra card field: save value: false editable: false script: card.card_color -extra card field: - type: choice - name: vehicle overlay - choice: car door - save value: false - editable: false extra card field: type: choice name: nyx overlay @@ -2695,105 +1320,10 @@ extra card field: script: card.card_color extra card field: type: choice - name: bookmark - choice: mark - save value: false - editable: false + name: map frame script: card.card_color -extra card field: - type: choice - name: stripe - choice: mark save value: false editable: false -extra card field: - type: choice - name: stripe 2 - choice: mark - save value: false - editable: false -extra card field: - type: choice - name: curtain - choice: curtain - save value: false - editable: false - script: card.card_color -extra card field: - type: choice - name: legend overlay - choice: crown - save value: false - editable: false - script: card.card_color -extra card field: - type: choice - name: snow overlay 2 - choice: snow - save value: false - editable: false - script: card.card_color_2 -extra card field: - type: choice - name: vehicle overlay 2 - choice: car door - save value: false - editable: false -extra card field: - type: choice - name: nyx overlay 2 - choice: nyx - save value: false - editable: false - script: card.card_color_2 -extra card field: - type: choice - name: miracle overlay 2 - choice: miracle - save value: false - editable: false - script: card.card_color_2 -extra card field: - type: choice - name: bookmark 2 - choice: bookmark - save value: false - editable: false - script: card.card_color_2 -extra card field: - type: choice - name: class paper - choice: bookmark - save value: false - editable: false - script: card.card_color_2 -extra card field: - type: choice - name: class paper 2 - choice: bookmark - save value: false - editable: false - script: card.card_color_2 -extra card field: - type: choice - name: curtain 2 - choice: curtain - save value: false - editable: false - script: card.card_color_2 -extra card field: - type: choice - name: legend overlay 2 - choice: crown - save value: false - editable: false - script: card.card_color_2 -extra card field: - type: choice - choice: bar - name: meld bar - editable: false - show statistics: false extra card field: type: choice name: flavor bar @@ -2801,10 +1331,27 @@ extra card field: editable: false save value: false show statistics: false +extra card field: + type: text + name: tarot watermark extra card field: type: choice - name: flavor bar 2 - choice: bar + name: curtain + script: card.card_color + editable: false + save value: false + show statistics: false +extra card field: + type: choice + name: scrolls + script: card.card_color + editable: false + save value: false + show statistics: false +extra card field: + type: choice + name: crown + script: card.card_color editable: false save value: false show statistics: false @@ -2813,193 +1360,6 @@ extra card field: name: promo label save value: true description: The golden promo label. -extra card field: - type: text - name: promo label 2 - save value: true - description: The second golden promo label. -extra card field: - type: text - name: filler text - editable: true - save value: true - show statistics: false - multi line: true - script: - forward_editor(field: card.special_text) - special_text() -extra card field: - type: text - name: filler text 2 - editable: true - save value: true - show statistics: false - multi line: true - script: - forward_editor(field: card.special_text_2) - special_text2() -extra card field: - type: choice - name: chapter 1 - choice: chapter - editable: false - save value: false - show statistics: false -extra card field: - type: choice - name: chapter 2 - choice: chapter - editable: false - save value: false - show statistics: false -extra card field: - type: choice - name: chapter 3 - choice: chapter - editable: false - save value: false - show statistics: false -extra card field: - type: choice - name: chapter 4 - choice: chapter - editable: false - save value: false - show statistics: false -extra card field: - type: choice - name: chapter 5 - choice: chapter - editable: false - save value: false - show statistics: false -extra card field: - type: choice - name: chapter 6 - choice: chapter - editable: false - save value: false - show statistics: false -extra card field: - type: choice - name: chapter custom - choice: chapter - editable: false - save value: false - show statistics: false -extra card field: - type: choice - name: linebreak 1 - choice: line - editable: false - save value: false - show statistics: false -extra card field: - type: choice - name: linebreak 2 - choice: line - editable: false - save value: false - show statistics: false -extra card field: - type: choice - name: linebreak 3 - choice: line - editable: false - save value: false - show statistics: false -extra card field: - type: choice - name: linebreak 4 - choice: line - editable: false - save value: false - show statistics: false -extra card field: - type: choice - name: chapter 1b - choice: chapter - editable: false - save value: false - show statistics: false -extra card field: - type: choice - name: chapter 2b - choice: chapter - editable: false - save value: false - show statistics: false -extra card field: - type: choice - name: chapter 3b - choice: chapter - editable: false - save value: false - show statistics: false -extra card field: - type: choice - name: chapter 4b - choice: chapter - editable: false - save value: false - show statistics: false -extra card field: - type: choice - name: chapter 5b - choice: chapter - editable: false - save value: false - show statistics: false -extra card field: - type: choice - name: chapter 6b - choice: chapter - editable: false - save value: false - show statistics: false -extra card field: - type: choice - name: chapter customb - choice: chapter - editable: false - save value: false - show statistics: false -extra card field: - type: choice - name: linebreak 1b - choice: line - editable: false - save value: false - show statistics: false -extra card field: - type: choice - name: linebreak 2b - choice: line - editable: false - save value: false - show statistics: false -extra card field: - type: choice - name: linebreak 3b - choice: line - editable: false - save value: false - show statistics: false -extra card field: - type: choice - name: linebreak 4b - choice: line - editable: false - save value: false - show statistics: false -extra card field: - type: color - name: silver patch - script: rgb(0,0,0) -extra card field: - type: color - name: silver patch 2 - script: rgb(0,0,0) extra card field: type: choice name: evobar @@ -3012,18 +1372,6 @@ extra card field: choice: evo save value: false editable: false -extra card field: - type: choice - name: evobar 2 - choice: evo - save value: false - editable: false -extra card field: - type: choice - name: evobar tip 2 - choice: evo - save value: false - editable: false extra card field: type: choice name: evobar start @@ -3032,8 +1380,8 @@ extra card field: editable: false extra card field: type: choice - name: evobar start 2 - choice: evo + name: alias bar + script: card.card_color save value: false editable: false # Add the word "LEVEL" to the top arrow. @@ -3043,27 +1391,27 @@ extra card field: editable: false save value: false script: if loy_leveler() then ":" else level_label(0) -# Add the word "LEVEL" to the first arrow. +# Add the word "LEVEL" to the second arrow. extra card field: type: text name: lvl label 1 editable: false save value: false - script: if is_class() then "Level 2" else if loy_leveler() then ":" else level_label(1) -# Add the word "LEVEL" to the second arrow. + script: if loy_leveler() then ":" else level_label(1) +# Add the word "LEVEL" to the third arrow. extra card field: type: text name: lvl label 2 editable: false save value: false - script: if is_class() then "Level 3" else if loy_leveler() then ":" else level_label(2) -# Add the word "LEVEL" to the third arrow. + script: if loy_leveler() then ":" else level_label(2) +# Add the word "LEVEL" to the fourth arrow. extra card field: type: text name: lvl label 3 editable: false save value: false - script: if is_class() then "Level 4" else if loy_leveler() then ":" else level_label(2) + script: if loy_leveler() then ":" else level_label(2) extra card field: type: choice name: level 2 overlay @@ -3113,131 +1461,97 @@ extra card field: editable: false save value: false show statistics: false -# Add the word "LEVEL" to the top arrow. +extra card field: + type: choice + name: mutbar + choice: bar + editable: false + save value: false + show statistics: false +extra card field: + type: color + name: silver patch + script: rgb(0,0,0) extra card field: type: text - name: lvl label 5 - editable: false - save value: false - script: if loy_leveler2() then ":" else level_label(3) -# Add the word "LEVEL" to the first arrow. -extra card field: - type: text - name: lvl label 6 - editable: false - save value: false - script: if back_class() then "Level 2" else if loy_leveler2() then ":" else level_label(4) -# Add the word "LEVEL" to the second arrow. -extra card field: - type: text - name: lvl label 7 - editable: false - save value: false - script: if back_class() then "Level 3" else if loy_leveler2() then ":" else level_label(5) -# Add the word "LEVEL" to the third arrow. -extra card field: - type: text - name: lvl label 8 - editable: false - save value: false - script: if back_class() then "Level 4" else if loy_leveler2() then ":" else level_label(5) + name: ascend + script: text_filter(value, card_name:card.name, margin_code:"unknown") extra card field: type: choice - name: level 6 overlay - script: card.card_color_2 - choice: mask - editable: false - show statistics: false -extra card field: - type: choice - name: level 7 overlay - script: card.card_color_2 - choice: mask - editable: false - show statistics: false -extra card field: - type: choice - name: level 8 overlay - script: card.card_color_2 - choice: mask - editable: false - show statistics: false -extra card field: - type: choice - name: arrow 5 - script: card.card_color_2 - editable: false - save value: false - show statistics: false -extra card field: - type: choice - name: arrow 6 - script: card.card_color_2 - editable: false - save value: false - show statistics: false -extra card field: - type: choice - name: arrow 7 - script: card.card_color_2 - editable: false - save value: false - show statistics: false -extra card field: - type: choice - name: arrow 8 - script: card.card_color_2 - editable: false - save value: false - show statistics: false -extra card field: - type: choice - name: alias bar + name: season flag script: card.card_color save value: false editable: false extra card field: type: choice - name: alias bar 2 - script: card.card_color_2 - save value: false + name: loyalty box editable: false + choice: loyalty + save value: false extra card field: type: choice - name: front modal flag - script: card.card_color_2 + name: stripe + choice: stripe editable: false save value: false show statistics: false extra card field: type: choice - name: back modal flag + name: stripe 2 + choice: stripe + editable: false + save value: false + show statistics: false +extra card field: + type: choice + name: node script: card.card_color editable: false save value: false show statistics: false extra card field: - type: text - name: back type hint - script: if front_modal_hint().0 != "" then front_modal_hint().0 else value + type: choice + name: corner + choice: none + choice: lesson + choice: custom + choice: day + choice: night + choice: moon + choice: eldrazi + choice: compass + choice: closed fan + choice: open fan + choice: triangle up + choice: triangle down + choice: specialize arrows + choice: artifact + choice: creature + choice: enchantment + choice: instant + choice: land + choice: multitype + choice: sorcery + choice: planeswalker + choice: structure + choice: aetherprint + choice: + name: sparker colors + choice: white + choice: blue + choice: black + choice: red + choice: green + choice: multicolor + choice: colorless + default: "lesson" + script: if value == "specialize triangle" then "triangle up" else value save value: true editable: true extra card field: - type: text - name: back color hint - script: if front_modal_hint().1 != "" then front_modal_hint().1 else value - save value: true - editable: true -extra card field: - type: text - name: front type hint - script: if back_modal_hint().0 != "" then back_modal_hint().0 else value - save value: true - editable: true -extra card field: - type: text - name: front color hint - script: if back_modal_hint().1 != "" then back_modal_hint().1 else value + type: multiple choice + name: pride pin + include file: /magic-pride.mse-include/pins save value: true editable: true extra card field: @@ -3247,23 +1561,11 @@ extra card field: editable: true description: Where they put mtgstory.com on story spotlights. extra card field: - type: text - name: vorthos box 2 - save value: true - editable: true - description: Where they put mtgstory.com on story spotlights. -extra card field: - type: multiple choice - name: pride pin - include file: /magic-pride.mse-include/pins - save value: true - editable: true -extra card field: - type: multiple choice - name: pride pin 2 - include file: /magic-pride.mse-include/pins - save value: true - editable: true + type: choice + name: flash indicator + choice: dot + save value: false + editable: false extra card field: type: choice name: list icon @@ -3271,38 +1573,26 @@ extra card field: choice: the list save value: true editable: true + + extra card style: - pt 2 copy: + promo label: + left: 40 + top: { if is_full_art() then 295 else 262 } + width: {if chosen(styling.other_options, choice:"prerelease stamp") then 295 else 0} + height: 29 + alignment: middle right z index: 4 - right: 347 - top: 446 - width: 30 - height: 12 - alignment: bottom right - visible: {not is_modal_dfc() and not is_leveler() and not is_saga() and not mainframe_walker() and chosen(styling.other_options, choice:"use hovering pt")} font: name: ModMatrix - size: 12 - weight: bold - color: {rgb(45,45,45)} - separator color: red + size: 14 + color: rgb(223,169,41) card code: left: 24 top: 488 width: 120 height: 10 - z index: 6 - font: - name: Relay-Medium - size: 7 - color: white - weight: bold - card code 2: - left: 399 - top: 488 - width: 120 - height: 10 - z index: 2 + z index: 3 font: name: Relay-Medium size: 7 @@ -3313,415 +1603,27 @@ extra card style: top: 500 width: 12 height: 7 - z index: 6 - render style: image - image: artist_arrow.png - artist arrow 2: - left: { 403 + card_style.set_code_2.content_width } - top: 500 - width: 12 - height: 7 - z index: 2 - render style: image - image: artist_arrow.png - loyalty box: - right: 364 - top: 464 - width: 60 - height: 38 - z index: 6 - render style: image - visible: { card.loyalty != "" } - choice images: - loyalty: loyalty.png - loyalty box 2: - right: 741 - top: 464 - width: 60 - height: 38 - z index: 6 - render style: image - visible: { card.loyalty_2 != "" } - choice images: - loyalty: loyalty.png - stamp: - left: {if is_map() then 169 else if is_normal() then 165 else 166 } - top: { if is_normal() and not is_map() then 472 else 471.5 } - width: { if is_map() then 38 else if is_normal() then 46 else 43.5 } - height: { if is_map() then 24 else if is_normal() then 26 else 23 } z index: 3 - visible: { is_stamped() and not front_clear() } render style: image - image: { if is_saga() then "saga_stamp.png" else if is_map() then "maps/holo_stamp.png" else if mainframe_walker() then walker_stamp() else if is_normal() then card_stamp2() else card_stamp() } - mask: { (if is_full() and mainframe_walker() then "mythic" else "") + (if mainframe_walker() then "walker_" else "") + "stamp_mask.png" } - foil stamp: - left: {if front_clear() then 168 else if is_normal() then 165 else 169 } - top: { if front_clear() then 471 else if is_normal() then 472 else 473 } - width: { if front_clear() and is_normal() then 0 else if front_clear() then 41 else if is_normal() then 46 else 37 } - height: { if front_clear() and is_normal() then 0 else if front_clear() then 28 else if is_normal() then 26 else 22.5 } - z index: 4 - visible: { is_stamped() and not is_map() and not (mainframe_walker() and front_clear())} - render style: image - image: { if front_clear() then "xstamp.png" else "foil_stamp.png" } - foil layer: - left: 0 - top : 0 - width: 375 - height: 523 - z index: 14 - render style: image - image: {if styling.overlay == "" then "" else styling.overlay + "/overlay.png"} - foil layer 2: - left: 377 - top: 0 - width: 375 - height: 523 - z index: 14 - render style: image - image: {if styling.overlay == "" then "" else styling.overlay + "/overlay.png"} - loyalty cost box 1: - left: {if is_normal() then 0 else 15} - top: { abil_center(0) - 17.3 - 2 - loyal_move(0) } - width: 45 - height: 36 - z index: 6 - render style: image - visible: { card.loyalty_cost_1 != "" } - choice images: - loyalty up: loyaltyup.png - loyalty down: loyaltydown.png - loyalty naught: loyaltynaught.png - loyalty cost box 2: - left: {if is_normal() then 0 else 15} - top: { abil_center(1) - 17.3 - 2 - loyal_move(1) } - width: 45 - height: 36 - z index: 6 - render style: image - visible: { card.loyalty_cost_2 != "" } - choice images: - loyalty up: loyaltyup.png - loyalty down: loyaltydown.png - loyalty naught: loyaltynaught.png - loyalty cost box 3: - left: {if is_normal() then 0 else 15} - top: { abil_center(2) - 17.3 - 2 - loyal_move(2) } - width: 45 - height: 36 - z index: 6 - render style: image - visible: { card.loyalty_cost_3 != "" } - choice images: - loyalty up: loyaltyup.png - loyalty down: loyaltydown.png - loyalty naught: loyaltynaught.png - loyalty cost box 4: - left: {if is_normal() then 0 else 15} - top: { abil_center(3) - 17.3 - 2 - loyal_move(3) } - width: 45 - height: 36 - z index: 6 - render style: image - visible: { card.loyalty_cost_4 != "" } - choice images: - loyalty up: loyaltyup.png - loyalty down: loyaltydown.png - loyalty naught: loyaltynaught.png - colon 1: - left: {if is_normal() then 41 else 59} - top: { abil_center(0) - 17.3 + 10 - loyal_move(0) } - width: 5 - height: 10 - z index: 6 - font: - name: MPlantin - size: 15 - scale down to: 15 - color: black - alignment: middle center - visible: { card.loyalty_cost_1 != "" } - colon 2: - left: {if is_normal() then 41 else 59} - top: { abil_center(1) - 17.3 + 10 - loyal_move(1) } - width: 5 - height: 10 - z index: 6 - font: - name: MPlantin - size: 15 - scale down to: 15 - color: black - alignment: middle center - visible: { card.loyalty_cost_2 != "" } - colon 3: - left: {if is_normal() then 41 else 59} - top: { abil_center(2) - 17.3 + 10 - loyal_move(2) } - width: 5 - height: 10 - z index: 6 - font: - name: MPlantin - size: 15 - scale down to: 15 - color: black - alignment: middle center - visible: { card.loyalty_cost_3 != "" } - colon 4: - left: {if is_normal() then 41 else 59} - top: { abil_center(3) - 17.3 + 10 - loyal_move(3) } - width: { if has_four_abilities() then 5 else 0 } - height: 10 - z index: 6 - font: - name: MPlantin - size: 15 - scale down to: 15 - color: black - alignment: middle center - visible: { card.loyalty_cost_4 != "" } - colon 5: - left: {if back_normal() then 418 else 436} - top: { abil_centerb(0) - 17.3 + 10 - loyal_moveb(0) } - width: 5 - height: 10 - z index: 6 - font: - name: MPlantin - size: 15 - scale down to: 15 - color: black - alignment: middle center - visible: { card.loyalty_cost_5 != "" } - colon 6: - left: {if back_normal() then 418 else 436} - top: { abil_centerb(1) - 17.3 + 10 - loyal_moveb(1) } - width: 5 - height: 10 - z index: 6 - font: - name: MPlantin - size: 15 - scale down to: 15 - color: black - alignment: middle center - visible: { card.loyalty_cost_6 != "" } - colon 7: - left: {if back_normal() then 418 else 436} - top: { abil_centerb(2) - 17.3 + 10 - loyal_moveb(2) } - width: 5 - height: 10 - z index: 6 - font: - name: MPlantin - size: 15 - scale down to: 15 - color: black - alignment: middle center - visible: { card.loyalty_cost_7 != "" } - colon 8: - left: {if back_normal() then 418 else 436} - top: { abil_centerb(3) - 17.3 + 10 - loyal_moveb(3) } - width: { if back_four_abilities() then 5 else 0 } - height: 10 - z index: 6 - font: - name: MPlantin - size: 15 - scale down to: 15 - color: black - alignment: middle center - visible: { card.loyalty_cost_8 != "" } - top stripe: - left: { if front_clear() then 47 else 45} - top: { max(to_int(stripe01()-3)+(if front_clear() then 2 else 0), (if has_four_abilities() then 309 else 345)-(if front_clear() then 2 else 0)) } - width: { if front_clear() then 298 else 302} - height: 20 - image: { (if front_clear() then "clear_" else "") + "top_stripe_test.png" } - render style: image - z index: 2 - mask: stripe_mask.png - visible: { mainframe_walker() and force_level() != "one" } - bot stripe: - left: { if front_clear() then 47 else 45} - top: {to_int(stripe12()-3) } - width: { if front_clear() then 298 else 302} - height: 13 - image: { (if front_clear() then "clear_" else "") + "bot_stripe_test.png" } - render style: image - z index: 2 - mask: stripe_mask.png - visible: { mainframe_walker() and card.level_3_text != ""} - fourth stripe: - left: { if front_clear() then 47 else 45} - top: {to_int(min(465, stripe23()-3)) } - width: { if front_clear() then 298 else 302} - height: 20 - image: { (if front_clear() then "clear_" else "") + "top_stripe_test.png" } - render style: image - z index: 2 - mask: stripe_mask.png - visible: { max_level() > 3 or force_level() == "four"} - stripe color: - left: { if front_clear() then 47 else 45} - top: { (if has_four_abilities() then 309 else if front_clear() then 343 else 345) } - width: { if front_clear() then 298 else 302} - bottom: { max(if force_level() == "one" then 465 else to_int(stripe01()-3)+(if front_clear() then 2 else 0), (if has_four_abilities() then 309 else 345)-(if front_clear() then 2 else 0)) } - z index: 2 - mask: stripe_mask.png - visible: {mainframe_walker()} - stripe color 2: - left: { if front_clear() then 47 else 45} - top: { to_int(stripe12()+10) } - width: { if front_clear() then 298 else 302} - bottom: { if max_level() == 3 or stripe23() == 0 then 465 else to_int(min(465, stripe23()-3)) } - z index: 2 - mask: stripe_mask.png - visible: { mainframe_walker() and card.level_3_text != ""} - top color: - left: {if front_clear() then 28 else 26} - top: {if front_clear() and max_level() > 4 then 288 else if has_four_abilities() then 288 else if front_clear() then 322 else 324 } - width: {if front_clear() then 320 else 324} - height: { if front_clear() and max_level() > 4 then 19 else 21 } - z index: 2 - mask: mask_top.png - visible: {mainframe_walker()} - bottom color: - left: { if front_clear() then 28 else 26} - top: 465 - width: {if front_clear() then 319 else 323} - height: 13 - z index: 2 - mask: {(if is_stamped() then "rare_" else "") + "mask_bot.png"} - visible: { force_level() == "one" or max_level() == 3 or max_level() == 5} - loyalty cost box 5: - left: {if back_normal() then 377 else 392} - top: { abil_centerb(0) - 17.3 - 2 - loyal_moveb(0) } - width: 45 - height: 36 - z index: 6 - render style: image - visible: { card.loyalty_cost_5 != "" } - choice images: - loyalty up: loyaltyup.png - loyalty down: loyaltydown.png - loyalty naught: loyaltynaught.png - loyalty cost box 6: - left: {if back_normal() then 377 else 392} - top: { abil_centerb(1) - 17.3 - 2 - loyal_moveb(1) } - width: 45 - height: 36 - z index: 6 - render style: image - visible: { card.loyalty_cost_6 != "" } - choice images: - loyalty up: loyaltyup.png - loyalty down: loyaltydown.png - loyalty naught: loyaltynaught.png - loyalty cost box 7: - left: {if back_normal() then 377 else 392} - top: { abil_centerb(2) - 17.3 - 2 - loyal_moveb(2) } - width: 45 - height: 36 - z index: 6 - render style: image - visible: { card.loyalty_cost_7 != "" } - choice images: - loyalty up: loyaltyup.png - loyalty down: loyaltydown.png - loyalty naught: loyaltynaught.png - loyalty cost box 8: - left: {if back_normal() then 377 else 392} - top: { abil_centerb(3) - 17.3 - 2 - loyal_moveb(3) } - width: 45 - height: 36 - z index: 6 - render style: image - visible: { card.loyalty_cost_8 != "" } - choice images: - loyalty up: loyaltyup.png - loyalty down: loyaltydown.png - loyalty naught: loyaltynaught.png - - top stripe back: - left: { if back_clear() then 424 else 422} - top: { max(to_int(stripe01b()-3)+(if back_clear() then 2 else 0), (if back_four_abilities() then 309 else 345)-(if back_clear() then 2 else 0)) } - width: { if back_clear() then 298 else 302} - height: 20 - image: { (if back_clear() then "clear_" else "") + "top_stripe_test.png" } - render style: image - z index: 2 - mask: stripe_mask.png - visible: { mainframe_walkerb() and force_levelb() != "one" } - bot stripe back: - left: { if back_clear() then 424 else 422} - top: {to_int(stripe12b()-3) } - width: { if back_clear() then 298 else 302} - height: 13 - image: { (if back_clear() then "clear_" else "") + "bot_stripe_test.png" } - render style: image - z index: 2 - mask: stripe_mask.png - visible: { mainframe_walkerb() and card.level_7_text != ""} - fourth stripe back: - left: { if back_clear() then 424 else 422} - top: {to_int(min(465, stripe23b()-3)) } - width: { if back_clear() then 298 else 302} - height: 20 - image: { (if back_clear() then "clear_" else "") + "top_stripe_test.png" } - render style: image - z index: 2 - mask: stripe_mask.png - visible: { max_levelb() > 3 or force_levelb() == "four"} - stripe color back: - left: { if back_clear() then 424 else 422} - top: { (if back_four_abilities() then 309 else if back_clear() then 343 else 345) } - width: { if back_clear() then 298 else 302} - bottom: { max(if force_levelb() == "one" then 465 else to_int(stripe01b()-3)+(if back_clear() then 2 else 0), (if back_four_abilities() then 309 else 345)-(if back_clear() then 2 else 0)) } - z index: 2 - mask: stripe_mask.png - visible: {mainframe_walkerb()} - stripe color 2 back: - left: { if back_clear() then 424 else 422} - top: { to_int(stripe12b()+10) } - width: { if back_clear() then 298 else 302} - bottom: { if max_levelb() == 3 or stripe23b() == 0 then 465 else to_int(min(465, stripe23b()-3)) } - z index: 2 - mask: stripe_mask.png - visible: { mainframe_walkerb() and card.level_7_text != ""} - top color back: - left: {if back_clear() then 405 else 403} - top: {if back_clear() and max_levelb() > 4 then 288 else if back_four_abilities() then 288 else if back_clear() then 322 else 324 } - width: {if back_clear() then 320 else 324} - height: { if back_clear() and max_levelb() > 4 then 19 else 21 } - z index: 2 - mask: mask_top.png - visible: {mainframe_walkerb()} - bottom color back: - left: {if back_clear() then 405 else 403} - top: 465 - width: {if back_clear() then 319 else 323} - height: 13 - z index: 2 - mask: mask_bot.png - visible: { force_levelb() == "one" or max_levelb() == 3 or max_levelb() == 5} + image: artist_arrow.png pt box: left: { if is_leveler() and not lone_pt() then 278 else if is_map() then 270 else 273} top: { if is_leveler() and not lone_pt() then (l1_center() - (if is_map() then 26 else 18)) else if is_map() then 453 else 466} - width: { if is_map() then 90 else if is_normal() or card.pt != "" then 81 else 0 } + width: { if starting_loyalty() and not is_leveler() then 0 else if is_map() then 90 else 81} height: { if is_map() then 54 else 42} z index: 3 visible: { card.pt != "" } render style: image - image: { if is_map() then card_mapbox() else if is_vehicle() then "vpt.png" else if front_clear() then "xpt.png" else card_ptbox() } + image: { if is_map() then mappt_background() else if is_vehicle() and (not is_legend() or chosen(styling.other_options, choice:"brown legendary vehicle pt")) then "vpt.png" else if is_clear() then "cpt.png" else choose_ptbox() } pt box 2: - left: { if is_leveler() then 278 else if back_map() then 647 else 648} - top: { if is_leveler() then (l2_center() - (if is_map() then 26 else 15)) else if back_map() then 453 else 466} - width: { if back_map() or (is_leveler() and is_map()) then 90 else if is_leveler() or back_normal() or card.pt_2 != "" then 81 else 0} - height: {if back_map() or (is_leveler() and is_map()) then 54 else 42} + left: 278 + top: { l2_center() - (if is_map() then 26 else 15)} + width: { if (is_leveler() and not lone_pt()) or card.pt_2 != "" then (if is_map() then 90 else 81) else 0} + height: { if (is_leveler() and not lone_pt()) or card.pt_2 != "" then (if is_map() then 54 else 42) else 0} z index: 3 visible: { card.pt_2 != "" } render style: image - image: { if is_leveler() then (if is_map() then card_mapbox() else if is_vehicle() then "vpt.png" else if front_clear() then "xpt.png" else leveler_ptbox2()) else if back_map() then card_mapbox() else if back_vehicle() then "vpt.png" else if back_clear() then "xpt.png" else card_ptbox2() } + image: {if is_map() then mappt_background() else combine_blend(image1: lv_2_ptbox(), image2: "ptbox_multiply_1.png", combine: "multiply")} pt box 3: left: 278 top: { l3_center() - (if is_map() then 26 else 15)} @@ -3731,387 +1633,187 @@ extra card style: visible: { card.pt_3 != "" } render style: image image: {if is_map() then mappt_background() else combine_blend(image1: lv_3_ptbox(), image2: "ptbox_multiply_2.png", combine: "multiply")} - pt box 7: + pt box 4: left: 278 top: { l4_center() - (if is_map() then 26 else 15)} - width: { if (is_leveler() and not lone_pt()) or card.pt_7 != "" then (if is_map() then 90 else 81) else 0} - height: { if (is_leveler() and not lone_pt()) or card.pt_7 != "" then (if is_map() then 54 else 42) else 0} + width: { if (is_leveler() and not lone_pt()) or card.pt_3 != "" then (if is_map() then 90 else 81) else 0} + height: { if (is_leveler() and not lone_pt()) or card.pt_3 != "" then (if is_map() then 54 else 42) else 0} z index: 3 visible: { card.pt_7 != "" } render style: image - image: {if is_map() then mappt_background() else combine_blend(image1: lv_3_ptbox(), image2: "ptbox_multiply_3.png", combine: "multiply")} - pt box 4: - left: {377 + if back_leveler() and not lone_pt() then 278 else if back_map() then 270 else 273} - top: { if back_leveler() and not lone_pt() then (l5_center() - (if back_map() then 26 else 18)) else if back_map() then 453 else 466} - width: { if back_map() then 90 else 81} - height: { if back_map() then 54 else 42} - z index: 3 - visible: { card.pt_4 != "" } + image: {if is_map() then mappt_background() else combine_blend(image1: lv_4_ptbox(), image2: "ptbox_multiply_3.png", combine: "multiply")} + loyalty box: + right: 362 + top: 466 + width: 60 + height: 38 + z index: 6 render style: image - image: { if back_map() then card_mapbox() else if back_vehicle() then "vpt.png" else if back_clear() then "xpt.png" else if is_leveler() and not back_leveler() then card_ptbox2() else card_ptbox() } - pt box 5: - left: 655 - top: { l6_center() - (if back_map() then 26 else 15)} - width: { if (back_leveler() and not lone_pt()) or card.pt_5 != "" then (if back_map() then 90 else 81) else 0} - height: { if (back_leveler() and not lone_pt()) or card.pt_5 != "" then (if back_map() then 54 else 42) else 0} - z index: 3 - visible: { card.pt_5 != "" } + visible: { starting_loyalty() and card.loyalty != "" } + choice images: + loyalty: loyalty.png + stamp: + left: 165 + top: 472 + width: 46 + height: 26 + z index: 2 + visible: { is_rare() and styling.use_holofoil_stamps and (is_devoid() or not is_clear()) } render style: image - image: {if back_map() then card_mapbox() else combine_blend(image1: lv_6_ptbox(), image2: "ptbox_multiply_1.png", combine: "multiply")} - pt box 6: - left: 655 - top: { l7_center() - (if back_map() then 26 else 15)} - width: { if (back_leveler() and not lone_pt()) or card.pt_6 != "" then (if back_map() then 90 else 81) else 0} - height: { if (back_leveler() and not lone_pt()) or card.pt_6 != "" then (if back_map() then 54 else 42) else 0} + image: { if is_map() then "maps/holo_stamp.png" else if is_devoid() then "devoid/stamp.png" else card_stamp() } + mask: {"stamp_mask.png"} + foil stamp: + left: 165 + top: 472 + width: 46 + height: 26 z index: 3 - visible: { card.pt_6 != "" } + visible: { is_rare() and styling.use_holofoil_stamps and (is_devoid() or not is_clear()) } render style: image - image: {if back_map() then card_mapbox() else combine_blend(image1: lv_7_ptbox(), image2: "ptbox_multiply_2.png", combine: "multiply")} - pt box 8: - left: 655 - top: { l8_center() - (if back_map() then 26 else 15)} - width: { if (back_leveler() and not lone_pt()) or card.pt_8 != "" then (if back_map() then 90 else 81) else 0} - height: { if (back_leveler() and not lone_pt()) or card.pt_8 != "" then (if back_map() then 54 else 42) else 0} + image: foil_stamp.png + foil layer: + left: 0 + top : 0 + width: 375 + height: 523 z index: 3 - visible: { card.pt_8 != "" } render style: image - image: {if back_map() then card_mapbox() else combine_blend(image1: lv_8_ptbox(), image2: "ptbox_multiply_3.png", combine: "multiply")} - + image: {if styling.overlay == "" then nil else styling.overlay + "/overlay.png"} + mask: { "foil_mask" + (if card.pt != "" then "_pt") + (if is_rare() and styling.use_holofoil_stamps then "_rare") + ".png" } auto copyright: right: 350 - top: { if is_leveler() and not lone_pt() then 488 else if is_normal() and card.pt != "" or card.loyalty != "" then 500 else if is_normal() then 488 else 498 } + top: + { + if is_leveler() and not lone_pt() + then 488 + else if (starting_loyalty() and card.loyalty != "") or (card.pt != "" and not starting_loyalty()) + then 500 + else 488 + } width: {if set.automatic_copyright then 140 else 0} height: 10 - z index: 6 - alignment: middle right shrink-overflow + z index: 4 + alignment: middle right font: name: MPlantin size: 6.5 color: white weight: bold - auto copyright 2: - right: 728 - top: { if back_leveler() then (if lone_pt() then (if card.pt_4 != "" then 500 else 488) else 488) else if is_leveler() then (if card.pt_4 != "" then 500 else 488) else if (back_normal() and card.pt_2 != "") or card.loyalty != "" then 500 else if back_normal() then 488 else 498 } - width: {if set.automatic_copyright then 140 else 0} - height: 10 - z index: 6 - alignment: middle right shrink-overflow - font: - name: MPlantin - size: 6.5 - color: white - weight: bold - corner: - left: { (if is_map() then 22 else if is_normal() then 19 else 21) - (if is_modal_dfc() then 9 else 0)} - top: { (if is_normal() then 25 else 17) - (if is_modal_dfc() then 2 else 0)} - height: { if is_modal_dfc() then 35 else if is_normal() then 31 else 32} - width: { if is_modal_dfc() then 42 else if is_normal() then 31 else 32} - z index: 5 - render style: image - choice images: - lesson: corners/lesson.png - day: corners/sun_circle.png - night: corners/night_circle.png - eldrazi: corners/eldrazi.png - moon: corners/moon.png - compass: corners/compass.png - artifact: corners/artifact.png - creature: corners/creature.png - enchantment: corners/enchantment.png - instant: corners/instant.png - land: corners/land.png - multitype: corners/multitype.png - sorcery: corners/sorcery.png - planeswalker: corners/planeswalker.png - structure: corners/structure.png - compass: corners/compass.png - aetherprint: corners/aetherprint.png - closed fan: corners/closedfan.png - open fan: corners/openfan.png - specialize triangle: corners/specialize.png - specialize arrows: corners/specialized.png - sparker colors white: corners/wcorner.png - sparker colors blue: corners/ucorner.png - sparker colors black: corners/bcorner.png - sparker colors red: corners/rcorner.png - sparker colors green: corners/gcorner.png - sparker colors multicolor: corners/mcorner.png - sparker colors colorless: corners/ccorner.png - custom one: { if contains(styling.custom_symbol_one, match:".png") then "/magic-mainframe-extras.mse-include/" + styling.custom_symbol_one else "" } - custom two: { if contains(styling.custom_symbol_two, match:".png") then "/magic-mainframe-extras.mse-include/" + styling.custom_symbol_two else "" } - modal: {front_arrow_image(card.card_color)} - - corner 2: - left: { (if back_map() then 399 else if back_normal() then 396 else 398) - (if is_modal_dfc() then 9 else 0)} - top: { (if back_normal() then 25 else 17) - (if is_modal_dfc() then 2 else 0)} - height: { if is_modal_dfc() then 35 else if back_normal() then 31 else 32} - width: { if is_modal_dfc() then 42 else if back_normal() then 31 else 32} - z index: 5 - render style: image - choice images: - lesson: corners/lesson.png - day: corners/sun_circle.png - night: corners/night_circle.png - eldrazi: corners/eldrazi.png - moon: corners/moon.png - compass: corners/compass.png - artifact: corners/artifact.png - creature: corners/creature.png - enchantment: corners/enchantment.png - instant: corners/instant.png - land: corners/land.png - multitype: corners/multitype.png - sorcery: corners/sorcery.png - planeswalker: corners/planeswalker.png - structure: corners/structure.png - compass: corners/compass.png - aetherprint: corners/aetherprint.png - closed fan: corners/closedfan.png - open fan: corners/openfan.png - specialize triangle: corners/specialize.png - specialize arrows: corners/specialized.png - sparker colors white: corners/wcorner.png - sparker colors blue: corners/ucorner.png - sparker colors black: corners/bcorner.png - sparker colors red: corners/rcorner.png - sparker colors green: corners/gcorner.png - sparker colors multicolor: corners/mcorner.png - sparker colors colorless: corners/ccorner.png - custom one: { if contains(styling.custom_symbol_one, match:".png") then "/magic-mainframe-extras.mse-include/" + styling.custom_symbol_one else "" } - custom two: { if contains(styling.custom_symbol_two, match:".png") then "/magic-mainframe-extras.mse-include/" + styling.custom_symbol_two else "" } - modal: {back_arrow_image(card.card_color_2)} - snow overlay: - left: 0 - top: 0 - width: 375 - height: 523 - render style: image - image: {if front_clear() then "" else if mainframe_walker() or is_leveler() or is_saga() then snow_texture() else snow_background()} - z index: 1 - visible: {is_snow() and not chosen(styling.other_options, choice:"mythic edition")} - mask: {if mainframe_walker() then ("nyx/" + (if has_four_abilities() then "4" else "") + "pw_mask.png") else "snow/snow_" + (if is_saga() then "saga" else if is_modal_dfc() then (if is_leveler() then "border" else "modal") else if is_leveler() then "notched" else "front") + "_mask.png"} - snow overlay 2: - left: 377 - top: 0 - width: 375 - height: 523 - render style: image - image: {if back_clear() then "" else if mainframe_walkerb() or back_leveler() or back_saga() then snow_texture() else snow_background()} - z index: 1 - visible: {back_snow() and not chosen(styling.other_options, choice:"mythic edition")} - mask: {if mainframe_walkerb() then ("nyx/" + (if back_four_abilities() then "4" else "") + "pw_mask.png") else "snow/snow_" + (if back_saga() then "saga" else if back_leveler() then "border" else "back") + "_mask.png"} nyx overlay: left: 0 top: 0 width: 375 height: 523 render style: image - image: {if front_clear() then "" else nyx_background()} - z index: 1 - visible: {is_nyx() and not chosen(styling.other_options, choice:"mythic edition")} - mask: {"nyx/" + (if mainframe_walker() then ((if has_four_abilities() then "4" else "") + "pw_") else if is_modal_dfc() then "" else "notch_") + (if is_vehicle() then "v_") + (if is_saga() then "full") + "mask.png"} + image: {nyx_background()} + z index: 0 + visible: {is_nyx()} + mask: {"nyx/" + (if is_vehicle() then "v_" else "") + (if is_full_art() then "full" else "") + "mask.png"} +### FNM has a teeny mask because of a few pixel disagreements between it and normal frames + crown: + left: 0 + top: {if is_devoid() then 1 else 0} + width: 375 + height: 523 + render style: image + image: {if (is_clear() or clear_tops()) and not is_devoid() then "legend/xcrown.png" else if is_fnm() then set_mask(image:crown_background(), mask:"legend/fnm_mask.png") else crown_background()} + z index: 5 + visible: {is_legend() and not is_map()} + mask: {if is_legend() and styling.legend_crown != "custom" and (is_curtains() or is_expanded_art() or is_puma() or is_devoid() and not is_borderless()) then "curtainmask.png" else if is_season() then "crown_season_mask.png" else ""} curtain: left: 0 top: 0 width: 375 height: 523 render style: image - image: {curtain_background()} + image: {if is_cons() then cons_background() else curtain_background()} z index: 3 - visible: {is_curtains()} - mask: { if is_legend() then "lcurtainmask.png" else "nodemask.png"} - legend overlay: + visible: {is_cons() or is_curtains()} + mask: {if is_legend() and is_curtains() then "lcurtainmask.png"} + scrolls: left: 0 top: 0 width: 375 height: 523 render style: image - image: {if front_clear() then "xcrown.png" else legend_background()} - z index: 3 - visible: {is_legend()} - mask: { if is_curtains() then "curtainmask.png" else if not front_clear() then "nodemask.png"} + image: {if is_puma() then "puma.png" else (if is_full_art() then "full_" else "") + "consscrolls.png"} + mask: {if is_puma() then "puma_mask3.png" else ""} + z index: 1 + visible: {is_scrolls() or is_puma()} miracle overlay: left: 0 top: 0 width: 375 height: 523 render style: image - image: {if front_clear() then "miracles/xmiracle.png" else miracle_background()} - z index: 2 - visible: {is_miracle() and not chosen(styling.other_options, choice:"mythic edition")} - mask: { if not front_clear() then "nodemask.png"} + image: {if (is_clear() or clear_tops()) and not is_devoid() then "miracles/xmiracle.png" else miracle_background()} + z index: 1 + visible: {is_miracle()} + snow overlay: + left: 0 + top: 0 + width: 375 + height: 523 + render style: image + image: {snow_texture()} + z index: 1 + mask: {"snow/snow_" + (if is_full_art() then "promo" else "fnm") + "_mask.png"} + visible: {is_snow() and not pure_snow() and not is_expanded_art()} vehicle overlay: left: 0 top: 0 width: 375 height: 523 render style: image - image: full_voverlay.png - z index: 1 - mask: {if mainframe_walker() then ("nyx/" + (if has_four_abilities() then "4") + "pw_mask.png") else if is_saga() then "nyx/fullmask.png" else if is_modal_dfc() then "nyx/mask.png" else "nyx/notch_mask.png"} + image: {"voverlay" + (if is_full_art() then "_full" else "") + ".png" } + z index: 0 visible: {is_vehicle()} - nyx overlay 2: - left: 377 - top: 0 - width: 375 - height: 523 - render style: image - image: {if back_clear() then "" else nyx_background()} - z index: 1 - visible: {back_nyx() and not chosen(styling.other_options, choice:"mythic edition")} - mask: {"nyx/" + (if mainframe_walkerb() then ((if back_four_abilities() then "4") + "pw_")) + (if back_vehicle() then "v_") + (if back_saga() then "full") + "mask.png"} - miracle overlay 2: - left: 377 - top: 0 - width: 375 - height: 523 - render style: image - image: {if back_clear() then "miracles/xmiracle.png" else if chosen(styling.other_options, choice:"normal back face") then miracle_background() else miracle_background2()} - z index: 2 - visible: {back_miracle() and not chosen(styling.other_options, choice:"mythic edition")} - mask: { if not back_clear() then "nodemask.png"} - curtain 2: - left: 377 - top: 0 - width: 375 - height: 523 - render style: image - image: {curtain_background()} - z index: 3 - visible: {is_curtains()} - mask: { if back_legend() then "lcurtainmask.png" else "nodemask.png"} - legend overlay 2: - left: 377 - top: 0 - width: 375 - height: 523 - render style: image - image: {if back_clear() then "xcrown.png" else legend_background2()} - z index: 3 - visible: {back_legend()} - mask: { if is_curtains() then "curtainmask.png" else if not back_clear() then "nodemask.png"} - vehicle overlay 2: - left: 377 - top: 0 - width: 375 - height: 523 - render style: image - image: {(if back_saga() or mainframe_walkerb() then "full_") + "voverlay.png"} - z index: 1 - mask: {if mainframe_walkerb() then ("nyx/" + (if back_four_abilities() then "4") + "pw_mask.png") else if back_saga() then "nyx/fullmask.png" else if chosen(styling.other_options, choice:"normal back face") then "nyx/v_mask.png" else ""} - visible: {back_vehicle()} - floating frame: + clear frame: left: 0 top: 0 width: 375 height: 523 z index: 1 render style: image - image: {if is_map() then map_background() else if front_clear() then ((if is_normal() then "clear" else if has_four_abilities() then "planeswalker/xcard3" else "planeswalker/xcard") + (if is_stamped() then "_rare") + ".png") else if has_four_abilities() then card_background5() else card_background3()} - visible: {is_map() or front_clear() or mainframe_walker()} - mask: {if is_map() then "maps/frame_mask.png" else walker_mask_front()} - floating frame 2: - left: 377 + image: { if is_devoid() then devoid_background() else if is_rare() and styling.use_holofoil_stamps then "clear_rare.png" else "clear.png"} + visible: { is_clear() or is_devoid() or clear_tops()} + mirror frame: + left: 0 + top: 0 + width: {if clear_tops() then 375 else 0} + height: 523 + z index: 1 + render style: image + popup style: in place + image: { if not clear_tops() then "" else if is_fnm() then fnm_background() else if is_inverted() then inverted_background() else if is_full_art() then promo_background() else card_background() } + mask: {if clear_tops() then "clear_tops_mask.png" else ""} + map frame: + left: 0 top: 0 width: 375 height: 523 z index: 1 render style: image - image: {if back_map() then map_background() else if chosen(styling.other_options, choice:"normal back face") then (if back_clear() then ((if back_normal() then "clear" else if back_four_abilities() then "planeswalker/xcard3" else "planeswalker/xcard") + ".png") else if back_four_abilities() then card_background5() else card_background3()) else if back_clear() then ((if back_normal() then "clear2" else if back_four_abilities() then "planeswalker/xcard4" else "planeswalker/xcard2") + ".png") else if back_four_abilities() then card_background6() else card_background4()} - visible: {back_map() or back_clear() or mainframe_walkerb()} - mask: {if back_map() then "maps/frame_mask.png" else walker_mask_back()} - front modal flag: - left: {if mainframe_walker() then 10 else 14} - top: 468 - width: 160 - height: 20 + image: { if is_map() then map_background() else energy_background() } + visible: { is_map() or is_thbland() } + evobar: + left: {if is_map() then 15 else 27} + top: {if is_map() then 62 else 57} + width: {card_style.alias.content_width} + height: 27 + z index: 2 render style: image - image: {front_flag_image()} - z index: 5 - visible: {is_modal_dfc()} - back type hint: - left: {if mainframe_walker() then 24 else 28} - top: 471 - width: 80 - height: 12 - z index: 7 - visible: {is_modal_dfc()} - font: - name: Beleren Bold - size: 9 - color: white - back color hint: - right: {if mainframe_walker() then 157 else 161} - top: 471 - width: 80 - height: 14 - z index: 8 - visible: {is_modal_dfc()} - font: - name: MPlantin - size: 10 - color: white - symbol font: - name: { styling.text_box_mana_symbols } - size: 10 - scale down to: 6 - alignment: right middle - back modal flag: - left: {if mainframe_walkerb() then 387 else 391} - top: 468 - width: 160 - height: 20 + image: evobar.png + visible: {use_evobar()} + evobar tip: + left: {(if is_map() then 14.6 else 26.6) + card_style.alias.content_width} + top: {if is_map() then 62 else 57} + width: 36 + height: 27 + z index: 2 render style: image - image: {back_flag_image()} - z index: 5 - visible: {is_modal_dfc()} - front type hint: - left: { if mainframe_walkerb() then 401 else 405} - top: 471 - width: 80 - height: 12 - z index: 8 - visible: {is_modal_dfc()} - font: - name: Beleren Bold - size: 9 - color: black - front color hint: - right: {if mainframe_walkerb() then 534 else 538} - top: {if match(value, match:"^[^<]+$") then 472 else 471} - width: 80 - height: 14 - z index: 8 - visible: {is_modal_dfc()} - font: - name: MPlantin - size: 10 - color: black - symbol font: - name: { styling.text_box_mana_symbols } - size: 10 - scale down to: 6 - alignment: right middle - meld bar: - left: 377 - top: 0 - width: 375 - height: 523 - render style: image - image: meldmask.png - visible: {chosen(styling.other_options, choice:"meld back")} - z index: 10 - promo label: - left: 40 - top: { if has_four_abilities() then 225 else 262 } - width: {if chosen(styling.other_options, choice:"prerelease stamps") then 295 else 0} - height: 29 - alignment: middle right - z index: 4 - font: - name: ModMatrix - size: 14 - color: rgb(223,169,41) + image: evobar_tip.png + visible: {use_evobar()} flavor bar: left: 0 top: { bar_equation() } @@ -4121,313 +1823,17 @@ extra card style: render style: image image: bar.png visible: { card.rule_text != "" and remove_tags(card.flavor_text) != "" and set.use_flavor_bar } - promo label 2: - left: 417 - top: { if back_four_abilities() then 225 else 262 } - width: {if chosen(styling.other_options, choice:"prerelease stamps") then 295 else 0} - height: 29 - alignment: middle right - z index: 4 + tarot watermark: + left: { if is_map() then 40 else 19 } + top: { if is_full_art() then 359 else 330 } + width: { if not is_tarot() then 0 else if is_map() then 287 else 334 } + height: { if is_map() then 154 else if is_full_art() then 120 else 152 } + z index: 2 + alignment: middle center font: - name: ModMatrix - size: 14 - color: rgb(223,169,41) - flavor bar 2: - left: 377 - top: { bar_equation2() } - width: 375 - height: 1 - z index: 1 - render style: image - image: bar.png - visible: { card.rule_text_2 != "" and remove_tags(card.flavor_text_2) != "" and set.use_flavor_bar } - - chapter 1: - left: 14 - top: { if chapter1() == "" then 185 else chapter1() } - width: 30 - height: 34 - render style: image - z index: 5 - image: {alt_chapters("1")} - visible: {is_saga()} - chapter 2: - left: 14 - top: { if chapter2() == "" then 279 else chapter2() } - width: 30 - height: 34 - render style: image - z index: 5 - image: {alt_chapters("2")} - visible: {is_saga()} - chapter 3: - left: 14 - top: { if chapter3() == "" then 373 else chapter3() } - width: 30 - height: 34 - render style: image - z index: 5 - image: {alt_chapters("3")} - visible: {is_saga()} - chapter 4: - left: 14 - top: { if chapter4() == "" then 600 else chapter4() } - width: 30 - height: 34 - render style: image - z index: 5 - image: {alt_chapters("4")} - visible: {is_saga()} - chapter 5: - left: 14 - top: { if chapter5() == "" then 600 else chapter5() } - width: 30 - height: 34 - render style: image - z index: 5 - image: {alt_chapters("5")} - visible: {is_saga()} - chapter 6: - left: 14 - top: { if chapter6() == "" then 600 else chapter6() } - width: 30 - height: 34 - render style: image - z index: 5 - image: {alt_chapters("6")} - visible: {is_saga()} - chapter custom: - left: 14 - top: { if chapter_custom() == "" then 600 else chapter_custom() } - width: 30 - height: 34 - render style: image - z index: 5 - image: {custom_chapter_node()} - visible: {is_saga()} -###pulls double duty as saga line and mutate bar to reduce fields - linebreak 1: - left: {if is_class() then 188 else if is_mutate() then 28 else 30} - top: {if is_class() then lev0() else if is_mutate() then 393 else 154} - width: {if is_mutate() then 317 else 156} - height: {if is_mutate() or is_class() then 2 else 3} - render style: image - z index: 4 - image: {if is_class() then "bar.png" else if is_mutate() then "mutbar.png" else "line.png"} - visible: {is_saga() or is_mutate() or is_class()} - linebreak 2: - left: {if is_class() then 188 else 30} - top: {if is_class() then lev2() else if split_12() == "" then 248 else split_12()-1} - width: {if is_class() and card.level_2_text == "​" then 0 else 156} - height: {if is_class() then 25 else 3} - render style: image - z index: 4 - image: {if is_class() then "level.png" else "line.png"} - visible: {is_saga() or is_class()} - linebreak 3: - left: {if is_class() then 188 else 30} - top: {if is_class() then lev3() else if split_23() == "" then 342 else split_23()-1} - width: {if is_class() and card.level_3_text == "​" then 0 else 156} - height: {if is_class() then 25 else 3} - render style: image - z index: 4 - image: {if is_class() then "level.png" else "line.png"} - visible: {three_boxes() or four_boxes() or is_class()} - linebreak 4: - left: {if is_class() then 188 else 30} - top: {if is_class() then lev4() else if split_34() == "" then 600 else split_34()-1} - width: {if is_class() and card.level_4_text == "" then 0 else 156} - height: 4 - render style: image - height: {if is_class() then 25 else 3} - image: {if is_class() then "level.png" else "line.png"} - visible: {four_boxes() or is_class()} - z index: 3 - chapter 1b: - left: 391 - top: { if chapter1b() == "" then 185 else chapter1b() } - width: 30 - height: 34 - render style: image - z index: 5 - image: {alt_chapters("1")} - visible: {back_saga()} - chapter 2b: - left: 391 - top: { if chapter2b() == "" then 279 else chapter2b() } - width: 30 - height: 34 - render style: image - z index: 5 - image: {alt_chapters("2")} - visible: {back_saga()} - chapter 3b: - left: 391 - top: { if chapter3b() == "" then 373 else chapter3b() } - width: 30 - height: 34 - render style: image - z index: 5 - image: {alt_chapters("3")} - visible: {back_saga()} - chapter 4b: - left: 391 - top: { if chapter4b() == "" then 600 else chapter4b() } - width: 30 - height: 34 - render style: image - z index: 5 - image: {alt_chapters("4")} - visible: {back_saga()} - chapter 5b: - left: 391 - top: { if chapter5b() == "" then 600 else chapter5b() } - width: 30 - height: 34 - render style: image - z index: 5 - image: {alt_chapters("5")} - visible: {back_saga()} - chapter 6b: - left: 391 - top: { if chapter6b() == "" then 600 else chapter6b() } - width: 30 - height: 34 - render style: image - z index: 5 - image: {alt_chapters("6")} - visible: {back_saga()} - chapter customb: - left: 391 - top: { if chapter_customb() == "" then 600 else chapter_customb() } - width: 30 - height: 34 - render style: image - z index: 5 - image: {custom_chapter_node()} - visible: {back_saga()} - linebreak 1b: - left: {if back_class() then 565 else if back_mutate() then 405 else 407} - top: {if back_class() then lev0b() else if back_mutate() then 393 else 154} - width: {if back_mutate() then 317 else 156} - height: {if back_mutate() or back_class() then 2 else 3} - render style: image - z index: 4 - image: {if back_class() then "bar.png" else if back_mutate() then "mutbar.png" else "line.png"} - visible: {back_saga() or back_mutate() or back_class()} - linebreak 2b: - left: {if back_class() then 565 else 407} - top: {if back_class() then lev2b() else if split_12b() == "" then 248 else split_12b()-1} - width: {if back_class() and card.level_6_text == "​" then 0 else 156} - height: {if back_class() then 25 else 3} - render style: image - z index: 4 - image: {if back_class() then "level.png" else "line.png"} - visible: {back_saga() or back_class()} - linebreak 3b: - left: {if back_class() then 565 else 407} - top: {if back_class() then lev3b() else if split_23b() == "" then 342 else split_23b()-1} - width: {if back_class() and card.level_7_text == "​" then 0 else 156} - height: {if back_class() then 25 else 3} - render style: image - z index: 4 - image: {if back_class() then "level.png" else "line.png"} - visible: {back_three_boxes() or back_four_boxes() or back_class()} - linebreak 4b: - left: {if back_class() then 565 else 407} - top: {if back_class() then lev4b() else if split_34b() == "" then 600 else split_34b()-1} - width: {if back_class() and card.level_8_text == "" then 0 else 156} - height: {if back_class() then 25 else 3} - render style: image - z index: 4 - image: {if back_class() then "level.png" else "line.png"} - visible: {back_four_boxes() or back_class()} - opac filter: - left: 43 - top: {if has_four_abilities() then 290 else 325} - width: 305 - height: {if has_four_abilities() then 192 else 157} - mask: {"opacfilter" + if has_four_abilities() then "_4.png" else ".png"} - z index: 1 - visible: {mainframe_walker() and pull_comma_array(styling.opacity, cell:0, end:false, default:300) != 300} - opac filter 2: - left: 420 - top: {if back_four_abilities() then 290 else 325} - width: 305 - height: {if back_four_abilities() then 192 else 157} - mask: {"opacfilter" + if back_four_abilities() then "_4.png" else ".png"} - z index: 1 - visible: {mainframe_walkerb() and pull_comma_array(styling.opacity, cell:1, end:false, default:300) != 300} - silver patch: - left: 10 - top: 10 - width: 355 - height: 15 - z index: 2 - visible: {not is_full() and is_legend() and card.border_color == rgb(200,200,200)} - silver patch 2: - left: 387 - top: 10 - width: 355 - height: 15 - z index: 2 - visible: {not is_full() and back_legend() and card.border_color == rgb(200,200,200)} - evobar: - left: { if is_saga() then 188 else if poke_walker() then 40 else if is_map() then 15 else 27} - top: { if mainframe_walker() then 51 else if is_map() then 62 else 57} - width: {card_style.alias.content_width} - height: 27 - z index: 2 - render style: image - image: evobar.png - visible: {use_evobar() and not is_skinned()} - evobar tip: - left: {(if poke_walker() then 39.6 else if is_map() then 14.6 else if is_saga() then 187.6 else 26.6) + card_style.alias.content_width} - top: {if mainframe_walker() then 51 else if is_map() then 62 else 57} - width: 36 - height: 27 - z index: 2 - render style: image - image: evobar_tip.png - visible: {use_evobar() and not is_skinned()} - evobar 2: - left: { if back_saga() then 565 else if back_poke_walker() then 417 else if back_map() then 391 else 404} - top: {if mainframe_walkerb() then 51 else if back_map() then 62 else 57} - width: {card_style.alias_2.content_width} - height: 27 - z index: 2 - render style: image - image: evobar.png - visible: {use_evobar() and not back_skinned()} - evobar tip 2: - left: {(if back_poke_walker() then 416.6 else if back_map() then 390.6 else if back_saga() then 564.6 else 403.6) + card_style.alias_2.content_width} - top: {if mainframe_walkerb() then 51 else if back_map() then 62 else 57} - width: 36 - height: 27 - z index: 2 - render style: image - image: evobar_tip.png - visible: {use_evobar() and not back_skinned()} - evobar start: - left: 31 - top: 51 - width: 9 - height: 27 - z index: 2 - render style: image - image: evobar_start.png - mask: evobar_mask.png - visible: {poke_walker()} - evobar start 2: - left: 408 - top: 51 - width: 9 - height: 27 - z index: 2 - render style: image - image: evobar_start.png - mask: evobar_mask.png - visible: {back_poke_walker()} + name: MPlantin + size: 90 + color: {rgba(0,0,0,40)} lvl label 0: left: {if box_leveler() then 8 else if loy_leveler() then 48 else 21} top: {l1_center() - (if loy_leveler() then 2 else 10) + arrow_offset(0)} @@ -4442,71 +1848,71 @@ extra card style: weight: {if loy_leveler() then "" else "bold"} visible: {card.level_0 != ""} lvl label 1: - left: {if is_class() then 270 else if box_leveler() then 8 else if loy_leveler() then 48 else 21} - top: {if is_class() then lev2()+4 else l2_center() - (if loy_leveler() then 2 else 10) + arrow_offset(1)} - width: {if is_class() and card.level_2_text != "​" then 70 else if is_leveler() or card.level_1 != "" then (if loy_leveler() then 10 else 34 + (if box_leveler() then 30 else 0)) else 0} - height: {if is_class() then 20 else if loy_leveler() then 10 else if center_label(1) then 0 else 10} + left: {if box_leveler() then 8 else if loy_leveler() then 48 else 21} + top: {l2_center() - (if loy_leveler() then 2 else 10) + arrow_offset(1)} + width: {if is_leveler() or card.level_1 != "" then (if loy_leveler() then 10 else 34 + (if box_leveler() then 30 else 0)) else 0} + height: {if loy_leveler() then 10 else if center_label(1) then 0 else 10} z index: 6 - alignment: {if is_class() then "center right" else "center middle"} + alignment: middle center font: - name: {if loy_leveler() or is_class() then "MPlantin" else "Beleren Small Caps"} - size: {if is_class() then 11 else if loy_leveler() then 15 else if length(level_label(1)) < 8 or box_leveler() then 7 else 6} + name: {if loy_leveler() then "MPlantin" else "Beleren Small Caps"} + size: {if loy_leveler() then 15 else if length(level_label(1)) < 8 or box_leveler() then 7 else 6} color: black weight: {if loy_leveler() then "" else "bold"} - visible: {if is_class() then (card.level_2 == "") else card.level_1 != ""} + visible: {card.level_1 != ""} lvl label 2: - left: {if is_class() then 270 else if box_leveler() then 8 else if loy_leveler() then 48 else 21} - top: {if is_class() then lev3()+4 else l3_center() - (if loy_leveler() then 2 else 10) + arrow_offset(2)} - width: {if is_class() and card.level_3_text != "​" then 70 else if is_leveler() or card.level_2 != "" then (if loy_leveler() then 10 else 34 + (if box_leveler() then 30 else 0)) else 0} - height: {if is_class() then 20 else if loy_leveler() then 10 else if center_label(2) then 0 else 10} + left: {if box_leveler() then 8 else if loy_leveler() then 48 else 21} + top: {l3_center() - (if loy_leveler() then 2 else 10) + arrow_offset(2)} + width: {if is_leveler() or card.level_2 != "" then (if loy_leveler() then 10 else 34 + (if box_leveler() then 30 else 0)) else 0} + height: {if loy_leveler() then 10 else if center_label(2) then 0 else 10} z index: 6 - alignment: {if is_class() then "center right" else "center middle"} + alignment: middle center font: - name: {if loy_leveler() or is_class() then "MPlantin" else "Beleren Small Caps"} - size: {if is_class() then 11 else if loy_leveler() then 15 else if length(level_label(2)) < 8 or box_leveler() then 7 else 6} + name: {if loy_leveler() then "MPlantin" else "Beleren Small Caps"} + size: {if loy_leveler() then 15 else if length(level_label(2)) < 8 or box_leveler() then 7 else 6} color: black weight: {if loy_leveler() then "" else "bold"} - visible: {if is_class() then (card.level_3 == "") else card.level_2 != ""} + visible: {card.level_2 != ""} lvl label 3: - left: {if is_class() then 270 else if box_leveler() then 8 else if loy_leveler() then 48 else 21} - top: {if is_class() then lev4()+4 else l4_center() - (if loy_leveler() then 2 else 10) + arrow_offset(3)} - width: {if is_class() and card.level_4_text != "" then 70 else if is_class() then 0 else if is_leveler() or card.level_2 != "" then (if loy_leveler() then 10 else 34 + (if box_leveler() then 30 else 0)) else 0} - height: {if is_class() then 20 else if loy_leveler() then 10 else if center_label(3) then 0 else 10} + left: {if box_leveler() then 8 else if loy_leveler() then 48 else 21} + top: {l4_center() - (if loy_leveler() then 2 else 10) + arrow_offset(3)} + width: {if is_leveler() or card.level_3 != "" then (if loy_leveler() then 10 else 34 + (if box_leveler() then 30 else 0)) else 0} + height: {if loy_leveler() then 10 else if center_label(3) then 0 else 10} z index: 6 - alignment: {if is_class() then "center right" else "center middle"} + alignment: middle center font: - name: {if loy_leveler() or is_class() then "MPlantin" else "Beleren Small Caps"} - size: {if is_class() then 11 else if loy_leveler() then 15 else if length(level_label(3)) < 8 or box_leveler() then 7 else 6} + name: {if loy_leveler() then "MPlantin" else "Beleren Small Caps"} + size: {if loy_leveler() then 15 else if length(level_label(2)) < 8 or box_leveler() then 7 else 6} color: black weight: {if loy_leveler() then "" else "bold"} - visible: {if is_class() then (card.level_4 == "") else card.level_3 != ""} + visible: {card.level_3 != ""} level 2 overlay: left: 29 - top: { if is_d20() then top_of_para(rolls_start(card.text)) else 329 + lv_2_coordinate()} + top: { if is_d20() then top_of_para(rolls_start(card.text)-invert_rolls()) else 329 + lv_2_coordinate()} height: { if is_d20() then height_of_para(rolls_start(card.text)) else lv_2_height()} width: 314 z index: 1 render style: image - image: {if is_d20() then "d20slice.png" else slice_crop(color_background(type:"slide", base_hybrid: card_hybrid), height: lv_2_height(), width:314, distance:(152-lv_2_coordinate()))} - visible: {is_leveler() or (is_d20() and number_of_rolls(card.text) > 0)} + image: {overlay1()} + visible: {(is_d20() and number_of_rolls(card.text) > 0) or (is_leveler() and not is_full_art() and not is_map() and not is_fnm() and not is_inverted())} level 3 overlay: left: 29 - top: { if is_d20() then top_of_para(rolls_start(card.text)+2) else 329 + lv_3_coordinate()} - height: { if is_d20() then height_of_para(rolls_start(card.text)+2) else lv_3_height()} + top: { if is_d20() then top_of_para(rolls_start(card.text)+2-invert_rolls()) else 329 + lv_3_coordinate()} + height: { if is_d20() then height_of_para(rolls_start(card.text)+2-invert_rolls()) else lv_3_height()} width: 314 z index: 1 render style: image - image: {if is_d20() then "d20slice.png" else slice_crop(color_background(type:"slide2", base_hybrid: card_hybrid), height: lv_3_height(), width:314, distance:lv_3_height())} - visible: {is_leveler() or (is_d20() and number_of_rolls(card.text) > 2)} + image: {overlay2()} + visible: {(is_d20() and number_of_rolls(card.text)-no_roll(card.text) > 2) or (is_leveler() and not is_full_art() and not is_map() and not is_fnm() and not is_inverted())} level 4 overlay: left: 29 - top: { if is_d20() then top_of_para(rolls_start(card.text)+4) else 329 + lv_4_coordinate()} - height: { if is_d20() then height_of_para(rolls_start(card.text)+4) else lv_4_height()} + top: { if is_d20() then top_of_para(rolls_start(card.text)+4-invert_rolls()) else 329 + lv_4_coordinate()} + height: { if is_d20() then height_of_para(rolls_start(card.text)+4-invert_rolls()) else lv_4_height()} width: 314 z index: 1 render style: image - image: {if is_d20() then "d20slice.png" else slice_crop(color_background(type:"slide5", base_hybrid: card_hybrid), height: lv_4_height(), width:314, distance:lv_4_height())} - visible: {is_leveler() or (is_d20() and number_of_rolls(card.text) > 4)} + image: {overlay3()} + visible: {(is_d20() and number_of_rolls(card.text)-no_roll(card.text) > 4) or (is_leveler() and not is_full_art() and not is_map() and not is_fnm() and not is_inverted())} arrow 1: z index: 5 left: {arrow_left()} @@ -4514,7 +1920,7 @@ extra card style: width: {if card.level_0 != "" then arrow_width() else 0} height: {arrow_height(0)} render style: image - image: {if loy_leveler() then loyalty_image_name(card.level_0) else if box_leveler() then card_ptbox() else arrow_background()} + image: {if loy_leveler() then loyalty_image(card.level_0) else if box_leveler() then choose_ptbox() else arrow_background()} arrow 2: z index: 5 left: {arrow_left()} @@ -4522,8 +1928,7 @@ extra card style: width: {if card.level_1 != "" then arrow_width() else 0} height: {arrow_height(1)} render style: image - image: {if loy_leveler() then loyalty_image_name(card.level_1) else if box_leveler() then card_ptbox() else arrow_background()} - visible: {not is_class()} + image: {if loy_leveler() then loyalty_image(card.level_1) else if box_leveler() then choose_ptbox() else arrow_background()} arrow 3: z index: 5 left: {arrow_left()} @@ -4531,8 +1936,7 @@ extra card style: width: {if card.level_2 != "" then arrow_width() else 0} height: {arrow_height(2)} render style: image - image: {if loy_leveler() then loyalty_image_name(card.level_2) else if box_leveler() then card_ptbox() else arrow_background()} - visible: {not is_class()} + image: {if loy_leveler() then loyalty_image(card.level_2) else if box_leveler() then choose_ptbox() else arrow_background()} arrow 4: z index: 5 left: {arrow_left()} @@ -4540,238 +1944,140 @@ extra card style: width: {if card.level_3 != "" then arrow_width() else 0} height: {arrow_height(3)} render style: image - image: {if loy_leveler() then loyalty_image_name(card.level_3) else if box_leveler() then card_ptbox() else arrow_background()} - visible: {not is_class()} - lvl label 5: - left: {if box_leveler2() then 385 else if loy_leveler2() then 425 else 398} - top: {l5_center() - (if loy_leveler2() then 2 else 10) + arrow_offset2(0)} - width: {if back_leveler() or card.level_5 != "" then (if loy_leveler2() then 10 else 34 + (if box_leveler2() then 30 else 0)) else 0} - height: {if loy_leveler2() then 10 else if center_label2(0) then 0 else 10} - z index: 6 - alignment: middle center - font: - name: {if loy_leveler2() then "MPlantin" else "Beleren Small Caps"} - size: {if loy_leveler2() then 15 else if length(level_label(4)) < 8 or box_leveler2() then 7 else 6} - color: black - weight: {if loy_leveler2() then "" else "bold"} - visible: {card.level_5 != ""} - lvl label 6: - left: {if back_class() then 647 else if box_leveler2() then 385 else if loy_leveler2() then 425 else 398} - top: {if back_class() then lev2b()+4 else l6_center() - (if loy_leveler2() then 2 else 10) + arrow_offset2(1)} - width: {if back_class() and card.level_6_text != "​" then 70 else if back_leveler() or card.level_6 != "" then (if loy_leveler2() then 10 else 34 + (if box_leveler2() then 30 else 0)) else 0} - height: {if back_class() then 20 else if loy_leveler2() then 10 else if center_label2(1) then 0 else 10} - z index: 6 - alignment: {if back_class() then "center right" else "center middle"} - font: - name: {if loy_leveler2() or back_class() then "MPlantin" else "Beleren Small Caps"} - size: {if back_class() then 11 else if loy_leveler2() then 15 else if length(level_label(5)) < 8 or box_leveler2() then 7 else 6} - color: black - weight: {if loy_leveler2() then "" else "bold"} - visible: {if back_class() then (card.level_6 == "") else card.level_6 != ""} - lvl label 7: - left: {if back_class() then 647 else if box_leveler2() then 385 else if loy_leveler2() then 425 else 398} - top: {if back_class() then lev3b()+4 else l7_center() - (if loy_leveler2() then 2 else 10) + arrow_offset2(2)} - width: {if back_class() and card.level_7_text != "​" then 70 else if back_leveler() or card.level_7 != "" then (if loy_leveler2() then 10 else 34 + (if box_leveler2() then 30 else 0)) else 0} - height: {if back_class() then 20 else if loy_leveler2() then 10 else if center_label2(2) then 0 else 10} - z index: 6 - alignment: {if back_class() then "center right" else "center middle"} - font: - name: {if loy_leveler2() or back_class() then "MPlantin" else "Beleren Small Caps"} - size: {if back_class() then 11 else if loy_leveler2() then 15 else if length(level_label(6)) < 8 or box_leveler2() then 7 else 6} - color: black - weight: {if loy_leveler2() then "" else "bold"} - visible: {if back_class() then (card.level_7 == "") else card.level_7 != ""} - lvl label 8: - left: {if back_class() then 647 else if box_leveler2() then 385 else if loy_leveler2() then 425 else 398} - top: {if back_class() then lev4b()+4 else l8_center() - (if loy_leveler2() then 2 else 10) + arrow_offset2(3)} - width: {if back_class() and card.level_8_text != "" then 70 else if back_leveler() or card.level_8 != "" then (if loy_leveler2() then 10 else 34 + (if box_leveler2() then 30 else 0)) else 0} - height: {if back_class() then 20 else if loy_leveler2() then 10 else if center_label2(3) then 0 else 10} - z index: 6 - alignment: {if back_class() then "center right" else "center middle"} - font: - name: {if loy_leveler2() or back_class() then "MPlantin" else "Beleren Small Caps"} - size: {if back_class() then 11 else if loy_leveler2() then 15 else if length(level_label(7)) < 8 or box_leveler2() then 7 else 6} - color: black - weight: {if loy_leveler2() then "" else "bold"} - visible: {if back_class() then (card.level_8 == "") else card.level_8 != ""} - level 6 overlay: - left: 406 - top: { if back_d20() then top_of_para_b(rolls_start_b(card.text_2)) else 329 + lv_6_coordinate()} - height: { if back_d20() then height_of_para_b(rolls_start_b(card.text_2)) else lv_6_height()} - width: 314 + image: {if loy_leveler() then loyalty_image(card.level_3) else if box_leveler() then choose_ptbox() else arrow_background()} + mutbar: + z index: 2 + left: 28 + top: 393 + height: 2 + width: 317 + render style: image + image: mutbar.png + visible: {is_mutate()} + silver patch: + left: 10 + top: 10 + width: 355 + height: 15 + z index: 2 + visible: {is_legend() and card.border_color == rgb(200,200,200)} + season flag: + left: 0 + top: 0 + width: 375 + height: 523 z index: 1 render style: image - image: {if back_d20() then "d20slice.png" else slice_crop(color_background(type:"slide3", base_hybrid: card_hybrid), height: lv_6_height(), width:314, distance:(152-lv_6_coordinate()))} - visible: {back_leveler() or (back_d20() and number_of_rolls_b(card.text_2) > 0)} - level 7 overlay: - left: 406 - top: { if back_d20() then top_of_para_b(rolls_start_b(card.text_2)+2) else 329 + lv_7_coordinate()} - height: { if back_d20() then height_of_para_b(rolls_start_b(card.text_2)+2) else lv_7_height()} - width: 314 - z index: 1 - render style: image - image: {if back_d20() then "d20slice.png" else slice_crop(color_background(type:"slide4", base_hybrid: card_hybrid), height: lv_7_height(), width:314, distance:lv_7_height())} - visible: {back_leveler() or (back_d20() and number_of_rolls_b(card.text_2) > 2)} - level 8 overlay: - left: 406 - top: { if back_d20() then top_of_para_b(rolls_start_b(card.text_2)+4) else 329 + lv_8_coordinate()} - height: { if back_d20() then height_of_para_b(rolls_start_b(card.text_2)+4) else lv_8_height()} - width: 314 - z index: 1 - render style: image - image: {if back_d20() then "d20slice.png" else slice_crop(color_background(type:"slide6", base_hybrid: card_hybrid), height: lv_8_height(), width:314, distance:lv_8_height())} - visible: {back_leveler() or (back_d20() and number_of_rolls_b(card.text_2) > 4)} - arrow 5: - z index: 5 - left: {arrow_left2()} - top: {l5_center() - 16 + arrow_offset2(0)} - width: {if card.level_5 != "" then arrow_width2() else 0} - height: {arrow_height2(0)} - render style: image - image: {if loy_leveler2() then loyalty_image_name(card.level_5) else if box_leveler2() then card_ptbox() else arrow_background()} - arrow 6: - z index: 5 - left: {arrow_left2()} - top: {l6_center() - 16 + arrow_offset2(1)} - width: {if card.level_6 != "" then arrow_width2() else 0} - height: {arrow_height2(1)} - render style: image - image: {if loy_leveler2() then loyalty_image_name(card.level_6) else if box_leveler2() then card_ptbox() else arrow_background()} - visible: {not back_class()} - arrow 7: - z index: 5 - left: {arrow_left2()} - top: {l7_center() - 16 + arrow_offset2(2)} - width: {if card.level_7 != "" then arrow_width2() else 0} - height: {arrow_height2(2)} - render style: image - image: {if loy_leveler2() then loyalty_image_name(card.level_7) else if box_leveler2() then card_ptbox() else arrow_background()} - visible: {not back_class()} - arrow 8: - z index: 5 - left: {arrow_left2()} - top: {l8_center() - 16 + arrow_offset2(3)} - width: {if card.level_8 != "" then arrow_width2() else 0} - height: {arrow_height2(3)} - render style: image - image: {if loy_leveler2() then loyalty_image_name(card.level_8) else if box_leveler2() then card_ptbox() else arrow_background()} - visible: {not back_class()} - bookmark: - left: 15 - top: 60 - width: 27 - height: 372 - render style: image - image: {bookmark_background()} - z index: 5 - visible: {is_saga()} - bookmark 2: - left: 392 - top: 60 - width: 27 - height: 372 - render style: image - image: {bookmark_background()} - z index: 5 - visible: {back_saga()} - class paper: - left: 186 - top: 58 - width: 160 - height: 380 - render style: image - image: paper.png - z index: 4 - visible: {is_class()} - class paper 2: - left: 563 - top: 58 - width: 160 - height: 380 - render style: image - image: paper.png - z index: 4 - visible: {back_class()} - stripe: - left: 15 - top: 60 - width: 27 - height: 372 - render style: image - image: bookmarks/stripe.png - z index: 5 - visible: {length(write_wubrg(card.card_color))==2 and is_saga()} - stripe 2: - left: 392 - top: 60 - width: 27 - height: 372 - render style: image - image: bookmarks/stripe.png - z index: 5 - visible: {length(write_wubrg(card.card_color_2))==2 and back_saga()} + image: { season_background() } + visible: { is_season() } + mask: {if is_expanded_art() then "season/full_mask.png" else ""} + ascend: + left: 37 + top: 59 + width: {if is_season() then 300 else 0} + height: 20 + angle: 270 + z index: 6 + alignment: justify-all force + always symbol: true + font: + name: MPlantin + italic name: MPlantin-Italic + size: {if styling.font_cap != "" then to_number(styling.font_cap) else 14} + scale down to: 6 + color: black + symbol font: + name: { styling.text_box_mana_symbols } + size: {if styling.font_cap != "" then to_number(styling.font_cap) else 14} + scale down to: 6 alias bar: - left: 34 - top: {if is_normal() then 55 else 49} - width: 307 - height: 24 + left: 38 + top: {if is_clear() or clear_tops() then 59 else 57} + width: 298 + height: 21 z index: 2 render style: image - image: {if front_clear() then "alias/" + (if mainframe_walker() then "walker" else "normal") + "/xalias.png" else alias_bar()} + image: {if is_devoid() then (if is_legend() then alias_bar() else "alias/devoidalias.png") else if is_clear() or clear_tops() then "alias/xalias.png" else alias_bar()} visible: {is_skinned() and not use_evobar()} - alias bar 2: - left: 411 - top: {if back_normal() then 55 else 49} - width: 307 - height: 24 - z index: 2 + node: + left: 0 + top: 0 + height: 63 + width: 375 + z index: 6 render style: image - image: {if back_clear() then "alias/" + (if mainframe_walkerb() then "walker" else "normal") + "/xalias.png" else alias_bar2()} - visible: {is_skinned() and not use_evobar()} - vorthos box: - right: { if mainframe_walker() then 275 else if is_leveler() and not lone_pt() then 350 else if card.pt != "" then 275 else 350 } - top: {if mainframe_walker() then 488 else if card.pt == "" and shown_cr() then 500 else 488} - left: 210 - height: {if use_vorthos() then 10 else 0} - z index: 3 - alignment: middle right - font: - name: Relay-Medium - size: 7 - color: white - weight: bold - vorthos box 2: - right: { if mainframe_walkerb() then 652 else if back_leveler() and not lone_pt() then 727 else if card.pt_2 != "" then 652 else 727 } - top: {if mainframe_walkerb() then 488 else if card.pt_2 == "" and shown_cr() then 500 else 488} - left: 587 - height: {if use_vorthos() then 10 else 0} - z index: 3 - alignment: middle right - font: - name: Relay-Medium - size: 7 - color: white - weight: bold + image: {node_background()} + visible: {not is_map() and not is_clear() and use_node()} + corner: + left: { if is_map() then 22 else 19} + top: 25 + height: 31 + width: {if use_node() then 31 else 0} + z index: 7 + render style: image + visible: {use_node()} + choice images: + lesson: corners/lesson.png + day: corners/sun_circle.png + night: corners/night_circle.png + eldrazi: corners/eldrazi.png + moon: corners/moon.png + compass: corners/compass.png + artifact: corners/artifact.png + creature: corners/creature.png + enchantment: corners/enchantment.png + instant: corners/instant.png + land: corners/land.png + multitype: corners/multitype.png + sorcery: corners/sorcery.png + planeswalker: corners/planeswalker.png + structure: corners/structure.png + compass: corners/compass.png + aetherprint: corners/aetherprint.png + closed fan: corners/closedfan.png + open fan: corners/openfan.png + triangle up: corners/triangle_up.png + triangle down: corners/triangle_down.png + specialize arrows: corners/specialized.png + sparker colors white: corners/wcorner.png + sparker colors blue: corners/ucorner.png + sparker colors black: corners/bcorner.png + sparker colors red: corners/rcorner.png + sparker colors green: corners/gcorner.png + sparker colors multicolor: corners/mcorner.png + sparker colors colorless: corners/ccorner.png + custom: { if contains(styling.custom_symbol, match:".png") then "/magic-mainframe-extras.mse-include/" + styling.custom_symbol else "" } pride pin: - left: {if mainframe_walker() then 19 else if is_legend() then 18 else 24} - top: {if mainframe_walker() then 51 else 58} - width: {if not is_pinned() then 0 else if mainframe_walker() then 337 else if is_legend() then 338 else 325} - height: {if not is_pinned() then 0 else if has_four_abilities() then 205 else if mainframe_walker() then 240 else 234} + left: {if is_legend() then 18 else 24} + top: 58 + width: {if not is_pinned() then 0 else if is_legend() then 338 else 325} + height: {if not is_pinned() then 0 else 234} z index: 7 render style: image popup style: in place - mask: {"/magic-pride.mse-include/masks/" + if has_four_abilities() then "4planeswalker.png" else if mainframe_walker() then "planeswalker.png" else if is_legend() then "m15 legend.png" else "m15.png"} + mask: {"/magic-pride.mse-include/masks/m15" + if is_legend() then " legend.png" else ".png"} image: {pin_image()} - pride pin 2: - left: {377+if mainframe_walkerb() then 19 else if back_legend() then 18 else 24} - top: {if mainframe_walkerb() then 51 else 58} - width: {if not is_pinned() then 0 else if mainframe_walkerb() then 337 else if back_legend() then 338 else 325} - height: {if not is_pinned() then 0 else if back_four_abilities() then 205 else if mainframe_walkerb() then 240 else 234} - z index: 7 + vorthos box: + right: { if is_leveler() and not lone_pt() then 350 else if (starting_loyalty() and card.loyalty != "") then 300 else if (card.pt != "" and not starting_loyalty()) then 275 else 350 } + top: {if card.pt == "" and shown_cr() then 500 else 488} + width: { if is_leveler() and not lone_pt() then 140 else if (starting_loyalty() and card.loyalty != "") then 90 else if (card.pt != "" and not starting_loyalty()) then 65 else 140 } + height: {if use_vorthos() then 10 else 0} + z index: 3 + alignment: middle right + font: + name: Relay-Medium + size: 7 + color: white + weight: bold + flash indicator: + left: 0 + top: 0 + width: 375 + height: 523 + z index: 5 render style: image - popup style: in place - mask: {"/magic-pride.mse-include/masks/" + if back_four_abilities() then "4planeswalker.png" else if mainframe_walkerb() then "planeswalker.png" else if back_legend() then "m15 legend.png" else "m15.png"} - image: {pin_image()} + image: flashdot.png + visible: { use_flash_dot() } list icon: left: 0 top: 487