From db5fbb0e638d91d57785a6a5935af7457b78b2ba Mon Sep 17 00:00:00 2001 From: LeRatierBretonnien Date: Mon, 11 Dec 2023 20:11:10 +0100 Subject: [PATCH] Initial import --- LICENSE.txt | 7 + README.md | 42 + changelog.md | 17 + fonts/MailartRubberstamp-Regular.otf | Bin 0 -> 213436 bytes fonts/MailartRubberstamp-Regular.woff | Bin 0 -> 165724 bytes gulpfile.js | 25 + images/icons/.directory | 5 + lang/fr.json | 175 ++ modules/actors/tedeum-actor-sheet.js | 197 +++ modules/actors/tedeum-actor.js | 505 ++++++ modules/app/tedeum-combat.js | 40 + modules/app/tedeum-commands.js | 105 ++ modules/app/tedeum-hotbar.js | 86 + modules/common/tedeum-config.js | 62 + modules/common/tedeum-utility.js | 745 +++++++++ modules/dialogs/tedeum-roll-dialog.js | 86 + modules/items/tedeum-item-sheet.js | 185 +++ modules/items/tedeum-item.js | 27 + modules/tedeum-main.js | 147 ++ postcss/tedeum.css | 1409 +++++++++++++++++ styles/tedeum.css | 1389 ++++++++++++++++ system.json | 56 + template.json | 312 ++++ templates/actors/actor-sheet.hbs | 385 +++++ templates/actors/annency-sheet.hbs | 138 ++ templates/actors/editor-notes-gm.hbs | 6 + templates/actors/partial-impacts.hbs | 17 + templates/chat/chat-cephaly-result.hbs | 37 + templates/chat/chat-confrontation-pending.hbs | 72 + templates/chat/chat-confrontation-result.hbs | 54 + templates/chat/chat-generic-result.hbs | 65 + templates/dialogs/character-summary.hbs | 86 + templates/dialogs/confront-dialog.hbs | 140 ++ templates/dialogs/confront-start-dialog.hbs | 13 + .../dialogs/partial-common-roll-dialog.hbs | 90 ++ .../dialogs/partial-confront-bonus-area.hbs | 10 + .../dialogs/partial-confront-dice-area.hbs | 11 + templates/dialogs/roll-dialog-generic.hbs | 27 + templates/items/item-elementbio-sheet.hbs | 27 + templates/items/item-equipment-sheet.hbs | 25 + templates/items/item-impact-sheet.hbs | 48 + templates/items/item-maneuver-sheet.hbs | 27 + templates/items/item-specialization-sheet.hbs | 43 + templates/items/item-trait-sheet.hbs | 48 + templates/items/item-weapon-sheet.hbs | 45 + templates/items/partial-item-description.hbs | 3 + templates/items/partial-item-equipment.hbs | 18 + templates/items/partial-item-nav.hbs | 5 + 48 files changed, 7062 insertions(+) create mode 100644 LICENSE.txt create mode 100644 README.md create mode 100644 changelog.md create mode 100644 fonts/MailartRubberstamp-Regular.otf create mode 100644 fonts/MailartRubberstamp-Regular.woff create mode 100644 gulpfile.js create mode 100644 images/icons/.directory create mode 100644 lang/fr.json create mode 100644 modules/actors/tedeum-actor-sheet.js create mode 100644 modules/actors/tedeum-actor.js create mode 100644 modules/app/tedeum-combat.js create mode 100644 modules/app/tedeum-commands.js create mode 100644 modules/app/tedeum-hotbar.js create mode 100644 modules/common/tedeum-config.js create mode 100644 modules/common/tedeum-utility.js create mode 100644 modules/dialogs/tedeum-roll-dialog.js create mode 100644 modules/items/tedeum-item-sheet.js create mode 100644 modules/items/tedeum-item.js create mode 100644 modules/tedeum-main.js create mode 100644 postcss/tedeum.css create mode 100644 styles/tedeum.css create mode 100644 system.json create mode 100644 template.json create mode 100644 templates/actors/actor-sheet.hbs create mode 100644 templates/actors/annency-sheet.hbs create mode 100644 templates/actors/editor-notes-gm.hbs create mode 100644 templates/actors/partial-impacts.hbs create mode 100644 templates/chat/chat-cephaly-result.hbs create mode 100644 templates/chat/chat-confrontation-pending.hbs create mode 100644 templates/chat/chat-confrontation-result.hbs create mode 100644 templates/chat/chat-generic-result.hbs create mode 100644 templates/dialogs/character-summary.hbs create mode 100644 templates/dialogs/confront-dialog.hbs create mode 100644 templates/dialogs/confront-start-dialog.hbs create mode 100644 templates/dialogs/partial-common-roll-dialog.hbs create mode 100644 templates/dialogs/partial-confront-bonus-area.hbs create mode 100644 templates/dialogs/partial-confront-dice-area.hbs create mode 100644 templates/dialogs/roll-dialog-generic.hbs create mode 100644 templates/items/item-elementbio-sheet.hbs create mode 100644 templates/items/item-equipment-sheet.hbs create mode 100644 templates/items/item-impact-sheet.hbs create mode 100644 templates/items/item-maneuver-sheet.hbs create mode 100644 templates/items/item-specialization-sheet.hbs create mode 100644 templates/items/item-trait-sheet.hbs create mode 100644 templates/items/item-weapon-sheet.hbs create mode 100644 templates/items/partial-item-description.hbs create mode 100644 templates/items/partial-item-equipment.hbs create mode 100644 templates/items/partial-item-nav.hbs diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 0000000..ccdaeb9 --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,7 @@ +Copyright 2023 Open Sesame Games + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/README.md b/README.md new file mode 100644 index 0000000..9517001 --- /dev/null +++ b/README.md @@ -0,0 +1,42 @@ +# Te Deum Pour Un Massacre for FoundryVTT (French RPG, Open Sesam Games, Official)s + + +This is a base game system with functionnal character sheets for the game Ecryme, powered by the Engrenage system. +You can join the kickstarter and obtain the base books here : https://www.kickstarter.com/projects/osg-us/ecryme + +# System overview + + +The game system in Foundry offers the following features : +- PC/NPC sheet +- Skill rolls +- Cephaly rolls (with Anency support) +- Confrontation management, with detailed result in the chat card +- Weapon rolls +- Trait management, with Spleen and Ideal also. +- Compendiums of items for the game + +![System Snapshot](https://www.lahiette.com/leratierbretonnien/wp-content/uploads/2023/08/ecryme_snapshot_01.webp "System Snapshot") + + +# Contributions + +- Original code realised by Uberwald (https://www.uberwald.me/) + + +# English translation + +English translation by Conal Longden and Ian McClung + +# Copyright mentions + +Copyright 2023 Open Sesame Games +All rights reserved + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + +Ecryme is a game written by Alexandre Clavel and Samuel Metzener, in a universe created by Mathieu gaborit. All of the aforementionned authors retain there moral rights regarding this work in both print and digital formats. + +# Requests or Problems + +Please report any requests or problems you have at contact@open-sesame.games diff --git a/changelog.md b/changelog.md new file mode 100644 index 0000000..c645262 --- /dev/null +++ b/changelog.md @@ -0,0 +1,17 @@ +v11.0.36 + +- Enable deletion specialization +- Custome bonus for specializations +- Specialization direct rolls + +v11.0.31 + +Add profession, fix equipment tab and add missing translation + +v11.0.30 + +Snapshot and more detailed README + +v11.0.28 + +Initial release diff --git a/fonts/MailartRubberstamp-Regular.otf b/fonts/MailartRubberstamp-Regular.otf new file mode 100644 index 0000000000000000000000000000000000000000..612dd27142957697f2f1faba4975365ccfa1347c GIT binary patch literal 213436 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�OEJ09IQqwINfXa4ogvm1}trx(?yTJCvyi#<4e16x0}YknnN z^6rJ4_k*^#=#eKGX+$lk3Aeqe`Qg``#}?=oJjCu{Ke()ZD!%Q?4=!fJVR=aJbAJ%B zf6OF*-uuM0$9y)=jv*WZaneFrEeFkvyJg9r_S&-j9Y(7Ode~Sawx+g#FtVRwTaNu{ zi@lar!+ea7*q5^!ZLfG9XJ^E^cXht~;IJAu(ozr}if~E*KR8Mt?%!;77+V!CpD+;QZsGq~9}oJv`p+>4=m=*(U=xzE zq9tX0IR(Fi3WS?-F{f)5bhMzMKm21D*tFha0l;I|(#?W2^SxG~FWXzfL0VeOia8N8 zTFTd=ZTvkO>>c=-tJ$v}n<9YLhE`L}v&2fG31NM5k<8+R@` z7KKH(g1rB#!$z0yHnMaK5pa{W8=->XBC<*piqd?}zi7Fq1nvL49D(4ELQnI$djp$t-L zR1SZ5BWZrS)qeSdlb8YAG@}QZ91zegVxV5vkmeD$%I<>0cwPG%sA18{i0+wtospOJ z;_Qs34qg~8Pv;HYan7+Q=Z#e1hvL2F8O|;+)C~#>*?JhOdKLnI@cjWb<*Bh_X^nGHuy0(_jRPehvnYw(@D-O5ZT&pXd2zsPKS)xJ!yy&P81ij+Brt<%s&Ya& znd6YDjHGg$6W|=_6maIr&A51u_ZTTX3I~}0%v5+(s(+lC!pw3x$)j_F=P!vA$UoELw4_Uln;)vC-YB#CeV-issT5EtKS_Jdk+m?h^KRV2v-N@8hC4!H{5o(vRx zsioUicdcr}KtXDe1Yk%?BwG>7fan3RuTBD*2+BKBi`AmlSS3>KDGIgdNNg|(QGd$x z@frBX{JBgv4*`L*!K3EX@UDGQc~H*)jRGeToUJN9mgamD+<0sZQH{Le98HPQWB78h zm=$pfH=e_R03c5T(KwGhFOElAsfarm;KjIOiH4XM>TW@3h4@fJkeL`qMTTD}%MgGX zStG@CylfaB`jFq%rF90gec2wl!?!-17)Uuz9sG_#>mx?4y0zze`HS+M*~N1!bNz(` z0?-m=kn6sd3+`Te2S$Kct@2fbaVSZbXxO?#-{g-+`>U5be#T7%bT{V z(SqZB?AvZ&pMbF)sT8KAz+;`m70v{^cWpLSE54Q=cP7^MweJ^c*{^=XhIpN zhGft{iC79;fw$$&2#!$R?2o};g+&fJL=! z4C@HdL{^cQ#o3CSRYYWdG1n&G{1;fSk|2vph5qT9C63faD+Ql*|4-Bdju9AVG>V>q zc)wF5CHs<{-2pM-`KRg~x&R@RO2GesH~|EEukGn=kE$DcdVJEV_3KyHPvBg^U>u`s zUeAz>!$&J2>J(*98YMT9a1crChs@eB)Pk)Puxp@00Je@3DB*oer_vx$<2aqQf`21F zULG(}GlA_8`Cx9NzCO3nha*dn!IF$;kfZ=RDwcZ0reWEV&|?hWI^Mr?S(~Qj28JZF zr>zJDd&_7x}ne5+%bERwQ%3d&mLL%hcArp8_|j_Z`*yZGA-|Qv*VA!QnA7g zwzH3x?MLbCr4H96f;B)|iGbZP2)%=J0`@W-R+>k`p@zJ{s(-3)RG18k)ifNk_Z`gs z_}0B$Q)~0vM=|Z57(r$u zIh+cK8+=r|BRBc$DO-~H%!SSTXBF`2L7)=veN(m13j?3lH zY46)v`vQ3)J2c-SU7n~&f8G=plQ$=El53C5Epz3<|b47ex*<0*Hq#T2lZyVs2_qs1EB#4T^1_0Anv zK*Ee~{zK{bz9^GSWx^2|Klig>BQw@kqmc9IDu?rQ?%KPUzW!lGiW-%&;-`l+wId@jY6^<&BYX$FvZku9ruLq9PVj#p7f3@a282b>;)-^l=WP^ z2Ohd&zgf-Zw0K6=6XMp+Y;O!d|66$f#qe+@r%MSj78f^5U0n&hFkBcshh!wwWJjjb z5sn*)YTinLIL=vGMnp_2KQY@{>mGn_CK+ynSXon(^OxX`D}>&1$w&$~z(zHp6-5*W zV%E^PSlzL{a6f0EoIo@5TQ`2R$Q!VHMh99UWYd7U4C8QY*@vsaPw($FYdGVj${RQw zMM-gZu~~e_q-ZRzOLFdSz*(wRjS@qM1y`qfqka-US3(H#`Vnjg=mVnZF1 zUDG(-v12Zs?;PX8s2aMu^Xs?u@hjGC6jx34jvO7VYF0ItDkVh0-~nnt1CO_7~`;Rw*q!di34{M&3NS{K=O6e@4fJx2klz^CJx6;#*z;!1v+{Nd|HHQU>v% z15(!S7;e>I_w-6*y)qE#h|8Taigga>%liAvw^o8JuapYKA_#mD6~*(9nq(55$jQ(pZE^B=;?lijo2oCshevqXLjx)* zR*O-;)3;VeR#lHn#e+-&fKccMdTd^Y)#QgNmd|MNf)~r~cH4D`8ucQ^G2BR}*lu0e zO_ligS_FjYfX8X93z-mU2%0BM;G9MigpVxTLr2w$VD7XYW4m-j=8-Ma8^eyJ&8fQS@;D*AOx%FFDfxOd{BQ=|6(-W(SZetf zkSuJKcT=#BE7)w3CBoIrwAZ$BU(Qx_*?OweTESsy5*)?;THEHTA_O)zcp5x>A#4tC z_G2l4@telM)rEV?+coWNZSf|Z1N3t;PXM|G1-a5yJEa#R5*D+XMSzK1P16Sq-p}W!rF%cX1q4*}V7J+J>M#zXk7Qp2L>1Fmw z&Z~<%J*^O}@D?>9#6HKs^DT;4R3SPB;cSQ!z``@T7Gp}<*XnPDSd=#y0AK_&X{@$T z7!jUITLg90(&vmWN%ow0rCeU0^Hru>yANmpwrhA>I(M+yMpb(Ot2-I zP~v&nLv-mz5$^~Npw?}Rg?to zKB&dwIOGE%1pW^Npx`P5l?5MIhfjqLc9@zyp~jw2rZ*8yftaK3WK2w2T6vt3ttAi@ z6XfdQiM`~fH|(weXNfE1Pm!m)!trD@+{wPTQ@ZP0GD*e0x2t^29tg_Y*8x@8j;JaS zG0b=kIB5YQ6ms^xy|s4%A)OY1-w(>mUL0rdTec4schuhH5Cd}eHdWj$i+-&V-5?o{ zHXmm;c7g37SfgS;+xbs@Qf>uLl@LKpsRH;YNjLWEyqg$|ECtpL1)6 z+#J|l-}zF( zo=5^As|dV^$8c+*3JF1QQFM0)x;CFd36O6pU(Tcg49{C`q+4JL`!}*gDD}!RooZCT<-q2RDq~Nk#0h6XhJApRiweE zORl-_Cl$r80EgPQrA`3&2l`wN&DxdLkt&@(h+uGalcO~OdfY+R(9mdbbX1*gY!li* zI|*tEe8U*b+XS=K_`@+v|vN+3&U0chYuudd>Ip%`vQJwgf=FGcw?fGibP8z~2e++90@L zA>U&6pj`U|&9Trt`8$r<4j&BzXqcSIKmKz>DC@M`@IF=X8x zee>ZjNlAbG%VJM($8)ifLlb*bp}}%;*|9LWG8OD(2MJH~uY=tEs>T0eQbtV1`lMT@ zFf(7Eq!#RJ1cP5aU7w8QeqO~Gw`b+dM>81r=sc!jpDGqp#9}INvzuj~jFqZDN(QPk zM2_Od(XmP3F_C^Z*onBWutYlxx!Q|O9IMB2` zQ*@x`Kzy{j#T##r#yju^B-%o;;NB=CWPI>hg%W`%gkAwL()tn&k(fGfk0-^{Oq;rIW}-Tx^=)hE>TPlO3itQQ{FzKRqe&zLOHB7HzvrQa>iKi0EiKU+ zEDbh;W!CCP=B;_8?8$})g~duf=%{GMVCB{9YY*;yNi)!1UDu&wcMu+C1gxkr>}o8E zcE1d4iR+JO-q_jv%7_jzxp==lp`;&TI*o4lo@AkPJe^S&9N>48$(f-&b>XukuMBr) zj*2HoC-xqFa&+4cK))Ac9HU_Edxkx|izio*`@r0ASycyOA}i5^bUTpP_c5Edgb69eI?p0z3&)yYW5$Dq(*foJKIn6J+E}) z^8IRPF(6JX;8qsAjltpmqfYVt_5lRSiS2}oy|8!U-t_L~jxd~({p6=3Ydb1m*tD&t z-L+?3I?%+P{?@aL_*8fdZC8svn*vN}cTQnmn*ou^Bjk0O?u)5{PFW035%lWoR7or@ zPXFsly&~rzX{4>sJvxPHKu|kGLLODo_UOW?K8`4lDL&OA_ae_Ct;r@sohh3)yGt~i zH+%e>buB~Tfxhl=cUx$vi#=>+-ocT=p2gO6?GHVw^VHob|rZPwV` zs*oOBe46SimsqVsxS&@Jf0!|*^*!%-?m6{auD85zYLhlVHw~E1!c^?>ICL8;8&+3u zd~)Wp*~@47?1fc=YhA4^fKj!P$^Mjq=rc-Lts1+hdiCawPa{Odyg7Zhnon$tA7vs zL)qVUuVgB>&0xGQnYlf{myp)nO;ec47eE&GlJw^pjC9!;GlSXmPmno30bZ}L`~^!j zgQtXdfV`V~YYH>QO21IC-+xV?5&1IrshRsVX$Pj@?%a75D5bp+%Ls^|YW8Yt22Fd{ zv;_TyJD!-;`G{s~rQKGcvsG7@)j@sFgXvxT73-;vmz2)o5!bM0_a1L}7Z3wospD?< zt|GCf+Fh%$@`Br{b5>Tls_wogaks_NXwd}fEgKta8xf}jc0Ca1T@%jzq~zM7)j++DVn%2mSZ+*Q|T)~<=RmqG)nx(jUWV#rqne?uqb zeF9}X;y8Sb-bT!I{7^d<8@<|$y>8bQjlSM0=yesgP<@?E2_|g-Rg8XPnAh6j%Ltk? zt6nMJ)u8ltcDXt=gM=WNXxUE`zyQ1V;wuiK+`t-FLtu~zx-Na(qNp$>NGb>5cuTWSItxotz=Ft!pPZ^ z1HRQ}3V3-X6`%wwzsbRyu9$3CV_&_wMCp_}VDfb7EDA?msl8THUm1#-bX)pX@AvNU zL<>z=*;pU|Rmd8?{F;yZI#cR@JnML4SS!l+c?Rk`R=2NptZXS(=8lmC)l37KI)#x6 zb7QJ(4dd59yn3Wh*y_z5I6|SPu{nY zTXJ9?^Xb@fRf~`mTC}d1I|hN;;f;GYv?|jZ=0#U)9$i?!_DN9lS}>;qQ#?ZS=;ech z>oRYYJV<`8X-zmB&AMHD_2yw$X{C3osU%#*gOWfgL_#3)f7Z8Wmrtkf^t6<>D)-G@ zow-|+Q~gg46rr1RSTe&RYz$V`Ikd3`naxQ3Ip7m|M|6OO$N-sOuMzV=4P-fW%@miHr+lT_jf&|+;wR9@T=;AL*@_(Y$IRUJMMGb{8KM70=1OB69; zA*i-%LIF4`b?$BLO+D(c6IcsvcYAMY`|+bs9@q4BMO!oA)ByxajlL0Z|AvsS#BG7k z4V(f>i(<>H`<6D$wzL(lT=wTXE9NU}ml~%oQp5TV`@4V$>A0q6Sco_4*ta(Eks!2s0-dTKSRzp86i>ZPkcA< z^}dO{hqm^1J+(Wrvz0v5;yb>wojtApfV$k_kA`n@=u7y`JvJHHd$-EC!M&=qtg>R0 zVWWG!t2nYbxjE_GW$qCG*l;IY+r!(M2D;MStplR6#nIZ(3dTOH+I_mJm<$U#6`ITNrGNlW>F;c zDmRz`Z1Tfv@o|YBM2V5da!*jwX%Dh<8z`UBFaO{D4Eg3-pKi zjlYnGRNghFwZ?UIHB}Ae=0`go?AZJa^fPU7zuNKMp=0m)-}H~J^iNa1AI-msr}eNR zp02O%p)-Kz#_j-ggNn}e1wx-(K-*WZ3ljbHYsQlpIce!+bU|^UZmB{^*818(-lMd-wbH#YUTz&CQ+BR9fuYxx?M#21HND z2g`eXnu2#N{fV7q=>h4Iy|8;+eoJ#uBxe&WdG{OKC%D6{ikI)NW~RTdVzXe8QIHS% zrZ5RiUp9~fD!p0n)@wJd*uXCVv!?~FVa*)(y502$gPk?)_I5CPiawuG$fMv!2HqaT zqA<`BY4f&3i$wQ`TQK*R75Q9kbv|KmVQiN7VP$S331BjVCrVD{4yk-%1ngl-ZzDLQ zI?e4udqbC}U*EmrgJ~yz3v)loO?FNCgD>}6rNNJ3#B=wF#m6@cIQz|m9%ZVQM%R1EW5TX)xZqx<%=;JG?fH z!ChrEn`>%98-?bRCdC&+oSA%F51$iOG2XA-_qAC4!3lRL(u_oTWGgq zkGLE3wgovCPc($@+&g^93(1eVE`3M3=Qi$*)l-#Tfvtx<$jU&@kbXtpUm z5pXNOj|aelr`6ILrSJz0tYXa+pSd|VB~E^|jqD=oiR9j=iig;*Kgj7YoP0LW}dRquu(k5W0Q(L6ps~jEr zwwja@@wZOOV=NN_R==or%F8_FnhKyDDP+-LaG2CQWbGjjjVMV$&9?%vqzzhp&LF_%>=wAv`W zZ;hqOp|1l#?C8e zfn3E`XtlyT48_NyN<)3^78h@GK|z|LZQX)0FR!Kbn8GztJGF;<8l5(6)CcAsU~6Eg z1}!mIOO#Pj5JEc0+c?6`p{<2Jf5_(Zbyb0cl9Go)H4V25#J!-E0vICyKge?JA(Ijy zM;Z;Oix`3G5WSc&G6X)X6Tt9f%GA>{DO}bmfZ! zOXEYxp2h=R7Kg`cjRW0?xsNWpn!&Jw7)-F2!$=R~GeuM9fkA8?~?7ykDG zQcQGjKXjbj{LaMpq@8S8b^>PVA(H{_6$?-HKx!UB=o+EI;dJTNxMl2iDa;{G$!oE} zJcP*nH@GTtfg5r)2Z~}KP){VC$*#^|mnJsgbwn|FWXs5GCaY&c(iH$`gr&VqxK6C` zYU{lX@(nR)}z`gK~uI$wzD_EKktTj{02YIw_Vz84q| z$YlX01C~iic|-(#DkY0LF{Ny8mnL&$dYkmdCGSb`OQo}9ACWQk2Me1FL^G{bh}q&6 z`~yY@sx#Me)m(hN=ud>&$h}?UvRLntV9b_Dim3yu2aZJ#>?`gO6Y#nfXF_8C(hIrtam%!RatTPxdo8F6%9PwKtX(WR{g&t|yBvFng zMK{)JZ(`4e3|Qvp9j7v%IKko1=n=sd1cLRDpK{&eMah>WVQ55BsrH&}s=9_~J9rxO z;<%0jYCN?Z4Zi*1^7O?cz4_|$v?zbeC}7^bFv+m%)C09V8%7qr3<7Qh5qa zqRL&Zg4`)^NjOVUzW6Y`AO(Bj&DWQwL-IXKR1QiC-zMOiayN~ArgFWrpbihfeV{3A)1@#5oKEuKn@I(ESZWPn+^o`D$O2AN0S3}SI~TWVuGzNJ+Ypi)GF zAG*mcq0SbKHv(zR(x*5o5PdwqwB;rM${_QQXuFmGxfkCe`P&j_Xj!0`yYcuuf`8?`)+UHJC&4+fF zMEwfDbl_IOtbSjaQ zlQIwgB3qDT&z(7H-#wLVyswJWC+9JHwt!7VmXNm@Wc_3gr4cZK9dcPP%4HRmF|{LAsyL9L}BDWgnetS4cC*?w`x0j8)9oJZS;UT0@Yf(u}c- zxqR(ib3swJLM3*~5K*m9ZiT+nJcd-~>gF+Nf8I)sV^}UbX;tLP$Y!j6pU6$0!npb& zsha4O<)%pwRWThVRWc%D&z;4|&&4{K3|vS*I2X- z3M!m#sPwuE1=t}$jf99>tHTD&8xWl!uFfOqpwH*DxsnJJS`#b|t_iGkKHj}P{8;y* zJtg6abRe|>h?DIb4{SN;RYv6AzKTF?OJxAxt5viG&7#4NMK1dm-i@6ni+i^0soWI| z7MAtfp0?~zVibzP_7DYo6&QUTVD!zu2Ctt?`a#G`fs`U_Zem(!^{0y<2?|y~Ut5vC zr>mp6EqP$u@PQ^=^O>U$?mX%Cxg&nhu4F8+->+p~Db$C35)*ui4LtCTWTT~O|J4{X9r#v6^>{Etf-aryc zyF0*afgbbh+8m~5^aSz)GoZ|v0x;c)Bqd|-WX@Z6Z3_Yxlc~11T)Bs zq}13wDyMVx7K_@PG>d{ZeL`lD6e?#WV#9U7+PbQMGQ}ORzkU+jDZoTpt$$;{I4!e6 zi^i%8>4P96Z**9J2XuSry`o11VK0;vD(#gOY9O{fHf{C?j!M&cAu*|S81zO@gVLrj z#ywSyS0msDB%?7?u(BB_r%=QZ(=;7!ZSmB$2&M*;$E>5L@!-zw_WWUv zI(MGLqz-KKo#BCChcdr?E?u9>0qF)We-?2 z(45CS5>r0jQiw+m1Q`mN1iRf#fftyY5Oagl~UzU5lY@p>hVfQWY^*_vkgI8Zi;2`j~bz?*y$XKr(7a*bR5D zTi7YI1iMxj^@d~xN4V`$O(gqsZYXYlmTf(gUdOR3&ZaBy_to@Dj;0_keVi|wiZ4FZ zF&cad@{6}~r2PV~YFlWPe#v}f{`kKccEzV@X$i;P`|06pv2!*}rZ5H4Y%U9#hkLUL zhHc2sB(e{vT+7>!j!#lbI`hO@?EdpFp5fRAIQSy;=SngerLlJf_Oi32hZ(l!eBUWd z8^&tL*ZHi2$T{Cf5GU4f{zY;c2fCb-Yz(Q$?qpcP7c;MoEtNju*ew5B>`%M)-r^kN z%KglWP?>p*bdU+XGN-9&kSxlo(89jg7LlTXynCMR#L0tbz5caDAK>Sy*A|`TEZr(> zomga(Bfou-^faw>d{J$_?r+I;D2Hmig5AIG#BX~UwhAp`Mpf09t)p2d7D@l0EuL7E zT{3<+3Ai%a!scG6K;=thuVPN*u506N|!cN&1A6i77sw0Dmtj5)ffi}AS1|o=J(h)PK>Ad<( zz-LT)qRt3R(jt7)8Vnh5)On5|*6gUV$=xP2We;*bbl5_~pRxvvLLqx+h#Js@03A;H zjlpCQq8$KWFOX6UITW$JxMn1KB}X3YuIxC{DollntuHxR>+H;|A;0mDnFI*T@4o;1%uJhN5W+(`hQ{^W zb(VSp=@GA!4&*mJou3^TPq|4tgc?6oemYay3kY+li~1|Df9ATNP5xQ8bS-1qyh+%k z$yayJpAnm{A;bBDow<&5|9H|y28RlaC(oBQa#9mV2u*XmEDj?3A&``JmiLi;}Kf2w)-h5md(39&psLp6p_TDJc$^z=pZv6s5wRnY&rV zUXO+VG-?AfoVF>USHHggao#RBjWlnR{hB;j!zA^29M*`5+|Lom*n@xO^2ajm`N)4j z!`^cKasJ$Riona*DbgOEEI?n*ygRyTh%DoXX@6xaTe4{ynUk2q^^4>qPWs*0fQl_C znFgWBPZ+j@pY|1(FR>}VL$1QlrfK*{w`}5PF>LdaY2>%)kNY?>5Koflxry1eO)!aer%2OeDmZnDR%rg~f;~`3vdyX?u5B${2G*`JT$w`lzkdkQCy4 zM@`7Se`$6eM_yz;j;Y4kp1vLDX_D^e*l3<(3i~G?P)Qgk9;+WH6)*BQNo5?n>c@O= zP?1r54uAX)&yzHhkywTd%ctGcm4L-~vJ&?VNll)9} zHgH_6l{lsP6DxkCxw6TW-i3H${0~s%)CJk0YO*o@bac%Jb+$&3NKhzom(+ zSMHbRiiqmsMSeA2G&=zo^`DEFoc+ngroOnCufMpTKgXZQq&NO|`O8$&oj;bRH|;6_ z0!N<&ui<~%?75t(uI1*C8K9hAGYCpgGB1Z^KRsx0GrhBBRg=863@Q@&G#5?FC?6~y z0v_%^rP4O)t@?K*9Em(Pe&l>3nFmy#O&!0@kCf({c=alk)G*#;{{G@Tvd72wGxS=p zPmcVrd|H0z|GCynVb91P@gi|ok)$6lfAIxirMLdq8Q`&gGKCJ!^c=;{<9XsQ@^=O= zR{Y<$BcBM$Q5z;RR8lfKg9AmfMPgcPw_utn)pT4F(GoYIn+b`T;>bORgeT>V_W~4ujm&@NrqymxnGOip~ z3Q*>z4*G28mF6?i$lw3n=0ZPqR~%HK9GwzhJi+`eLA|G!)QsOdTwwm_>yOaRie4R> z%BP5m?8D5DuRfmP9<*odAdfL4tFj-_%Javs7%ziVkNx@+rGfn0bRT^MpZEsv-e8T& zDL`^H-){a^c3iHCKwU)UQmh}PsML!`#D|r>TopIUdhOua#(AKze0el3%D47FA9pim zKmSgqH|NTKUjW|V2k<2RlbyL=1~XRIR+W{uwd!J9X)}Q011|7>0*zTg}$hhE=9whu&s%7zl>U$DX8*94~PjKFD3;7nA=Ca267Vn#WW> z=HoN@j>}GGvOgQYALF&~Da@fA47oR-chCR29Ve03#IOq^Keq4_8R6-pb;AowVc_Gh z+r?u?8TNlM+fB~C0kAfn5xMFArW5)!@~JD2N-wvd;Y zt{v7S`}YgFuMU&rjDr39Sn0QigYt_hTR0@F_$r+(#m4t2(?kdBM~$O?Y_f>&Sm;!BljZr<;E>^&;Q?OkC!nm#kB9X5^>8pU!-odu1|~ zCO>7QFPJy7tsI*>_gas18&)LeUO7g(IF^vtwi5uJ2+}EZYTl`8=G5a`xyKKwXkJhM zc$QtUZ{=LN`B{%^h`x%sbFcJ>R(TZoZCVwJE40|t#TA@0ZQIlm%2bDUL=q`JX%L4( zp{FaQo^(cIlzBpOasa z%Ty_OxNmn3&!My5;;fF$ zTgm+Oj+M+Uf1%H2^P%s)#SCl4@fpnFRX~)(je-~&grfiiAKnDTP6fdMVwbK$>PR}aQT}LeevyV5>#CmxTf?E+FsMf9V;}Cx{K%AmnxBm z+8|91Xn;En`E_C>(FFF%; zAS9HI9{+H!nk-SYiRm_VXH)%Xs#DpX+BVd$8E&tr>d~fGn#c0i(j znafo(Jjf8}*?pcHlXUq05xPOX$$g`WJ7mH^U|Ii4PJ;{p+#2L)uBV#m*;LI`Jo7JR z>AA(U+IQc6b-k*?)nS6R69Q43VZPrtx;gEP3MrFcd1}Kg+ox$NDxB6z-L%rhv$syO zBM{lqfQV|SNGSQWjjM{)>_(iJ(OKg&YP)m4l!>mO!-|-6%ikDw>FKlI-n{pf-;hf+ zdv-RZcIZ;;Mq+&+tLYx}4l4c7^mQ~u*A{CU>ir3jyu_O#;c#1x~JG${mN@RGT@ecfH^f=^6ea?rnu9!f{z6SJPAFG9>rU0-RdK4XwtF*P_U?%TiW z*xb-Bq0nxYpSvqnj^WvbgrW@kHA@wb|tyyPoE6sKu9@FM8GD z+9_YmU=Gw(aZjF7<#X>_TubIK`ORM~t_@*sf;y*=DqYRtAR=ZN&hdkgTN$=|TmEbWb{$ulzQL%yS#>AoFSF3Yz!DEw9t8P1yd|SNpP9=ZyX9 z>>b%Xv;gVHk)B}Q@ z=!bSirxE;`bjOFCum1>+mk30aVe7e`s26h&{beQ7YXk)M!mG1Cq-*Wp|6?OZlsSk% z-f(8T$zuf{qRH*^n6)G5z>E7a--MjPUvES>&GKXag4!r@wgIy7Ol5wNe<*kA7n9&F zQILt#nU*q@(~s_DW49_{mXW7(&qMeuGKKLrgWi50c>&dW1^fXPiP&?9@+cuotC@pU zQy6!AC6j8VCx#P;=Lbg_5}<(wkzY;jw}Q;#st`n-t6^ufOBON&7N=u|PXe ztF6IbX*Sp^JX@`maZ6#I%Ryt8S1$H0s9t3E+8l_!>a9Is=u-L)uj}2b25FTipw$oA zhxLOM>868q&5>{+j{S-6LsMpFAVr1C5p!8CpW&Gom}#?G3vDiQ$f50UwN}New>|8= zv3I)Cxw2>Nlj`&nzDLtbl=%?1>h6YGHJZUKT;E!=1wnNPT}P|Y4>$K%JK$ZzL9zep zA3k*MeER*DhMTu-r>EkEYPnAixe%Wh8s+ zruS!@Qx}r3h<_Xi)f^uJ*pIe5`$KP|-;1z&u|62|WfFw}UoD7nFg}FA!3*%K-S1Pj z^rqUKkl{Qi4v9O&-7O=bmqX8syCZ&42t^}t(GeMlH-?fBIf#YZpzhcxJ}sufG-MN_ zp^2Zus}I>kxJ*zuGdKp=I+4NbpkxXwJ=HOo310m^P3PA3QhEiAv)I!C)$E_B*@ zJ2N7P9RLQfhO||02H&lD3xp#fn@cIZ!x{9l9}gg0U-gIU)kdrTyn?a2oscE48NHxl zs1s_djMiYlq^(aU1{yL-3T*MkEwKdH*Rr2;`X19hN1vm|JK*YZ4%_;z+iO1ce!2OK z(%ie8AIMV?d9}^*J?=e$J#B67wkxg)Y%=hh9sY8V3)lhKfb^VAZE`gDsMIu2}=WpQJ(tKaCBXrvNm(&MJ1RHw2{VN;W)IlG#?6hup<3k-C!A{M% z{tQCxK=HjLssineLSLKR%jrSKZnY~GMN|QsL-F)IDu-PbLO`q)-|f#}Tl!(}O-gMa z)+=02nKJ=pDDB2@KAYT}yB5ArpGAfU$bdR`kXTiSi-mxkOD@PEqeo`vR$$0dxaE%Q zeE@bKV07s-`J?4-B!5)-6hKr#xeYEU%AddF2A(_#Rga(ox5184{$e8blC`Rk!-@{L z;%`qqv5nuk3M3&AxNaw1ko82j-&e1)n1PUCf9U_)drdd+)hS#UsR7eLz>X+`E51^N z>{i8;zk(k@CMXWfQF#T60yriFT$6iqcdOv%gjNgiHXcYj1#zcyzb9AICT`2!3h%8< zkms%=zob)LoYPZyVXg4&+H)qAXvb;vzz7hrDt4?=L3$3sH%>X|iOA&KWR+Q-lS5pI z-rxMytUApfemH;cHf2;{oWsFe@)t%{2NE-*=jk))( z**@`HB-Y*6TsKgMrRqMtp^>I?a=xe1>?6Lo)&QuO@Yf47eqCLlyVe8v#+C zK$O)CyMG&>QoEQODY>eOyPXvLi#TFrB}u7I?YFo4gLmAedGBnISbr(S6pMTtc_Nx4N)FZG5b&R zAR7X{){nl~rrxrt#8jq*2D{T~_kl14BtwF>wA8YuZi6A%*k%gV4Dlm%LwJB5tadGc z`GwV>@IU~CKW<1Q)zOwAQ;(XhI>$$B*$0{2O1a=NSOHItSiDy4K5yi)&N8>Yr3TTc zPDQ%hwxPSqQP*yC)xhfCu_094w!Y-?lE=#zR@M2Q+yv?n&@@nNxz%Gfd9;y7XSizD zE883ycUyahHv>FVr^#0(Dgz2vXV;EYOY*6{U7dRnmF$f~qY-cG`ozla5~a0dd;L}@ zdb_l7$cB3DAbP{B#RftwLA$I{MsE?~uWMQ$vRp*w%Ml9#mYU9$9z#ZJ$nedsu8sTn zXDbd>9;`cDb|Bsv9PFZOQmKp(@J6FPf4E4D`x0V2+1Jt??^A}O?QIDSMoUT)6>kqV z0Ya8!vJ1H27Z0Ua(+wX=A7_&)!}_(}&88)}tCr^2&AF>B)2B9k@Nf z!E0SL2)?NG*4ADz8LX9V!J!x2*}aS}2wfl)wZs1-jd6B}enaXKT%RDlfa(zdX@K8l zPctC62{wS>rYhAD%4nM7wt7(qUL>~lhLa6d-DL~w^hhIMkydH zB|!gEyZkb5*3ASha8zqWzswHwb|?i7{{$aRs=;pK_d%r24}`qW>j>B&huD%R^xF+F zs|MP;UR^^_494;VI6kd$v}D+}f931^zy5ScX%?%jZP0n~gL2SKqy3u2Sb{3#VOrwf zu}c`yw3%v65uM)EV7BW64g~Sb0;0>VL!3Nr33&8e+Ll$(vi9Qs$Ni5CJ+1^D8ipXy z(9j@6xgS1wzZY@*aPkL}o{Sng8z2iiMV8m}4f!4p7Nx>6P>lKz4hazgC-@b-;9ooN zw$Hg&w}eNp1okWHZKt=Z){b7Ot_}vp5-)m>jy0+6{b`f^3;k19j_JXYIy zGx^-5`JR4omP)kQ6b;Ms!`8~%ap-~%86q&^l_u z%qli<;U;WTy9<&#HdLLD3iPU>C^E#$~NT4SWQVYiQzhiSdTJ#{iJtGygHLDwSaLnq^Z63wj~v}X2KhCEQ-OVJF~9fBLL$TWkZ}7ylA3&PDlnMk;9^~SbPDSjw-O& z4aR_h4kQ{dPB?)i_Cpoe2}Tl~Z>?$FIvVi;QCm>2B4$4O8Kbo$GRCZ~30FdOvJnJ4 z2!cicnib$AL%2o{-6Xr+1x8pPbX+Sc)VZ4!W-l*Vwd@++Zg*0-3(V29fZsUmycHZ^ z>)r^r3m|60*}E}G7BS_9daRC3@IY#TZz|ayG{wR2ZJh4La4{fKL>?bYkKL zUlzSKN@g;vIQ!$mY4Z~-{*K-|G1chEzhOw1YQBie9OX7odp zGRnw7v2JdM6ib`(WhG@ z9S4}#L&J4}a10`z+>?j$`w5CRn5O7l~uoG)&qq zy*siXQQW!;QS~7}X#3fD=+0zrY3*I73NUi68$|S2SNuN*z3Mf2JaK}M5SgZ)u zigjYGnEjs1vn0}!0Sk}P?2lN(n(Wh@M~6QF9bo5FEbOP82Co3cMT3$vy4+okio`}8OS%2o%r`hwQf;>2vvy-iGR#*>h<#JQVCNpa6|n2`50 z^z;CCnMm3aNidXvh6dwl$Psb`wLT}EzgqHA*`US&LeUP@U65yD?8y2Q)j~yMl}8DY zphkxgQIHxwkCt^S93iJe?Q%jpGVB4tIH*tn+zz;C7?@X{ZV}TOb}ZFqsexuPG_>7r z4B}YjX&ul`DhGv{Y^8VQlX}MnJ+ytTxaE9}yH2Q9hRluiCbiLRa2d6sdc(R_{y%{j zjazXp<4{sY1Cb-TOF`fvXpP4TCOwGh zc!D7lK0$n50O!;5?C1z}XcBR!Bd+U;^cuUHlmOd9bQENFPEf%hcs}GoByQN1ut5XF zhxZd^fG9`@d%eSbQBN}3WNG!Q!;!EbY{t+tMNx0N3-o~jw=b9yx24oUx9ALN0YmoT z^LB%j5OBI60w}ZskeztZ!!bV~hy{{adbG1VOoGXY(gP!6Gdn6V(zmy9pPeJKxwo%| zf;3x8>T_Pz?VsKI^$i~=!9wJ8SnYnB26HspnV~I8O@zq+$kBB`R+@}1yBTckwGOeI zx38*7+RL`q*3}t|6__>F7q6+Q+<^FsKy7&hDmMZY5B;F+?rR!KWpn{|i!0ij3>WpK zIy1e^E#2Fanf4}2vOeViVJT3Bm?aNb6D#`~{Jz40jXTPROF?PjuZn6AB?y~a!BDQ| z?P>2f;9BN{*r`$vfD19J$%j{`(d6PC2*SML8o$DZ2?OOVu)tuWVX~XekgrkyV)W~olaHk~iF z1H^W|*e#dT*!ZrPoTmHhNdZGWwivHtgY*gP(&6(eCZuyD zn%qfEIO6d{bRjVq!Wa-Lw1)YB$*rWt{ak^xkDK_;>wg~Fogu%@HgjzAz6oiDUAC9c zJ_^LhUS8UYv^xG6{_f-xa(ZO7(ZvU=qZZ1G1=91-l7kPs7Ui>VpxN_q zd0#UVKWTy#-EY$7k%|x4<@^H-dytnX;oAg>=g#DQcRNk!Uim&EceH885(@rtph*q)PzLGDVnV8n6m%g{^ zk3Nx>y6IW;Gg%Eo3|uI;?>*XDy!VcDI+83etkH5DMQlDst&Jj&jt-|b%w1v==!?KH&m2yrCZeO*~3}DQc>k~4%;Nf zppGPCTqP@8i`AboG;Jc+&J;XmAxjx)KG3R?65%|b%*|c{rms&YkYD2G%$0pKjZZN_ zIT^{B$PzdQ=FUwb>+B@h;=eyLi9Cc7rzVii`Mrnm_mjEOqewe5X@0&vW1zN?4`;lE zPERn1@TW!vIH*B>Zx#w&4NiB1#;rGqdX2lT-c$>F)0!$9U%mE;+xSQQ*D0ZS2}TG= z&}zI6@LKEaCa+QEk%#Ng{~R=L)}r9lmMw=LRR&yPmsKq&Vge$X%t~7Z@v52*PiMHf zIcSe~z2+zg`b3M;83Ybq1EO5fr`zY<=i0Bu=!SufF5ACulzq4a_zC@`&ULL zw#Ntlc3m`flKkw8KfF7w`$&l0yYVc?R&1o$oE;lO0U5b!EE8Zn%}xY;g0fwjNOQf( zcCSbJnqzmYeU(wOJKS*J@7Rdd(yp=|23y(RGiXQxyllrt35TJ;Yl>^Zbp_JkiqalIdiamL>23;xv}cm!8U> z&*oF)k@15S(^;}#&Av}th$A*$O%GHu{RPgZD7c1$ik_UCm^t7+I~XPGF#E&XWNC{0 zoFj|Ju9yPH)u^-(f8V~IAy)z;5$B{Uxo5IT&XD2PaEE0YsE;iF)~X z(zGC`(mgObX!84i!pcL&4$>kw)%Q_&7m9aIz6lFxw9thOd8VF1s9q|eMF0va*;B(L z0KlQ`4Rt(dm+s&sGb5qHJMkSoB*Xx*PmJ97{!O`G5jBF##*Z!{0E*_KN6MezG-)^8 z8tOsQZrLhu*XNIV9a%?{hZo`s%CS{Wk4@|hJ zb=>tCjOH8am~oRd$gDl1vP2^J%kRAErd&ZTOEB=z!_SyZp1XK|Zu%UfN&YT~`4n8a z^lOGajwJhJ>F48H58fnU>_JVmBi)|A?C|*hHcN^dR4|$$g-j^E#CDN{=!H z^KDTx`2|B-x#uE*y`k3huG$Q{qC-y#0MGBJ7XlFH7}*CM_F|%Wf?-#5-tiGfM*Vky z{eknj5Y|H;Vc2^+>IvviTSw~MDAHFS!{4KKkRWa105Rp$fO4V56e!kFAMiq>*FETN zb@Y4EMSJmz+{j39rG6iVl+X7b_^7{6KY%|g(RW>V!~=bSBRSW#aF*s6>F*r5vb{DO zdQJ?n(WP(R{&GgeRxf?yb^=^(bm{A(ahHmXrrx|A5=HoZeKdO&V3~LA93@7Y|Hkdo zn+zNK<(t#V81|PxdOP_8xBo7wfM)K#oji=f%Vys$fpIm7#>qc8wi=D?W(rnVw)I6u zo+s_0j_o5Omvr)w#vk?+20?KdbS3MX z^`R=hrqWsMQ5xhcy6WDv9#A?{{&qwe-mFLllSy@J($o>nC|g23nY5-WRj+T+WfsI9 zn61vO{3kT#VP;8$^0bRY$iY|P4`6mFTS^S$dG*8N0{1{&s#;tv)|3_t$dEH+X%F;Q zHq*tlC7?W5GN*Te=Ds;k%-Eu{)j8|zb#9v-^9kI>Cb>+;m3lXU#%vvOP*#{AIIOzSCd+9|JX0@qWSBa z@}YzVs$kph9UtBPqv(^X@399m!A&3f%w-XGxr)8Z8>Of(1)3mG=JIwk= zn1V^>!^;kkSEMUAw&{^HnRXiMu4kXWjax`cRBpin3qZ3BU*+HnS(HLIJ*Hu!gn*a{|!I68Qb5ado#C_lbD`-_rUg(`OK5U z=YfEdVh?!^dvWVHMP+XM1#f~w86 z$YIh{Rk{4tIswgno8BI^`KZ3V$#@Ih4{rZ1f3WQs$!SZ!VG16ww2`9ik=}?%eocQ) z2?^K$)8^>Jj}qdWRsEIS-UQ!O+10dtsQu|A`~Ao$SsBOB6Ami&6B#sFMEUaVDl^zr zF)P`1dsy!71-dv4kKOkRN9`g)s{cqq*x&CQT@42npqgPIYnKh9^Os|~>*_-b0EgT% zih-u=HAI@y)O0N0F0ljCruVg?;nC5se4t5Xf~OHJ1tVB!X__#c;E14>^{I20dt`2# zleeks+Qgt$%PTy~tShTmIe1^a)$FKs*Vt(h20@-sdtN~bjud^7C4*Cf-z!0Jj#YKqFo>zd zE4DKogH_4o#&G}_z+rSo+(vlE4crDrP-viwrT4AYRI0MwBzMoU8S3v(-^U9y_*JpQ80sM&j=#p1pE?!{WDE{ni zi>~@y;jY_e&4z4i(+ODOdKXtcz6J)3B{Xw;M{BE}X(ku@kk-Xk)Dvr;dU_%=%ROnF z3T}AjF!L<9eAWfGMhob{>Un?pSO_-QSy_>m!yz^U_YfNP@P_%f2Zv6CGEHWVn{x8qlh^tH&94r1 zPMI_?)*SASP9`p;#{M^b3D#xMIr%FWU`w~*)dLJ>C2|&Uy~(03B_DNL^!_*Q4Jr3; z>tn{523wYz1AFs_M)!{`r}vNSEln54XX=0xN_Ejv;Z?61J%+0xKiP#hq%#%3F?KPA zS+C=)(b-pHT5FMtj4PE|jL2TX20TsksZ2fzm|fKi@ZBO_tHBMw`7p!r=*NOiiR&n5 zikVC}_-&jTMuwomoLdDsMMVU!5Y8v=;Il*)2@P`x`*thY9Rhq>c)4d}gx!(t=Pk)) z&D30eDK*DQ-4nOxYK2C=-UGK*pl2Gw`+&sJPI)#z8$R3Py{t=?8AcW=93<92CQ$|i zp;Bk|s>Y^fT**{$O6d01$HW~VUC8NLA%**9V$j@CABe9TSvPto{Bb!3%}fMC)17Nd z8ksOoDKH6y#VbON?i^4b7|RYxaoLHpDO3avc|0;Xsp!qvnGZ#?bZ`?!3nvs+4o2jQ zB_Qtmr*}{65wvccHuxOX0e43;9uNm-v&k^R%OOs!b}9Jm5>hdWoRy~sMIY|mIATJk zIRjST7ivh4S>-)Pc_*n;)4}aWU-oW3*4{$peiV8RL1f2!+ZRB3bFvpD&e9Y0uGgFheZh3gY}DLP8{rF{t=JNhyrwqRwr?PRa_R_FH?XzSY&FMF7x z_a1%uaf$_g{!`P3HA?tbim&d0A%82{x|aHG>vS}DWMTR7Uxo0`?02E#EJFt64<;X4 z_D~uhDKED+P>YTBmgs|Ttp7~(fT!X?ecAhO{IjsL^dAEz@+lBcPDVB zhnCwr;h=ug%K0U4VfMeQ$ue6nx{pk(_C95^PY#!ZzhS)3d7lkcd0&}FSV?xNKl<-4 z^+#XwE+##|-(JQ02fYu28pj@mi2owUXaqSg$`)UMdpkUyIjO+mu0)B5D4U-~Bb#m> z+&UH$4IfEffrk%bfpT&Es6MiPpRUAv5lma+`7}D5hyXZ=v#IbWGPdn#pVLj2&+Qt zpD2z4KEgaI0H1_jG_vF$ceUXF%`BvWL=tt}G zt*32I-?Q5L$oIdzykSn-m6?>C;F+tut5@Ehi{{|u@y0o5W}Li++Qp$9+xB`WYr18h z-j!&5Cj{xu?IEt}!~EQuEQ`MF_mHQ1!KmR~bt&cO-=O;M!HX6bLuOV2^qhi8E)q`# z!oY(q4$sjVxF~cKua3)cB~F9z03&)I0^ksffJ4F000BEVoiQUh7RCcaDT-bmQsR&^ z)rO`K-5VOu%I6YRJ`v^-+QyMyhMcE~lM{%3t;uvDn}!4(>fMtP914#2}@kaYQxtjuD!2k}!d$K|j)+dM)MU)6RtuwIq_odYWm!Wa* zLi>)^irD^HR8SG?0!6DpUc{LK#*^qE`6yCH%d{HfC#sDJ*cy4P7G)O+lkon};bD_!uB2 z;&te3;6;jUns!)+jSqQDUtr~hFzidsG97GRh3jfsE;d17a3$b=WusjT+V44tssliR z-w-u~)CRoJk#X__MK8LhTXX@S7^qBCz~W9A2Ws*Y&58|sJ6vF_Ea+$2HlA_jGO7pR zHI+)Zs*by5fbUnW1b{@hKG2w|y;woQWwis-WU z^Ii($jSRMHqc5y*Aq8%wVkDViq+~3Z`QTRJruCZ;(;?;%=q4aBFwtzntUNRP20zoIyh1`FzK}06jpG=%PNL}lCX%2r^1mS^LON>DtTAr zwy6l&LW37Bc$i!8ng34KY@63Ad*-gLxZQAV8$gXYG9y|^6&Uiu? zuzFZkOCcqsbub!}+s{&97J(J!pbrbH9cUE_Du)K}tI=GU&ktGg;V^DL#G6_LyqAb_ zF3aGIKe*M}rfdcEQkDqY2QOxmO%eB@j837+FDD6MiQrv8y7FplPM#W@;{$8~?K6@` zi|fz%;do&}+ii((l-0`hY`yMVKB$D zpTHM6@4dGqmb~jr_N1}*R6Y37*iXLeEr-xYGEFm3@bA+)?)cK$pK$)=QfR!4w$a1| zCW^Vsn|R3PHb>{&YoqIy2yNuTfBp$5HXpqSdy@vrnG4tA*H`Z#R6FwQg8%m&a!Kdm z(scW&=mj>WL%bvW5a&aq`AW?flw&`s89rlzaKQf~hIgnhg|Nzi3&|n&2$N1^&9~x< zecQoTh81X}PykN{qp&kP1r}jvpnc@BFg>|&?L9)8MerU1T9DrYvRnH!Mb;X4%XRF> z$=MR7g&borU38&0hguN*eVEW`elRQqIhLKgZYh(vv(dw`_~PKZq)PeNwYhKh-QJ6k z6JlddLLfoKz_cdOoll}6jxADt>H%XJKF5*|hIR z-dG(fl#1=YL=oEw)W52=Z-3rgK0(>1>_+k@rx!}) zZoz=*EvQRUdi8_CB=pfhBd;IClSotM@ka`ToZWQ-#vxp8XGsCGNp* zR0_*uCxdT&>YSf=7XhER@v6<#ZBO+_$97*Eb&X!?Q684o_aRiUuyQT-=0}+?MsM>T z3c+@e&P!t^BW0y@E}K`SZiLKXlZU-W`{%?X5xF0r>O->gKemFFNK$f8Nrf?%36jW( znY>^QBnQ|&ew5uJjPgjX&S4MXC$TzYu7nj3*#^T0QK$w)c=Fc5CyL(NDhFsqH>MDe z4JNma0f-?87jKB&NoEYmn}b0U>~j#aCt}bV5goS6G4w>XQ_ExBK#q9>v0l7}Z}nT3 zdiO`GKpo!t1Y>uVc>M6ms}j-75;z{fJq=SWgZo1+kL|}20-{R*I3}Vn5m;C>!Ybd1 z#YE1a0FDVIMxbmqGAhzQvSL=q(D)xDLIjXvDip%-DhI))y-eX6Npu$2HStIUqY|xu za!k1YA@VaUgMkqdB@@LosX|CIUKC>-d=*8MN+K%i2)I>6oQaH&s)dosq?oj60js2y z_D7-tP@d52APg6UcA7=oY{Kn#t~3>ZFNv#$kqio+ghrM{ppk?WS;2O-;(|pMsqI^; znlTB)6V(d9%QDw7H4c7{9qnmV6kqvm=LSi9-q=ltH zQOin6DI@Ktlb02x9W4ujGL1x_ajMG+866&Yi5Svc;1Th#ty6pS852EZQ; zz_bs>2sNZR-Wyx@xM=cC|Q$%rCB!5GFW#Ui0F59eiMGj*LMV8N{@X=g{Y z*|gT9rNMcLj3&8kHkMU5g7V@Timk0tLC*3#0}K*0sMdc|AVP>jj>{@YUh2+lDSUB5 zct{;qhp^rm88DLyO1@ZtS$OcRf4vIuO%ZNl64l9Q1&0SSL>T2Ewv{rN$EpC|%=YIn zN1}kqC+V6~8q#zhdWkS|Q93C&$XM!-wE`rBTMQHCM3>9!g)BZ1QbuS|#F|RZ2$ko5 zA3q0#9I#r&jw7lB!jKRq6uK<04wty56i{>$y+o`n@gK3T>JW;tvw{&j5?3bmaRa`s zR=w5$%fZx_xP7ICN)MtT$Tf9clne&O1i70uk{cU9;4{8d4fK7@Qp|3A*)Y+xkxfr( zOni+5XR%Cr)vn}&x18SO3Mb+XtNx=WzP#j}V@=N|7YFwj+^41?EG^$xRZf0yX|)%y z_0wzW4ltAKq4jt7j_2;lPbb``C-1MY6K+X!`0+6-_=SCcm0$M0Ip4Y!DAvBe7JE6r zcg{QlEquWc`E`QzJzapi{^z`J#wqXGl}~{zFL-%OP!A1LHvqYG?7V+}Jmi>pf8WxL z(dR$WiFZ@?{q-x@rXTJjTJ~|t_pzU%25@%xZfx_^b*DB*Pq*dht$(?iy8Au|>Fc`B z+p+StODWgr$ZXXz-kA5_aT@P?`N~g1Ji2aPcIA=~(rOAN5hMe{#9}@h8xrzEWZ~BH zG2GUm`!@F#jV6)_Hz#&oTgL+mpDrKQ^ z{)JB6aAQGy?n|zn+FVM}qX}sgB}EZw4VGUhAbc2R{YDsq8iAZJ`H1e$?atg{wl)dS zQUg|lij^3f115FCQcbExY7Jei$Ly@H{o$yt=Mc-Sc5#^| zmkskMy+qnY;gQD|x36`{wOKLk=4olv92*Va@~!{e+)oF!C;!U73`VN1018>Z8Lr!D zSsNLj*)=}{A2=Bc8M!lxz1SxzX5{RhQH2B>q*r2{u2@>mh(I-@#LAgE*Ff@dmuT6n zjSGmSAm*e&x5Mff8J`j-+?XaD*yEd>L2;nTtvjRUxJl}S760wdxn9veuXSdo$mC2kuViI%XFV)qQ$_1tvLlvUbkMpN7L>g+Gl2i3QkB*1fVlgm zXCDi%`epoq-dUsSm5<$i;Q6Dy$Dg08EgT*<=A}hYyR6mj9;?28=Ks1z#eDT+b-fdYHke)T)ne>RP$TyL>oWaE7B_dz#SIw>+RRrZAR{834RdK+4#9h85W@ zYJ5PM0{jpuHzc(jEA^K~?HvTn zf4`X$kE<}5-X&qrh`WJ=QYrFirW@pL6e9s#2~micek`&)pK+OV79d3!24*Hl7r=3a zvXcw9{zTD==;Psi9!8oB(kipV#lGBNKu;A%@)1cS5Gc7aI-d~`k;C_38_J1E1UMq6 z7Bp!5?KSUh2q`G#tw?(l6+@tA(TuniOflGYA+#_;US6+p^~i~_$yyo7U}F13v`6l$ z7Z`IiGBjA2OoFMv)sba{wHlZqCPo=yi&&GxdI7T<$wnvj8Pa1=;UV^t2Im>*Lrtd% zxkvJKSn9OcKpbp%T$|9wX|n8_;I!L~raHAS&o4(HM{T`IwQr6h94BSKh*}M(1?+Sp zY+gn_yv8sPZ2_f;V9Q^@f8`#-Hf$TMev9{b<|V>^}Lkxzb|@f7dr z(2PHLZ_UB|x0xPKa^ z9y&Hmz4p;-C_HchBY;A4*Yg)Jo2e})d#QupM*I_SOC06`2Bdr}co@_qgO)t!EZ*1t z9yOU*TiYJVWF#RQ3odE=lgb0zQ3%Id&T>o!_X6k0 zbei#Ld7Vh?&`klbV*-hYaU%E==;aXn*NDeim`iu6VNvvPU07UUg&at-L)%6pnKk7` zthVe-b#@R+nro&b!vkA}x6c>IiEf=TbPNA*UW|;3y$D=icr<-5yxnvs?jaB z?m{M^L_}=hwPvN(BRP82(F4Jy&)`biMa!NPr>3fIxq|IY>jzW`q&y4G^WB5brx8~OfDZ5->{bAZ65Sfm_X+|Bs-==tintScMTI?b3@D9^ zOY1{EJd$=hmz#lObR*|6foB-b>Y@Ja+5QdY3KRt>G(xcH#E zJo}>k%3aUye%?}cd2j!&S}E2>o)>HWBsUg@z|R8Ah;C&eoKUi?X-7KFLeii0P#Qwf_49| zFTOTE2Cx7gcu_NcYd z`h@O4V4=0%iqgQT=c;PJG~7uiGI3zLI0v~hP9|TgCno;pygQSf*ffod=eK^l<|;Mm zq>|y`>soUpZhEwrnoW~4{q*|~WqI3U0G5y4fd450qj>2``0C7hui!&n{|!JFIsxYJ znF2^(UwJNcXn3h_Cp~H>nsGTGfnR|)W!w=XYX#QMzyIjNVU$*?fw@%B497+kqpXx` zg0W|JNi?uO>Vd98(*?&yJ_BhuqcJ7I9GfJPM;g-%--zLPP}AoSyPJdT9_V=_$EBrQ z48sWsARy2%PoNBxoaMA-`dEv^Ean!uc189N-6fq@Ik2wYl8JdM6Xu8k?~u z;#Jc~RFJ38wX_`$IClob_B|9r0Shs#*b)Lf^{iG16cw?v_oNlXE~o~F8qbPXN6leI z!0wS0{z9HKPs~CpQ$Pzjv8_+;AMF8_&E^@2iR2Lemy4y8o2F~w>Mk4IEi^QsJ?4?U z34utq;?whaGlvyI;)Phs5K?KZ_{lsI9u>Dtv9!pa`FPaXzMq>&1Z498-ij<85~k;3 z2-qcq;606r1-;%3i1nsjfz=o^oiz&?q;n)?W1Ov|T+%1$43|PzYN3BTK3#5@Y{OhG z*N)E27i?^rQEjPE0^mNp*t;ymf%&>>+*`lkZFp|=OV4{7o*c1*ul*c7R6%E}^{mhP z=%RO5)F6?yZ};9EGKZ7Hsq~i3BkHYOzM5e;Gk}a}T?NDld|YEKxdMdP#|0GZ@4L{+7M4#p~{HG7O=}LcMySX(NkAq?j z1qo2_K+(1pjZRO<#Z*02OIOoVtk4ZmBrnTWxjUcC^N>0N`9aDyS71o#)oroFR{`Zd za#f6ik%#p-Z)4?g(>iD8JEs%l#al02xNQmvyf|6JhbBizlM%9ZvfTh21IQL-1vD>M zsSr4#LVj!_2d0#Vk2E$Hw(!tX-HSUOt#{9 zHF;o#CSMY#o87ZbXD(AgtM&V>XT7C!?|$|?@4fA6NWe5-1LM|$&@bntBk_Tu;m_>8 zQvFQK>>_$|4Q(UMw2Ow(Bkr+xE4u@_0);e^m<-ZE))ktECQ2)sI-JshWTMCRj@HvV z2fg$DWzw)#HxE@Nth)^R@w?WQe`f{%bMpJGb}uzixRg55ApQ9!0E%Dk4nZRKv8^FQ z46`Z%2hiFi=-{61?lzTX%|W#ku08#HWr{XMzEp^0nK6jCv`riI0r1v0$C+*G!Uzsi zGxT__I9N&sf>%zmlT(QFFy|T(8F-)>_SPN`ajb430uEv5BJZERT8x1f^QOOj2j4S zGGs@6q2~ee7vx-xG)OCvLlIe>K?l9z)P{@Xv|p+V5Qvjh`l;`!9$G z{VC>utc*^ml5{JbaMJ#LBZrTY$atU!CQ*kuQ~F|cya)0b2Vj__sdiO%5KB(*QRGg7 zW~CT`WPc$M8|AqEF&0Y($BVffv;gw(=m<(C4u<*)rf`NEs}mS*CT?t;9qFlUok;JI zp`9QM6eH|?l?_RI5{o0~e5I%O$w2VW2I^`I3dwS8THfjIoEk^;0NTiCl~j##pWeM@ zP`_z?zm&?4p_tAU(>!vJup1G>B0_&;S{<3;jZs1DE_X>ICvS5HpbQhR5E;N`5Z zg#iTvBTPZ9vTCLJTkp?nkDPn(pm|`+UB<5SF!g-3Kf3+MH>mXe*HG$-Vd^fVKb&4E zhS;hzJ_^*YJ8k;Z##p0)K=_fGyEoe)d0Z2*X;w3dOJB6T9}@wzT%ZIxHDP=l~Q#gftfm+o~1A`;)V? zw)$~Lf9$LGubtMc>80SWe&oHUm)h$Ah^J;A?WOMjOlW-20Xm@oOQQRY((XZ(ZzL>X zB48&FAVuIJ_0(Kh>GUh|9IvcZNP$q(_1UxEqCF8*BRJ#cAh%Ax8wG{ za)ozoNbXX)U>yrX8Qbg{t&t2Ff9KUk*UB%vS3#$ zPLG`fnjO?H-rK%L9K`#NggD~liKm%ehekaZ*1!LagFmNkh_=qf|54sY0B)n|r=b`v zqT!E?wuo*8Iwnf^tVC#SUv&G9aOcQGBy_{ylGGsQ~`}R*~g!upY#y7U8+UcdMeejE{ticOAI? zJ26!LaXM+gYCUbeuurj`w4SjaI&#M>KehTtzxh~Gb!(3IwtKvbfBg{)76Xpuz0>0M z2iKO5pB*q)mXH62Iy+LnvgYh)*uApLdv6pOvhVtzZ@=~Sm5LnYp9!`4D570y2~nm9 z8yp_r!uc1Gy2oI!p6o%-5d^|r8iI1pSJcf21f}=#lE}$GS zL@VI<<+|QzEb@zsVa+O%|ImqpGr^h5qv+=-v&zg&__TORI8C=dg-I8SzkwoIk8z-T zHY+a};F{Qx39VE&V)?ocpXr4=Hp@W7r9=d4lz|hJ;v!0r0b%`F^%xl%S3dj#Mg|52 z#sgGiy z6sPTJACVxP@@mextpRIK>AcoFlo%E}4`nQRHacwypgQuL1;Mh|emQzp4UFVEF;{?p z1L6%0F-FWM*hn%f3hCG#xpkGB8DnZqCT#^otjq#}g4+X8=o2{H2@y`Pa23+pD4%Bn zMkeE?5IBsjL#)H03#V%9;SURqKgvg=sB|{>OE^n=3)glOh6OEYV5I}HRhW_u z;1U%K3}v+TrvRL`hbYVTkytd>K}nBh2e_%^3R>YJuqh02uz~;s@Y7T6Hz^d2U}pW# zGRrrZiIjVb2G22=Q7G6=@&ysFxI3C4;EKf4l~i%i91XBLD%-(AB*iVQvM|q!2&|%u zvHZ3Tb6Ze=iEJ(=z?O*?3tgCd(9|27OVsG)rP%}68A_5HQ;@p@Ss`j!nGXI2BOCIY z;Ijm&3_}W!s!?3yK%UqI=97uqiU|+rhm~QP6a9A5cT4hC?G}WWbQqZSj!_tU`1nyC z+1hxjk)v6VAJLS~X_zAj1rM|ab6`rE5(9O+>^4hKw83POcExXJ+`2T;dOcL!sF4EvX5$+W8l`s$(r5^?u~nmopYtBt(>EJ$dTev`VyWKrJ~%(rOg8FM-Ur>_6MctX zMYZ=z7U{2D-j~`>Qcs40PhS3UYNrPmS>l~|v<%y=3*LYcJ5%CH^mQ6~DFimlqlr$M zUwM2BSy&<|JQGWqxl*I)OdzjPsDxYbXxSD(=z)uY5w_!Zb7$U1O|fSJQGlCznS_Fa zCWc@cf~h~zr`a&Ih(KPT#&|drIZ)`M1CGBei+;6g7E0q)wh^ho*$-F&YLO@U!12Q% zL?4|)4ceiFk-Af(rDUd-#%+czOUzxjb<6q)TY%muCP64_hk-A^nMp*`)eM*6S5l&p z?o31l7H?UwbRoT1se*v+GU>eI>i{s1maT1v(Fe>LA<{Qc(fc7H^KCW3Lr07yj2N(2BgOIg z7cv6FWLqDmNShqRd5wW_q*w<3Hd3ysB|CPui>cf@p_I{w0V=B_*BzG~4Yi47E!_aV z&x&Tca}VQGwT(zj0@)^<(^v+K)DC43TsLehSs@~Kp;Zsk3J}>aD9?cYaWqm~R~ z2P?{m;KFtoyG{`K!k7j`fzCDREK=(X*iptN>gDQO*d90~PGB^F{~41_0zzVofc+oZ zN}x8&&>(`&VNQ=tOcO*3-!4FP-5sA9GZ$u43z140t-P39bR3fgc^wtNVJ~##YIPm6kILTk=;p{ zj-2pYrCF{TKGPFb&`@kY7_IsVqN8-7+(p$JHL`UCRo8Y9`}S+PcJnOEd92paK9qX{vVJo_hs*Tw8q}yeF|CIkFKDdzV*nZ z)XJy5TW~jj>84&Pu|G}?KlBYqB)|Og?}a24twAIk=JJJHgco#7o1lPlm_o7bkz$cnpngw5l5a846CN z_W2i;lsz_aM-d%o+?W`5r4sRgBGYy7&Fh63es(6@Ap!x1$Kr<~0%GYm*AW?x4BjiG z2Vp!9EgzCSODvL*&`osFZ?2orCgceko@;6~GAsMw%i>0MGq-20SceIX+nFaX6Zi@K6{TTR=jw^#ld_HqJxx zBVM~oqYVPN-<#{&-|`C$`0-$?3if2o(Uq#D2EMxT_7Ix`bpCPg>iyok7LBQcCs!A} zcco5mdfIRwb`2l`!Ie{g^tOWl&z%~kP8CAIl}UgNUe`CMXM|ob->;$8pYD(T^@AZu zvx9#*#rjA04^#2`FQt|*!*J!WjG>1X23wl2xH0d_T0m1!ZJ?e&o5aXAbS+;=>xFVp zdU~^%tOxLEWg(Nb;NQZrIj}tq?4A3S;bdxfRFe9Vq6pt|CZlhX*VVTLZlAjQ_G1xq z8WhV4LSe`2<%tN40(G-mW*xIf)b}m(ddcRH9!+pnph+NsVL1lov1;YPl@ED)SKhJL zcy4ub_PLY6%F%lW$tD4U%{zxf#Q$8U+YYE+jd+8r)4@tTHDC{8M^H#GF_1(E4Jnbz z0z58&ZAeUioJ>8BdI5%|THcA9YM?yd=XvrAwM&_fJN2 z*=L#TIA{x9JTX-%xmFKMRmKS$bk)j-4|~3Y>+I)%b{#%;_?gC!_77Kr_nz};9n-_6 zmF`Qao4kL!hI;NWIqjc7FShdejiE-uxNm(#Lm!dEj-t1W86VSz=HJ!_@tp)J8Tc15 z36MN0oSaJT!%7^Dp>#k+k!d5m5q9pe)XhUT+%gm}3RRH-VGGPe`oN;kp58e%gPMov z$u!wl_q(>`R$QUvhH;OXChe`+9IA>Ht_1e;q`0!nT^PM=EMTxkg@E98T4Iq z^iFO1P;&xG!6_p%KM6z3No#TvS8a9chfi8oaREc%xb?_L1!g$QQ=r*Sc%Q6g?h5{R zug0AbceF<^Nh(*PVI)hj!L{+5*KLBE1xak4n>tjTjLkHw<|KXAUDFk< zvQB%q%!kJFjq&hU6B3acjIazv^QBW}KBO;G$RV7~rH4b&{y6dhV z+J;;~xBxlkbkD(Y_sQ~p*hc}+TXk9MljYUV?;m=^3s1xUZYp@vd(rD9Xy7-f@d8$t zD{7(UNTm*hqkl597@rLUUjj}UJgMiEIvbH-&L+hGyK8D#2Xh(}7eYdXhn6ZK;}c9< zD6$|aX&gY3-%KVC%Aa3=z!A0Ol{jJ6VQf-^9eA1 z(E^5c6-e1$XU}94&^B&r4GyXb<_4K~O^;7HHL|`|O721f!Mdr?p8PCQ-gRwzLpZc$ zvWMdYM~MxBWZ!-|nsG-ghOP~$+Zq_5K(X`Tv2;ourD6K0^Gqt2w@67Mn^2#Th-(8TVQ}xw%<3cgEclC_% zgP$!0KmOVeK(lrLanG3X4INEF%gg&)ey6f1;kfDQd_RMJDYgL1;G#XEe$Sg9!aIZr9_rFRvdVP>v)fk zzb4h(G&YXl9O$t_EB(l9NpPv-RGXtpPb)UeAAk1=2rqvy|+7+7qfn-R;Z+zh&u z$z}H7!SGS%XyY*5`W2;x?P*c2(|l#ltw%7EwEqy*Y(JB2Zc7c#ZtW@L!9&)NWxTNR z4wPAx_wcpRH&;CpYKV2M4h<9c0{hUH@9FU%p}%D8I5S(8>$Pz3k|CU6*5g9@glJ^U zjZ(MJ#}x$c5zN8S0M7r!Ia-Eicz8j9p@~nUgNFGOM9KR@^U^#!N9XtKn945kLig0b zmf1~_?Oz}1OU1SqDt8WK16e;l56?&JBuu8oE-eMwL&jP^l51|L+|fOi*_5Bp@VRcC zw>9wFFFP^D$i*C5PgThnsuTjjI^Hk8&>Z$9>NRH8*-tV8HCs1gd&~FK=3`SQDkn~b zS5byv>V$OC%2-JFzyztOO4sP2kwJTW7+Z<0 z>qoMEeWQsjn^4eo59Z_B5=a{E^sh5=H0@*^Nu{zZ767^IGh6;7BIbyu8*{Y5E3$ZgVxa`FTj7Q$7Hf- zJ;E-P@TtU{3}{mBVN$7KWmNt5`zGq~Mp>#)>4DOCu?cI$8(VLAUtIaO<<&p *)Y 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 z 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 V3Lc_iv5AZSDQX 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 literal 0 HcmV?d00001 diff --git a/gulpfile.js b/gulpfile.js new file mode 100644 index 0000000..4c748fd --- /dev/null +++ b/gulpfile.js @@ -0,0 +1,25 @@ +var gulp = require('gulp'); + +var postcss = require('gulp-postcss'); + +var autoprefixer = require('autoprefixer'); +var cssnext = require('cssnext'); +var precss = require('precss'); + +gulp.task('css', function () { + + var processors = [ + autoprefixer, + cssnext, + precss + ]; + + return gulp.src('./postcss/*.css') + .pipe(postcss(processors)) + .pipe(gulp.dest('./styles')); +}); + + +function watchUpdates() { + gulp.watch('./postcss/*.css', css); +} diff --git a/images/icons/.directory b/images/icons/.directory new file mode 100644 index 0000000..63007f0 --- /dev/null +++ b/images/icons/.directory @@ -0,0 +1,5 @@ +[Dolphin] +SortRole=modificationtime +Timestamp=2023,5,10,17,7,42.817 +Version=4 +VisibleRoles=Details_text,Details_size,Details_modificationtime,Details_creationtime,CustomizedDetails diff --git a/lang/fr.json b/lang/fr.json new file mode 100644 index 0000000..9691f70 --- /dev/null +++ b/lang/fr.json @@ -0,0 +1,175 @@ +{ + "TYPES": { + "Actor":{ + "pc": "Personnage Joueur", + "npc": "Personnage Non Joueur", + "annency": "Anence" + }, + "Item": { + "trait": "Trait", + "weapon": "Arme", + "equipment": "Equipement", + "maneuver": "Manoeuvre", + "specialization": "Spécialisation" + } + }, + "ECRY": { + "settings": { + "cogs": "Engrenages", + "cephaly": "Céphalie", + "boheme": "Bohême", + "amertume": "Amertume", + "gamelevel": "Niveau de jeu" + }, + "chat": { + "formula": "Formule", + "difficulty": "Difficulté", + "dicesum": "Dés", + "result": "Resultat", + "margin": "Marge", + "success": "Succés!", + "failure": "Echec!", + "specialization": "Spécialisation", + "traitbonus": "Trait bonus", + "traitmalus": "Trait malus", + "bonusmalustraits": "Bonus/Malus des Traits", + "spectranscend": "Dépassement de soi : ", + "confrontselected": "Confrontation selectionnée", + "sentogm": "La confrontation a été envoyée au MJ" + }, + "rule": { + "cephaly-success-12": "Durée : 1 scène - Impact : Superficiel - Bonus : 1 - Elegie : 1", + "cephaly-success-4": "Durée : 1 semaine - Impact : Léger - Bonus : 2 - Elegie : 2", + "cephaly-success-6": "Durée : 1 mois - Impact : Grave - Bonus : 3 - Elegie : 3", + "cephaly-success-8": "Durée : 1 année - Impact : Majeur - Bonus : 4 - Elegie : 4", + "cephaly-success-10": "Durée : Permanent - Impact : Mort - Bonus : 5 - Elegie : 5", + "cephaly-failure-2": "Durée : 1 scène - Impact : Superficiel - Malus : 1 - Symptôme non visible et sans gravité - Altération bégigne difficilement repérable", + "cephaly-failure-4": "Durée : 1 semaine - Impact : Léger - Malus : 2 - Symptôme visible non incapacitant - Altération repérable", + "cephaly-failure-6": "Durée : 1 mois - Impact : Grave - Malus : 3 - Symptôme incapacitant - Altération repérable et fâcheuse", + "cephaly-failure-8": "Durée : 1 année - Impact : Majeur - Malus : 4 - Symptôme très incapacitant - Altération dangereuse", + "cephaly-failure-10": "Durée : Permanent - Impact : Mort/Folie - Malus : 5 - Symptôme spectaculaire et repoussant - Altération dangereuse globalement" + + }, + "warn": { + "notenoughdice": "L'Accomplissement et la Préservation doivent avoir 2 dés chacun" + }, + "ui": { + "equipmentfree": "Equipements (saisie libre)", + "traitType": "Type de trait", + "niveauTrait": "Niveau du trait", + "effect": "Incidence", + "weight": "Poids", + "cost": "Prix", + "costUnit": "Unité", + "ingot": "Lingot", + "ingotin": "Lingotin", + "goldcoin": "Pièce d'or", + "lige": "Lige", + "hurle": "Hurle", + "coin": "Sous", + "notes": "Notes", + "bio": "Bio", + "bionotes": "Bio&Notes", + "skills": "Compétences", + "traits": "Traits", + "equipment": "Equipement", + "physical": "Physiques", + "mental": "Mentales", + "social": "Sociales", + "athletics": "Athlétisme", + "driving": "Conduite", + "fencing": "Escrime", + "brawling": "Pugilat", + "shooting": "Tir", + "anthropomecanology": "Anthropo-Mécanologie", + "ecrymology": "Écrymologie", + "traumatology": "Traumatologie", + "traversology": "Traversologie", + "urbatechnology": "Urbatechnologie", + "quibbling": "Argutie", + "creativity": "Créativité", + "loquacity": "Faconde", + "guile": "Maraude", + "performance" :"Représentation", + "skill": "Compétence", + "troublesome": "Malaisé", + "occasional": "Peu frequent", + "difficult": "Difficile", + "uncommon": "Atypique", + "verydifficult": "Très difficile", + "rare": "Rare", + "extremdifficult": "Extrêmement difficile", + "veryrare": "Très rare", + "increddifficult": "Incroyable", + "exceptrare": "Exceptionnel", + "none": "Aucun", + "roll": "Lancer les dés !", + "cancel": "Annuler", + "rolltitle": "Ou l'on teste ses compétences", + "spec": "Spécialisation", + "traitbonus": "Traits bonus", + "traitmalus": "Traits malus", + "applyideal": "Utiliser l'idéal", + "applyspleen": "Utiliser le spleen", + "skilltranscendence": "Dépassement de soi", + "confrontation": "Confrontation", + "rollnormal": "Normal (4d6)", + "rollspleen": "Avec le Spleen (5d6, 4 plus bas conservés)", + "rollideal": "Avec l'Idéal (5d6, 4 plus haut conservés)", + "superficial": "Superficiel", + "light": "Léger", + "serious": "Grave", + "major": "Majeur", + "impactType": "Type d'Impact", + "impactLevel": "Niveau d'impact", + "impactphysical": "Physique", + "impactmental": "Mental", + "impactsocial": "Social", + "impactmalus": "Malus d'Impact", + "ongoingconfront": "Confrontations en cours", + "confront":"Confrontation", + "launchconfront": "Lancer la confrontation", + "execution": "Accomplissement", + "preservation": "Préservation", + "dicepool": "Dés disponibles", + "selectconfront": "Sélectionner pour la Confrontation", + "transcendapply": "Appliquer la Transcendence à ", + "healthcombat": "Santé&Combat", + "name": "Nom", + "weapons": "Armes", + "weapon": "Arme", + "melee": "Mêlée", + "ranged": "A Distance", + "weapontype": "Type d'arme", + "type": "Type", + "applyimpact": "Appliquer l'impact", + "applybonus": "Appliquer le bonus", + "bonuspool": "Bonus disponibles", + "cephaly": "Cephalie", + "elegy": "Elégie", + "entelechy": "Entéléchie", + "mekany": "Mekanë", + "psyche": "Psyché", + "scoria": "Scorie", + "cephalydifficulty": "Difficulté de la Céphalie", + "maneuvers": "Manoeuvres", + "annency": "Anence", + "iscollective": "Collective", + "ismultiple": "Multiple", + "description": "Description", + "location": "Lieu", + "characters": "Personnages", + "enhancements": "Améliorations", + "oniricform": "Forme Onorique (Bohême)", + "ideals": "Idéaux", + "politic": "Idéaux politiques", + "boheme": "Bohême", + "annencybonus": "Bonus d'Anence", + "bornplace": "Lieu de naissance", + "residence": "Résidence", + "origin": "Origine", + "childhood": "Enfance", + "bonus": "Bonus" + } + } +} \ No newline at end of file diff --git a/modules/actors/tedeum-actor-sheet.js b/modules/actors/tedeum-actor-sheet.js new file mode 100644 index 0000000..d3b74dc --- /dev/null +++ b/modules/actors/tedeum-actor-sheet.js @@ -0,0 +1,197 @@ +/** + * Extend the basic ActorSheet with some very simple modifications + * @extends {ActorSheet} + */ + +import { EcrymeUtility } from "../common/tedeum-utility.js"; + +/* -------------------------------------------- */ +export class EcrymeActorSheet extends ActorSheet { + + /** @override */ + static get defaultOptions() { + + return mergeObject(super.defaultOptions, { + classes: ["fvtt-ecryme", "sheet", "actor"], + template: "systems/fvtt-ecryme/templates/actors/actor-sheet.hbs", + width: 860, + height:680, + tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "skills" }], + dragDrop: [{ dragSelector: ".item-list .item", dropSelector: null }], + editScore: true + }); + } + + /* -------------------------------------------- */ + async getData() { + + let formData = { + title: this.title, + id: this.actor.id, + type: this.actor.type, + img: this.actor.img, + name: this.actor.name, + editable: this.isEditable, + cssClass: this.isEditable ? "editable" : "locked", + system: duplicate(this.object.system), + limited: this.object.limited, + skills: this.actor.prepareSkills(), + traits: this.actor.getRollTraits(), + confrontations: this.actor.getConfrontations(), + ideal: this.actor.getIdeal(), + spleen: this.actor.getSpleen(), + impacts: this.object.getImpacts(), + config: duplicate(game.system.ecryme.config), + weapons: this.actor.getWeapons(), + maneuvers: this.actor.getManeuvers(), + impactsMalus: this.actor.getImpactsMalus(), + archetype: duplicate(this.actor.getArchetype()), + equipments: this.actor.getEquipments(), + hasCephaly: EcrymeUtility.hasCephaly(), + hasBoheme: EcrymeUtility.hasBoheme(), + hasAmertume: EcrymeUtility.hasAmertume(), + cephalySkills: this.actor.getCephalySkills(), + subActors: duplicate(this.actor.getSubActors()), + annency: this.actor.getAnnency(), + description: await TextEditor.enrichHTML(this.object.system.description, { async: true }), + notes: await TextEditor.enrichHTML(this.object.system.notes, { async: true }), + equipementlibre: await TextEditor.enrichHTML(this.object.system.equipementlibre, { async: true }), + options: this.options, + owner: this.document.isOwner, + editScore: this.options.editScore, + isGM: game.user.isGM + } + this.formData = formData; + + console.log("PC : ", formData, this.object); + return formData; + } + + + /* -------------------------------------------- */ + /** @override */ + activateListeners(html) { + super.activateListeners(html); + + // Everything below here is only needed if the sheet is editable + if (!this.options.editable) return; + + html.bind("keydown", function(e) { // Ignore Enter in actores sheet + if (e.keyCode === 13) return false; + }); + + html.find('.open-annency').click(ev => { + let actorId = $(ev.currentTarget).data("annency-id") + const actor = game.actors.get(actorId) + actor.sheet.render(true) + }) + + // Update Inventory Item + html.find('.item-edit').click(ev => { + const li = $(ev.currentTarget).parents(".item") + let itemId = li.data("item-id") + const item = this.actor.items.get( itemId ); + item.sheet.render(true); + }); + // Delete Inventory Item + html.find('.item-delete').click(ev => { + const li = $(ev.currentTarget).parents(".item") + EcrymeUtility.confirmDelete(this, li).catch("Error : No deletion confirmed") + }) + html.find('.item-add').click(ev => { + let dataType = $(ev.currentTarget).data("type") + this.actor.createEmbeddedDocuments('Item', [{ name: "NewItem", type: dataType }], { renderSheet: true }) + }) + + html.find('.subactor-edit').click(ev => { + const li = $(ev.currentTarget).parents(".item"); + let actorId = li.data("actor-id"); + let actor = game.actors.get( actorId ); + actor.sheet.render(true); + }); + + html.find('.subactor-delete').click(ev => { + const li = $(ev.currentTarget).parents(".item"); + let actorId = li.data("actor-id"); + this.actor.delSubActor(actorId); + }); + html.find('.quantity-minus').click(event => { + const li = $(event.currentTarget).parents(".item"); + this.actor.incDecQuantity( li.data("item-id"), -1 ); + } ); + html.find('.quantity-plus').click(event => { + const li = $(event.currentTarget).parents(".item"); + this.actor.incDecQuantity( li.data("item-id"), +1 ); + } ); + + html.find('.roll-skill').click((event) => { + let categKey = $(event.currentTarget).data("category-key") + let skillKey = $(event.currentTarget).data("skill-key") + this.actor.rollSkill(categKey, skillKey) + }); + html.find('.roll-spec').click((event) => { + let categKey = $(event.currentTarget).data("category-key") + let skillKey = $(event.currentTarget).data("skill-key") + let specId = $(event.currentTarget).data("spec-id") + this.actor.rollSpec(categKey, skillKey, specId) + }); + html.find('.roll-skill-confront').click((event) => { + let categKey = $(event.currentTarget).data("category-key") + let skillKey = $(event.currentTarget).data("skill-key") + this.actor.rollSkillConfront(categKey, skillKey) + }); + html.find('.roll-cephaly').click((event) => { + let skillKey = $(event.currentTarget).data("skill-key") + this.actor.rollCephalySkillConfront(skillKey) + }); + html.find('.roll-weapon-confront').click((event) => { + const li = $(event.currentTarget).parents(".item") + let weaponId = li.data("item-id"); + this.actor.rollWeaponConfront(weaponId) + }); + + html.find('.impact-modify').click((event) => { + let impactType = $(event.currentTarget).data("impact-type") + let impactLevel = $(event.currentTarget).data("impact-level") + let modifier = Number($(event.currentTarget).data("impact-modifier")) + this.actor.modifyImpact(impactType, impactLevel, modifier) + }); + + html.find('.roll-weapon').click((event) => { + const armeId = $(event.currentTarget).data("arme-id") + this.actor.rollArme(armeId) + }); + + html.find('.lock-unlock-sheet').click((event) => { + this.options.editScore = !this.options.editScore; + this.render(true); + }); + html.find('.item-equip').click(ev => { + const li = $(ev.currentTarget).parents(".item"); + this.actor.equipItem( li.data("item-id") ); + this.render(true); + }); + html.find('.update-field').change(ev => { + const fieldName = $(ev.currentTarget).data("field-name"); + let value = Number(ev.currentTarget.value); + this.actor.update( { [`${fieldName}`]: value } ); + }); + } + + /* -------------------------------------------- */ + /** @override */ + setPosition(options = {}) { + const position = super.setPosition(options); + const sheetBody = this.element.find(".sheet-body"); + const bodyHeight = position.height - 192; + sheetBody.css("height", bodyHeight); + return position; + } + + /* -------------------------------------------- */ + /** @override */ + _updateObject(event, formData) { + // Update the Actor + return this.object.update(formData); + } +} diff --git a/modules/actors/tedeum-actor.js b/modules/actors/tedeum-actor.js new file mode 100644 index 0000000..440cb30 --- /dev/null +++ b/modules/actors/tedeum-actor.js @@ -0,0 +1,505 @@ +/* -------------------------------------------- */ +import { EcrymeUtility } from "../common/ecryme-utility.js"; +import { EcrymeRollDialog } from "../dialogs/ecryme-roll-dialog.js"; +import { EcrymeConfrontStartDialog } from "../dialogs/ecryme-confront-start-dialog.js"; + +/* -------------------------------------------- */ +/* -------------------------------------------- */ +/** + * Extend the base Actor entity by defining a custom roll data structure which is ideal for the Simple system. + * @extends {Actor} + */ +export class EcrymeActor extends Actor { + + /* -------------------------------------------- */ + /** + * Override the create() function to provide additional SoS functionality. + * + * This overrided create() function adds initial items + * Namely: Basic skills, money, + * + * @param {Object} data Barebones actor data which this function adds onto. + * @param {Object} options (Unused) Additional options which customize the creation workflow. + * + */ + + static async create(data, options) { + + // Case of compendium global import + if (data instanceof Array) { + return super.create(data, options); + } + // If the created actor has items (only applicable to duplicated actors) bypass the new actor creation logic + if (data.items) { + let actor = super.create(data, options); + return actor; + } + + return super.create(data, options); + } + + /* -------------------------------------------- */ + async prepareData() { + super.prepareData() + } + + /* -------------------------------------------- */ + prepareDerivedData() { + super.prepareDerivedData(); + } + + /* -------------------------------------------- */ + _preUpdate(changed, options, user) { + + super._preUpdate(changed, options, user); + } + + /* -------------------------------------------- */ + async _preCreate(data, options, user) { + await super._preCreate(data, options, user); + + // Configure prototype token settings + const prototypeToken = {}; + if (this.type === "pc") Object.assign(prototypeToken, { + sight: { enabled: true }, actorLink: true, disposition: CONST.TOKEN_DISPOSITIONS.FRIENDLY + }); + this.updateSource({ prototypeToken }); + } + + /* -------------------------------------------- */ + getMoneys() { + let comp = this.items.filter(item => item.type == 'money'); + EcrymeUtility.sortArrayObjectsByName(comp) + return comp; + } + getArchetype() { + let comp = duplicate(this.items.find(item => item.type == 'archetype') || { name: "Pas d'archetype" }) + if (comp?.system) { + comp.tarot = EcrymeUtility.getTarot(comp.system.lametutelaire) + } + + return comp; + } + + /* -------------------------------------------- */ + buildAnnencyActorList() { + let membersFull = {} + for(let id of this.system.base.characters) { + let actor = game.actors.get(id) + membersFull[id] = { name: actor.name, id: actor.id, img: actor.img } + } + return membersFull + } + /* ----------------------- --------------------- */ + addAnnencyActor(actorId) { + let members = duplicate(this.system.base.characters) + members.push(actorId) + this.update({ 'system.base.characters': members }) + } + async removeAnnencyActor(actorId) { + let members = this.system.base.characters.filter(id => id != actorId) + this.update({ 'system.base.characters': members }) + } + + /* -------------------------------------------- */ + getAnnency() { + return game.actors.find(a => a.type == 'annency' && a.system.base.characters.includes(this.id)) + } + /* -------------------------------------------- */ + getConfrontations() { + return this.items.filter(it => it.type == "confrontation") + } + getRollTraits() { + return this.items.filter(it => it.type == "trait" && it.system.traitype == "normal") + } + getIdeal() { + return this.items.find(it => it.type == "trait" && it.system.traitype == "ideal") + } + getSpleen() { + return this.items.find(it => it.type == "trait" && it.system.traitype == "spleen") + } + + /* -------------------------------------------- */ + getTrait(id) { + //console.log("TRAITS", this.items, this.items.filter(it => it.type == "trait") ) + return this.items.find(it => it.type == "trait" && it._id == id) + } + /* -------------------------------------------- */ + getSpecialization(id) { + let spec = this.items.find(it => it.type == "specialization" && it.id == id) + return spec + } + /* -------------------------------------------- */ + getSpecializations(skillKey) { + return this.items.filter(it => it.type == "specialization" && it.system.skillkey == skillKey) + } + /* -------------------------------------------- */ + prepareSkills() { + let skills = duplicate(this.system.skills) + for (let categKey in skills) { + let category = skills[categKey] + for (let skillKey in category.skilllist) { + let skill = category.skilllist[skillKey] + skill.spec = this.getSpecializations(skillKey) + } + } + return skills + } + /* -------------------------------------------- */ + getCephalySkills() { + let skills = duplicate(this.system.cephaly.skilllist) + return skills + } + /* -------------------------------------------- */ + getImpacts() { + let comp = duplicate(this.items.filter(item => item.type == 'impact') || []) + return comp; + } + /* -------------------------------------------- */ + getWeapons() { + let comp = duplicate(this.items.filter(item => item.type == 'weapon') || []) + EcrymeUtility.sortArrayObjectsByName(comp) + return comp; + } + getManeuvers() { + let comp = duplicate(this.items.filter(item => item.type == 'maneuver') || []) + EcrymeUtility.sortArrayObjectsByName(comp) + return comp; + } + /* -------------------------------------------- */ + getItemById(id) { + let item = this.items.find(item => item.id == id); + if (item) { + item = duplicate(item) + } + return item; + } + + /* -------------------------------------------- */ + async equipItem(itemId) { + let item = this.items.find(item => item.id == itemId) + if (item?.system) { + if (item.type == "armor") { + let armor = this.items.find(item => item.id != itemId && item.type == "armor" && item.system.equipped) + if (armor) { + ui.notifications.warn("You already have an armor equipped!") + return + } + } + if (item.type == "shield") { + let shield = this.items.find(item => item.id != itemId && item.type == "shield" && item.system.equipped) + if (shield) { + ui.notifications.warn("You already have a shield equipped!") + return + } + } + let update = { _id: item.id, "system.equipped": !item.system.equipped }; + await this.updateEmbeddedDocuments('Item', [update]); // Updates one EmbeddedEntity + } + } + + /* ------------------------------------------- */ + getEquipments() { + return this.items.filter(item => item.type == 'equipment') + } + + /* ------------------------------------------- */ + async buildContainerTree() { + let equipments = duplicate(this.items.filter(item => item.type == "equipment") || []) + for (let equip1 of equipments) { + if (equip1.system.iscontainer) { + equip1.system.contents = [] + equip1.system.contentsEnc = 0 + for (let equip2 of equipments) { + if (equip1._id != equip2.id && equip2.system.containerid == equip1.id) { + equip1.system.contents.push(equip2) + let q = equip2.system.quantity ?? 1 + equip1.system.contentsEnc += q * equip2.system.weight + } + } + } + } + + // Compute whole enc + let enc = 0 + for (let item of equipments) { + //item.data.idrDice = EcrymeUtility.getDiceFromLevel(Number(item.data.idr)) + if (item.system.equipped) { + if (item.system.iscontainer) { + enc += item.system.contentsEnc + } else if (item.system.containerid == "") { + let q = item.system.quantity ?? 1 + enc += q * item.system.weight + } + } + } + for (let item of this.items) { // Process items/shields/armors + if ((item.type == "weapon" || item.type == "shield" || item.type == "armor") && item.system.equipped) { + let q = item.system.quantity ?? 1 + enc += q * item.system.weight + } + } + + // Store local values + this.encCurrent = enc + this.containersTree = equipments.filter(item => item.system.containerid == "") // Returns the root of equipements without container + + } + + /* -------------------------------------------- */ + async equipGear(equipmentId) { + let item = this.items.find(item => item.id == equipmentId); + if (item?.system) { + let update = { _id: item.id, "system.equipped": !item.system.equipped }; + await this.updateEmbeddedDocuments('Item', [update]); // Updates one EmbeddedEntity + } + } + + /* -------------------------------------------- */ + modifyImpact(impactType, impactLevel, modifier) { + console.log(impactType, impactLevel, modifier) + let current = this.system.impacts[impactType][impactLevel] + if (modifier > 0) { + while ( EcrymeUtility.getImpactMax(impactLevel) == current && impactLevel != "major") { + impactLevel = EcrymeUtility.getNextImpactLevel(impactLevel) + current = this.system.impacts[impactType][impactLevel] + } + } + let newImpact = Math.max(this.system.impacts[impactType][impactLevel] + modifier, 0) + this.update({ [`system.impacts.${impactType}.${impactLevel}`]: newImpact}) + } + + /* -------------------------------------------- */ + getImpactMalus(impactKey) { + let impacts = this.system.impacts[impactKey] + return - ((impacts.serious*2) + (impacts.major*4)) + } + + /* -------------------------------------------- */ + getImpactsMalus() { + let impactsMalus = { + physical: this.getImpactMalus("physical"), + mental: this.getImpactMalus("mental"), + social: this.getImpactMalus("social") + } + return impactsMalus + } + + /* -------------------------------------------- */ + clearInitiative() { + this.getFlag("world", "initiative", -1) + } + /* -------------------------------------------- */ + getInitiativeScore(combatId, combatantId) { + let init = Math.floor((this.system.attributs.physique.value + this.system.attributs.habilite.value) / 2) + let subValue = new Roll("1d20").roll({ async: false }) + return init + (subValue.total / 100) + } + + /* -------------------------------------------- */ + getSubActors() { + let subActors = []; + for (let id of this.system.subactors) { + subActors.push(duplicate(game.actors.get(id))) + } + return subActors; + } + /* -------------------------------------------- */ + async addSubActor(subActorId) { + let subActors = duplicate(this.system.subactors); + subActors.push(subActorId); + await this.update({ 'system.subactors': subActors }); + } + /* -------------------------------------------- */ + async delSubActor(subActorId) { + let newArray = []; + for (let id of this.system.subactors) { + if (id != subActorId) { + newArray.push(id); + } + } + await this.update({ 'system.subactors': newArray }); + } + + /* -------------------------------------------- */ + async deleteAllItemsByType(itemType) { + let items = this.items.filter(item => item.type == itemType); + await this.deleteEmbeddedDocuments('Item', items); + } + + /* -------------------------------------------- */ + async addItemWithoutDuplicate(newItem) { + let item = this.items.find(item => item.type == newItem.type && item.name.toLowerCase() == newItem.name.toLowerCase()) + if (!item) { + await this.createEmbeddedDocuments('Item', [newItem]); + } + } + + /* -------------------------------------------- */ + async incDecQuantity(objetId, incDec = 0) { + let objetQ = this.items.get(objetId) + if (objetQ) { + let newQ = objetQ.system.quantity + incDec + if (newQ >= 0) { + await this.updateEmbeddedDocuments('Item', [{ _id: objetQ.id, 'system.quantity': newQ }]) // pdates one EmbeddedEntity + } + } + } + + /* -------------------------------------------- */ + modifyConfrontBonus( modifier ) { + let newBonus = this.system.internals.confrontbonus + modifier + this.update({'system.internals.confrontbonus': newBonus}) + } + + /* -------------------------------------------- */ + spentSkillTranscendence(skill, value) { + let newValue = this.system.skills[skill.categKey].skilllist[skill.skillKey].value - value + newValue = Math.max(0, newValue) + this.update({ [`system.skills.${skill.categKey}.skilllist.${skill.skillKey}.value`]: newValue }) + } + + /* -------------------------------------------- */ + getBonusList() { + let bonusList = [] + for(let i=0; i it.type == "specialization" && it.id == specId) + rollData.mode = "skill" + rollData.selectedSpecs = [spec.id] + rollData.forcedSpec = duplicate(spec) + rollData.title = game.i18n.localize(rollData.skill.name) + this.startRoll(rollData).catch("Error on startRoll") + } + + /* -------------------------------------------- */ + async rollSkillConfront(categKey, skillKey) { + let rollData = this.getCommonSkill(categKey, skillKey) + rollData.mode = "skill" + rollData.title = game.i18n.localize("ECRY.ui.confrontation") + " : " + game.i18n.localize(rollData.skill.name) + rollData.executionTotal = rollData.skill.value + rollData.preservationTotal = rollData.skill.value + rollData.applyTranscendence = "execution" + rollData.traitsBonus = duplicate(rollData.traits) + rollData.traitsMalus = duplicate(rollData.traits) + let confrontStartDialog = await EcrymeConfrontStartDialog.create(this, rollData) + confrontStartDialog.render(true) + } + /* -------------------------------------------- */ + async rollCephalySkillConfront(skillKey) { + let rollData = this.getCommonRollData() + rollData.mode = "cephaly" + rollData.skill = duplicate(this.system.cephaly.skilllist[skillKey]) + rollData.annency = duplicate(this.getAnnency()) + rollData.img = rollData.skill.img + rollData.skill.categKey = "cephaly" + rollData.skill.skillKey = skillKey + //rollData.impactMalus = this.getImpactMalus(categKey) + rollData.title = game.i18n.localize("ECRY.ui.cephaly") + " : " + game.i18n.localize(rollData.skill.name) + rollData.executionTotal = rollData.skill.value + rollData.preservationTotal = rollData.skill.value + rollData.traitsBonus = duplicate(rollData.traits) + rollData.traitsMalus = duplicate(rollData.traits) + rollData.applyTranscendence = "execution" + let confrontStartDialog = await EcrymeConfrontStartDialog.create(this, rollData) + confrontStartDialog.render(true) + } + + /* -------------------------------------------- */ + async rollWeaponConfront(weaponId) { + let weapon = this.items.get(weaponId) + let rollData + if (weapon && weapon.system.weapontype == "melee") { + rollData = this.getCommonSkill("physical", "fencing") + } else { + rollData = this.getCommonSkill("physical", "shooting") + } + rollData.mode = "weapon" + rollData.weapon = duplicate(weapon) + rollData.title = game.i18n.localize("ECRY.ui.confrontation") + " : " + game.i18n.localize(rollData.skill.name) + rollData.executionTotal = rollData.skill.value + rollData.preservationTotal = rollData.skill.value + rollData.traitsBonus = duplicate(rollData.traits) + rollData.traitsMalus = duplicate(rollData.traits) + rollData.applyTranscendence = "execution" + let confrontStartDialog = await EcrymeConfrontStartDialog.create(this, rollData) + confrontStartDialog.render(true) + } + + /* -------------------------------------------- */ + rollWeapon(weaponId) { + let weapon = this.items.get(weaponId) + if (weapon) { + weapon = duplicate(weapon) + let rollData = this.getCommonRollData() + if (weapon.system.armetype == "mainsnues" || weapon.system.armetype == "epee") { + rollData.attr = { label: "(Physique+Habilité)/2", value: Math.floor((this.getPhysiqueMalus() + this.system.attributs.physique.value + this.system.attributs.habilite.value) / 2) } + } else { + rollData.attr = duplicate(this.system.attributs.habilite) + } + rollData.mode = "weapon" + rollData.weapon = weapon + rollData.img = weapon.img + rollData.title = weapon.name + this.startRoll(rollData).catch("Error on startRoll") + } else { + ui.notifications.warn("Impossible de trouver l'arme concernée ") + } + } + + /* -------------------------------------------- */ + async startRoll(rollData) { + let rollDialog = await EcrymeRollDialog.create(this, rollData) + rollDialog.render(true) + } + +} diff --git a/modules/app/tedeum-combat.js b/modules/app/tedeum-combat.js new file mode 100644 index 0000000..0869aad --- /dev/null +++ b/modules/app/tedeum-combat.js @@ -0,0 +1,40 @@ +import { EcrymeUtility } from "../common/tedeum-utility.js"; + +/* -------------------------------------------- */ +export class EcrymeCombat extends Combat { + + /* -------------------------------------------- */ + async rollInitiative(ids, formula = undefined, messageOptions = {} ) { + ids = typeof ids === "string" ? [ids] : ids; + for (let cId = 0; cId < ids.length; cId++) { + const c = this.combatants.get(ids[cId]); + let id = c._id || c.id; + let initBonus = c.actor ? c.actor.getInitiativeScore( this.id, id ) : -1; + await this.updateEmbeddedDocuments("Combatant", [ { _id: id, initiative: initBonus } ]); + } + + return this; + } + + /* -------------------------------------------- */ + _onUpdate(changed, options, userId) { + } + + /* -------------------------------------------- */ + static async checkTurnPosition() { + while (game.combat.turn > 0) { + await game.combat.previousTurn() + } + } + + /* -------------------------------------------- */ + _onDelete() { + let combatants = this.combatants.contents + for (let c of combatants) { + let actor = game.actors.get(c.actorId) + actor.clearInitiative() + } + super._onDelete() + } + +} diff --git a/modules/app/tedeum-commands.js b/modules/app/tedeum-commands.js new file mode 100644 index 0000000..061dbdc --- /dev/null +++ b/modules/app/tedeum-commands.js @@ -0,0 +1,105 @@ +/* -------------------------------------------- */ + +import { EcrymeUtility } from "../common/tedeum-utility.js"; +import { EcrymeCharacterSummary } from "./ecryme-summary-app.js" + +/* -------------------------------------------- */ +export class EcrymeCommands { + + static init() { + if (!game.system.ecryme.commands) { + const commands = new EcrymeCommands(); + commands.registerCommand({ path: ["/resume"], func: (content, msg, params) => EcrymeCharacterSummary.displayPCSummary(), descr: "Affiche la liste des PJs!" }); + game.system.ecryme.commands = commands; + } + } + constructor() { + this.commandsTable = {} + } + + /* -------------------------------------------- */ + registerCommand(command) { + this._addCommand(this.commandsTable, command.path, '', command); + } + + /* -------------------------------------------- */ + _addCommand(targetTable, path, fullPath, command) { + if (!this._validateCommand(targetTable, path, command)) { + return; + } + const term = path[0]; + fullPath = fullPath + term + ' ' + if (path.length == 1) { + command.descr = `${fullPath}: ${command.descr}`; + targetTable[term] = command; + } + else { + if (!targetTable[term]) { + targetTable[term] = { subTable: {} }; + } + this._addCommand(targetTable[term].subTable, path.slice(1), fullPath, command) + } + } + + /* -------------------------------------------- */ + _validateCommand(targetTable, path, command) { + if (path.length > 0 && path[0] && command.descr && (path.length != 1 || targetTable[path[0]] == undefined)) { + return true; + } + console.warn("crucibleCommands._validateCommand failed ", targetTable, path, command); + return false; + } + + + /* -------------------------------------------- */ + /* Manage chat commands */ + processChatCommand(commandLine, content = '', msg = {}) { + // Setup new message's visibility + let rollMode = game.settings.get("core", "rollMode"); + if (["gmroll", "blindroll"].includes(rollMode)) msg["whisper"] = ChatMessage.getWhisperRecipients("GM"); + if (rollMode === "blindroll") msg["blind"] = true; + msg["type"] = 0; + + let command = commandLine[0].toLowerCase(); + let params = commandLine.slice(1); + + return this.process(command, params, content, msg); + } + + /* -------------------------------------------- */ + process(command, params, content, msg) { + return this._processCommand(this.commandsTable, command, params, content, msg); + } + + /* -------------------------------------------- */ + _processCommand(commandsTable, name, params, content = '', msg = {}, path = "") { + console.log("===> Processing command") + let command = commandsTable[name]; + path = path + name + " "; + if (command && command.subTable) { + if (params[0]) { + return this._processCommand(command.subTable, params[0], params.slice(1), content, msg, path) + } + else { + this.help(msg, command.subTable); + return true; + } + } + if (command && command.func) { + const result = command.func(content, msg, params); + if (result == false) { + CrucibleCommands._chatAnswer(msg, command.descr); + } + return true; + } + return false; + } + + /* -------------------------------------------- */ + static _chatAnswer(msg, content) { + msg.whisper = [game.user.id]; + msg.content = content; + ChatMessage.create(msg); + } + +} \ No newline at end of file diff --git a/modules/app/tedeum-hotbar.js b/modules/app/tedeum-hotbar.js new file mode 100644 index 0000000..ab016b6 --- /dev/null +++ b/modules/app/tedeum-hotbar.js @@ -0,0 +1,86 @@ + +export class EcrymeHotbar { + + /** + * Create a macro when dropping an entity on the hotbar + * Item - open roll dialog for item + * Actor - open actor sheet + * Journal - open journal sheet + */ + static init( ) { + + Hooks.on("hotbarDrop", async (bar, documentData, slot) => { + // Create item macro if rollable item - weapon, spell, prayer, trait, or skill + if (documentData.type == "Item") { + console.log("Drop done !!!", bar, documentData, slot) + let item = documentData.data + let command = `game.system.ecryme.EcrymeHotbar.rollMacro("${item.name}", "${item.type}");` + let macro = game.macros.contents.find(m => (m.name === item.name) && (m.command === command)) + if (!macro) { + macro = await Macro.create({ + name: item.name, + type: "script", + img: item.img, + command: command + }, { displaySheet: false }) + } + game.user.assignHotbarMacro(macro, slot); + } + // Create a macro to open the actor sheet of the actor dropped on the hotbar + else if (documentData.type == "Actor") { + let actor = game.actors.get(documentData.id); + let command = `game.actors.get("${documentData.id}").sheet.render(true)` + let macro = game.macros.contents.find(m => (m.name === actor.name) && (m.command === command)); + if (!macro) { + macro = await Macro.create({ + name: actor.data.name, + type: "script", + img: actor.data.img, + command: command + }, { displaySheet: false }) + game.user.assignHotbarMacro(macro, slot); + } + } + // Create a macro to open the journal sheet of the journal dropped on the hotbar + else if (documentData.type == "JournalEntry") { + let journal = game.journal.get(documentData.id); + let command = `game.journal.get("${documentData.id}").sheet.render(true)` + let macro = game.macros.contents.find(m => (m.name === journal.name) && (m.command === command)); + if (!macro) { + macro = await Macro.create({ + name: journal.data.name, + type: "script", + img: "", + command: command + }, { displaySheet: false }) + game.user.assignHotbarMacro(macro, slot); + } + } + return false; + }); + } + + /** Roll macro */ + static rollMacro(itemName, itemType, bypassData) { + const speaker = ChatMessage.getSpeaker() + let actor + if (speaker.token) actor = game.actors.tokens[speaker.token] + if (!actor) actor = game.actors.get(speaker.actor) + if (!actor) { + return ui.notifications.warn(`Select your actor to run the macro`) + } + + let item = actor.items.find(it => it.name === itemName && it.type == itemType) + if (!item ) { + return ui.notifications.warn(`Unable to find the item of the macro in the current actor`) + } + // Trigger the item roll + if (item.type === "weapon") { + return actor.rollWeapon( item.id) + } + if (item.type === "skill") { + return actor.rollSkill( item.id) + } + } + +} diff --git a/modules/common/tedeum-config.js b/modules/common/tedeum-config.js new file mode 100644 index 0000000..e652b72 --- /dev/null +++ b/modules/common/tedeum-config.js @@ -0,0 +1,62 @@ + +export const ECRYME_CONFIG = { + + traitTypes: { + normal: "Normal", + spleen: "Spleen", + ideal: "Ideal" + }, + weaponTypes: { + "melee": "ECRY.ui.melee", + "ranged": "ECRY.ui.ranged" + }, + traitLevel: [ + {value: -3, text: "-3"}, + {value: -2, text: "-2"}, + {value: -1, text: "-1"}, + {value: +1, text: "+1"}, + {value: +2, text: "+2"}, + {value: +3, text: "+3"} + ], + impactTypes: { + physical: "ECRY.ui.physical", + mental: "ECRY.ui.mental", + social: "ECRY.ui.social" + }, + impactLevels: { + superficial: "ECRY.ui.superficial", + light: "ECRY.ui.light", + serious: "ECRY.ui.serious", + major: "ECRY.ui.major" + }, + difficulty: { + "-1": {difficulty: "ECRY.ui.none", frequency: "ECRY.ui.none", value: "-"}, + "8": { difficulty: "ECRY.ui.troublesome", frequency: "ECRY.ui.occasional", value: 8 }, + "10": { difficulty: "ECRY.ui.difficult", frequency: "ECRY.ui.uncommon", value: 10 }, + "12": { difficulty: "ECRY.ui.verydifficult", frequency: "ECRY.ui.rare", value: 12 }, + "14": { difficulty: "ECRY.ui.extremdifficult", frequency: "ECRY.ui.veryrare", value: 14 }, + "16": { difficulty: "ECRY.ui.increddifficult", frequency: "ECRY.ui.exceptrare", value: 16 }, + }, + skillLevel: { + "0": "0", + "1": "1", + "2": "2", + "3": "3", + "4": "4", + "5": "5", + "6": "6", + "7": "7", + "8": "8", + "9": "9", + "10": "10" + }, + costUnits: { + "ingot": {name: "ECRY.ui.ingot", value: 100000}, + "ingotin": {name: "ECRY.ui.ingotin", value: 10000}, + "goldcoin": {name: "ECRY.ui.goldcoin", value: 1000 }, + "lige": {name: "ECRY.ui.lige", value: 100 }, + "hurle": {name: "ECRY.ui.hurle", value: 10 }, + "coin": {name: "ECRY.ui.coin", value: 1 } + } + +} \ No newline at end of file diff --git a/modules/common/tedeum-utility.js b/modules/common/tedeum-utility.js new file mode 100644 index 0000000..a909d92 --- /dev/null +++ b/modules/common/tedeum-utility.js @@ -0,0 +1,745 @@ +/* -------------------------------------------- */ +import { EcrymeCommands } from "../app/tedeum-commands.js"; + +/* -------------------------------------------- */ +const __maxImpacts = { superficial: 4, light: 3, serious: 2, major: 1 } +const __nextImpacts = { superficial: "light", light: "serious", serious: "major", major: "major" } +const __effect2Impact = ["none", "superficial", "superficial", "light", "light", "serious", "serious", "major", "major"] +const __cephalySuccess = { + 1: "cephaly-success-2", + 2: "cephaly-success-2", + 3: "cephaly-success-4", + 4: "cephaly-success-4", + 5: "cephaly-success-6", + 6: "cephaly-success-6", + 7: "cephaly-success-8", + 8: "cephaly-success-8", + 9: "cephaly-success-9", + 10: "cephaly-success-10" +} +const __cephalyFailure = { + 1: "cephaly-failure-2", + 2: "cephaly-failure-2", + 3: "cephaly-failure-4", + 4: "cephaly-failure-4", + 5: "cephaly-failure-6", + 6: "cephaly-failure-6", + 7: "cephaly-failure-8", + 8: "cephaly-failure-8", + 9: "cephaly-failure-9", + 10: "cephaly-failure-10" +} + +/* -------------------------------------------- */ +export class EcrymeUtility { + + /* -------------------------------------------- */ + static async init() { + Hooks.on('renderChatLog', (log, html, data) => EcrymeUtility.chatListeners(html)); + Hooks.on("getChatLogEntryContext", (html, options) => EcrymeUtility.chatMenuManager(html, options)); + + this.rollDataStore = {} + this.defenderStore = {} + + EcrymeCommands.init(); + } + + /* -------------------------------------------- */ + static async ready() { + + Handlebars.registerHelper('count', function (list) { + return list.length; + }) + Handlebars.registerHelper('includes', function (array, val) { + return array.includes(val); + }) + Handlebars.registerHelper('upper', function (text) { + return text.toUpperCase(); + }) + Handlebars.registerHelper('lower', function (text) { + return text.toLowerCase() + }) + Handlebars.registerHelper('upperFirst', function (text) { + if (typeof text !== 'string') return text + return text.charAt(0).toUpperCase() + text.slice(1) + }) + Handlebars.registerHelper('notEmpty', function (list) { + return list.length > 0; + }) + Handlebars.registerHelper('mul', function (a, b) { + return parseInt(a) * parseInt(b); + }) + Handlebars.registerHelper('add', function (a, b) { + return parseInt(a) + parseInt(b); + }) + Handlebars.registerHelper('valueAtIndex', function (arr, idx) { + return arr[idx]; + }) + Handlebars.registerHelper('for', function (from, to, incr, block) { + let accum = ''; + for (let i = from; i <= to; i += incr) + accum += block.fn(i); + return accum; + }) + Handlebars.registerHelper('isGM', function () { + return game.user.isGM + }) + + game.settings.register("fvtt-ecryme", "ecryme-game-level", { + name: game.i18n.localize("ECRY.settings.gamelevel"), + label: game.i18n.localize("ECRY.settings.gamelevelhelp"), + scope: 'world', + config: true, + type: String, + choices: { + "level_e": game.i18n.localize("ECRY.settings.cogs"), + "level_c": game.i18n.localize("ECRY.settings.cephaly"), + "level_b": game.i18n.localize("ECRY.settings.boheme"), + "level_a": game.i18n.localize("ECRY.settings.amertume"), + }, + restricted: true + }) + + this.buildSkillConfig() + + } + + /*-------------------------------------------- */ + static hasCephaly() { + let level = game.settings.get("fvtt-ecryme", "ecryme-game-level") + return level != "level_e" + } + /*-------------------------------------------- */ + static hasBoheme() { + let level = game.settings.get("fvtt-ecryme", "ecryme-game-level") + return level == "level_b" || level == "level_a" + } + /*-------------------------------------------- */ + static hasAmertume() { + let level = game.settings.get("fvtt-ecryme", "ecryme-game-level") + return level == "level_a" + } + + /*-------------------------------------------- */ + static buildSkillConfig() { + game.system.ecryme.config.skills = {} + for (let categKey in game.data.template.Actor.templates.core.skills) { + let category = game.data.template.Actor.templates.core.skills[categKey] + for (let skillKey in category.skilllist) { + let skill = duplicate(category.skilllist[skillKey]) + skill.categKey = categKey // Auto reference the category + game.system.ecryme.config.skills[skillKey] = skill + } + } + } + + /*-------------------------------------------- */ + static upperFirst(text) { + if (typeof text !== 'string') return text + return text.charAt(0).toUpperCase() + text.slice(1) + } + + /* -------------------------------------------- */ + static async loadCompendiumData(compendium) { + const pack = game.packs.get(compendium) + return await pack?.getDocuments() ?? [] + } + + /* -------------------------------------------- */ + static async loadCompendium(compendium, filter = item => true) { + let compendiumData = await EcrymeUtility.loadCompendiumData(compendium) + return compendiumData.filter(filter) + } + + /* -------------------------------------------- */ + static getActorFromRollData(rollData) { + let actor = game.actors.get(rollData.actorId) + if (rollData.tokenId) { + let token = canvas.tokens.placeables.find(t => t.id == rollData.tokenId) + if (token) { + actor = token.actor + } + } + return actor + } + /* -------------------------------------------- */ + static getImpactFromEffect(effectValue) { + if (effectValue >= __effect2Impact.length) { + return "major" + } + return __effect2Impact[effectValue] + } + /* -------------------------------------------- */ + static async processConfrontation() { + let confront = { + type: "confront-data", + rollData1: this.confrontData1, + rollData2: this.confrontData2, + } + // Compute margin + confront.marginExecution = this.confrontData1.executionTotal - this.confrontData2.preservationTotal + confront.marginPreservation = this.confrontData1.preservationTotal - this.confrontData2.executionTotal + console.log(confront.marginExecution, confront.marginPreservation) + // Filter margin + let maxMargin // Dummy max + if (confront.marginExecution > 0) { // Successful hit + // Limit with skill+spec + maxMargin = confront.rollData1.skill.value + ((confront.rollData1.spec) ? 2 : 0) + confront.marginExecution = Math.min(confront.marginExecution, maxMargin) + } else { // Failed hit + maxMargin = confront.rollData2.skill.value + ((confront.rollData2.spec) ? 2 : 0) + confront.marginExecution = -Math.min(Math.abs(confront.marginExecution), maxMargin) + } + + if (confront.marginPreservation > 0) { // Successful defense + // Limit with skill+spec + maxMargin = confront.rollData1.skill.value + ((confront.rollData1.spec) ? 2 : 0) + confront.marginPreservation = Math.min(confront.marginPreservation, maxMargin) + } else { // Failed defense + maxMargin = confront.rollData2.skill.value + ((confront.rollData2.spec) ? 2 : 0) + confront.marginPreservation = - Math.min(Math.abs(confront.marginPreservation), maxMargin) + } + + // Compute effects + confront.effectExecution = confront.marginExecution + if (confront.rollData1.weapon && confront.marginExecution > 0) { + confront.effectExecution += confront.rollData1.weapon.system.effect + confront.impactExecution = this.getImpactFromEffect(confront.effectExecution) + } + if (confront.marginExecution < 0) { + confront.bonus2 = -confront.marginExecution + } + confront.effectPreservation = confront.marginPreservation + if (confront.rollData2.weapon && confront.marginPreservation < 0) { + confront.effectPreservation = - (Math.abs(confront.marginPreservation) + confront.rollData2.weapon.system.effect) + confront.impactPreservation = this.getImpactFromEffect(Math.abs(confront.effectPreservation)) + } + if (confront.marginPreservation > 0) { + confront.bonus1 = -confront.marginPreservation + } + + let msg = await this.createChatWithRollMode(this.confrontData1.alias, { + content: await renderTemplate(`systems/fvtt-ecryme/templates/chat/chat-confrontation-result.hbs`, confront) + }) + await msg.setFlag("world", "ecryme-rolldata", confront) + console.log("Confront result", confront) + + this.lastConfront = confront + } + /* -------------------------------------------- */ + static async manageCephalyDifficulty(rollData, difficulty) { + rollData.difficulty = Number(difficulty) + if (rollData.executionTotal > difficulty) { + rollData.marginExecution = rollData.executionTotal - difficulty + rollData.cephalySuccess = "ECRY.rule." + __cephalySuccess[(rollData.marginExecution > 10) ? 10 : rollData.marginExecution] + } else { + rollData.marginExecution = -1 + } + if (rollData.preservationTotal < difficulty) { + rollData.marginPreservation = difficulty - rollData.preservationTotal + rollData.cephalyFailure = "ECRY.rule." + __cephalyFailure[(rollData.marginPreservation > 10) ? 10 : rollData.marginPreservation] + } else { + rollData.marginPreservation = -1 + } + let msg = await this.createChatWithRollMode(rollData.alias, { + content: await renderTemplate(`systems/fvtt-ecryme/templates/chat/chat-cephaly-result.hbs`, rollData) + }) + msg.setFlag("world", "ecryme-rolldata", rollData) + console.log("Cephaly result", rollData) + } + + /* -------------------------------------------- */ + static manageConfrontation(rollData) { + console.log("Confront", rollData) + // Auto - Reset + if (this.confrontData1 && this.confrontData2) { + this.confrontData1 = undefined + this.confrontData2 = undefined + } + // Then attribute + if (!this.confrontData1) { + this.confrontData1 = rollData + } else if (this.confrontData1 && this.confrontData1.rollId != rollData.rollId) { + this.confrontData2 = rollData + this.processConfrontation().catch("Error during confrontation processing") + } else { + ui.notifications.warn(game.i18n.localize("ECRY.warn.confrontalready")) + } + } + + /* -------------------------------------------- */ + static chatMenuManager(html, options) { + let canTranscendRoll = [] + for (let i = 1; i <= 10; i++) { + canTranscendRoll[i] = function (li) { + let message = game.messages.get(li.attr("data-message-id")) + let rollData = message.getFlag("world", "rolldata") + //console.log(">>>>>>>>>>>>>>>>>>>>>>>>>> Menu !!!!", rollData) + if (rollData.skill && i <= rollData.skill.value && !rollData.transcendUsed && rollData.spec) { + return true + } + return false + } + options.push({ + name: game.i18n.localize("ECRY.chat.spectranscend") + i, + icon: '', + condition: canTranscendRoll[i], + callback: li => { + let message = game.messages.get(li.attr("data-message-id")) + let rollData = message.getFlag("world", "rolldata") + EcrymeUtility.transcendFromSpec(rollData, i).catch("Error on Transcend") + } + }) + } + } + + /* -------------------------------------------- */ + static async chatListeners(html) { + + html.on("click", '.button-select-confront', event => { + let messageId = EcrymeUtility.findChatMessageId(event.currentTarget) + let message = game.messages.get(messageId) + let rollData = message.getFlag("world", "ecryme-rolldata") + ui.notifications.info( game.i18n.localize("ECRY.chat.confrontselect")) + EcrymeUtility.manageConfrontation(rollData) + }) + html.on("click", '.button-apply-cephaly-difficulty', event => { + let messageId = EcrymeUtility.findChatMessageId(event.currentTarget) + let message = game.messages.get(messageId) + let rollData = message.getFlag("world", "ecryme-rolldata") + let difficulty = $("#" + rollData.rollId + "-cephaly-difficulty").val() + EcrymeUtility.manageCephalyDifficulty(rollData, difficulty) + }) + html.on("click", '.button-apply-impact', event => { + let messageId = EcrymeUtility.findChatMessageId(event.currentTarget) + let message = game.messages.get(messageId) + let actor = game.actors.get($(event.currentTarget).data("actor-id")) + actor.modifyImpact($(event.currentTarget).data("impact-type"), $(event.currentTarget).data("impact"), 1) + }) + html.on("click", '.button-apply-bonus', event => { + let messageId = EcrymeUtility.findChatMessageId(event.currentTarget) + let message = game.messages.get(messageId) + let actor = game.actors.get($(event.currentTarget).data("actor-id")) + actor.modifyConfrontBonus($(event.currentTarget).data("bonus")) + }) + + } + + /* -------------------------------------------- */ + static async preloadHandlebarsTemplates() { + + const templatePaths = [ + 'systems/fvtt-ecryme/templates/actors/editor-notes-gm.hbs', + 'systems/fvtt-ecryme/templates/items/partial-item-nav.hbs', + 'systems/fvtt-ecryme/templates/items/partial-item-equipment.hbs', + 'systems/fvtt-ecryme/templates/items/partial-item-description.hbs', + 'systems/fvtt-ecryme/templates/dialogs/partial-common-roll-dialog.hbs', + 'systems/fvtt-ecryme/templates/dialogs/partial-confront-dice-area.hbs', + 'systems/fvtt-ecryme/templates/dialogs/partial-confront-bonus-area.hbs', + 'systems/fvtt-ecryme/templates/actors/partial-impacts.hbs', + ] + return loadTemplates(templatePaths); + } + + /* -------------------------------------------- */ + static removeChatMessageId(messageId) { + if (messageId) { + game.messages.get(messageId)?.delete(); + } + } + + static findChatMessageId(current) { + return EcrymeUtility.getChatMessageId(EcrymeUtility.findChatMessage(current)); + } + + static getChatMessageId(node) { + return node?.attributes.getNamedItem('data-message-id')?.value; + } + + static findChatMessage(current) { + return EcrymeUtility.findNodeMatching(current, it => it.classList.contains('chat-message') && it.attributes.getNamedItem('data-message-id')); + } + + static findNodeMatching(current, predicate) { + if (current) { + if (predicate(current)) { + return current; + } + return EcrymeUtility.findNodeMatching(current.parentElement, predicate); + } + return undefined; + } + + + /* -------------------------------------------- */ + static createDirectOptionList(min, max) { + let options = {}; + for (let i = min; i <= max; i++) { + options[`${i}`] = `${i}`; + } + return options; + } + + /* -------------------------------------------- */ + static buildListOptions(min, max) { + let options = "" + for (let i = min; i <= max; i++) { + options += `` + } + return options; + } + + /* -------------------------------------------- */ + static getTarget() { + if (game.user.targets) { + for (let target of game.user.targets) { + return target + } + } + return undefined + } + + /* -------------------------------------------- */ + static updateRollData(rollData) { + + let id = rollData.rollId + let oldRollData = this.rollDataStore[id] || {} + let newRollData = mergeObject(oldRollData, rollData) + this.rollDataStore[id] = newRollData + } + + /* -------------------------------------------- */ + static async onSocketMesssage(msg) { + console.log("SOCKET MESSAGE", msg) + if (msg.name == "msg_gm_chat_message") { + let rollData = msg.data.rollData + if ( game.user.isGM ) { + let chatMsg = await this.createChatMessage(rollData.alias, "blindroll", { + content: await renderTemplate(msg.data.template, rollData), + whisper: game.user.id + }) + chatMsg.setFlag("world", "ecryme-rolldata", rollData) + } + } + } + + /* -------------------------------------------- */ + static async searchItem(dataItem) { + let item + if (dataItem.pack) { + let id = dataItem.id || dataItem._id + let items = await this.loadCompendium(dataItem.pack, item => item.id == id) + item = items[0] || undefined + } else { + item = game.items.get(dataItem.id) + } + return item + } + + /* -------------------------------------------- */ + static chatDataSetup(content, modeOverride, forceWhisper, isRoll = false) { + let chatData = { + user: game.user.id, + rollMode: modeOverride || game.settings.get("core", "rollMode"), + content: content + }; + + if (["gmroll", "blindroll"].includes(chatData.rollMode)) chatData["whisper"] = ChatMessage.getWhisperRecipients("GM").map(u => u.id); + if (chatData.rollMode === "blindroll") chatData["blind"] = true; + else if (chatData.rollMode === "selfroll") chatData["whisper"] = [game.user]; + + if (forceWhisper) { // Final force ! + chatData["speaker"] = ChatMessage.getSpeaker(); + chatData["whisper"] = ChatMessage.getWhisperRecipients(forceWhisper); + } + + return chatData; + } + /* -------------------------------------------- */ + static getImpactMax(impactLevel) { + return __maxImpacts[impactLevel] + } + static getNextImpactLevel(impactLevel) { + return __nextImpacts[impactLevel] + } + /* -------------------------------------------- */ + static async showDiceSoNice(roll, rollMode) { + if (game.modules.get("dice-so-nice")?.active) { + if (game.dice3d) { + let whisper = null; + let blind = false; + rollMode = rollMode ?? game.settings.get("core", "rollMode"); + switch (rollMode) { + case "blindroll": //GM only + whisper = this.getUsers(user => user.isGM); + blind = true; + break + case "gmroll": //GM + rolling player + whisper = this.getUsers(user => user.isGM); + break; + case "roll": //everybody + whisper = this.getUsers(user => user.active); + break; + case "selfroll": + whisper = [game.user.id]; + break; + } + await game.dice3d.showForRoll(roll, game.user, true, whisper, blind); + } + } + } + + /* -------------------------------------------- */ + static computeResults(rollData) { + rollData.isSuccess = false + if (!rollData.difficulty || rollData.difficulty == "-") { + return + } + rollData.margin = rollData.total - rollData.difficulty + if (rollData.total > rollData.difficulty) { + rollData.isSuccess = true + let maxMargin = rollData.skill.value + ((rollData.spec) ? 2 : 0) + rollData.margin = Math.min(rollData.margin, maxMargin) + } + } + + /* -------------------------------------------- */ + static computeRollFormula(rollData, actor, isConfrontation = false) { + // Build the dice formula + let diceFormula = (isConfrontation) ? "4d6" : "2d6" + if (rollData.useIdeal) { + diceFormula = (isConfrontation) ? "5d6kh2" : "3d6kh2" + } + if (rollData.useSpleen) { + diceFormula = (isConfrontation) ? "5d6kl2" : "3d6kl2" + } + if (rollData.skill) { + diceFormula += "+" + rollData.skill.value + } + if (rollData.skillTranscendence) { + diceFormula += "+" + rollData.skillTranscendence + actor.spentSkillTranscendence(rollData.skill, rollData.skillTranscendence) + } + if (rollData.selectedSpecs && rollData.selectedSpecs.length > 0) { + rollData.spec = actor.getSpecialization(rollData.selectedSpecs[0]) + diceFormula += "+" + (String(rollData.spec.system?.bonus) || "2") + } + rollData.bonusMalusTraits = 0 + if (rollData.traitsBonus && rollData.traitsBonus.length > 0) { + rollData.traitsBonusList = [] + for (let id of rollData.traitsBonus) { + let trait = actor.getTrait(id) + console.log(trait, id) + rollData.traitsBonusList.push(trait) + rollData.bonusMalusTraits += trait.system.level + } + } + if (rollData.traitsMalus && rollData.traitsMalus.length > 0) { + rollData.traitsMalusList = [] + for (let id of rollData.traitsMalus) { + let trait = actor.getTrait(id) + rollData.traitsMalusList.push(trait) + rollData.bonusMalusTraits -= trait.system.level + } + } + diceFormula += "+" + rollData.bonusMalusTraits + diceFormula += "+" + rollData.bonusMalusPerso + diceFormula += "+" + rollData.impactMalus + if (rollData.annency) { + diceFormula += "+" + rollData.annencyBonus + } + rollData.diceFormula = diceFormula + return diceFormula + } + + /* -------------------------------------------- */ + static async rollEcryme(rollData) { + + let actor = game.actors.get(rollData.actorId) + // Fix difficulty + if (!rollData.difficulty || rollData.difficulty == "-") { + rollData.difficulty = 0 + } + rollData.difficulty = Number(rollData.difficulty) + + let diceFormula = this.computeRollFormula(rollData, actor) + + // Performs roll + let myRoll = new Roll(diceFormula).roll({ async: false }) + await this.showDiceSoNice(myRoll, game.settings.get("core", "rollMode")) + rollData.roll = duplicate(myRoll) + rollData.total = myRoll.total + rollData.diceSum = myRoll.terms[0].total + + this.computeResults(rollData) + + let msg = await this.createChatWithRollMode(rollData.alias, { + content: await renderTemplate(`systems/fvtt-ecryme/templates/chat/chat-generic-result.hbs`, rollData) + }) + await msg.setFlag("world", "ecryme-rolldata", rollData) + console.log("Rolldata result", rollData) + } + + /* -------------------------------------------- */ + static async transcendFromSpec(rollData, value) { + rollData.total += value + rollData.transcendUsed = true + this.computeResults(rollData) + //console.log("Adding spec", value, rollData.total) + + let actor = game.actors.get(rollData.actorId) + actor.spentSkillTranscendence(rollData.skill, value) + + let msg = await this.createChatWithRollMode(rollData.alias, { + content: await renderTemplate(`systems/fvtt-ecryme/templates/chat/chat-generic-result.hbs`, rollData) + }) + await msg.setFlag("world", "ecryme-rolldata", rollData) + } + + /* -------------------------------------------- */ + static sortArrayObjectsByName(myArray) { + myArray.sort((a, b) => { + let fa = a.name.toLowerCase(); + let fb = b.name.toLowerCase(); + if (fa < fb) { + return -1; + } + if (fa > fb) { + return 1; + } + return 0; + }) + } + + /* -------------------------------------------- */ + static getUsers(filter) { + return game.users.filter(filter).map(user => user.id); + } + /* -------------------------------------------- */ + static getWhisperRecipients(rollMode, name) { + switch (rollMode) { + case "blindroll": return this.getUsers(user => user.isGM); + case "gmroll": return this.getWhisperRecipientsAndGMs(name); + case "useronly": return this.getWhisperRecipientsOnly(name); + case "selfroll": return [game.user.id]; + } + return undefined; + } + /* -------------------------------------------- */ + static getWhisperRecipientsOnly(name) { + let recep1 = ChatMessage.getWhisperRecipients(name) || []; + return recep1 + } + /* -------------------------------------------- */ + static getWhisperRecipientsAndGMs(name) { + let recep1 = ChatMessage.getWhisperRecipients(name) || []; + return recep1.concat(ChatMessage.getWhisperRecipients('GM')); + } + + /* -------------------------------------------- */ + static blindMessageToGM(chatData) { + chatData.whisper = this.getUsers(user => user.isGM); + console.log("blindMessageToGM", chatData); + game.socket.emit("system.fvtt-ecryme", { name: "msg_gm_chat_message", data: chatData }); + } + + + /* -------------------------------------------- */ + static split3Columns(data) { + + let array = [[], [], []]; + if (data == undefined) return array; + + let col = 0; + for (let key in data) { + let keyword = data[key]; + keyword.key = key; // Self-reference + array[col].push(keyword); + col++; + if (col == 3) col = 0; + } + return array; + } + + /* -------------------------------------------- */ + static async createChatMessage(name, rollMode, chatOptions) { + switch (rollMode) { + case "blindroll": // GM only + if (!game.user.isGM) { + chatOptions.whisper = [game.user.id]; + } else { + chatOptions.whisper = this.getUsers(user => user.isGM); + } + break; + default: + chatOptions.whisper = this.getWhisperRecipients(rollMode, name); + break; + } + chatOptions.alias = chatOptions.alias || name; + return await ChatMessage.create(chatOptions); + } + + /* -------------------------------------------- */ + static getBasicRollData() { + let rollData = { + rollId: randomID(16), + type: "roll-data", + bonusMalusPerso: 0, + bonusMalusSituation: 0, + bonusMalusDef: 0, + annencyBonus: 0, + bonusMalusPortee: 0, + skillTranscendence: 0, + rollMode: game.settings.get("core", "rollMode"), + difficulty: "-", + useSpleen: false, + useIdeal: false, + impactMalus: 0, + config: duplicate(game.system.ecryme.config) + } + EcrymeUtility.updateWithTarget(rollData) + return rollData + } + + /* -------------------------------------------- */ + static updateWithTarget(rollData) { + let target = EcrymeUtility.getTarget() + if (target) { + rollData.defenderTokenId = target.id + } + } + + /* -------------------------------------------- */ + static async createChatWithRollMode(name, chatOptions) { + return await this.createChatMessage(name, game.settings.get("core", "rollMode"), chatOptions) + } + + /* -------------------------------------------- */ + static async confirmDelete(actorSheet, li) { + let itemId = li.data("item-id"); + let msgTxt = "

