From 1338879e1d9807a59047639136be12e8fbacfc5a Mon Sep 17 00:00:00 2001 From: vini Date: Sun, 19 Jul 2026 21:55:35 -0300 Subject: [PATCH] Use CC0 tileset gravestone PNG instead of CSS-drawn stone Stone extracted from OpenGameArt's 'Free Graveyard Platformer Tileset' (CC0) vector sheet, rendered at high res and tinted slate-purple to match the gothic palette. Moss overlay is now masked by the stone's own silhouette; skull and R.I.P. engraving stay as overlays. Co-Authored-By: Claude Fable 5 Claude-Session: https://claude.ai/code/session_015HtPHsTnDcLVSCiF5FGHZj --- plugin/contents/ui/dancer.html | 54 ++++++++++-------------------- plugin/contents/ui/gravestone.png | Bin 0 -> 6175 bytes 2 files changed, 18 insertions(+), 36 deletions(-) create mode 100644 plugin/contents/ui/gravestone.png diff --git a/plugin/contents/ui/dancer.html b/plugin/contents/ui/dancer.html index 018ec7d..02856b0 100644 --- a/plugin/contents/ui/dancer.html +++ b/plugin/contents/ui/dancer.html @@ -1285,51 +1285,33 @@ body.dia:not(.balada):not(.chuva) .grave-wrap { opacity: 1; } box-shadow: inset 0 0.7vh 1.2vh rgba(225,232,190,0.20); } -/* pedra gótica: arco ogival, ardósia escura, torta e comida pelo tempo */ +/* pedra gótica: PNG do tileset CC0 de cemitério (OpenGameArt), tingido + de ardósia arroxeada em tools — ver gravestone.png */ .gravestone { position: relative; - width: 15vh; - height: 21vh; - transform: rotate(-2.5deg); - clip-path: polygon(50% 0%, 60% 2%, 71% 8%, 81% 18%, 88% 32%, 91% 50%, - 91% 100%, 9% 100%, 9% 50%, 12% 32%, 19% 18%, 29% 8%, 40% 2%); - background: - linear-gradient(115deg, - rgba(209,131,179,0.26) 0%, rgba(255,255,255,0.06) 34%, - rgba(8,5,18,0.50) 100%), - linear-gradient(to bottom, #4a4258 0%, #363048 55%, #241f34 100%); - box-shadow: inset 0 -1.4vh 2.4vh rgba(8,5,20,0.55); + width: 17vh; + height: 17.3vh; /* aspecto do PNG 195x198 */ + background: url('gravestone.png') center / contain no-repeat; filter: drop-shadow(0 0 14px rgba(209,131,179,0.22)); } -/* musgo subindo pela base da pedra */ +/* musgo subindo pela base, recortado pela silhueta da pedra */ .gravestone::before { content: ''; position: absolute; inset: 0; background: - radial-gradient(circle at 18% 102%, rgba(74,105,60,0.60), transparent 42%), - radial-gradient(circle at 78% 103%, rgba(58,88,46,0.50), transparent 38%), - radial-gradient(circle at 50% 108%, rgba(66,96,52,0.40), transparent 50%); -} -/* rachadura descendo do arco */ -.gravestone::after { - content: ''; - position: absolute; - top: 7%; - left: 30%; - width: 0.35vh; - height: 30%; - transform: rotate(16deg); - border-radius: 1px; - background: rgba(8,5,20,0.60); - box-shadow: 1px 0 0 rgba(255,255,255,0.07); + radial-gradient(circle at 18% 96%, rgba(74,105,60,0.60), transparent 40%), + radial-gradient(circle at 80% 97%, rgba(58,88,46,0.50), transparent 36%), + radial-gradient(circle at 50% 100%, rgba(66,96,52,0.42), transparent 46%); + -webkit-mask: url('gravestone.png') center / contain no-repeat; + mask: url('gravestone.png') center / contain no-repeat; } .grave-skull { position: absolute; - top: 13%; + top: 9%; width: 100%; text-align: center; - font-size: 3.4vh; + font-size: 3.2vh; color: #8d81a8; text-shadow: 0 1px 0 rgba(255,255,255,0.16), 0 -1px 1px rgba(0,0,0,0.70); } @@ -1341,21 +1323,21 @@ body.dia:not(.balada):not(.chuva) .grave-wrap { opacity: 1; } text-align: center; font-family: Georgia, 'Times New Roman', serif; font-weight: bold; - font-size: 2.7vh; - letter-spacing: 0.42vh; + font-size: 2.4vh; + letter-spacing: 0.4vh; color: #9187ae; text-shadow: 0 1px 0 rgba(255,255,255,0.20), 0 -1px 1px rgba(5,3,14,0.80); } .grave-line { position: absolute; - top: 52%; - left: 24%; right: 24%; + top: 51%; + left: 26%; right: 26%; height: 0.5vh; border-radius: 0.3vh; background: rgba(14,10,30,0.62); box-shadow: 0 1px 0 rgba(255,255,255,0.14); } -.grave-line.short { top: 60%; left: 32%; right: 32%; } +.grave-line.short { top: 59%; left: 33%; right: 33%; } /* tufos de capim para amarrar a base na cena */ .grass-tuft { diff --git a/plugin/contents/ui/gravestone.png b/plugin/contents/ui/gravestone.png new file mode 100644 index 0000000000000000000000000000000000000000..478d2169074cc5c876adcc906a5325eb65593bce GIT binary patch literal 6175 zcmeAS@N?(olHy`uVBq!ia0y~yU^vXcz;KL%je&t7f0KzM1B3W8PZ!6Kid%2zR!@*| zuRXs1?~IvqYwymL6Z0_I)Wft*Gf9x$U|U6m!yK+70v`*QEZ9zq=_%W5af-MK%5HX&j1spcBy|?Vuq99D@vw@VwD$PRy!+Pg-~A~ppLA~D_hl_gAl-l=nTYYPbFUe}8u^U*6t$Wn$irs@pRec26j-+ZU82`@F`oL6t!|sYjCG z0E2YH`bG|hE!RpN!Wm>PN6BA{vS)oTU0+77cGI;P5z9ihuqC83R94#wc?o>V5a3g8Pg6?E{vIMeUFXJ$Pr=$65MuOb?2V{g5v{ zcCARU-7?u`-Q(=Fg06}&_Zwet3(WUfaBq!5*P&LqBAx@m4D&8U*`Jj7ebd?c-Cbv0 z&$Jg2(dPHd7}MWWY4&U{)(a~-_cKO7d+CBLP1m@*G#R9#{P*(nmIYlkVly~)a3=%v zfmW9E9KU9kh5cc>8@;}2tomA*u~zK!RzBt%3%CB;7xe14{lA;#aSNuY8J}78+C0Bn z{rR6@rxV>vCw%L^&%apU;umk%jztAr|6Idtk_BQKxET+sE-_I^Gwi%1mAkyL^ORsu zc%Q?{jKG5&2PQMTdlqx&>x0GRZ&kT@c1Y&k+EhFB+OIOrp6^_WT*eRhnOPDW47dc^ z7{8R1-&f{TRA^;9Y@oQ*^016own?<9jNLBz-Za&|XZJZDWY78hzv{!q-Lq2K4jLWY zE%Ep^Z{{51zjxIyPhxOE9yzr|j0$Bsy^dw8ab|LC8zfHxw=7Nt8zL+LO zr14G5bmlPh+!!=th1}6b@iP6g7{j&lnQQI;en|dq>zL-T5tO`KgCy=xyA)wOH@kWs z^ZD{1Vb*8bmp4q-}kwbz1GP2(c*(|ug`A#s(NlG zC&Rku2fp5#X@0PiujZDB<&(Ec7SAt4ExtD6z>9yeg-iX;XRKXc_haMlvPqIcD_)!D zN2|5`*_b(FJ)_!kx7&WkSCgB>nfFadJNxw0hP5^l$sC6n&ddIhUG+7&P{fDvhfu?L zyDg9JHJq6+Cu4)B*W>7*6LYRf_1$iIZ7IpRr?^lr;KcMq59X-skgVey-XGZ9y?2rA z+W4%s`t?6H{&qXbQ+v%fdRzTzlQsN|4e}Kk)@SXOxLAGsx@2ox>P?Lsss_g%RPojA z|E~F?QTq79Y=(7}8OQgQPnP_(VE^84eThr2>hor%k33-w7tzF%q_4bZ8e+y2X?U!=la$^_^l_A zY{1K{?0lM$%_MrOh1C`FnQdDihOUpP|39zRzdEIDT|fV}z2^+ps4t!1YX9LvM%cm< zlM4;{E{+B}pBypKnbNInu%tCgc^b#Yu$3?FW{2(nwfi@p&FuvyE2{+`%35CjXMb*I z&TicudEE^0DJmj|99A0eD6*{jTKMMX_mUWOdDa_C`QPq%{#``!Q9nm`MA*N$b2~G( zz5b9iPxlnp9d6IrHuswqeV@El>S|5&3F$jh_(G6D-lqC&C4c|B`=uR9&OW>9K5y%P zqVrptA!2c;v&1i!iaQJjeMyND%MuseTa)ztMgF5%RckZX-v9O?`TO6lGaEeaR-6^r zH(c^l+2Gjhvsz6T)DI+ga%}#;FGi{{Gh&6Q+J@>c=7n?fe6sgGe0cobZ`q}u+*f>~ zx2-o{vXi-|vnrV>QAFSYH^Uy`%6;6LydrOebT0S3&MIv*{I;$%JHGn*z31~XCrMhF zAJRH^biL*Cu;fDXe<)nlnZ^QCL3FFHB?aY_YER2z9e7*Hy)msa`y-u26kBOcRzhC*`!o4Hs z+CQg=w*QUcvb>XVReA#f+=om?f908oU{5Y^JI;a4|D0a zZBG04^eP>;DLH&~d;L|T;^}6$OMmRU>|Sx{Vsp8@Q^kp=ToRH|ZOOvzkF1`zX2%!4 z3ts%Y+;;YnD&HeHm#&@NzW4aHPxn98h_5Z{W$^FdIees`GV_l3Q?01i+>>_P+WLNC z;_J}u(|nD$2WRJ+%nD`N^L^=@&vRc&H=R0~_+uaY@!nLY6KOrMTatdhs`tP3W8wQ` zHqBmkR`IgMk#kSQZl2owo&Q6{v8deToc13IpPee5aH(f?!}{~Lm)_PenzQ7!dH!yr z^qccDw!P+H+Mi#reCPLftxX4-bHxKUbkA6EY*Pwz&qnikd!Ox*?|FCs>z@O&A1>3q zo$EZy{v-4Cf;nQ0^B$P^XSW(~1?crIcx(1JO8ywbw_T#A!)yOOSh%-y1<$?XUHjM@ z?q*%rwDokH_58P<&HaPgVSgRxEZwXt_c&k81HnMT?@p;ETw!QS;ue9G(czD@${yCBs;_;<()D~%U2^PHCE6)7m%lVqC8DRl>x{l{g9iQH4 zSoYbWS90C`J#Y6eOT23zXgljhj18}GpcP|jxSn34{EotVzZuqko&9TPbiBWEv%n+o z-0e4um3gxG@10#3wmH;!r3KUFGe;}i{P|sGmE3jDuatfMDCc^v@B>cPJ(F`nR&uPn zedv^EcG8@+Nz-%hY@npua2cvwByb$I@f!+TFCZM((GGktnwiWgPxzOf>t|J0JFPxRZ&IBHlL*^gQHTy7FD;%xO<({{?+z^;&`{rI=z zr6-n6dA3U4rYL>y_4`ZJb#pyFf1daJ%NY*tms3MU9!5MhsHuN8xAW*BgSPf*d?F9# z`lxNWRjMNyDY#s+%ke=h--FdNeI~a|2;UW#eX*fj*Y@I!s~ij$azX?1L!R+hY)WrV z_IGVoXb=!8TPKljxc=Oe84q{$-`y0Jy|rfBYc9`|`~M!8dzC|-C$KrJDuLmBNZ;)v zpO$JrmhssCa8mdGq}XR?4($9f=kd0RN$CN8+bcH)1^Rz4jXiPoRh^%jg&+6QM+JMD zBahilur&5i)VB>?Kf6V8%H;X$ZNB?3zm|OPcaBel$C7I^bjs(f40?8E!_%(W(_I3$ z)GVy5S^w$%UjPvFP6SFIRkTd1~63gjqZNEA}Z*wmUH8 zki$j;lXM>mE!~CPmCGkSw_LvBa4Rdj;*+H_4VlyboVUI2d6Z#uOjJ`*=E|;+kXhq;yeDeLWkj(?%p+B>tY-Cy-VIcXW8STFozX zM>d_wsiE=V0q)(8ZQkr^FT1l_{p!TV;*ZnkU4Q1;K8K-yz1(6AmwS3g=Q75yEKpB- z5Sw$L`>?^A=)+4a|NEU%3*=mR{Od}2V;8Ne$T@+HRUb;OEWRe?bmE4b>H&%0hp)_b z)ZW^~AipO>pQl#jQ|c9I;X>I>>1i*bW{J2x>`Gbp{d%W=;H855M`D7nIKDV;D_VQ( z_WeKm7G9b4FyHQ<|LUn-U7aj78$Q2hWxRKi)qSn0#pA;1*}nSw>ccOoTra=3<;9$d zmnPp}c)v4g-iGv^^{gL4w9YP=616g|x<-p}Ufcm|PxGXHp5^lOYS(xYC1!Xs&1dLe ztMvT3q|?#bXQ?YqnHQXH=Bt?Y;9Yr2LXWQRTFEIvt!ob2zG(Qq^Im&!PMe4DgJ#wr zCv$CIR}>abJm^)NBJg*flFEVKGrErbzk4aWEl*}Tga5^d?xXj#C@+&95KKdH3{cHwD>t-Cex@pv%{c=L$j(SSrNMFff2>;?u1)mGMiI zWF)OSK#hs~kOw<-f9&fv;8B-uU{F6Gyl7n>M?&Pc>RWlA!@V@0Rq@TUxA`^cJcr%^ zOLxV1x0Mz>PW$$};N87xTJzi!0X^wnJdzw zA*+%<)QBfEWJYb4YJT8ncV}(c9R3YQ-d+5=d*9SoCk!}Scl~*qzGh}Z&&}n(<~+B~ zFwy?NEWh;_OI9zZhhm^s-+~w^$8)C^yBp`QSSV=G(D{YJI~DKU%Z9;+8=w7jTlfFFGoy^xMASVqUozpT zaxy!|2RRof`+|Py#7{9?eYf2<2E4O=@HtT6N5NjRLy=|^1)T0oe`U!0{Lvn-+?;Fr z?hW6U$z)~KOuLd3lFe)X;X&oOImw=E4jeyshRi-#IJ^3m-{%^pJ?5HSi8B&#-A0(UNLo{BxlB8dqDQpYOu? z7XLdX4NL$0@A-VbY0{?*LV$ z>9=?^D}0>V3)JO5OgWX%Q>%8B`NflKwz01}mWx$K9Sg}vcfD{=S(>CUHa! z&$}7_UYzUy=feB1;Y*%Muv925YE6BXFw@fA>+>yno1*3S`-?uPFwXn2`l{xQ1RYiJ zlxIPjJb(GWzkagmc0+k|qR4`)tCV}3JQNdeAMG=K=?1i18=-i0;0Yi z;qY=@VXhUtSx72TWWmKXN;?)V|((8P~T^AEe>dnHdYkUv^GmyWuUj`IO(zgA$B#;lImD zr%p@g$z5o&a`K_#zMw*hAPEMEmI)eSZ3;US4(w*A=%22VSNVJP{psh=@_6wr0)^1a>l+V>w@ZQiH&HFHu}S6aZO+4EFZDo5`x zJiM%1!*|ga6<6De@U5Z;&a-7P_%fe4=;>-LnEdAN`-;=-VN37vu>4@?-MXth_5OvZ z*vYRFQEr47Aw2cF0fQQV?6)p^Swe2EI$&M=lwKfMo4EG3p{8xxu;}&=3-gb1GOC|L7M#16b^6} z7&)IxP(Q%F-1v0TESCo12hF)`OmiNbTO-Nwj*)53wB$J}xR$Pn}0yPc>6W3 zDF1gGbX#WJ((PxMzxiGW$FUzew{wIZbec6k-<`27tH3s0s48Q{N)4sf#)%J~O6ch~ zCrSi(DRR`ZG};$5oDc82?IP03An~b8a1J+<&C0Y3Gu}Lme#;j1R_c%D2Fv7#eI=r& zma1xqwg;S;zHo}u=1}L&p{|>s26P$q%h_}-di>r!kmH^QBpp`gy5ni$yw&Vm>e{b* z$8OB5+`T2rdA*FD{_YQJ!si5^c+QovRr*HxgY6%f`x)X}bd1@ZXMOJDFu8h*9b7e? zXQ~imSoi0_ay@O4Q}Nn2mO6>FTGV`Dcy*SGQEswCGE3#9<2>Piucn_fJ$q++ck9Bh za|}aXKbDZLfB2(eCWC)Dzu#%YXDfBX@6@>Ov?x-3K4)i~wEHo>LtkZ>=A5#qNSknJ z2MdF>S)qjR)y3Q^p8PX8btU)}XyoLw(vFin-P0eN@XJVASJX+ct$ejNR3!12;I1|^ z&JR59ujb86TvSz(FZIySms{t_=D4qF2Qn>>IehKwDV)*f+7LX;<>7n=bz>eK8 z2u(Gh#5Gxx`WtPA?2`<)te;=0bW1&^;PufF=xw$`uR)l6&d zJafZf?wb$K^T%kIYMcKo-}kjS{dlO^{c?4=+CPo2GS4PRU7LH<>8EVBW#mp1Cr*u( z$-QzFV!~6EH}Cx#wsetg;aqo)pTP{$aesbKzj57UE%(Yuk4UlPH;;Oy&0<*_&i?p& zM&#w@=e*OW+X}Dj$m+RL{I>qz_Z8QURaKr^&bX~MCF7>~`=9UEuaHdJ@$Hm;&E4;J zSHJ4z%#sW`e>La2;F;p-M`wJ^Zn$fp>^sRRFK5fDD_Tn&FaK<)yI*LWv-j1tO^?mu z*9q_aGt1@GyuR57`S<9a4ZFKYOObbvEBD z%a&zN<(Kr#OkC){JpP1ipi0o8vkGEg$_wpp)(I@x>L$_3v3Nq++3vuN6Emd3j&Jsy z!|jn7pnb+%^eR{G@=k>hg`bu&Et}Y!D}F%pl$x^9jI?!+H$}I{ zX$6l@%aK_dxb;B&->Z3Zlv0y66thN5^PO@&I8owE_A9F{r6Wq>Ar5Xq=t*qPB{_<4L>kCtY9w^OCTcBsf+k54p>6})-Lj5&|XYb^h zZ^(D?@aN@fMiY`+&TU{=ZraarFhL^i{Hdv@pE5EyzVN-bJn88{31wrRluwIHZ{-PF zUViuLsPj3CqAkhWGZ1D~e zoT4_-BZW<<^NfSiL`e@7Bj!$*G=+&LcvOUDHo7PoPe7BLqUWjjByj1X{_m?9CU%9n r1^)2L;+k~rS7t-#uj0I~U;Zxz2+8ZDuBV$)z4*}Q$iB}+^MJ- literal 0 HcmV?d00001