Are you sure to remove this Item ?"; + let buttons = { + delete: { + icon: '', + label: "Yes, remove it", + callback: () => { + actorSheet.actor.deleteEmbeddedDocuments("Item", [itemId]); + li.slideUp(200, () => actorSheet.render(false)); + } + }, + cancel: { + icon: '', + label: "Cancel" + } + } + msgTxt += "

"; + let d = new Dialog({ + title: "Confirm removal", + content: msgTxt, + buttons: buttons, + default: "cancel" + }); + d.render(true); + } + +} \ No newline at end of file diff --git a/modules/dialogs/tedeum-roll-dialog.js b/modules/dialogs/tedeum-roll-dialog.js new file mode 100644 index 0000000..2fa4833 --- /dev/null +++ b/modules/dialogs/tedeum-roll-dialog.js @@ -0,0 +1,86 @@ +import { EcrymeUtility } from "../common/ecryme-utility.js"; + +export class EcrymeRollDialog extends Dialog { + + /* -------------------------------------------- */ + static async create(actor, rollData) { + + let options = { classes: ["ecryme-roll-dialog"], width: 540, height: 'fit-content', 'z-index': 99999 } + let html = await renderTemplate('systems/fvtt-ecryme/templates/dialogs/roll-dialog-generic.hbs', rollData); + return new EcrymeRollDialog(actor, rollData, html, options); + } + + /* -------------------------------------------- */ + constructor(actor, rollData, html, options, close = undefined) { + let conf = { + title: game.i18n.localize("ECRY.ui.rolltitle"), + content: html, + buttons: { + roll: { + icon: '', + label: game.i18n.localize("ECRY.ui.roll"), + callback: () => { this.roll() } + }, + cancel: { + icon: '', + label: game.i18n.localize("ECRY.ui.cancel"), + callback: () => { this.close() } + } + }, + close: close + } + + super(conf, options); + + this.actor = actor; + this.rollData = rollData; + } + + /* -------------------------------------------- */ + roll() { + EcrymeUtility.rollEcryme(this.rollData) + } + + /* -------------------------------------------- */ + async refreshDialog() { + const content = await renderTemplate("systems/fvtt-ecryme/templates/dialogs/roll-dialog-generic.hbs", this.rollData) + this.data.content = content + this.render(true) + } + + /* -------------------------------------------- */ + activateListeners(html) { + super.activateListeners(html); + + var dialog = this; + function onLoad() { + } + $(function () { onLoad(); }); + + html.find('#bonusMalusPerso').change((event) => { + this.rollData.bonusMalusPerso = Number(event.currentTarget.value) + }) + html.find('#roll-difficulty').change((event) => { + this.rollData.difficulty = Number(event.currentTarget.value) || 0 + }) + html.find('#roll-specialization').change((event) => { + this.rollData.selectedSpecs = $('#roll-specialization').val() + }) + html.find('#roll-trait-bonus').change((event) => { + this.rollData.traitsBonus = $('#roll-trait-bonus').val() + }) + html.find('#roll-trait-malus').change((event) => { + this.rollData.traitsMalus = $('#roll-trait-malus').val() + }) + html.find('#roll-select-transcendence').change((event) => { + this.rollData.skillTranscendence = Number($('#roll-select-transcendence').val()) + }) + html.find('#roll-use-spleen').change((event) => { + this.rollData.useSpleen = event.currentTarget.checked + }) + html.find('#roll-use-ideal').change((event) => { + this.rollData.useIdeal = event.currentTarget.checked + }) + + } +} \ No newline at end of file diff --git a/modules/items/tedeum-item-sheet.js b/modules/items/tedeum-item-sheet.js new file mode 100644 index 0000000..8352025 --- /dev/null +++ b/modules/items/tedeum-item-sheet.js @@ -0,0 +1,185 @@ +import { EcrymeUtility } from "../common/tedeum-utility.js"; + +/** + * Extend the basic ItemSheet with some very simple modifications + * @extends {ItemSheet} + */ +export class EcrymeItemSheet extends ItemSheet { + + /** @override */ + static get defaultOptions() { + return mergeObject(super.defaultOptions, { + classes: ["fvtt-ecryme", "sheet", "item"], + template: "systems/fvtt-ecryme/templates/item-sheet.hbs", + dragDrop: [{ dragSelector: null, dropSelector: null }], + width: 620, + height: 580, + tabs: [{ navSelector: ".sheet-tabs", contentSelector: ".sheet-body", initial: "description" }] + }); + } + + /* -------------------------------------------- */ + _getHeaderButtons() { + let buttons = super._getHeaderButtons(); + // Add "Post to chat" button + // We previously restricted this to GM and editable items only. If you ever find this comment because it broke something: eh, sorry! + buttons.unshift( + { + class: "post", + icon: "fas fa-comment", + onclick: ev => { } + }) + return buttons + } + + /* -------------------------------------------- */ + /** @override */ + setPosition(options = {}) { + const position = super.setPosition(options); + const sheetBody = this.element.find(".sheet-body"); + const bodyHeight = position.height - 192; + sheetBody.css("height", bodyHeight); + if (this.item.type.includes('weapon')) { + position.width = 640; + } + return position; + } + + /* -------------------------------------------- */ + async getData() { + + let formData = { + title: this.title, + id: this.id, + type: this.object.type, + img: this.object.img, + name: this.object.name, + editable: this.isEditable, + cssClass: this.isEditable ? "editable" : "locked", + system: duplicate(this.object.system), + config: duplicate(game.system.ecryme.config), + limited: this.object.limited, + options: this.options, + owner: this.document.isOwner, + description: await TextEditor.enrichHTML(this.object.system.description, { async: true }), + notes: await TextEditor.enrichHTML(this.object.system.notes, { async: true }), + isGM: game.user.isGM + } + + if ( this.object.type == "archetype") { + formData.tarots = EcrymeUtility.getTarots() + } + + this.options.editable = !(this.object.origin == "embeddedItem"); + console.log("ITEM DATA", formData, this); + return formData; + } + + + /* -------------------------------------------- */ + _getHeaderButtons() { + let buttons = super._getHeaderButtons(); + buttons.unshift({ + class: "post", + icon: "fas fa-comment", + onclick: ev => this.postItem() + }); + return buttons + } + + /* -------------------------------------------- */ + postItem() { + let chatData = duplicate(this.item) + if (this.actor) { + chatData.actor = { id: this.actor.id }; + } + // Don't post any image for the item (which would leave a large gap) if the default image is used + if (chatData.img.includes("/blank.png")) { + chatData.img = null; + } + // JSON object for easy creation + chatData.jsondata = JSON.stringify( + { + compendium: "postedItem", + payload: chatData, + }); + + renderTemplate('systems/Ecryme/templates/post-item.html', chatData).then(html => { + let chatOptions = EcrymeUtility.chatDataSetup(html); + ChatMessage.create(chatOptions) + }); + } + + /* -------------------------------------------- */ + async viewSubitem(ev) { + let levelIndex = Number($(ev.currentTarget).parents(".item").data("level-index")) + let choiceIndex = Number($(ev.currentTarget).parents(".item").data("choice-index")) + let featureId = $(ev.currentTarget).parents(".item").data("feature-id") + + let itemData = this.object.system.levels[levelIndex].choices[choiceIndex].features[featureId] + + if (itemData.name != 'None') { + let item = await Item.create(itemData, { temporary: true }); + item.system.origin = "embeddedItem"; + new EcrymeItemSheet(item).render(true); + } + } + + /* -------------------------------------------- */ + async deleteSubitem(ev) { + let field = $(ev.currentTarget).data('type'); + let idx = Number($(ev.currentTarget).data('index')); + let oldArray = this.object.system[field]; + let itemData = this.object.system[field][idx]; + if (itemData.name != 'None') { + let newArray = []; + for (var i = 0; i < oldArray.length; i++) { + if (i != idx) { + newArray.push(oldArray[i]); + } + } + this.object.update({ [`system.${field}`]: newArray }); + } + } + + /* -------------------------------------------- */ + /** @override */ + activateListeners(html) { + super.activateListeners(html); + + // Everything below here is only needed if the sheet is editable + if (!this.options.editable) return; + + + // Update Inventory Item + html.find('.item-edit').click(ev => { + const li = $(ev.currentTarget).parents(".item"); + const item = this.object.options.actor.getOwnedItem(li.data("item-id")); + item.sheet.render(true); + }); + + html.find('.delete-subitem').click(ev => { + this.deleteSubitem(ev); + }); + + // Update Inventory Item + html.find('.item-delete').click(ev => { + const li = $(ev.currentTarget).parents(".item"); + let itemId = li.data("item-id"); + let itemType = li.data("item-type"); + }); + + } + + /* -------------------------------------------- */ + get template() { + let type = this.item.type; + return `systems/fvtt-ecryme/templates/items/item-${type}-sheet.hbs` + } + + /* -------------------------------------------- */ + /** @override */ + _updateObject(event, formData) { + return this.object.update(formData) + } +} \ No newline at end of file diff --git a/modules/items/tedeum-item.js b/modules/items/tedeum-item.js new file mode 100644 index 0000000..b7362dd --- /dev/null +++ b/modules/items/tedeum-item.js @@ -0,0 +1,27 @@ +import { EcrymeUtility } from "../common/ecryme-utility.js"; + +export const defaultItemImg = { + weapon: "systems/fvtt-ecryme/images/icons/icon_weapon.webp", + equipment: "systems/fvtt-ecryme/images/icons/icon_equipment.webp", + contact: "systems/fvtt-ecryme/images/icons/icon_contact.webp", + boheme: "systems/fvtt-ecryme/images/icons/icon_boheme.webp", + trait: "systems/fvtt-ecryme/images/icons/icon_trait.webp", + annency: "systems/fvtt-ecryme/images/icons/icon_annency.webp", + skill: "systems/fvtt-ecryme/images/icons/icon_skill.webp", + specialization: "systems/fvtt-ecryme/images/icons/icon_spec.webp" +} + +/** + * Extend the basic ItemSheet with some very simple modifications + * @extends {ItemSheet} + */ +export class EcrymeItem extends Item { + + constructor(data, context) { + if (!data.img) { + data.img = defaultItemImg[data.type]; + } + super(data, context); + } + +} diff --git a/modules/tedeum-main.js b/modules/tedeum-main.js new file mode 100644 index 0000000..defda9b --- /dev/null +++ b/modules/tedeum-main.js @@ -0,0 +1,147 @@ +/** + * Ecryme system + * Author: Uberwald + * Software License: Prop + */ + +/* -------------------------------------------- */ + +/* -------------------------------------------- */ +// Import Modules +import { EcrymeActor } from "./actors/ecryme-actor.js"; +import { EcrymeItemSheet } from "./items/tedeum-item-sheet.js"; +import { EcrymeActorSheet } from "./actors/ecryme-actor-sheet.js"; +import { EcrymeAnnencySheet } from "./actors/ecryme-annency-sheet.js"; +import { EcrymeUtility } from "./common/ecryme-utility.js"; +import { EcrymeCombat } from "./app/ecryme-combat.js"; +import { EcrymeItem } from "./items/ecryme-item.js"; +import { EcrymeHotbar } from "./app/ecryme-hotbar.js" +import { EcrymeCharacterSummary } from "./app/ecryme-summary-app.js" +import { ECRYME_CONFIG } from "./common/ecryme-config.js" + +/* -------------------------------------------- */ +/* Foundry VTT Initialization */ +/* -------------------------------------------- */ + +/************************************************************************************/ +Hooks.once("init", async function () { + + console.log(`Initializing Ecryme RPG`); + + game.system.ecryme = { + config: ECRYME_CONFIG, + EcrymeHotbar + } + + /* -------------------------------------------- */ + // preload handlebars templates + EcrymeUtility.preloadHandlebarsTemplates(); + + /* -------------------------------------------- */ + // Set an initiative formula for the system + CONFIG.Combat.initiative = { + formula: "1d6", + decimals: 1 + }; + + /* -------------------------------------------- */ + game.socket.on("system.fvtt-ecryme", data => { + EcrymeUtility.onSocketMesssage(data) + }); + + /* -------------------------------------------- */ + // Define custom Entity classes + CONFIG.Combat.documentClass = EcrymeCombat + CONFIG.Actor.documentClass = EcrymeActor + CONFIG.Item.documentClass = EcrymeItem + + /* -------------------------------------------- */ + // Register sheet application classes + Actors.unregisterSheet("core", ActorSheet); + Actors.registerSheet("fvtt-ecryme", EcrymeActorSheet, { types: ["pc"], makeDefault: true }); + Actors.registerSheet("fvtt-ecryme", EcrymeActorSheet, { types: ["npc"], makeDefault: true }); + Actors.registerSheet("fvtt-ecryme", EcrymeAnnencySheet, { types: ["annency"], makeDefault: false }); + + Items.unregisterSheet("core", ItemSheet); + Items.registerSheet("fvtt-ecryme", EcrymeItemSheet, { makeDefault: true }); + + EcrymeUtility.init() + + console.log("Babele INIT!") + Babele.get().setSystemTranslationsDir("translated") + +}); + +/* -------------------------------------------- */ +function welcomeMessage() { + if (game.user.isGM) { + ChatMessage.create({ + user: game.user.id, + whisper: [game.user.id], + content: `
+ Bienvenu dans Ecryme !` }); + } +} + +/* -------------------------------------------- */ +// Register world usage statistics +function registerUsageCount(registerKey) { + if (game.user.isGM) { + game.settings.register(registerKey, "world-key", { + name: "Unique world key", + scope: "world", + config: false, + default: "", + type: String + }); + + let worldKey = game.settings.get(registerKey, "world-key") + if (worldKey == undefined || worldKey == "") { + worldKey = randomID(32) + game.settings.set(registerKey, "world-key", worldKey) + } + // Simple API counter + let regURL = `https://www.uberwald.me/fvtt_appcount/count.php?name="${registerKey}"&worldKey="${worldKey}"&version="${game.release.generation}.${game.release.build}"&system="${game.system.id}"&systemversion="${game.system.version}"` + //$.ajaxSetup({ + //headers: { 'Access-Control-Allow-Origin': '*' } + //}) + $.ajax(regURL) + } +} + +/* -------------------------------------------- */ +/* Foundry VTT Initialization */ +/* -------------------------------------------- */ +Hooks.once("ready", function () { + + // User warning + if (!game.user.isGM && game.user.character == undefined) { + ui.notifications.info("Attention ! Aucun personnage relié au joueur !"); + ChatMessage.create({ + content: "WARNING Le joueur " + game.user.name + " n'est pas relié à un personnage !", + user: game.user._id + }); + } + + registerUsageCount(game.system.id) + welcomeMessage(); + EcrymeUtility.ready() + EcrymeCharacterSummary.ready() + +}) + + +/* -------------------------------------------- */ +/* Foundry VTT Initialization */ +/* -------------------------------------------- */ +Hooks.on("chatMessage", (html, content, msg) => { + if (content[0] == '/') { + let regExp = /(\S+)/g; + let commands = content.match(regExp); + if (game.system.ecryme.commands.processChatCommand(commands, content, msg)) { + return false; + } + } + return true; +}); + diff --git a/postcss/tedeum.css b/postcss/tedeum.css new file mode 100644 index 0000000..d3571b5 --- /dev/null +++ b/postcss/tedeum.css @@ -0,0 +1,1409 @@ + /* ==================== (A) Fonts ==================== */ + @font-face { + font-family: "MailartRubberstamp"; + src: url('../fonts/MailartRubberstamp-Regular.woff') format("woff"); + } + + :root { + /* =================== 1. ACTOR SHEET FONT STYLES =========== */ + --window-header-title-font-size: 1.3rem; + --window-header-title-font-weight: normal; + --window-header-title-color: #f5f5f5; + + --major-button-font-size: 1.05rem; + --major-button-font-weight: normal; + --major-button-color: #dadada; + + --tab-header-font-size: 1.0rem; + --tab-header-font-weight: 700; + --tab-header-color: #403f3e; + --tab-header-color-active: #4a0404; + + --actor-input-font-size: 0.8rem; + --actor-input-font-weight: 500; + --actor-input-color: black; + + --actor-label-font-size: 0.8rem; + --actor-label-font-weight: 700; + --actor-label-color: #464331c4; + + /* =================== 2. DEBUGGING HIGHLIGHTERS ============ */ + --debug-background-color-red: #ff000054; + --debug-background-color-blue: #1d00ff54; + --debug-background-color-green: #54ff0054; + + --debug-box-shadow-red: inset 0 0 2px red; + --debug-box-shadow-blue: inset 0 0 2px blue; + --debug-box-shadow-green: inset 0 0 2px green; + } + +/*@import url("https://fonts.googleapis.com/css2?family=Martel:wght@400;800&family=Roboto:wght@300;400;500&display=swap");*/ +/* Global styles & Font */ +.window-app { + text-align: justify; + font-size: 16px; + letter-spacing: 1px; +} + +/* Fonts */ +.sheet header.sheet-header h1 input, .window-app .window-header, #actors .directory-list, #navigation #scene-list .scene.nav-item { + font-size: 1.0rem; +} /* For title, sidebar character and scene */ +.sheet nav.sheet-tabs { + font-size: 0.8rem; +} /* For nav and title */ +.window-app input, .fvtt-ecryme .item-form, .sheet header.sheet-header .flex-group-center.flex-compteurs, .sheet header.sheet-header .flex-group-center.flex-fatigue, select, button, .item-checkbox, #sidebar, #players, #navigation #nav-toggle { + font-size: 0.8rem; +} + +.window-header{ + background: rgba(0,0,0,0.75); +} + +.window-app.sheet .window-content { + margin: 0; + padding: 0; +} +.strong-text{ + font-weight: bold; +} + +.tabs .item.active, .blessures-list li ul li:first-child:hover, a:hover { + text-shadow: 1px 0px 0px #ff6600; +} + +.rollable:hover, .rollable:focus { + color: #000; + text-shadow: 0 0 10px red; + cursor: pointer; +} + +input:hover { + border-width: 4px; + border-color: rgba(37, 124, 37, 0.7); +} + +input:disabled { + color:#1c2058; +} +select:disabled { + color:#1c2058; +} +table {border: 1px solid #7a7971;} + +.grid, .grid-2col { + display: grid; + grid-column: span 2 / span 2; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: 10px; + margin: 10px 0; + padding: 0; +} + +.grid-3col { + grid-column: span 3 / span 3; + grid-template-columns: repeat(3, minmax(0, 1fr)); +} + +.grid-4col { + grid-column: span 4 / span 4; + grid-template-columns: repeat(4, minmax(0, 1fr)); +} + +.grid-5col { + grid-column: span 5 / span 5; + grid-template-columns: repeat(5, minmax(0, 1fr)); +} + +.grid-6col { + grid-column: span 5 / span 5; + grid-template-columns: repeat(5, minmax(0, 1fr)); +} + +.grid-7col { + grid-column: span 7 / span 7; + grid-template-columns: repeat(7, minmax(0, 1fr)); +} + +.grid-8col { + grid-column: span 8 / span 8; + grid-template-columns: repeat(8, minmax(0, 1fr)); +} + +.grid-9col { + grid-column: span 9 / span 9; + grid-template-columns: repeat(9, minmax(0, 1fr)); +} + +.grid-10col { + grid-column: span 10 / span 10; + grid-template-columns: repeat(10, minmax(0, 1fr)); +} + +.grid-11col { + grid-column: span 11 / span 11; + grid-template-columns: repeat(11, minmax(0, 1fr)); +} + +.grid-12col { + grid-column: span 12 / span 12; + grid-template-columns: repeat(12, minmax(0, 1fr)); +} + +.flex-group-center, +.flex-group-left, +.flex-group-right { + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + text-align: center; + padding: 5px; +} + +.flex-group-left { + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; + text-align: left; +} + +.flex-group-right { + -webkit-box-pack: end; + -ms-flex-pack: end; + justify-content: flex-end; + text-align: right; +} + +.flex-center { + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + -webkit-box-pack: center; + -ms-flex-pack: center; + justify-content: center; + text-align: center; +} + +.table-create-actor { + font-size: 0.8rem; +} + +.flex-between { + -webkit-box-pack: justify; + -ms-flex-pack: justify; + justify-content: space-between; +} + +.flex-shrink { + flex: 'flex-shrink' ; +} + +/* Styles limited to sheets */ +.fvtt-ecryme .sheet-header { + -webkit-box-flex: 0; + -ms-flex: 0 0 210px; + flex: 0 0 210px; + overflow: hidden; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + -webkit-box-orient: horizontal; + -webkit-box-direction: normal; + -ms-flex-direction: row; + flex-direction: row; + -ms-flex-wrap: wrap; + flex-wrap: wrap; + -webkit-box-pack: start; + -ms-flex-pack: start; + justify-content: flex-start; + margin-bottom: 10px; +} + +.fvtt-ecryme .sheet-header .profile-img { + -webkit-box-flex: 0; + -ms-flex: 0 0 128px; + flex: 0 0 128px; + width: 128px; + height: auto; + max-height:128px; + margin-top: 0px; + margin-right: 10px; + object-fit: cover; + object-position: 50% 0; + border-width: 0px; +} +.profile-img-container { + margin-right: 0.2rem; + max-width: 140px; + width: 140px; +} + +.button-img { + vertical-align: baseline; + width: 8%; + height: 8%; + max-height: 48px; + border-width: 0px; + border: 1px solid rgba(0, 0, 0, 0); +} + +.button-img:hover { + color: rgba(255, 255, 128, 0.7); + border: 1px solid rgba(255, 128, 0, 0.8); + cursor: pointer; +} + +.button-effect-img { + vertical-align: baseline; + width: 16px; + max-height: 16px; + height: 16; + border-width: 0; +} + +.small-button-container { + height: 16px; + width: 16px; + border: 0; + vertical-align: bottom; +} + +.fvtt-ecryme .sheet-header .header-fields { + -webkit-box-flex: 1; + -ms-flex: 1; + flex: 1; +} + +.fvtt-ecryme .sheet-header h1.charname { + height: 50px; + padding: 0px; + margin: 5px 0; + border-bottom: 0; +} + +.fvtt-ecryme .sheet-header h1.charname input { + font-family: MailartRubberstamp; + font-size: 3rem; + width: 100%; + height: 100%; + margin: 0; +} + +.fvtt-ecryme .sheet-tabs { + -webkit-box-flex: 0; + -ms-flex: 0; + flex: 0; + font-family: MailartRubberstamp; + font-size: 2.2rem; +} + +.fvtt-ecryme .sheet-body, +.fvtt-ecryme .sheet-body .tab, +.fvtt-ecryme .sheet-body .tab .editor { + height: 100%; + font-size: 0.8rem; +} + +.editor { + border: 2; + height: 100%; + padding: 0 3px; +} + +.medium-editor { + border: 2; + height: 240px; + padding: 0 3px; +} + +.small-editor { + border: 2; + height: 120px; + padding: 0 3px; +} + +.fvtt-ecryme .tox .tox-editor-container { + background: #fff; +} + +.fvtt-ecryme .tox .tox-edit-area { + padding: 0 8px; +} + +.fvtt-ecryme .resource-label { + font-weight: bold; + text-transform: uppercase; +} + +.fvtt-ecryme .tabs { + height: 40px; + border-top: 1px solid #AAA; + border-bottom: 1px solid #AAA; + color: #000000; +} + +.fvtt-ecryme .tabs .item { + line-height: 40px; + font-weight: bold; +} + +.fvtt-ecryme .tabs .item.active { + text-decoration: underline; + text-shadow: none; +} + +.fvtt-ecryme .items-list { + list-style: none; + margin: 1px 0; + padding: 0; + overflow-y: auto; +} + +.fvtt-ecryme .items-list .item-header { + font-weight: bold; +} + +.fvtt-ecryme .items-list .item { + height: 30px; + line-height: 24px; + padding: 1px 0; + border-bottom: 1px solid #BBB; +} + +.fvtt-ecryme .items-list .item .item-image { + -webkit-box-flex: 0; + -ms-flex: 0 0 24px; + flex: 0 0 24px; + margin-right: 5px; +} + +.fvtt-ecryme .items-list .item img { + display: block; +} + +.fvtt-ecryme .items-list .item-name { + margin: 0; +} + +.fvtt-ecryme .items-list .item-controls { + -webkit-box-flex: 0; + -ms-flex: 0 0 86px; + flex: 0 0 86px; + text-align: right; +} + +li.folder > .folder-header h3 { + color: rgba(19, 18, 18, 0.95); +} + +/* ======================================== */ +/* Sheet */ +.window-app.sheet .window-content .sheet-header{ + color: rgba(19, 18, 18, 0.95); + background: url("../images/ui/fond_carnet_01.webp"); + /*background: #494e6b;*/ +} + +input[type="text"], select[type="text"] { + background:white; + color: #494e6b; +} + +select { + background:white; + color: #494e6b; +} +/* background: #011d33 url("../images/ui/fond1.webp") repeat left top;*/ +/*color: rgba(168, 139, 139, 0.5);*/ +.window-app.sheet .window-content .sheet-header select[type="text"], .window-app.sheet .window-content .sheet-header input[type="text"], .window-app.sheet .window-content .sheet-header input[type="number"], .window-app.sheet .window-content .sheet-body input[type="text"], .window-app.sheet .window-content .sheet-body input[type="number"], .window-app.sheet .window-content .sheet-body select[type="text"] { + color: rgba(19, 18, 18, 0.95); + /*color: #494e6b;*/ +} + +.window-app.sheet .window-content .sheet-header input[type="password"], .window-app.sheet .window-content .sheet-header input[type="date"], .window-app.sheet .window-content .sheet-header input[type="time"] { + color: rgba(19, 18, 18, 0.95); + background: url("../images/ui/fond_carnet_01.webp"); + border: 1 none; + margin-bottom: 0.25rem; + margin-left: 2px; +} + +.window-app.sheet .window-content .sheet-body input[type="password"], .window-app.sheet .window-content .sheet-body input[type="date"], .window-app.sheet .window-content .sheet-body input[type="time"] { + color: rgba(19, 18, 18, 0.95); + background: url("../images/ui/fond_carnet_01.webp"); + border: 1 none; + margin-bottom: 0.25rem; + margin-left: 2px; +} + +.window-app.sheet .window-content .sheet-body select, .window-app.sheet .window-content .sheet-header select { + color: rgba(19, 18, 18, 0.95); + background: #fff; + border: 1 none; + margin-bottom: 0.25rem; + margin-left: 2px; +} + +.window-app .window-content, .window-app.sheet .window-content .sheet-body{ + font-size: 0.8rem; + /*background: url("../images/ui/pc_sheet_bg.webp") repeat left top;*/ + background: url("../images/ui/fond_carnet_01.webp"); + color: rgba(19, 18, 18, 0.95); +} + +/* background: rgba(245,245,240,0.6) url("../images/ui/sheet_background.webp") left top;*/ + +section.sheet-body{padding: 0.25rem 0.5rem;} + +.sheet header.sheet-header .profile-img { + object-fit: cover; + object-position: 50% 0; + margin: 0.5rem 0 0.5rem 0.5rem; + padding: 0; +} + +.sheet nav.sheet-tabs { + font-size: 1.2rem; + font-weight: bold; + height: 3rem; + flex: 0 0 3rem; + margin: 0; + padding: 0 0 0 0.25rem; + text-align: center; + /*text-transform: uppercase;*/ + line-height: 1.5rem; + border-top: 0 none; + border-bottom: 0 none; + background-color:#252525; + color:beige; +} + +/* background: rgb(245,245,240) url("../images/ui/fond4.webp") repeat left top;*/ + +nav.sheet-tabs .item { + position: relative; + padding: 0 0.25rem; +} + +nav.sheet-tabs .item:after { + content: ""; + position: absolute; + top: 0; + right: 0; + height: 2rem; + width: 1px; + border-right: 1px dashed rgba(52, 52, 52, 0.25); +} + +.sheet .tab[data-tab] { + padding: 0; +} + +section.sheet-body:after { + content: ""; + display: block; + clear: both; +} + +.sheet header.sheet-header .flex-compteurs {text-align: right;} +.sheet header.sheet-header .resource-content {width: 2rem;} + +.select-diff { + display: inline-block; + text-align: left; + width: 50px; +} + +.window-app.sheet .window-content .tooltip:hover .tooltiptext { + top: 2rem; + left: 2rem; + margin: 0; + padding: 0.25rem; +} + +.window-app.sheet .window-content .carac-value, .window-app.sheet .window-content .competence-xp { + margin: 0.05rem; + flex-basis: 3rem; + text-align: center; +} + +/* ======================================== */ +/* Global UI elements */ + +/* ======================================== */ + +h1, h2, h3, h4 { + font-weight: bold; +} + +ul, ol { + margin: 0; + padding: 0; +} +ul, li { + list-style-type: none; +} + +.sheet li { + margin: 0.010rem; + padding: 0.25rem; +} +.header-fields li { + margin: 0; + padding: 0; +} + +.alterne-list > .list-item:hover { + background: rgba(100, 100, 50, 0.25); +} +.alterne-list > .list-item:nth-child(even) { + background: rgba(80, 60, 0, 0.10); +} +.alterne-list > .list-item:nth-child(odd) { + background: rgb(160, 130, 100, 0.05); +} + +.specialisation-label { + font-size: 0.8rem; +} + +.carac-label, +.attr-label { + font-weight: bold; +} + +.list-item { + /*margin: 0.125rem;*/ + /*box-shadow: inset 0px 0px 1px #00000096; + border-radius: 0.25rem; + padding: 0.125rem;*/ + flex: 1 1 5rem; + display: flex !important; + color: rgba(19, 18, 18, 0.95); +} +.list-item-shadow { + background:rgba(87, 60, 32, 0.35); + flex-grow: 0; + flex-wrap: nowrap; + justify-content: flex-start; +} +.list-item-shadow2 { + background:rgba(87, 60, 32, 0.25); + flex-grow: 0; + flex-wrap: nowrap; + justify-content: flex-start; +} +.item-display-show { + display: block; +} +.item-display-hide { + display: none; +} +.item-quantite { + margin-left: 0.5rem; +} +.list-item-margin1 { + margin-left: 1rem; +} +.list-item-margin2 { + margin-left: 2rem; +} +.list-item-margin3 { + margin-left: 3rem; +} +.list-item-margin4 { + margin-left: 4rem; +} + +.sheet-competence-img { + width: 24px; + max-width: 24px; + height: 24px; + max-height: 24px; + flex-grow: 0; + margin-right: 0.25rem; +} +.competence-column { + flex-direction: column; + align-content: flex-start; + justify-content: flex-start; + flex-grow: 0; + flex-basis: 1; +} +.competence-header { + align-content: flex-start; + justify-content: flex-start; + font-weight: bold; + flex-grow: 0; +} + +.description-label { + flex-grow: 2; + margin-left: 4px; +} +.status-header-label { + margin-left: 2px; +} +.roll-dialog-label { + margin: 4px 0; + min-width: 96px; +} +.short-label { + flex-grow: 1; +} +.keyword-label { + font-size: 0.85rem; +} + +.item-sheet-label { + flex-grow: 1; +} + +.item-text-long-line { + flex-grow: 3; +} + +.score-label { + flex-grow: 2; + align-content: center; +} + +.attribut-value, +.carac-value { + flex-grow: 0; + flex-basis: 64px; + margin-right: 4px; + margin-left: 4px; +} +.sante-value, +.competence-value { + flex-grow: 0; + flex-basis: 2rem; + margin-right: 0.25rem; + margin-left: 0.25rem; +} +.description-value { + flex-grow: 0; + flex-basis: 4rem; + margin-right: 0.25rem; + margin-left: 0.25rem; +} +.small-label { + margin-top: 5px; +} +.padd-right { + margin-right: 8px; +} +.padd-left { + margin-left: 8px; +} +.stack-left { + align-items:center; + flex-shrink: 1; + flex-grow: 0; +} +.packed-left { + white-space: nowrap; + flex-grow: 0; +} + +.input-numeric-short { + width: 40px; + max-width: 40px; + flex-grow: 0; + flex-shrink: 0; + flex-basis: 40px; + margin-right: 0.25rem; + margin-left: 0.25rem; +} + +.abilities-table { + align-content: flex-start; +} + +/* ======================================== */ +.tokenhudext { + display: flex; + flex: 0 !important; + font-weight: 600; +} +.tokenhudext.left { + justify-content: flex-start; + flex-direction: column; + position: absolute; + top: 2.75rem; + right: 4rem; +} +.tokenhudext.right { + justify-content: flex-start; + flex-direction: column; + position: absolute; + top: 2.75rem; + left: 4rem; +} +.control-icon.tokenhudicon { + width: fit-content; + height: fit-content; + min-width: 6rem; + flex-basis: auto; + padding: 0; + line-height: 1rem; + margin: 0.25rem; +} +.control-icon.tokenhudicon.right { + margin-left: 8px; +} +#token-hud .status-effects.active{ + z-index: 2; +} +.token-sheet .window-content .flexcol .sheet-tabs { + font-size: 0.8rem; +} + +/* ======================================== */ +.item-checkbox { + height: 25px; + border: 1px solid #736953a6; + border-left: none; + font-weight: 500; + font-size: 1rem; + color: black; + padding-top: 5px; + margin-right: 0px; + width: 45px; + position: relative; + left: 0px; + text-align: center; +} + +.skill-label { + font-size: 0.7rem; +} +.skill-good-checkbox { + max-height: 10px; + max-width: 10px; +} + +.flex-actions-bar { + flex-grow: 2; +} + +/* ======================================== */ +/* Sidebar CSS */ +#sidebar { + font-size: 1rem; + /*background-position: 100%;*/ + background-color:#f5f5f5; + background-position: 0px 35px; + background-repeat: no-repeat; + background-image: url("../images/ui/fond_carnet_01.webp"); + color: rgba(19, 18, 18, 0.95); +} + +/* background: rgb(105,85,65) url("../images/ui/texture_feuille_perso_onglets.webp") no-repeat right bottom;*/ + +#sidebar.collapsed { + height: 470px !important; +} + +#sidebar-tabs > .collapsed, #chat-controls .chat-control-icon { + color: rgba(19, 18, 18, 0.95); + text-shadow: 1px 1px 0 rgba(0,0,0,0.75); +} + +.sidebar-tab .directory-list .entity { + border-top: 1px dashed rgba(0,0,0,0.25); + border-bottom: 0 none; + padding: 0.25rem 0; +} + +.sidebar-tab .directory-list .entity:hover { + background: rgba(0,0,0,0.05); + cursor: pointer; +} +.chat-message-header { + background: rgba(220,220,210,0.5); + font-size: 1.1rem; + height: 48px; + text-align: center; + vertical-align: middle; + display: flex; + align-items: center; +} + +.chat-message .message-header .flavor-text, .chat-message .message-header .whisper-to { + font-size: 0.9rem; +} +.chat-result-text, +.chat-actor-name { + font-weight: bold; + font-family: MailartRubberstamp; + font-size: 1.2rem; + padding: 4px; +} +.chat-result-success { + color:darkgreen; +} +.chat-result-failure { + color:darkred; +} +.chat-img { + width: 64px; + height: 64px; +} + +.roll-dialog-header { + height: 52px; +} + +.actor-icon { + float: left; + width: 48px; + height: 48px; + padding: 2px 6px 2px 2px; +} + +.padding-dice { + padding-top: .2rem; + padding-bottom: .2rem; +} + +.dice-image { + box-sizing: border-box; + border: none; + border-radius: 0; + max-width: 100%; +} + +.dice-image-reroll { + background-color:rgba(115, 224, 115, 0.25); + border-color: #011d33; + box-sizing: border-box; + border: 1px; + border-radius: 0%; + max-width: 100%; +} + +.chat-dice { + width: 15%; + height: 15%; + font-size: 15px; + padding: 10px; + padding-bottom: 20px; + padding-top: .2rem; + padding-bottom: .2rem; +} + +.div-center { + align-self: center; +} + +.chat-message { + background: rgba(220,220,210,0.5); + font-size: 0.9rem; +} + +.chat-message.whisper { + background: rgba(220,220,210,0.75); + border: 2px solid #545469; +} + +.chat-message .chat-icon { + border: 0; + padding: 2px 6px 2px 2px; + float: left; + width: 64px; + height: 64px; +} + +.ability-icon { + border: 0; + padding: 2px 2px 2px 2px; + max-width:32px; + max-height:32px; + width: auto; + height: auto; +} +.small-ability-icon { + border: 0; + padding: 2px 2px 2px 2px; + max-width:16px; + max-height:16px; + width: auto; + height: auto; +} +.combat-icon { + border: 0; + padding: 2px 2px 2px 2px; + max-width:24px; + max-height:24px; + width: auto; + height: auto; +} + +#sidebar-tabs { + flex: 0 0 32px; + box-sizing: border-box; + margin: 0 0 5px; + border-bottom: 1px solid rgba(0,0,0,0); + box-shadow: inset 0 0 2rem rgba(0,0,0,0.5); +} + +#sidebar-tabs > .item.active { + border: 1px solid rgba(114,98,72,1); + background: rgba(30, 25, 20, 0.75); + box-shadow: 0 0 6px inset rgba(114,98,72,1); +} + +#sidebar #sidebar-tabs i{ + display: inline-block; + background-position:center; + background-size:cover; + text-shadow: 1px 1px 0 rgba(0,0,0,0.75); + +} + +/*--------------------------------------------------------------------------*/ +/* Control, Tool, hotbar & navigation */ + +#controls .scene-control, #controls .control-tool { + box-shadow: 0 0 3px #000; + margin: 0 0 8px; + border-radius: 0; + background: rgba(30, 25, 20, 1); + background-origin: padding-box; + border-image: url(img/ui/footer-button.png) 10 repeat; + border-image-width: 4px; + border-image-outset: 0px; +} + +#controls .scene-control.active, #controls .control-tool.active, #controls .scene-control:hover, #controls .control-tool:hover { + background: rgba(72, 46, 28, 1); + background-origin: padding-box; + border-image: url(img/ui/footer-button.png) 10 repeat; + border-image-width: 4px; + border-image-outset: 0px; + box-shadow: 0 0 3px #ff6400; +} + +#hotbar #action-bar #macro-list { + border: 1px solid rgba(72, 46, 28, 1); + box-shadow: 2px 2px 5px #000000; +} + +#hotbar #action-bar .macro { + border-image: url(img/ui/bg_control.jpg) 21 repeat; + border-image-slice: 6 6 6 6 fill; + border-image-width: 6px 6px 6px 6px; + border-image-outset: 0px 0px 0px 0px; + border-radius: 0px; +} + +#hotbar .bar-controls { + background: rgba(30, 25, 20, 1); + border: 1px solid rgba(72, 46, 28, 1); +} + +#players { + border-image: url(img/ui/footer-button.png) 10 repeat; + border-image-width: 4px; + border-image-outset: 0px; + background: rgba(30, 25, 20, 1); +} + +#navigation #scene-list .scene.nav-item.active { + background: rgba(72, 46, 28, 1); +} + +#navigation #scene-list .scene.nav-item { + background: rgba(30, 25, 20, 1); + background-origin: padding-box; + border-image: url(img/ui/footer-button.png) 10 repeat; + border-image-width: 4px; + border-image-outset: 0px; +} + +#navigation #scene-list .scene.view, #navigation #scene-list .scene.context { + background: rgba(72, 46, 28, 1); + background-origin: padding-box; + border-image: url(img/ui/footer-button.png) 10 repeat; + border-image-width: 4px; + border-image-outset: 0px; + box-shadow: 0 0 3px #ff6400; +} + +#navigation #nav-toggle { + background: rgba(30, 25, 20, 1); + background-origin: padding-box; + border-image: url(img/ui/footer-button.png) 10 repeat; + border-image-width: 4px; + border-image-outset: 0px; +} + +/* Tooltip container */ +.tooltip { + position: relative; + display: inline-block; + /*border-bottom: 1px dotted black; /* If you want dots under the hoverable text */ +} + +/* Tooltip text */ +.tooltip .tooltiptext { + text-align: left; + background: rgba(231, 229, 226, 0.9); + width: 150px; + padding: 3px 0; + font-size: 0.9rem; + + /* Position the tooltip text */ + top: 1px; + position: absolute; + z-index: 1; + + /* Fade in tooltip */ + visibility: hidden; + opacity: 0; + transition: opacity 0.3s; +} + + +.tooltip-nobottom { + border-bottom: unset; /* If you want dots under the hoverable text */ +} + +/* Show the tooltip text when you mouse over the tooltip container */ +.tooltip:hover .tooltiptext { + visibility: visible; + opacity: 1; +} + +.chat-card-button { + box-shadow: inset 0px 1px 0px 0px #a6827e; + background: linear-gradient(to bottom, #21374afc 5%, #152833ab 100%); + background-color: #7d5d3b00; + border-radius: 3px; + border: 2px ridge #846109; + display: inline-block; + cursor: pointer; + color: #ffffff; + font-size: 0.8rem; + padding: 4px 12px 0px 12px; + text-decoration: none; + text-shadow: 0px 1px 0px #4d3534; + position: relative; + margin:2px; +} + +.chat-card-button:hover { + background: linear-gradient(to bottom, #800000 5%, #3e0101 100%); + background-color: red; +} +.chat-card-button:active { + position:relative; + top:1px; +} + +.plus-minus-button { + box-shadow: inset 0px 1px 0px 0px #a6827e; + background: linear-gradient(to bottom, #21374afc 5%, #152833ab 100%); + background-color: #7d5d3b00; + border-radius: 2px; + border: 1px ridge #846109; + display: inline-block; + cursor: pointer; + color: #ffffff; + margin: 2px 2px 2px 2px; + padding: 2px 2px 2px 2px; + text-decoration: none; + text-shadow: 0px 1px 0px #4d3534; + position: relative; + margin:0px; +} + +.plus-minus-button:hover, +.chat-card-button:hover { + background: linear-gradient(to bottom, #800000 5%, #3e0101 100%); + background-color: red; +} + +.plus-minus-button:active, +.chat-card-button:active { + position:relative; + top:1px; +} + +.plus-minus { + font-size: 0.9rem; + font-weight: bold; +} + +.ul-level1 { + padding-left: 2rem; +} + + +/*************************************************************/ +#pause +{ + font-size: 2rem; +} +#pause > h3 +{ + color: #CCC +} +#pause > img { + content: url(../images/ui/ecryme_logo_small_01.webp); + height: 200px; + width: 200px; + top: -200px; + left: calc(50% - 132px); +} + +#logo { + content : url(../images/ui/ecryme_logo_small_01.webp); + width: 100px; + height: 60px; +} + +.dice-cell { + padding-left: 12px; + padding-right: 12px; + width: 60px; + text-align: center; +} + +.dice-formula, +.dice-total { + height: 54px; + position:relative; +} + +.status-small-label { + font-size: 0.65rem; +} +.no-grow { + flex-grow: 1; + max-width: 32px; +} +.status-col-name { + max-width: 72px; +} +.img-no-border { + max-width: 48px; + max-height: 48px; + border: 0px; +} +.items-title-bg { + margin-top: 6px; + color: rgba(19, 18, 18, 0.95); + +} +.impact-box { + border-width: 2px; + border-color: #000000; + border-radius: 6px; + border: 2px ridge #443307; + margin: 4px; + padding: 4px; +} +.impact-title { + font-size: bold; + display: flex; + align-items: center; + justify-content: center; + margin-left: auto; + margin-right: auto; + text-align: center; +} + +.items-title-text { + text-align: center; + font-family: MailartRubberstamp; + margin-left: 4px; +} +.lock-icon { + width:16px; + height: 16px; +} +.item-sheet-img { + width: 64px; + height: auto; + border: 0; +} +.item-name-img { + flex-grow:1; + max-width: 2rem; + min-width: 2rem; +} +.item-name-label-header { + flex-grow:2; + max-width: 12rem; + min-width: 12rem; +} +.item-name-label-header-long { + flex-grow:2; + max-width: 14rem; + min-width: 14rem; +} +.item-name-label-header-long2 { + flex-grow:2; + max-width: 24rem; + min-width: 24rem; +} +.item-name-label { + flex-grow:2; + max-width: 10rem; + min-width: 10rem; +} +.item-name-label-long { + margin-top: 4px; + flex-grow:2; + max-width: 12rem; + min-width: 12rem; +} +.item-name-label-short { + flex-grow:1; + max-width: 4rem; + min-width: 4rem; +} +.item-name-label-medium { + margin-top: 4px; + flex-grow:2; + max-width: 6rem; + min-width: 6rem; +} +.item-name-label-long2 { + margin-top: 4px; + flex-grow:2; + max-width: 22rem; + min-width: 22rem; +} +.item-name-label-level2 { + flex-grow:2; + max-width: 9rem; + min-width: 9rem; +} +.item-field-label-short { + flex-grow:1; + max-width: 4rem; + min-width: 4rem; +} +.item-field-label-medium { + flex-grow:1; + max-width: 6rem; + min-width: 6rem; +} +.item-field-skill { + flex-grow:1; + max-width: 6.8rem; + min-width: 6.8rem; +} +.item-field-label-long { + flex-grow:1; + max-width: 10rem; + min-width: 10rem; +} +.item-control-end { + align-self: flex-end; +} +.alternate-list { + margin-top: 4px; + flex-wrap: nowrap; +} +.item-filler { + flex-grow: 6; + flex-shrink: 7; +} +.item-controls-fixed { + min-width:2rem; + max-width: 2rem; +} +.item-controls-fixed-full { + min-width:3rem; + max-width: 3rem; +} +.attribute-label { + font-weight: bold; +} +.flexrow-no-expand { + flex-grow: 0; +} +.item-input-small { + max-width: 16px; + max-height: 12px; +} +.character-summary-rollable { + text-decoration: underline; +} + +.ecryme-roll-dialog .window-header { + border-radius: 10px 10px 0% 0%; +} +.ecryme-roll-dialog .window-content { + border-radius: 0% 0% 10px 10px; +} + +.skill-roll-dialog div { + margin-top: 4px; + margin-bottom: 4px; +} + +.confront-dice { + border-width: 0px; +} + +.bonus-spec { + max-width: 48px; +} +.confront-bonus-container { + position: relative; + flex-grow: 1; + text-align: center; + color: black; +} +.pool-list { + align-items: center; + justify-content: center; +} +.confront-bonus-centered { + position: absolute; + top: 50%; + left: 50%; + font-size: 1.6rem; + color: darkgreen; + font-family: MailartRubberstamp; + transform: translate(-50%, -55%); +} + +.dice-spec { + max-width: 64px; +} +.confront-dice-container { + position: relative; + flex-grow: 1; + text-align: center; + color: black; +} +.confront-dice-centered { + position: absolute; + top: 50%; + left: 50%; + font-size: 2rem; + color: darkgreen; + font-family: MailartRubberstamp; + transform: translate(-50%, -55%); +} +.confront-area { + margin: 2px; + padding: 4px; + min-height: 64px; + border-width: 2px; + border-color: #000000; + border-radius: 6px; + border: 2px ridge #443307; + align-items: center; + justify-content: center; +} diff --git a/styles/tedeum.css b/styles/tedeum.css new file mode 100644 index 0000000..b63cfdc --- /dev/null +++ b/styles/tedeum.css @@ -0,0 +1,1389 @@ + /* ==================== (A) Fonts ==================== */ + @font-face { + font-family: "MailartRubberstamp"; + src: url('../fonts/MailartRubberstamp-Regular.woff') format("woff"); + } + + :root { + /* =================== 1. ACTOR SHEET FONT STYLES =========== */ + --window-header-title-font-size: 1.3rem; + --window-header-title-font-weight: normal; + --window-header-title-color: #f5f5f5; + + --major-button-font-size: 1.05rem; + --major-button-font-weight: normal; + --major-button-color: #dadada; + + --tab-header-font-size: 1.0rem; + --tab-header-font-weight: 700; + --tab-header-color: #403f3e; + --tab-header-color-active: #4a0404; + + --actor-input-font-size: 0.8rem; + --actor-input-font-weight: 500; + --actor-input-color: black; + + --actor-label-font-size: 0.8rem; + --actor-label-font-weight: 700; + --actor-label-color: rgba(70,67,49,0.76863); + + /* =================== 2. DEBUGGING HIGHLIGHTERS ============ */ + --debug-background-color-red: rgba(255,0,0,0.32941); + --debug-background-color-blue: rgba(29,0,255,0.32941); + --debug-background-color-green: rgba(84,255,0,0.32941); + + --debug-box-shadow-red: inset 0 0 2px red; + --debug-box-shadow-blue: inset 0 0 2px blue; + --debug-box-shadow-green: inset 0 0 2px green; + } + +/*@import url("https://fonts.googleapis.com/css2?family=Martel:wght@400;800&family=Roboto:wght@300;400;500&display=swap");*/ +/* Global styles & Font */ +.window-app { + text-align: justify; + font-size: 16px; + letter-spacing: 1px; +} + +/* Fonts */ +.sheet header.sheet-header h1 input, .window-app .window-header, #actors .directory-list, #navigation #scene-list .scene.nav-item { + font-size: 1.0rem; +} /* For title, sidebar character and scene */ +.sheet nav.sheet-tabs { + font-size: 0.8rem; +} /* For nav and title */ +.window-app input, .fvtt-ecryme .item-form, .sheet header.sheet-header .flex-group-center.flex-compteurs, .sheet header.sheet-header .flex-group-center.flex-fatigue, select, button, .item-checkbox, #sidebar, #players, #navigation #nav-toggle { + font-size: 0.8rem; +} + +.window-header{ + background: rgba(0,0,0,0.75); +} + +.window-app.sheet .window-content { + margin: 0; + padding: 0; +} +.strong-text{ + font-weight: bold; +} + +.tabs .item.active, .blessures-list li ul li:first-child:hover, a:hover { + text-shadow: 1px 0px 0px #ff6600; +} + +.rollable:hover, .rollable:focus { + color: #000; + text-shadow: 0 0 10px red; + cursor: pointer; +} + +input:hover { + border-width: 4px; + border-color: rgba(37, 124, 37, 0.7); +} + +input:disabled { + color:#1c2058; +} +select:disabled { + color:#1c2058; +} +table {border: 1px solid #7a7971;} + +.grid, .grid-2col { + display: grid; + grid-column: span 2 / span 2; + grid-template-columns: repeat(2, minmax(0, 1fr)); + grid-gap: 10px; + gap: 10px; + margin: 10px 0; + padding: 0; +} + +.grid-3col { + grid-column: span 3 / span 3; + grid-template-columns: repeat(3, minmax(0, 1fr)); +} + +.grid-4col { + grid-column: span 4 / span 4; + grid-template-columns: repeat(4, minmax(0, 1fr)); +} + +.grid-5col { + grid-column: span 5 / span 5; + grid-template-columns: repeat(5, minmax(0, 1fr)); +} + +.grid-6col { + grid-column: span 5 / span 5; + grid-template-columns: repeat(5, minmax(0, 1fr)); +} + +.grid-7col { + grid-column: span 7 / span 7; + grid-template-columns: repeat(7, minmax(0, 1fr)); +} + +.grid-8col { + grid-column: span 8 / span 8; + grid-template-columns: repeat(8, minmax(0, 1fr)); +} + +.grid-9col { + grid-column: span 9 / span 9; + grid-template-columns: repeat(9, minmax(0, 1fr)); +} + +.grid-10col { + grid-column: span 10 / span 10; + grid-template-columns: repeat(10, minmax(0, 1fr)); +} + +.grid-11col { + grid-column: span 11 / span 11; + grid-template-columns: repeat(11, minmax(0, 1fr)); +} + +.grid-12col { + grid-column: span 12 / span 12; + grid-template-columns: repeat(12, minmax(0, 1fr)); +} + +.flex-group-center, +.flex-group-left, +.flex-group-right { + justify-content: center; + align-items: center; + text-align: center; + padding: 5px; +} + +.flex-group-left { + justify-content: flex-start; + text-align: left; +} + +.flex-group-right { + justify-content: flex-end; + text-align: right; +} + +.flex-center { + align-items: center; + justify-content: center; + text-align: center; +} + +.table-create-actor { + font-size: 0.8rem; +} + +.flex-between { + justify-content: space-between; +} + +.flex-shrink { + flex: 'flex-shrink' ; +} + +/* Styles limited to sheets */ +.fvtt-ecryme .sheet-header { + flex: 0 0 210px; + overflow: hidden; + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: flex-start; + margin-bottom: 10px; +} + +.fvtt-ecryme .sheet-header .profile-img { + flex: 0 0 128px; + width: 128px; + height: auto; + max-height:128px; + margin-top: 0px; + margin-right: 10px; + -o-object-fit: cover; + object-fit: cover; + -o-object-position: 50% 0; + object-position: 50% 0; + border-width: 0px; +} +.profile-img-container { + margin-right: 0.2rem; + max-width: 140px; + width: 140px; +} + +.button-img { + vertical-align: baseline; + width: 8%; + height: 8%; + max-height: 48px; + border-width: 0px; + border: 1px solid rgba(0, 0, 0, 0); +} + +.button-img:hover { + color: rgba(255, 255, 128, 0.7); + border: 1px solid rgba(255, 128, 0, 0.8); + cursor: pointer; +} + +.button-effect-img { + vertical-align: baseline; + width: 16px; + max-height: 16px; + height: 16; + border-width: 0; +} + +.small-button-container { + height: 16px; + width: 16px; + border: 0; + vertical-align: bottom; +} + +.fvtt-ecryme .sheet-header .header-fields { + flex: 1; +} + +.fvtt-ecryme .sheet-header h1.charname { + height: 50px; + padding: 0px; + margin: 5px 0; + border-bottom: 0; +} + +.fvtt-ecryme .sheet-header h1.charname input { + font-family: MailartRubberstamp; + font-size: 3rem; + width: 100%; + height: 100%; + margin: 0; +} + +.fvtt-ecryme .sheet-tabs { + flex: 0; + font-family: MailartRubberstamp; + font-size: 2.2rem; +} + +.fvtt-ecryme .sheet-body, +.fvtt-ecryme .sheet-body .tab, +.fvtt-ecryme .sheet-body .tab .editor { + height: 100%; + font-size: 0.8rem; +} + +.editor { + border: 2; + height: 100%; + padding: 0 3px; +} + +.medium-editor { + border: 2; + height: 240px; + padding: 0 3px; +} + +.small-editor { + border: 2; + height: 120px; + padding: 0 3px; +} + +.fvtt-ecryme .tox .tox-editor-container { + background: #fff; +} + +.fvtt-ecryme .tox .tox-edit-area { + padding: 0 8px; +} + +.fvtt-ecryme .resource-label { + font-weight: bold; + text-transform: uppercase; +} + +.fvtt-ecryme .tabs { + height: 40px; + border-top: 1px solid #AAA; + border-bottom: 1px solid #AAA; + color: #000000; +} + +.fvtt-ecryme .tabs .item { + line-height: 40px; + font-weight: bold; +} + +.fvtt-ecryme .tabs .item.active { + text-decoration: underline; + text-shadow: none; +} + +.fvtt-ecryme .items-list { + list-style: none; + margin: 1px 0; + padding: 0; + overflow-y: auto; +} + +.fvtt-ecryme .items-list .item-header { + font-weight: bold; +} + +.fvtt-ecryme .items-list .item { + height: 30px; + line-height: 24px; + padding: 1px 0; + border-bottom: 1px solid #BBB; +} + +.fvtt-ecryme .items-list .item .item-image { + flex: 0 0 24px; + margin-right: 5px; +} + +.fvtt-ecryme .items-list .item img { + display: block; +} + +.fvtt-ecryme .items-list .item-name { + margin: 0; +} + +.fvtt-ecryme .items-list .item-controls { + flex: 0 0 86px; + text-align: right; +} + +li.folder > .folder-header h3 { + color: rgba(19, 18, 18, 0.95); +} + +/* ======================================== */ +/* Sheet */ +.window-app.sheet .window-content .sheet-header{ + color: rgba(19, 18, 18, 0.95); + background: url("../images/ui/fond_carnet_01.webp"); + /*background: #494e6b;*/ +} + +input[type="text"], select[type="text"] { + background:white; + color: #494e6b; +} + +select { + background:white; + color: #494e6b; +} +/* background: #011d33 url("../images/ui/fond1.webp") repeat left top;*/ +/*color: rgba(168, 139, 139, 0.5);*/ +.window-app.sheet .window-content .sheet-header select[type="text"], .window-app.sheet .window-content .sheet-header input[type="text"], .window-app.sheet .window-content .sheet-header input[type="number"], .window-app.sheet .window-content .sheet-body input[type="text"], .window-app.sheet .window-content .sheet-body input[type="number"], .window-app.sheet .window-content .sheet-body select[type="text"] { + color: rgba(19, 18, 18, 0.95); + /*color: #494e6b;*/ +} + +.window-app.sheet .window-content .sheet-header input[type="password"], .window-app.sheet .window-content .sheet-header input[type="date"], .window-app.sheet .window-content .sheet-header input[type="time"] { + color: rgba(19, 18, 18, 0.95); + background: url("../images/ui/fond_carnet_01.webp"); + border: 1 none; + margin-bottom: 0.25rem; + margin-left: 2px; +} + +.window-app.sheet .window-content .sheet-body input[type="password"], .window-app.sheet .window-content .sheet-body input[type="date"], .window-app.sheet .window-content .sheet-body input[type="time"] { + color: rgba(19, 18, 18, 0.95); + background: url("../images/ui/fond_carnet_01.webp"); + border: 1 none; + margin-bottom: 0.25rem; + margin-left: 2px; +} + +.window-app.sheet .window-content .sheet-body select, .window-app.sheet .window-content .sheet-header select { + color: rgba(19, 18, 18, 0.95); + background: #fff; + border: 1 none; + margin-bottom: 0.25rem; + margin-left: 2px; +} + +.window-app .window-content, .window-app.sheet .window-content .sheet-body{ + font-size: 0.8rem; + /*background: url("../images/ui/pc_sheet_bg.webp") repeat left top;*/ + background: url("../images/ui/fond_carnet_01.webp"); + color: rgba(19, 18, 18, 0.95); +} + +/* background: rgba(245,245,240,0.6) url("../images/ui/sheet_background.webp") left top;*/ + +section.sheet-body{padding: 0.25rem 0.5rem;} + +.sheet header.sheet-header .profile-img { + -o-object-fit: cover; + object-fit: cover; + -o-object-position: 50% 0; + object-position: 50% 0; + margin: 0.5rem 0 0.5rem 0.5rem; + padding: 0; +} + +.sheet nav.sheet-tabs { + font-size: 1.2rem; + font-weight: bold; + height: 3rem; + flex: 0 0 3rem; + margin: 0; + padding: 0 0 0 0.25rem; + text-align: center; + /*text-transform: uppercase;*/ + line-height: 1.5rem; + border-top: 0 none; + border-bottom: 0 none; + background-color:#252525; + color:beige; +} + +/* background: rgb(245,245,240) url("../images/ui/fond4.webp") repeat left top;*/ + +nav.sheet-tabs .item { + position: relative; + padding: 0 0.25rem; +} + +nav.sheet-tabs .item:after { + content: ""; + position: absolute; + top: 0; + right: 0; + height: 2rem; + width: 1px; + border-right: 1px dashed rgba(52, 52, 52, 0.25); +} + +.sheet .tab[data-tab] { + padding: 0; +} + +section.sheet-body:after { + content: ""; + display: block; + clear: both; +} + +.sheet header.sheet-header .flex-compteurs {text-align: right;} +.sheet header.sheet-header .resource-content {width: 2rem;} + +.select-diff { + display: inline-block; + text-align: left; + width: 50px; +} + +.window-app.sheet .window-content .tooltip:hover .tooltiptext { + top: 2rem; + left: 2rem; + margin: 0; + padding: 0.25rem; +} + +.window-app.sheet .window-content .carac-value, .window-app.sheet .window-content .competence-xp { + margin: 0.05rem; + flex-basis: 3rem; + text-align: center; +} + +/* ======================================== */ +/* Global UI elements */ + +/* ======================================== */ + +h1, h2, h3, h4 { + font-weight: bold; +} + +ul, ol { + margin: 0; + padding: 0; +} +ul, li { + list-style-type: none; +} + +.sheet li { + margin: 0.010rem; + padding: 0.25rem; +} +.header-fields li { + margin: 0; + padding: 0; +} + +.alterne-list > .list-item:hover { + background: rgba(100, 100, 50, 0.25); +} +.alterne-list > .list-item:nth-child(even) { + background: rgba(80, 60, 0, 0.10); +} +.alterne-list > .list-item:nth-child(odd) { + background: rgb(160, 130, 100, 0.05); +} + +.specialisation-label { + font-size: 0.8rem; +} + +.carac-label, +.attr-label { + font-weight: bold; +} + +.list-item { + /*margin: 0.125rem;*/ + /*box-shadow: inset 0px 0px 1px #00000096; + border-radius: 0.25rem; + padding: 0.125rem;*/ + flex: 1 1 5rem; + display: flex !important; + color: rgba(19, 18, 18, 0.95); +} +.list-item-shadow { + background:rgba(87, 60, 32, 0.35); + flex-grow: 0; + flex-wrap: nowrap; + justify-content: flex-start; +} +.list-item-shadow2 { + background:rgba(87, 60, 32, 0.25); + flex-grow: 0; + flex-wrap: nowrap; + justify-content: flex-start; +} +.item-display-show { + display: block; +} +.item-display-hide { + display: none; +} +.item-quantite { + margin-left: 0.5rem; +} +.list-item-margin1 { + margin-left: 1rem; +} +.list-item-margin2 { + margin-left: 2rem; +} +.list-item-margin3 { + margin-left: 3rem; +} +.list-item-margin4 { + margin-left: 4rem; +} + +.sheet-competence-img { + width: 24px; + max-width: 24px; + height: 24px; + max-height: 24px; + flex-grow: 0; + margin-right: 0.25rem; +} +.competence-column { + flex-direction: column; + align-content: flex-start; + justify-content: flex-start; + flex-grow: 0; + flex-basis: 1; +} +.competence-header { + align-content: flex-start; + justify-content: flex-start; + font-weight: bold; + flex-grow: 0; +} + +.description-label { + flex-grow: 2; + margin-left: 4px; +} +.status-header-label { + margin-left: 2px; +} +.roll-dialog-label { + margin: 4px 0; + min-width: 96px; +} +.short-label { + flex-grow: 1; +} +.keyword-label { + font-size: 0.85rem; +} + +.item-sheet-label { + flex-grow: 1; +} + +.item-text-long-line { + flex-grow: 3; +} + +.score-label { + flex-grow: 2; + align-content: center; +} + +.attribut-value, +.carac-value { + flex-grow: 0; + flex-basis: 64px; + margin-right: 4px; + margin-left: 4px; +} +.sante-value, +.competence-value { + flex-grow: 0; + flex-basis: 2rem; + margin-right: 0.25rem; + margin-left: 0.25rem; +} +.description-value { + flex-grow: 0; + flex-basis: 4rem; + margin-right: 0.25rem; + margin-left: 0.25rem; +} +.small-label { + margin-top: 5px; +} +.padd-right { + margin-right: 8px; +} +.padd-left { + margin-left: 8px; +} +.stack-left { + align-items:center; + flex-shrink: 1; + flex-grow: 0; +} +.packed-left { + white-space: nowrap; + flex-grow: 0; +} + +.input-numeric-short { + width: 40px; + max-width: 40px; + flex-grow: 0; + flex-shrink: 0; + flex-basis: 40px; + margin-right: 0.25rem; + margin-left: 0.25rem; +} + +.abilities-table { + align-content: flex-start; +} + +/* ======================================== */ +.tokenhudext { + display: flex; + flex: 0 !important; + font-weight: 600; +} +.tokenhudext.left { + justify-content: flex-start; + flex-direction: column; + position: absolute; + top: 2.75rem; + right: 4rem; +} +.tokenhudext.right { + justify-content: flex-start; + flex-direction: column; + position: absolute; + top: 2.75rem; + left: 4rem; +} +.control-icon.tokenhudicon { + width: -moz-fit-content; + width: fit-content; + height: -moz-fit-content; + height: fit-content; + min-width: 6rem; + flex-basis: auto; + padding: 0; + line-height: 1rem; + margin: 0.25rem; +} +.control-icon.tokenhudicon.right { + margin-left: 8px; +} +#token-hud .status-effects.active{ + z-index: 2; +} +.token-sheet .window-content .flexcol .sheet-tabs { + font-size: 0.8rem; +} + +/* ======================================== */ +.item-checkbox { + height: 25px; + border: 1px solid rgba(115,105,83,0.65098); + border-left: none; + font-weight: 500; + font-size: 1rem; + color: black; + padding-top: 5px; + margin-right: 0px; + width: 45px; + position: relative; + left: 0px; + text-align: center; +} + +.skill-label { + font-size: 0.7rem; +} +.skill-good-checkbox { + max-height: 10px; + max-width: 10px; +} + +.flex-actions-bar { + flex-grow: 2; +} + +/* ======================================== */ +/* Sidebar CSS */ +#sidebar { + font-size: 1rem; + /*background-position: 100%;*/ + background-color:#f5f5f5; + background-position: 0px 35px; + background-repeat: no-repeat; + background-image: url("../images/ui/fond_carnet_01.webp"); + color: rgba(19, 18, 18, 0.95); +} + +/* background: rgb(105,85,65) url("../images/ui/texture_feuille_perso_onglets.webp") no-repeat right bottom;*/ + +#sidebar.collapsed { + height: 470px !important; +} + +#sidebar-tabs > .collapsed, #chat-controls .chat-control-icon { + color: rgba(19, 18, 18, 0.95); + text-shadow: 1px 1px 0 rgba(0,0,0,0.75); +} + +.sidebar-tab .directory-list .entity { + border-top: 1px dashed rgba(0,0,0,0.25); + border-bottom: 0 none; + padding: 0.25rem 0; +} + +.sidebar-tab .directory-list .entity:hover { + background: rgba(0,0,0,0.05); + cursor: pointer; +} +.chat-message-header { + background: rgba(220,220,210,0.5); + font-size: 1.1rem; + height: 48px; + text-align: center; + vertical-align: middle; + display: flex; + align-items: center; +} + +.chat-message .message-header .flavor-text, .chat-message .message-header .whisper-to { + font-size: 0.9rem; +} +.chat-result-text, +.chat-actor-name { + font-weight: bold; + font-family: MailartRubberstamp; + font-size: 1.2rem; + padding: 4px; +} +.chat-result-success { + color:darkgreen; +} +.chat-result-failure { + color:darkred; +} +.chat-img { + width: 64px; + height: 64px; +} + +.roll-dialog-header { + height: 52px; +} + +.actor-icon { + float: left; + width: 48px; + height: 48px; + padding: 2px 6px 2px 2px; +} + +.padding-dice { + padding-top: .2rem; + padding-bottom: .2rem; +} + +.dice-image { + box-sizing: border-box; + border: none; + border-radius: 0; + max-width: 100%; +} + +.dice-image-reroll { + background-color:rgba(115, 224, 115, 0.25); + border-color: #011d33; + box-sizing: border-box; + border: 1px; + border-radius: 0%; + max-width: 100%; +} + +.chat-dice { + width: 15%; + height: 15%; + font-size: 15px; + padding: 10px; + padding-bottom: 20px; + padding-top: .2rem; + padding-bottom: .2rem; +} + +.div-center { + align-self: center; +} + +.chat-message { + background: rgba(220,220,210,0.5); + font-size: 0.9rem; +} + +.chat-message.whisper { + background: rgba(220,220,210,0.75); + border: 2px solid #545469; +} + +.chat-message .chat-icon { + border: 0; + padding: 2px 6px 2px 2px; + float: left; + width: 64px; + height: 64px; +} + +.ability-icon { + border: 0; + padding: 2px 2px 2px 2px; + max-width:32px; + max-height:32px; + width: auto; + height: auto; +} +.small-ability-icon { + border: 0; + padding: 2px 2px 2px 2px; + max-width:16px; + max-height:16px; + width: auto; + height: auto; +} +.combat-icon { + border: 0; + padding: 2px 2px 2px 2px; + max-width:24px; + max-height:24px; + width: auto; + height: auto; +} + +#sidebar-tabs { + flex: 0 0 32px; + box-sizing: border-box; + margin: 0 0 5px; + border-bottom: 1px solid rgba(0,0,0,0); + box-shadow: inset 0 0 2rem rgba(0,0,0,0.5); +} + +#sidebar-tabs > .item.active { + border: 1px solid rgba(114,98,72,1); + background: rgba(30, 25, 20, 0.75); + box-shadow: 0 0 6px inset rgba(114,98,72,1); +} + +#sidebar #sidebar-tabs i{ + display: inline-block; + background-position:center; + background-size:cover; + text-shadow: 1px 1px 0 rgba(0,0,0,0.75); + +} + +/*--------------------------------------------------------------------------*/ +/* Control, Tool, hotbar & navigation */ + +#controls .scene-control, #controls .control-tool { + box-shadow: 0 0 3px #000; + margin: 0 0 8px; + border-radius: 0; + background: rgba(30, 25, 20, 1); + background-origin: padding-box; + -o-border-image: url(img/ui/footer-button.png) 10 repeat; + border-image: url(img/ui/footer-button.png) 10 repeat; + border-image-width: 4px; + border-image-outset: 0px; +} + +#controls .scene-control.active, #controls .control-tool.active, #controls .scene-control:hover, #controls .control-tool:hover { + background: rgba(72, 46, 28, 1); + background-origin: padding-box; + -o-border-image: url(img/ui/footer-button.png) 10 repeat; + border-image: url(img/ui/footer-button.png) 10 repeat; + border-image-width: 4px; + border-image-outset: 0px; + box-shadow: 0 0 3px #ff6400; +} + +#hotbar #action-bar #macro-list { + border: 1px solid rgba(72, 46, 28, 1); + box-shadow: 2px 2px 5px #000000; +} + +#hotbar #action-bar .macro { + -o-border-image: url(img/ui/bg_control.jpg) 21 repeat; + border-image: url(img/ui/bg_control.jpg) 21 repeat; + border-image-slice: 6 6 6 6 fill; + border-image-width: 6px 6px 6px 6px; + border-image-outset: 0px 0px 0px 0px; + border-radius: 0px; +} + +#hotbar .bar-controls { + background: rgba(30, 25, 20, 1); + border: 1px solid rgba(72, 46, 28, 1); +} + +#players { + -o-border-image: url(img/ui/footer-button.png) 10 repeat; + border-image: url(img/ui/footer-button.png) 10 repeat; + border-image-width: 4px; + border-image-outset: 0px; + background: rgba(30, 25, 20, 1); +} + +#navigation #scene-list .scene.nav-item.active { + background: rgba(72, 46, 28, 1); +} + +#navigation #scene-list .scene.nav-item { + background: rgba(30, 25, 20, 1); + background-origin: padding-box; + -o-border-image: url(img/ui/footer-button.png) 10 repeat; + border-image: url(img/ui/footer-button.png) 10 repeat; + border-image-width: 4px; + border-image-outset: 0px; +} + +#navigation #scene-list .scene.view, #navigation #scene-list .scene.context { + background: rgba(72, 46, 28, 1); + background-origin: padding-box; + -o-border-image: url(img/ui/footer-button.png) 10 repeat; + border-image: url(img/ui/footer-button.png) 10 repeat; + border-image-width: 4px; + border-image-outset: 0px; + box-shadow: 0 0 3px #ff6400; +} + +#navigation #nav-toggle { + background: rgba(30, 25, 20, 1); + background-origin: padding-box; + -o-border-image: url(img/ui/footer-button.png) 10 repeat; + border-image: url(img/ui/footer-button.png) 10 repeat; + border-image-width: 4px; + border-image-outset: 0px; +} + +/* Tooltip container */ +.tooltip { + position: relative; + display: inline-block; + /*border-bottom: 1px dotted black; /* If you want dots under the hoverable text */ +} + +/* Tooltip text */ +.tooltip .tooltiptext { + text-align: left; + background: rgba(231, 229, 226, 0.9); + width: 150px; + padding: 3px 0; + font-size: 0.9rem; + + /* Position the tooltip text */ + top: 1px; + position: absolute; + z-index: 1; + + /* Fade in tooltip */ + visibility: hidden; + opacity: 0; + transition: opacity 0.3s; +} + + +.tooltip-nobottom { + border-bottom: unset; /* If you want dots under the hoverable text */ +} + +/* Show the tooltip text when you mouse over the tooltip container */ +.tooltip:hover .tooltiptext { + visibility: visible; + opacity: 1; +} + +.chat-card-button { + box-shadow: inset 0px 1px 0px 0px #a6827e; + background: linear-gradient(to bottom, rgba(33,55,74,0.98824) 5%, rgba(21,40,51,0.67059) 100%); + background-color: rgba(125,93,59,0); + border-radius: 3px; + border: 2px ridge #846109; + display: inline-block; + cursor: pointer; + color: #ffffff; + font-size: 0.8rem; + padding: 4px 12px 0px 12px; + text-decoration: none; + text-shadow: 0px 1px 0px #4d3534; + position: relative; + margin:2px; +} + +.chat-card-button:hover { + background: linear-gradient(to bottom, #800000 5%, #3e0101 100%); + background-color: red; +} +.chat-card-button:active { + position:relative; + top:1px; +} + +.plus-minus-button { + box-shadow: inset 0px 1px 0px 0px #a6827e; + background: linear-gradient(to bottom, rgba(33,55,74,0.98824) 5%, rgba(21,40,51,0.67059) 100%); + background-color: rgba(125,93,59,0); + border-radius: 2px; + border: 1px ridge #846109; + display: inline-block; + cursor: pointer; + color: #ffffff; + margin: 2px 2px 2px 2px; + padding: 2px 2px 2px 2px; + text-decoration: none; + text-shadow: 0px 1px 0px #4d3534; + position: relative; + margin:0px; +} + +.plus-minus-button:hover, +.chat-card-button:hover { + background: linear-gradient(to bottom, #800000 5%, #3e0101 100%); + background-color: red; +} + +.plus-minus-button:active, +.chat-card-button:active { + position:relative; + top:1px; +} + +.plus-minus { + font-size: 0.9rem; + font-weight: bold; +} + +.ul-level1 { + padding-left: 2rem; +} + + +/*************************************************************/ +#pause +{ + font-size: 2rem; +} +#pause > h3 +{ + color: #CCC +} +#pause > img { + content: url(../images/ui/ecryme_logo_small_01.webp); + height: 200px; + width: 200px; + top: -200px; + left: calc(50% - 132px); +} + +#logo { + content : url(../images/ui/ecryme_logo_small_01.webp); + width: 100px; + height: 60px; +} + +.dice-cell { + padding-left: 12px; + padding-right: 12px; + width: 60px; + text-align: center; +} + +.dice-formula, +.dice-total { + height: 54px; + position:relative; +} + +.status-small-label { + font-size: 0.65rem; +} +.no-grow { + flex-grow: 1; + max-width: 32px; +} +.status-col-name { + max-width: 72px; +} +.img-no-border { + max-width: 48px; + max-height: 48px; + border: 0px; +} +.items-title-bg { + margin-top: 6px; + color: rgba(19, 18, 18, 0.95); + +} +.impact-box { + border-width: 2px; + border-color: #000000; + border-radius: 6px; + border: 2px ridge #443307; + margin: 4px; + padding: 4px; +} +.impact-title { + font-size: bold; + display: flex; + align-items: center; + justify-content: center; + margin-left: auto; + margin-right: auto; + text-align: center; +} + +.items-title-text { + text-align: center; + font-family: MailartRubberstamp; + margin-left: 4px; +} +.lock-icon { + width:16px; + height: 16px; +} +.item-sheet-img { + width: 64px; + height: auto; + border: 0; +} +.item-name-img { + flex-grow:1; + max-width: 2rem; + min-width: 2rem; +} +.item-name-label-header { + flex-grow:2; + max-width: 12rem; + min-width: 12rem; +} +.item-name-label-header-long { + flex-grow:2; + max-width: 14rem; + min-width: 14rem; +} +.item-name-label-header-long2 { + flex-grow:2; + max-width: 24rem; + min-width: 24rem; +} +.item-name-label { + flex-grow:2; + max-width: 10rem; + min-width: 10rem; +} +.item-name-label-long { + margin-top: 4px; + flex-grow:2; + max-width: 12rem; + min-width: 12rem; +} +.item-name-label-short { + flex-grow:1; + max-width: 4rem; + min-width: 4rem; +} +.item-name-label-medium { + margin-top: 4px; + flex-grow:2; + max-width: 6rem; + min-width: 6rem; +} +.item-name-label-long2 { + margin-top: 4px; + flex-grow:2; + max-width: 22rem; + min-width: 22rem; +} +.item-name-label-level2 { + flex-grow:2; + max-width: 9rem; + min-width: 9rem; +} +.item-field-label-short { + flex-grow:1; + max-width: 4rem; + min-width: 4rem; +} +.item-field-label-medium { + flex-grow:1; + max-width: 6rem; + min-width: 6rem; +} +.item-field-skill { + flex-grow:1; + max-width: 6.8rem; + min-width: 6.8rem; +} +.item-field-label-long { + flex-grow:1; + max-width: 10rem; + min-width: 10rem; +} +.item-control-end { + align-self: flex-end; +} +.alternate-list { + margin-top: 4px; + flex-wrap: nowrap; +} +.item-filler { + flex-grow: 6; + flex-shrink: 7; +} +.item-controls-fixed { + min-width:2rem; + max-width: 2rem; +} +.item-controls-fixed-full { + min-width:3rem; + max-width: 3rem; +} +.attribute-label { + font-weight: bold; +} +.flexrow-no-expand { + flex-grow: 0; +} +.item-input-small { + max-width: 16px; + max-height: 12px; +} +.character-summary-rollable { + text-decoration: underline; +} + +.ecryme-roll-dialog .window-header { + border-radius: 10px 10px 0% 0%; +} +.ecryme-roll-dialog .window-content { + border-radius: 0% 0% 10px 10px; +} + +.skill-roll-dialog div { + margin-top: 4px; + margin-bottom: 4px; +} + +.confront-dice { + border-width: 0px; +} + +.bonus-spec { + max-width: 48px; +} +.confront-bonus-container { + position: relative; + flex-grow: 1; + text-align: center; + color: black; +} +.pool-list { + align-items: center; + justify-content: center; +} +.confront-bonus-centered { + position: absolute; + top: 50%; + left: 50%; + font-size: 1.6rem; + color: darkgreen; + font-family: MailartRubberstamp; + transform: translate(-50%, -55%); +} + +.dice-spec { + max-width: 64px; +} +.confront-dice-container { + position: relative; + flex-grow: 1; + text-align: center; + color: black; +} +.confront-dice-centered { + position: absolute; + top: 50%; + left: 50%; + font-size: 2rem; + color: darkgreen; + font-family: MailartRubberstamp; + transform: translate(-50%, -55%); +} +.confront-area { + margin: 2px; + padding: 4px; + min-height: 64px; + border-width: 2px; + border-color: #000000; + border-radius: 6px; + border: 2px ridge #443307; + align-items: center; + justify-content: center; +} diff --git a/system.json b/system.json new file mode 100644 index 0000000..5f0bf10 --- /dev/null +++ b/system.json @@ -0,0 +1,56 @@ +{ + "description": "Te Deum Pour Un Massacre", + "esmodules": [ + "modules/tedeum-main.js" + ], + "gridDistance": 1, + "gridUnits": "m", + "languages": [ + { + "lang": "fr", + "name": "French", + "path": "lang/fr.json", + "flags": {} + } + ], + "authors": [ + { + "name": "Uberwald", + "flags": {} + } + ], + "packs": [ + { + "label": "Equipment", + "type": "Item", + "name": "equipment", + "path": "packs/equipment", + "system": "fvtt-ecryme", + "flags": {}, + "ownership": { + "PLAYER": "OBSERVER", + "ASSISTANT": "OWNER" + } + } + ], + "license": "LICENSE.txt", + "manifest": "https://www.uberwald.me/gitea/public/fvtt-te-deum/raw/branch/master/system.json", + "compatibility": { + "minimum": "10", + "verified": "11" + }, + "id": "fvtt-tedeum", + "primaryTokenAttribute": "secondary.health", + "secondaryTokenAttribute": "secondary.delirium", + "socket": true, + "styles": [ + "styles/tedeum.css" + ], + "relationships": { + }, + "title": "Te Deum pour Un Massacre, le Jeu de Rôles", + "url": "https://www.uberwald.me/gitea/public/fvtt-tedeum", + "version": "11.0.0", + "download": "https://www.uberwald.me/gitea/public/fvtt-tedeum/archive/fvtt-tedeum-v11.0.0.zip", + "background": "" +} \ No newline at end of file diff --git a/template.json b/template.json new file mode 100644 index 0000000..197b048 --- /dev/null +++ b/template.json @@ -0,0 +1,312 @@ +{ + "Actor": { + "types": [ + "pc","annency", "npc" + ], + "templates": { + "biodata": { + "biodata": { + "age": "", + "size": "", + "lieunaissance": "", + "nationalite": "", + "profession": "", + "residence": "", + "milieusocial": "", + "poids": "", + "cheveux": "", + "sexe": "", + "yeux": "", + "enfance": "", + "description": "", + "gmnotes": "" + } + }, + "core": { + "subactors": [], + "equipmentfree": "", + "skills": { + "physical": { + "name": "ECRY.ui.physical", + "skilllist": { + "athletics": { + "name": "ECRY.ui.athletics", + "max": 0, + "value": 0 + }, + "driving": { + "name": "ECRY.ui.driving", + "max": 0, + "value": 0 + }, + "fencing": { + "name": "ECRY.ui.fencing", + "max": 0, + "value": 0 + }, + "brawling": { + "name": "ECRY.ui.brawling", + "max": 0, + "value": 0 + }, + "shooting": { + "name": "ECRY.ui.shooting", + "max": 0, + "value": 0 + } + } + }, + "mental": { + "name": "ECRY.ui.mental", + "skilllist": { + "anthropomecanology": { + "name": "ECRY.ui.anthropomecanology", + "value": 0, + "max": 10 + }, + "ecrymology": { + "name": "ECRY.ui.ecrymology", + "value": 0, + "max": 10 + }, + "traumatology": { + "name": "ECRY.ui.traumatology", + "value": 0, + "max": 10 + }, + "traversology": { + "name": "ECRY.ui.traversology", + "value": 0, + "max": 10 + }, + "urbatechnology": { + "name": "ECRY.ui.urbatechnology", + "value": 0, + "max": 10 + } + } + }, + "social": { + "name": "ECRY.ui.social", + "skilllist": { + "quibbling": { + "name": "ECRY.ui.quibbling", + "value": 0, + "max": 10 + }, + "creativity": { + "name": "ECRY.ui.creativity", + "value": 0, + "max": 10 + }, + "loquacity": { + "name": "ECRY.ui.loquacity", + "value": 0, + "max": 10 + }, + "guile": { + "name": "ECRY.ui.guile", + "value": 0, + "max": 10 + }, + "performance": { + "name": "ECRY.ui.performance", + "value": 0, + "max": 10 + } + } + } + }, + "impacts": { + "physical": { + "superficial": 0, + "light": 0, + "serious": 0, + "major": 0 + }, + "mental": { + "superficial": 0, + "light": 0, + "serious": 0, + "major": 0 + }, + "social": { + "superficial": 0, + "light": 0, + "serious": 0, + "major": 0 + } + }, + "cephaly": { + "name": "ECRY.ui.cephaly", + "skilllist": { + "elegy": { + "name": "ECRY.ui.elegy", + "value": 0, + "max": 10 + }, + "entelechy": { + "name": "ECRY.ui.entelechy", + "value": 0, + "max": 10 + }, + "mekany": { + "name": "ECRY.ui.mekany", + "value": 0, + "max": 10 + }, + "psyche": { + "name": "ECRY.ui.psyche", + "value": 0, + "max": 10 + }, + "scoria": { + "name": "ECRY.ui.scoria", + "value": 0, + "max": 10 + } + } + }, + "internals": { + "confrontbonus": 0 + } + }, + "npccore": { + "npctype": "", + "description": "" + }, + "annency": { + "base": { + "iscollective": false, + "ismultiple": false, + "characters": [], + "location": {"1": "", "2": "", "3":"", "4":"", "5":"" }, + "description": "", + "enhancements": "" + }, + "boheme": { + "name": "", + "ideals": "", + "politic": "", + "description": "" + } + } + }, + "annency": { + "templates": [ + "annency" + ] + }, + "npc": { + "templates": [ + "biodata", + "core" + ] + }, + "pc": { + "templates": [ + "biodata", + "core" + ] + } + }, + "Item": { + "types": [ + "equipment", + "trait", + "weapon", + "specialization", + "maneuver" + ], + "templates": { + "common": { + "description": "" + }, + "equipement": { + "weight": 0, + "cost": 0, + "costunit": "" + } + }, + "maneuver": { + "templates": [ + "common" + ] + }, + "confrontation": { + "templates": [ + "common" + ], + "attackerId": "", + "defenserId": "", + "rolllist": [], + "bonusexecution": 0, + "bonuspreservation": 0 + }, + "equipment": { + "templates": [ + "common", + "equipement" + ], + "quantity": 1, + "weight": 0 + }, + "trait": { + "templates": [ + "common" + ], + "traitype": "normal", + "level": 1 + }, + "weapon": { + "templates": [ + "common", + "equipement" + ], + "weapontype": "melee", + "effect": 0 + }, + "specialization": { + "bonus": 2, + "templates": [ + "common" + ], + "skillkey": "" + }, + "scar": { + "templates": [ + "common" + ], + "skillcategory": [ + "physical", + "mental", + "social", + "cephalie" + ], + "scarLevel": 1 + }, + "annency": { + "templates": [ + "common" + ], + "collective": false, + "multiple": false, + "improvements": "" + }, + "boheme": { + "templates": [ + "common" + ], + "ideals": "", + "political": "" + }, + "contact": { + "templates": [ + "common" + ], + "attitude": "neutral", + "organization": "", + "location": "" + } + } +} \ No newline at end of file diff --git a/templates/actors/actor-sheet.hbs b/templates/actors/actor-sheet.hbs new file mode 100644 index 0000000..1bc0014 --- /dev/null +++ b/templates/actors/actor-sheet.hbs @@ -0,0 +1,385 @@ +
+ + {{!-- Sheet Header --}} +
+
+
+ +
+ +
+ +
+

+ +
+ +
+ +
+
+
+
+ + + + {{!-- Sheet Tab Navigation --}} + + + {{!-- Sheet Body --}} +
+ + {{!-- Skills Tab --}} +
+ + +
+ + {{#each skills as |category categkey|}} +
+
    +
  • + +

    +
    +
  • + {{#each category.skilllist as |skill skillkey|}} +
  • + + + + + + + {{localize skill.name}} + + +
  • +
  • + +
  • + {{/each}} +
+
+ {{/each}} +
+ +
+ + {{#if hasCephaly}} + {{!-- Cephaly Tab --}} +
+ +
+ +
+ +

{{localize "ECRY.ui.cephaly"}}

+
    + {{#each cephalySkills as |skill skillkey|}} +
  • + + + + {{localize skill.name}} + + +
  • + {{/each}} +
+ +
+ +
+ {{#if annency}} +

{{localize "ECRY.ui.annency"}} : {{annency.name}}

+
    +
  • + + {{annency.system.base.description}} + +
  • +
+ {{/if}} + +
+ +
+ +
+ {{/if}} + +
+ +
    +
  • + +

    +
    + + + +
    + +
    +
  • + {{#each traits as |trait key|}} +
  • + + {{trait.name}} + + +
     
    +
    + +
    +
  • + {{/each}} +
+ +
+ +
+ +
+ {{> systems/fvtt-ecryme/templates/actors/partial-impacts.hbs impacts=system.impacts.physical + impacttype="physical" impactMalus=impactsMalus.physical}} + {{> systems/fvtt-ecryme/templates/actors/partial-impacts.hbs impacts=system.impacts.mental + impacttype="mental" impactMalus=impactsMalus.mental}} + {{> systems/fvtt-ecryme/templates/actors/partial-impacts.hbs impacts=system.impacts.social + impacttype="social" impactMalus=impactsMalus.social}} +
+ +
    +
  • + +

    +
    + + + + + + +
  • + {{#each weapons as |weapon key|}} +
  • + + + + + {{weapon.name}} + + + {{localize (concat "ECRY.ui." weapon.system.weapontype)}} + {{weapon.system.effect}} + +
     
    +
    + +
    +
  • + {{/each}} +
+ +
    +
  • + +

    +
    +
  • + {{#each maneuvers as |maneuver key|}} +
  • + + + {{maneuver.name}} + + +
     
    +
    + +
    +
  • + {{/each}} +
+ +
+ + + {{!-- Equipement Tab --}} +
+ + +

+
+
+ {{editor equipementlibre target="system.equipmentfree" button=true owner=owner editable=editable}} +
+ +
    +
  • + +

    +
    + + + +
     
    +
    + +
    + +
  • + {{#each equipments as |equip key|}} +
  • + + {{equip.name}} + {{equip.system.weight}} + +
     
    +
    + +
    +
  • + {{/each}} +
+ +
+ +
+ + {{!-- Biography Tab --}} +
+ +
+
+
    +
  • + + +
  • +
  • + + +
  • +
  • + + +
  • +
+
+
+
    +
  • + + +
  • +
  • + + +
  • +
  • + + +
  • +
+
+
+ +
+ +

+
+
+ {{editor description target="system.biodata.description" button=true owner=owner + editable=editable}} +
+
+ +

+
+
+ {{editor notes target="system.biodata.notes" button=true owner=owner editable=editable}} +
+
+ +
+ + +
+ \ No newline at end of file diff --git a/templates/actors/annency-sheet.hbs b/templates/actors/annency-sheet.hbs new file mode 100644 index 0000000..1b60cb6 --- /dev/null +++ b/templates/actors/annency-sheet.hbs @@ -0,0 +1,138 @@ +
+ + {{!-- Sheet Header --}} +
+
+
+ +
+ +
+ +
+

+ +
+
    +
  • + + +
  • +
+
+ +
+
+
+ + +
+ + {{!-- Sheet Tab Navigation --}} + + + {{!-- Sheet Body --}} +
+ + {{#if hasCephaly}} + {{!-- Cephaly Tab --}} +
+ +
+ +
+ +

{{localize "ECRY.ui.annency"}}

+
    +
  • + + {{localize "ECRY.ui.iscollective"}} + + + + {{localize "ECRY.ui.ismultiple"}} + + +
  • +
+ +

{{localize "ECRY.ui.characters"}}

+
    + {{#each characters as |character id|}} +
  • + + {{character.name}} +
     
    +
    + + +
    +
  • + {{/each}} +
+ +
+ +
+

{{localize "ECRY.ui.location"}}

+
    + {{#each system.base.location as |location index|}} +
  • + + {{localize "ECRY.ui.location"}} {{index}} + + +
  • + {{/each}} +
  • + + {{localize "ECRY.ui.enhancements"}} + + +
  • +
+
+ +
+ +
+ {{/if}} + + {{#if hasBoheme}} +
+ +

{{localize "ECRY.ui.oniricform"}}

+
    +
  • + {{localize "ECRY.ui.name"}} + +
  • +
  • + {{localize "ECRY.ui.ideals"}} + +
  • +
  • + {{localize "ECRY.ui.politic"}} + +
  • +
  • + {{localize "ECRY.ui.description"}} + +
  • +
+ +
+ {{/if}} + + +
+
\ No newline at end of file diff --git a/templates/actors/editor-notes-gm.hbs b/templates/actors/editor-notes-gm.hbs new file mode 100644 index 0000000..4c17392 --- /dev/null +++ b/templates/actors/editor-notes-gm.hbs @@ -0,0 +1,6 @@ +{{#if data.isGM}} +

GM Notes :

+
+ {{editor data.gmnotes target="system.gmnotes" button=true owner=owner editable=editable}} +
+{{/if}} diff --git a/templates/actors/partial-impacts.hbs b/templates/actors/partial-impacts.hbs new file mode 100644 index 0000000..0da3375 --- /dev/null +++ b/templates/actors/partial-impacts.hbs @@ -0,0 +1,17 @@ +
+ +
+ +
+ +
    + {{#each impacts as |value key|}} +
  • + + + {{value}} + +
  • + {{/each}} +
+
\ No newline at end of file diff --git a/templates/chat/chat-cephaly-result.hbs b/templates/chat/chat-cephaly-result.hbs new file mode 100644 index 0000000..3d9d9f6 --- /dev/null +++ b/templates/chat/chat-cephaly-result.hbs @@ -0,0 +1,37 @@ +
+ {{#if actorImg}} + {{alias}} + {{/if}} +

{{alias}}

+
+ +
+ +{{#if img}} +
+ {{alias}} +
+{{/if}} + +
+
    +
  • {{localize "ECRY.ui.cephaly"}} : {{localize skill.name}}
  • + + {{#if annency}} +
  • {{localize "ECRY.ui.annencybonus"}} {{annency.name}}: {{annencyBonus}}
  • + {{/if}} + + {{#if (gt marginExecution 0)}} +
  • {{localize "ECRY.ui.execution"}} {{executionTotal}} vs {{difficulty}} : {{marginExecution}}
  • +
  • {{localize cephalySuccess}}
  • + {{/if}} + + {{#if (gt marginPreservation 0)}} +
  • {{localize "ECRY.ui.preservation"}} {{preservationTotal}} vs {{difficulty}} : {{marginPreservation}}
  • +
  • {{localize cephalyFailure}}
  • + {{/if}} + +
+
+ + \ No newline at end of file diff --git a/templates/chat/chat-confrontation-pending.hbs b/templates/chat/chat-confrontation-pending.hbs new file mode 100644 index 0000000..76530b3 --- /dev/null +++ b/templates/chat/chat-confrontation-pending.hbs @@ -0,0 +1,72 @@ +
+ {{#if actorImg}} + {{alias}} + {{/if}} +

{{alias}}

+
+ +
+ +{{#if img}} +
+ {{alias}} +
+{{/if}} + +
+
    + {{#if (eq mode "cephaly")}} +
  • {{localize "ECRY.ui.cephaly"}} : {{localize skill.name}}
  • + {{else}} +
  • Confrontation : {{alias}}
  • + {{/if}} + +
  • {{localize skill.name}}: {{skill.value}}
  • + {{#if spec}} +
  • {{localize "ECRY.chat.specialization"}} {{spec.name}} (+{{spec.system.bonus}})
  • + {{/if}} + + {{#each traitsBonus as |trait idx|}} + {{#if trait.activated}} +
  • {{localize "ECRY.chat.traitbonus"}}: {{trait.name}} ({{trait.system.level}})
  • + {{/if}} + {{/each}} + {{#each traitsMalus as |trait idx|}} + {{#if trait.activated}} +
  • {{localize "ECRY.chat.traitmalus"}}: {{trait.name}} ({{trait.system.level}})
  • + {{/if}} + {{/each}} + {{#if bonusMalusTraits}} +
  • {{localize "ECRY.chat.bonusmalustraits"}}: {{bonusMalusTraits}}
  • + {{/if}} + + {{#if (isGM)}} + {{else}} +
  • {{localize "ECRY.ui.execution"}} : {{executionTotal}}
  • +
  • {{localize "ECRY.ui.preservation"}} : {{preservationTotal}}
  • + {{/if}} + +
+ + {{#if (isGM)}} + {{#if (eq mode "cephaly")}} +
+ {{localize "ECRY.chat.difficulty"}} + +
+ + {{else}} + + {{/if}} + {{else}} +
+ {{localize "ECRY.chat.sentogm"}} +
+ {{/if}} +
+ + \ No newline at end of file diff --git a/templates/chat/chat-confrontation-result.hbs b/templates/chat/chat-confrontation-result.hbs new file mode 100644 index 0000000..144d6ef --- /dev/null +++ b/templates/chat/chat-confrontation-result.hbs @@ -0,0 +1,54 @@ +
+ {{#if actorImg}} + {{alias}} + {{/if}} +

{{alias}}

+
+ +
+ +{{#if img}} +
+ {{alias}} +
+{{/if}} + +
+
    +
  • Confrontation : {{rollData1.alias}} vs {{rollData2.alias}}
  • +
  • {{localize rollData1.skill.name}} ({{rollData1.skill.value}}) vs {{localize rollData2.skill.name}} ({{rollData2.skill.value}})
  • +
  • {{rollData1.executionTotal}} vs {{rollData2.preservationTotal}} : {{marginExecution}}
  • +
  • {{rollData1.preservationTotal}} vs {{rollData2.executionTotal}} : {{marginPreservation}}
  • + + {{#if rollData1.weapon}} +
  • {{rollData1.alias}} {{rollData1.weapon.name}} ({{rollData1.weapon.system.effect}}) +
  • + {{/if}} + + {{#if rollData2.weapon}} +
  • {{rollData2.alias}} {{rollData2.weapon.name}} ({{rollData2.weapon.system.effect}})
  • + {{/if}} + +
  • {{localize "ECRY.ui.effect"}} {{localize "ECRY.ui.execution"}} : {{effectExecution}}
  • + {{#if impactExecution}} +
  • Impact {{rollData2.alias}} : 1 {{localize (concat "ECRY.ui." impactExecution)}}
  • + + {{/if}} + {{#if bonus2}} +
  • Bonus {{rollData2.alias}} : {{bonus2}}
  • + + {{/if}} + +
  • {{localize "ECRY.ui.effect"}} {{localize "ECRY.ui.preservation"}} : {{effectPreservation}}
  • + {{#if impactPreservation}} +
  • Impact {{rollData1.alias}} : 1 {{localize (concat "ECRY.ui." impactPreservation)}}
  • + + {{/if}} + {{#if bonus1}} +
  • Bonus {{rollData1.alias}} : {{bonus1}}
  • + + {{/if}} +
+
+ + \ No newline at end of file diff --git a/templates/chat/chat-generic-result.hbs b/templates/chat/chat-generic-result.hbs new file mode 100644 index 0000000..41d2a08 --- /dev/null +++ b/templates/chat/chat-generic-result.hbs @@ -0,0 +1,65 @@ +
+ {{#if actorImg}} + {{alias}} + {{/if}} +

{{alias}}

+
+ +
+ + {{#if img}} +
+ {{name}} +
+ {{/if}} + +
+
+ +
+
    + {{#if skill}} +
  • {{localize skill.name}}: {{skill.value}}
  • + {{#if spec}} +
  • {{localize "ECRY.chat.specialization"}} {{spec.name}} (+{{spec.system.bonus}})
  • + {{/if}} + {{/if}} + + {{#if impactMalus}} +
  • {{localize "ECRY.ui.impactmalus"}}: {{impactMalus}}
  • + {{/if}} + + {{#if skillTranscendence}} +
  • {{localize "ECRY.ui.skilltranscendence"}}: {{skillTranscendence}}
  • + {{/if}} + + {{#if traitsBonusList}} + {{#each traitsBonusList as |trait idx|}} +
  • {{localize "ECRY.chat.traitbonus"}}: {{trait.name}} ({{trait.system.level}})
  • + {{/each}} + {{/if}} + {{#if traitsMalusList}} + {{#each traitsMalusList as |trait idx|}} +
  • {{localize "ECRY.chat.traitmalus"}}: {{trait.name}} ({{trait.system.level}})
  • + {{/each}} + {{/if}} + {{#if bonusMalusTraits}} +
  • {{localize "ECRY.chat.bonusmalustraits"}}: {{bonusMalusTraits}}
  • + {{/if}} + +
  • {{localize "ECRY.chat.formula"}}: {{diceFormula}}
  • +
  • {{localize "ECRY.chat.dicesum"}}: {{diceSum}}
  • +
  • {{localize "ECRY.chat.result"}}: {{total}}
  • + {{#if difficulty}} +
  • {{localize "ECRY.chat.difficulty"}}: {{difficulty}} - {{localize "ECRY.chat.margin"}}: {{margin}}
  • + {{#if isSuccess}} +
  • + {{else}} +
  • + {{/if}} + {{/if}} + +
+
+ + diff --git a/templates/dialogs/character-summary.hbs b/templates/dialogs/character-summary.hbs new file mode 100644 index 0000000..8dd88c7 --- /dev/null +++ b/templates/dialogs/character-summary.hbs @@ -0,0 +1,86 @@ +
+ +
    + +
  1. +
    Nom
    + {{#each config.attributs as |attr key|}} +
    {{attr}}
    + {{/each}} +
    Destin
    +
    Fluide
    +
    MPMB
    +
    MPMN
    + +
  2. + + {{#each pcs as |pc key|}} +
  3. + + {{#each pc.system.attributs as |attr key|}} + + {{/each}} + + + + + +
  4. + {{/each}} + +
  5. +
    PNJs
    + {{#each config.attributs as |attr key|}} +
    attr
    + {{/each}} +
    Destin
    +
    Fluide
    +
    MPMB
    +
    MPMN
    + +
  6. + + {{#each npcs as |pc key|}} +
  7. + + {{#each pc.system.attributs as |attr key|}} + + {{/each}} + + + + + +
    + +
    +
  8. + {{/each}} + +
+ +
\ No newline at end of file diff --git a/templates/dialogs/confront-dialog.hbs b/templates/dialogs/confront-dialog.hbs new file mode 100644 index 0000000..9e6a363 --- /dev/null +++ b/templates/dialogs/confront-dialog.hbs @@ -0,0 +1,140 @@ +
+
+ {{#if img}} + + {{/if}} +

{{title}} ({{skill.value}})

+
+ +
+ +
+ +
+

{{localize "ECRY.ui.execution"}} : {{executionTotal}}

+
+ {{> systems/fvtt-ecryme/templates/dialogs/partial-confront-dice-area.hbs filter="execution"}} + {{> systems/fvtt-ecryme/templates/dialogs/partial-confront-bonus-area.hbs filter="execution"}} +
+
+ +
+

{{localize "ECRY.ui.preservation"}} : {{preservationTotal}}

+
+ {{> systems/fvtt-ecryme/templates/dialogs/partial-confront-dice-area.hbs filter="preservation"}} + {{> systems/fvtt-ecryme/templates/dialogs/partial-confront-bonus-area.hbs filter="preservation"}} +
+
+ +
+ +

{{localize "ECRY.ui.dicepool"}}

+
+ {{> systems/fvtt-ecryme/templates/dialogs/partial-confront-dice-area.hbs filter="mainpool"}} +
+ +

{{localize "ECRY.ui.bonuspool"}} (Total : {{count confrontBonus}})

+
+ {{> systems/fvtt-ecryme/templates/dialogs/partial-confront-bonus-area.hbs filter="mainpool"}} +
+ + {{#if weapon}} +
+ {{localize "ECRY.ui.weapon"}} : + {{weapon.name}} ({{localize "ECRY.ui.effect"}} {{weapon.system.effect}}) +
+ {{/if}} + + {{#if impactMalus}} +
+ {{localize "ECRY.ui.impactmalus"}} : + {{impactMalus}} +
+ {{/if}} + +
+ {{localize "ECRY.ui.skilltranscendence"}} : + +
+
+ {{localize "ECRY.ui.transcendapply"}} : + +
+ + {{#if skill.spec}} +
+ {{localize "ECRY.ui.spec"}} : + +
+ {{/if}} + +
+ {{localize "ECRY.ui.traitbonus"}} : + +
+ +
+ {{localize "ECRY.ui.traitmalus"}} : + +
+ + {{#if annency}} +
+ {{localize "ECRY.ui.annency"}} : {{annency.name}} + {{annency.system.base.description}} +
+
+ {{localize "ECRY.ui.annencybonus"}} + +
+ {{/if}} + +
+ Bonus/Malus : + +
+ + +
+ +
\ No newline at end of file diff --git a/templates/dialogs/confront-start-dialog.hbs b/templates/dialogs/confront-start-dialog.hbs new file mode 100644 index 0000000..93d861f --- /dev/null +++ b/templates/dialogs/confront-start-dialog.hbs @@ -0,0 +1,13 @@ +
+
+ {{#if img}} + + {{/if}} +

{{title}}

+
+ +
+ +
+ +
\ No newline at end of file diff --git a/templates/dialogs/partial-common-roll-dialog.hbs b/templates/dialogs/partial-common-roll-dialog.hbs new file mode 100644 index 0000000..327bf48 --- /dev/null +++ b/templates/dialogs/partial-common-roll-dialog.hbs @@ -0,0 +1,90 @@ + {{#if skill}} +
+ {{localize skill.name}} : + {{skill.value}} +
+ + {{#if impactMalus}} +
+ {{localize "ECRY.ui.impactmalus"}} : + {{impactMalus}} +
+ {{/if}} + +
+ {{localize "ECRY.ui.skilltranscendence"}} : + +
+ + {{#if forcedSpec}} +
+ {{localize "ECRY.ui.spec"}} : + {{forcedSpec.name}} (+{{forcedSpec.system.bonus}}) +
+ {{else}} +
+ {{localize "ECRY.ui.spec"}} : + +
+ {{/if}} + + {{#if spleen}} +
+ {{localize "ECRY.ui.applyspleen"}} {{spleen.name}} + +
+ {{/if}} + + {{#if ideal}} +
+ {{localize "ECRY.ui.applyideal"}} {{ideal.name}} + +
+ {{/if}} + +
+ {{localize "ECRY.ui.traitbonus"}} : + +
+ +
+ {{localize "ECRY.ui.traitmalus"}} : + +
+ + {{/if}} + + +
+ Bonus/Malus : + +
+ diff --git a/templates/dialogs/partial-confront-bonus-area.hbs b/templates/dialogs/partial-confront-bonus-area.hbs new file mode 100644 index 0000000..62aa300 --- /dev/null +++ b/templates/dialogs/partial-confront-bonus-area.hbs @@ -0,0 +1,10 @@ +{{#each confrontBonus as |bonus idx|}} +{{#if (eq bonus.location ../filter)}} +
+ + + + +
+{{/if}} +{{/each}} diff --git a/templates/dialogs/partial-confront-dice-area.hbs b/templates/dialogs/partial-confront-dice-area.hbs new file mode 100644 index 0000000..8b24afc --- /dev/null +++ b/templates/dialogs/partial-confront-dice-area.hbs @@ -0,0 +1,11 @@ +{{#each availableDices as |dice idx|}} +{{#if (eq dice.location ../filter)}} +
+ + + + +
+{{/if}} +{{/each}} \ No newline at end of file diff --git a/templates/dialogs/roll-dialog-generic.hbs b/templates/dialogs/roll-dialog-generic.hbs new file mode 100644 index 0000000..4359a22 --- /dev/null +++ b/templates/dialogs/roll-dialog-generic.hbs @@ -0,0 +1,27 @@ +
+
+ {{#if img}} + + {{/if}} +

{{title}}

+
+ +
+ + {{> systems/fvtt-ecryme/templates/dialogs/partial-common-roll-dialog.hbs}} + +
+ Difficulté : + +
+ +
+ +
\ No newline at end of file diff --git a/templates/items/item-elementbio-sheet.hbs b/templates/items/item-elementbio-sheet.hbs new file mode 100644 index 0000000..8be4ccc --- /dev/null +++ b/templates/items/item-elementbio-sheet.hbs @@ -0,0 +1,27 @@ +
+
+ +
+

+
+
+ + {{> systems/fvtt-ecryme/templates/items/partial-item-nav.hbs}} + + + {{!-- Sheet Body --}} +
+ + {{> systems/fvtt-ecryme/templates/items/partial-item-description.hbs}} + +
+ +
+
    + +
+
+
+ +
+
diff --git a/templates/items/item-equipment-sheet.hbs b/templates/items/item-equipment-sheet.hbs new file mode 100644 index 0000000..799f8e1 --- /dev/null +++ b/templates/items/item-equipment-sheet.hbs @@ -0,0 +1,25 @@ +
+
+ +
+

+
+
+ + {{> systems/fvtt-ecryme/templates/items/partial-item-nav.hbs}} + + + {{!-- Sheet Body --}} +
+ + {{> systems/fvtt-ecryme/templates/items/partial-item-description.hbs}} + +
+ + {{> systems/fvtt-ecryme/templates/items/partial-item-equipment.hbs}} + +
+ + +
+
diff --git a/templates/items/item-impact-sheet.hbs b/templates/items/item-impact-sheet.hbs new file mode 100644 index 0000000..ee0cf14 --- /dev/null +++ b/templates/items/item-impact-sheet.hbs @@ -0,0 +1,48 @@ +
+
+ +
+

+
+
+ + {{> systems/fvtt-ecryme/templates/items/partial-item-nav.hbs}} + + + {{!-- Sheet Body --}} +
+ + {{> systems/fvtt-ecryme/templates/items/partial-item-description.hbs}} + +
+ +
+
    + +
  • + + +
  • + +
  • + + +
  • +
+
+
+ +
+
diff --git a/templates/items/item-maneuver-sheet.hbs b/templates/items/item-maneuver-sheet.hbs new file mode 100644 index 0000000..8be4ccc --- /dev/null +++ b/templates/items/item-maneuver-sheet.hbs @@ -0,0 +1,27 @@ +
+
+ +
+

+
+
+ + {{> systems/fvtt-ecryme/templates/items/partial-item-nav.hbs}} + + + {{!-- Sheet Body --}} +
+ + {{> systems/fvtt-ecryme/templates/items/partial-item-description.hbs}} + +
+ +
+
    + +
+
+
+ +
+
diff --git a/templates/items/item-specialization-sheet.hbs b/templates/items/item-specialization-sheet.hbs new file mode 100644 index 0000000..777dda0 --- /dev/null +++ b/templates/items/item-specialization-sheet.hbs @@ -0,0 +1,43 @@ +
+
+ +
+

+
+
+ + {{> systems/fvtt-ecryme/templates/items/partial-item-nav.hbs}} + + + {{!-- Sheet Body --}} +
+ + {{> systems/fvtt-ecryme/templates/items/partial-item-description.hbs}} + +
+ +
+
    + +
  • + + +
  • + +
  • + + +
  • + +
+
+
+ +
+
diff --git a/templates/items/item-trait-sheet.hbs b/templates/items/item-trait-sheet.hbs new file mode 100644 index 0000000..83584ba --- /dev/null +++ b/templates/items/item-trait-sheet.hbs @@ -0,0 +1,48 @@ +
+
+ +
+

+
+
+ + {{> systems/fvtt-ecryme/templates/items/partial-item-nav.hbs}} + + + {{!-- Sheet Body --}} +
+ + {{> systems/fvtt-ecryme/templates/items/partial-item-description.hbs}} + +
+ +
+
    + +
  • + + +
  • + +
  • + + +
  • +
+
+
+ +
+
diff --git a/templates/items/item-weapon-sheet.hbs b/templates/items/item-weapon-sheet.hbs new file mode 100644 index 0000000..dba2f80 --- /dev/null +++ b/templates/items/item-weapon-sheet.hbs @@ -0,0 +1,45 @@ +
+
+ +
+

+
+
+ + {{> systems/fvtt-ecryme/templates/items/partial-item-nav.hbs}} + + + {{!-- Sheet Body --}} +
+ + {{> systems/fvtt-ecryme/templates/items/partial-item-description.hbs}} + +
+ +
+
    + +
  • + + +
  • + +
  • + + +
  • + + {{> systems/fvtt-ecryme/templates/items/partial-item-equipment.hbs}} + +
+
+
+ +
+
diff --git a/templates/items/partial-item-description.hbs b/templates/items/partial-item-description.hbs new file mode 100644 index 0000000..fafd2b5 --- /dev/null +++ b/templates/items/partial-item-description.hbs @@ -0,0 +1,3 @@ +
+ {{editor description target="system.description" button=true owner=owner editable=editable}} +
diff --git a/templates/items/partial-item-equipment.hbs b/templates/items/partial-item-equipment.hbs new file mode 100644 index 0000000..3304e4f --- /dev/null +++ b/templates/items/partial-item-equipment.hbs @@ -0,0 +1,18 @@ +
  • + + +
  • + +
  • + + + +
  • + diff --git a/templates/items/partial-item-nav.hbs b/templates/items/partial-item-nav.hbs new file mode 100644 index 0000000..95b52cd --- /dev/null +++ b/templates/items/partial-item-nav.hbs @@ -0,0 +1,5 @@ +{{!-- Sheet Tab Navigation --}} +