From 18b64e929de6dc7f4a7312237c7959065c8de0ff Mon Sep 17 00:00:00 2001 From: marc barbier Date: Thu, 17 Dec 2020 10:28:05 +0100 Subject: [PATCH 1/3] =?UTF-8?q?je=20suis=20pass=C3=A9=20a=20intelj=20et=20?= =?UTF-8?q?j'ai=20ajouter=20le=20support=20de=20la=20meulse=20et=20la=20li?= =?UTF-8?q?mitation=20de=20main?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 1 + Pts3Serveur.iml | 12 ++++ bin/Serveur.class | Bin 2208 -> 2215 bytes bin/game/Board.class | Bin 628 -> 632 bytes bin/game/Command.class | Bin 1056 -> 1091 bytes bin/game/ComsJoueur.class | Bin 2329 -> 2336 bytes bin/game/DeckSerializer.class | Bin 1535 -> 1531 bytes bin/game/Hand.class | Bin 1663 -> 1757 bytes bin/game/Joueur.class | Bin 4798 -> 5203 bytes bin/game/Match.class | Bin 2642 -> 2712 bytes bin/game/PlayerTesteur.class | Bin 1040 -> 1066 bytes bin/game/SimpleUDP.class | Bin 1386 -> 1382 bytes bin/game/cards/Card.class | Bin 1124 -> 1193 bytes bin/game/cards/CardRegistery.class | Bin 6967 -> 6951 bytes .../MoyenAge/Moyen_Age_Charlemagne.class | Bin 558 -> 558 bytes .../cards/MoyenAge/Moyen_Age_CharlesV.class | Bin 548 -> 548 bytes .../cards/MoyenAge/Moyen_Age_CharlesVII.class | Bin 552 -> 552 bytes .../Moyen_Age_Chretien_De_Troyes.class | Bin 576 -> 576 bytes .../cards/MoyenAge/Moyen_Age_Christine.class | Bin 549 -> 549 bytes .../cards/MoyenAge/Moyen_Age_Clovis.class | Bin 542 -> 542 bytes .../cards/MoyenAge/Moyen_Age_Croisade.class | Bin 546 -> 546 bytes .../cards/MoyenAge/Moyen_Age_Etienne.class | Bin 543 -> 543 bytes bin/game/cards/MoyenAge/Moyen_Age_Ferré.class | Bin 540 -> 540 bytes .../cards/MoyenAge/Moyen_Age_Guerre_100.class | Bin 552 -> 552 bytes .../cards/MoyenAge/Moyen_Age_Guillaume.class | Bin 549 -> 549 bytes .../MoyenAge/Moyen_Age_Heresie_Cathares.class | Bin 571 -> 571 bytes bin/game/cards/MoyenAge/Moyen_Age_Hugue.class | Bin 537 -> 537 bytes .../cards/MoyenAge/Moyen_Age_Isabelle.class | Bin 546 -> 546 bytes bin/game/cards/MoyenAge/Moyen_Age_Jean.class | Bin 534 -> 534 bytes .../MoyenAge/Moyen_Age_Jean_Vienne.class | Bin 556 -> 556 bytes .../cards/MoyenAge/Moyen_Age_Jeanne.class | Bin 540 -> 540 bytes bin/game/cards/MoyenAge/Moyen_Age_Louis.class | Bin 538 -> 538 bytes .../Moyen_Age_Malediction_Templier.class | Bin 582 -> 582 bytes bin/game/cards/MoyenAge/Moyen_Age_Peste.class | Bin 537 -> 537 bytes .../cards/MoyenAge/Moyen_Age_Philippe.class | Bin 547 -> 547 bytes .../cards/MoyenAge/Moyen_Age_PhilippeIV.class | Bin 552 -> 552 bytes .../Moyen_Age_Philippe_Cacqueray.class | Bin 576 -> 576 bytes .../cards/MoyenAge/Moyen_Age_Pierre.class | Bin 540 -> 540 bytes .../MoyenAge/Moyen_Age_Pierre_Ermite.class | Bin 561 -> 561 bytes .../MoyenAge/Moyen_Age_Pouvoir_Du_Franc.class | Bin 570 -> 570 bytes .../Moyen_Age_Prise_Sainte_Terre.class | Bin 577 -> 577 bytes .../cards/MoyenAge/Moyen_Age_Roland.class | Bin 540 -> 540 bytes .../cards/MoyenAge/Moyen_Age_Sire_Jean.class | Bin 549 -> 549 bytes .../MoyenAge/Moyen_Age_Traite_Verdun.class | Bin 561 -> 561 bytes bin/game/cards/Mythes/Mythes_12_Travaux.class | Bin 539 -> 539 bytes bin/game/cards/Mythes/Mythes_Achille.class | Bin 530 -> 530 bytes bin/game/cards/Mythes/Mythes_Amazones.class | Bin 533 -> 533 bytes .../cards/Mythes/Mythes_Castor_Pollux.class | Bin 548 -> 548 bytes .../cards/Mythes/Mythes_Chant_Sirene.class | Bin 545 -> 545 bytes bin/game/cards/Mythes/Mythes_Chaos.class | Bin 527 -> 527 bytes .../cards/Mythes/Mythes_Cheval_Troie.class | Bin 545 -> 545 bytes bin/game/cards/Mythes/Mythes_Chiron.class | Bin 527 -> 527 bytes bin/game/cards/Mythes/Mythes_Dédale.class | Bin 530 -> 530 bytes .../cards/Mythes/Mythes_Enigme_Sphinx.class | Bin 548 -> 548 bytes bin/game/cards/Mythes/Mythes_Eole.class | Bin 521 -> 521 bytes bin/game/cards/Mythes/Mythes_Erinyes.class | Bin 532 -> 532 bytes .../Mythes/Mythes_Guerre_Sept_Chefs.class | Bin 561 -> 561 bytes bin/game/cards/Mythes/Mythes_Hades.class | Bin 527 -> 527 bytes bin/game/cards/Mythes/Mythes_Heracles.class | Bin 533 -> 533 bytes bin/game/cards/Mythes/Mythes_Hermione.class | Bin 533 -> 533 bytes bin/game/cards/Mythes/Mythes_Icar.class | Bin 521 -> 521 bytes bin/game/cards/Mythes/Mythes_Kunée.class | Bin 527 -> 527 bytes bin/game/cards/Mythes/Mythes_Minos.class | Bin 524 -> 524 bytes bin/game/cards/Mythes/Mythes_Oedipie.class | Bin 530 -> 530 bytes bin/game/cards/Mythes/Mythes_Perséphone.class | Bin 543 -> 543 bytes bin/game/cards/Mythes/Mythes_Poseidon.class | Bin 536 -> 536 bytes bin/game/cards/Mythes/Mythes_Psyché.class | Bin 530 -> 530 bytes bin/game/cards/Mythes/Mythes_Rapt.class | Bin 521 -> 521 bytes bin/game/cards/Mythes/Mythes_Sémélé.class | Bin 536 -> 536 bytes bin/game/cards/Mythes/Mythes_Thanatos.class | Bin 533 -> 533 bytes .../cards/Mythes/Mythes_Titanomachie.class | Bin 545 -> 545 bytes bin/game/cards/Mythes/Mythes_Toison.class | Bin 527 -> 527 bytes bin/game/cards/Mythes/Mythes_Zeus.class | Bin 524 -> 524 bytes .../cards/Mythes/Mythes_Zeus_VS_Typhon.class | Bin 552 -> 552 bytes .../Renaissance/Renaissance_Copernic.class | Bin 558 -> 558 bytes .../Renaissance/Renaissance_Mehmet.class | Bin 552 -> 552 bytes .../Renaissance/Renaissance_Soliman.class | Bin 557 -> 557 bytes .../Renaissance/Rennaissance_Casimir.class | Bin 559 -> 559 bytes .../Renaissance/Rennaissance_Charles.class | Bin 558 -> 558 bytes .../Renaissance/Rennaissance_Chatherine.class | Bin 567 -> 567 bytes .../Rennaissance_Chute_Constantinople.class | Bin 598 -> 598 bytes .../Rennaissance_Concile_Trente.class | Bin 579 -> 579 bytes .../Renaissance/Rennaissance_Constantin.class | Bin 569 -> 569 bytes .../Rennaissance_Decouverte_Amerique.class | Bin 594 -> 594 bytes .../Renaissance/Rennaissance_Elisabeth.class | Bin 564 -> 564 bytes .../Renaissance/Rennaissance_Ferdinand.class | Bin 564 -> 564 bytes .../Rennaissance_Fin_Guerre_Cent_Ans.class | Bin 594 -> 594 bytes .../Renaissance/Rennaissance_Francois.class | Bin 563 -> 563 bytes .../Rennaissance_Guerres_Italie.class | Bin 579 -> 579 bytes .../Renaissance/Rennaissance_Henri.class | Bin 552 -> 552 bytes .../Renaissance/Rennaissance_Henri_8.class | Bin 559 -> 559 bytes .../Renaissance/Rennaissance_Isabelle.class | Bin 561 -> 561 bytes .../cards/Renaissance/Rennaissance_Ivan.class | Bin 549 -> 549 bytes .../Renaissance/Rennaissance_Leonard.class | Bin 558 -> 558 bytes .../Renaissance/Rennaissance_Machiavel.class | Bin 564 -> 564 bytes .../Rennaissance_Michel_Ange.class | Bin 570 -> 570 bytes .../Renaissance/Rennaissance_Nobunaga.class | Bin 561 -> 561 bytes .../Rennaissance_Presse_Imprimer.class | Bin 582 -> 582 bytes .../Renaissance/Rennaissance_Rabelais.class | Bin 561 -> 561 bytes .../Renaissance/Rennaissance_Reforme.class | Bin 558 -> 558 bytes .../Rennaissance_Shakespeare.class | Bin 570 -> 570 bytes .../Rennaissance_Skanderberg.class | Bin 570 -> 570 bytes .../Rennaissance_Succession_Bourgogne.class | Bin 597 -> 597 bytes .../cards/Renaissance/Rennaissance_Vlad.class | Bin 550 -> 550 bytes bin/game/deck/Deck.class | Bin 506 -> 1145 bytes bin/game/deck/DeckRegistery.class | Bin 1011 -> 1045 bytes bin/game/deck/MoyeneAge.class | Bin 2702 -> 2702 bytes bin/game/deck/Mythes.class | Bin 2491 -> 2491 bytes bin/game/deck/Renaissance.class | Bin 2888 -> 2888 bytes src/game/Command.java | 5 +- src/game/Hand.java | 17 +++++- src/game/Joueur.java | 55 ++++++++++++------ src/game/Match.java | 18 ++++-- src/game/deck/Deck.java | 17 ++++++ 114 files changed, 99 insertions(+), 26 deletions(-) create mode 100644 Pts3Serveur.iml diff --git a/.gitignore b/.gitignore index 5e83119..42c30e0 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1,2 @@ .settings +.idea/ diff --git a/Pts3Serveur.iml b/Pts3Serveur.iml new file mode 100644 index 0000000..c7ef73a --- /dev/null +++ b/Pts3Serveur.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + \ No newline at end of file diff --git a/bin/Serveur.class b/bin/Serveur.class index 272234243234c1acb8e1a14d6f387041386cafd5..3f5ee27f969e4bd68b769d8db34b9993c1bbaddc 100644 GIT binary patch literal 2215 zcmZuyOKcNY6g@8Lcsh|`e9;ElS#%i)_9yY z-E~>1s#J+h7u|Fdkh&-=02PT1RVr1LDj`*>)MYo7x?)*X!aZ;7I4;49dGFotx#!;Z z{PVLP9sxLvqKy&|BDd3j4<`;_fk zGv&g(~R0Scz=3UsBePc4}%X4)~` zg>*LXZFgZvCTOzy1v;xb+e=TLAO9q06$9II=`5H?G5rO`Y=412m5W{}kYKjNrmpDu z)QL#~3dUwj5|S^lvuf*FK{`a~XT99A6)@Y5C9h1-{p0RP5Lj-&X~Tb?$HA!{mnRa{r`o`9b9%6`t8uqDCq8ixmD zX>q)a-K@irq*rV13`>5#3>ELk@c}-R4mSjL*NrZ_%dYpadxm_~878Zt{{OtIV7hta z1T4$TCM#vtw?q1U0W7T5^sp%gPg$fLd#g9Gd!6pPyf{a-6sZQFYKIE@>4uD;y(%j=E%$;*osbCok;q zf)$Le&Tys#`chlRx_5IR8~iwQ-KojR7whCLYlO5~3M>*5VRIXA-YlBPtQ5rcUuk%INm?+|v$w17^$xF;IsRqFHi`G$d-sB^E3KC(9W*u{tuMFpjqsJx` z>t~Xd+H&1``DXQO6>qg8xM2HvEE&P`7dm`T&WqaVn{X>z;>bpG!uQ z>V0%vl_5GqRMNYeYz_OQxQpUs>>hSjv96&@N?(#vC6vlK)+)mpP0EuJN2NdHrkgy) z$Wb?0Q~6(Y139ime2y=;-V%yXxkey4f5QJf@UJU^?Uc3AtDSzk7@?DW*u@B4=)q3x zM-m6v!XwlS((@R#C)k})_T@D8U>bXI4Jqc@$85cPX8QP|yoF_Y6>$(N=*MRmAciAE zaR^^B?^k#mH*plVkiqvD!UIPA5y$ZhhVd(-Kfy`-h7tV1zuG@Bj=wO0znSeR&fyH9kWknZ6GcJlYWW)LSloQm$YI=xGA(|NR?SaO;wH>XsnvAnVenSjm14ZnJ1%4QVnoNF)bYheDjcvz9|-`veglrYuG#p0J)nWbp_iokP4rsuUIP ts5nY^5%3c`MdtMiIo386Dh5@wR=>avTBzaYUrcl+MrEr636ghc=s$ro39JAB delta 1349 zcmY*YTTC2P82-*&_RP+1fn8YY0;MYpcA>>Bms**2g#v9Y1xj5mf|qt!Ms{I#hwKg{ zn3#PuCZ-9QC*SmG^|5_`Mv^}0gGm!j6B833jfsgyqi;TFT>mpj8#BrI&-woEzyDK< zd>m{pezloo!b`nju^f)s+)OUE38|41_U=A#YzfUFEpI(70|Et@MOb ztV}uE)CL{HxF|AxnW{)lKdaNP@KW!h27|0NeDXlTEj!ygUw)?H@>6i|7}W6!#yCb9 zqJEG$+uXIv^A?r4T@FLOf^mBxWzFmQg}KSKi@Fs5MWSqwo|b*ye7;Bj?Fa8GlX(>!790l zHEIyYqBklfWRBOpJ5sABF?;XFQ(lSX&oYbQMAkKPn=|Ityt!&y94j2f|4-1RxvYD? zv5qQDk)}Xv21s1d=D{6+{CX2_a+Y7jhH? zSTx!+9Z5aPu-QXIm+96t7;SopmIJiS*3fJyg&G3Nut@ z1en3&%2znkzmM~Va){yOxN?A(3{@~kh*?9((2nTwz%eo469at#R#$>?obIb zWfO#n)hZN>P_P`<=ysVxTX=`+9;HOq2@6mvPmm{!lO})yR-xhE@r}Z3|6v;xatfh3 xwM*gH;tc^CeNB5sYix6dj zq~|WXS;yU+-)0A_79|*g$jkfJR0OJhcjvMTch$>|&-&fY0PDmBd_h3wex4N11hPh) zcBu>YIDLjl!&k^Bs0js$8P*EakS$*-f~90R*&>0M*Eu;sbxJ#8Oj1kIN2uo3JB)sS zR%1%a^GZHi@t8(oonjcmEarG$qdS0%_XLMJPUqS3RS(Hf?4gHmocwPYc~Xtvt9x?0 W@cofPG(4GEEMSptfhCe8mVW^R3nzjA delta 387 zcmYL^%Sr=55JhiKcQP|Q52K0k5l7?FK^W16OF?&T6#RlVhCuKED%s{6@*mjO~)* z4^{P_B&Z`xKIc1gc8~n$@2}rP^qjtyC`)gO^tMRv7-@UWcFS$I8jKdKBmSLNd>-^G zP7--RALlbh7{mz=k{#}+LZfv?xoS(_)#yEfH%zxvHH~eJK7j1D+cET3RilrLW+j;o zv%WX6ePUF0HrutDWlmyrM$?XInZ{|@XGR6xb#eK^vxt!J{6QBLXov>5la2_%J;<@Wt4t z6bm1T#%=|kBwR)odg4F?GO)|z#2E_TN2wu?V|P?4KTPqQ<{jILu}Cl%$BK?U*^VE^ z7%Ml#jglgiA{&HApOLTpK%~B)HOk;(5}l_-%2A$B9F(CVSW|ckTvB)%Tvm7nJge{= zcwXT%;01-xg3l=|>t9g#BKVTRi{Q%&UjbiL_!{`S!Z*M-6}|<&t?(W2U4`#~?<@QO zyrl3lctzod;71BS2Cphy!6q~E7C}D6MkO=I{K`*aKSnElhIe6P%;5(?Sm(%rUeHSr KqgNxZ*Z%+rq_DdH literal 1056 zcmYk4TT|0e5Xbiv+J;gt;uY_A0hNk3R1l463P?yZO$x(P=g=NXFikqS$nddza>fTg zfFH{7f7&vh$;{dP?e5v^?%6+ofBhz+RkDkeV^r?)o~Rg6ugAkqk;WO#p78Iy67aBF zsUMz*cFIUQs5cv4vtcuuv;Mo?H1@;p8lx#A3X_zF=^hUtO=Cx+8AipfNUNg#4R)vLwG6#c)o2d(ewG?M?l78`cGEU@4@Tb0 zj3z`VdS~r{zwB-`Ycl(el2ojOvT{xq${cR+E1?AM2 zBem+TsnJ_#L6isxXWQP?=smPP-b5Pe(y%TKku;3ib@ccNN*JNRoTM+15(?{n=%*X- zEiCTgh7ol{iNX^QnwVe(l0oK|ep2nnV5D0(<$wtT-^N)U2GCd90Wq?0=4kgH89l5` diff --git a/bin/game/ComsJoueur.class b/bin/game/ComsJoueur.class index a06a8ac62c07293103792c8aebed9d40c1d31fa6..26ff0e66347eb4bf0fd3c16995b6d0783f5f6425 100644 GIT binary patch literal 2336 zcmZ`)ZBr9h6n+*$Hd&T{0W=8emcAH4jasW#sa7f2XaovKOJ8i42$`Ke&`?SmrmQ~?k;9S@x#8{d(M5%bIx9Cl^5|&lm)zF8V8LY_Xr}FlhhE;qnk9?ux zOBG*9&wCksoxwLM%na5vf>b3)O?vUx2O;;qRk5z(zJjbL+zsK*2fl)_$^&!5ELl!z ze(iy%`rK>={*vzsvvEa1CUPy?3P$&MmhGft+Hdg`BxPT z75`^Fv7#U~?bL*V{)%ObxuCHo++}mE&YgV4shaf_)3xL}-c0%TEl&noHyfff?KHew zP9Or8fwZb)+swjpNLZVBToq0EPVbZ_?3#k%m_XgM*GtUOve&Oj25Liip1B@|3=5KU zpxG5wOKi|QR6G%-(CMJiG@dX_*GE$85$) z<~B{szi!tS_YWM2MZByl{J^zW%({Y}YTfZjq`N3n%B~APQb57rF6$0iQpK`#Ojk{} zR%UUOGK;q41a4K#TC)88?c$!6RnbwzH3f%X-!dvJ9S`tOde(J}<4px4o$iUg(b0e{ zT^${7;cXr7;JA(^9;tA3cwjpn+N;Kmz^d1T%hp_?qSVjO5nw~dCN8LWtm6sJ>G%#) z3I_I`RbaHY_LoS<_cHAA%;MtA-9;m?g;AAS3d446!*`uvT9l1rlK&KG7t*|^MItE%nVYdeSrRx20~@l?hDjPE zO7Es?`C^xD$0)}AEWMJdJ@I_eU_-Mo$~N`Z^}S*`7Po1u(r#*Te$4MF;35G!TG^Acmdt~4s#0l)+Jj!e6q{=RM`wg zoZ$WhS9PTL1{5cDpiI0#*Xm>o-8)Eaqle41T&g?BY$H1{xee{-5NVS4gXrNs$MgLd z!~mlmAbuVvLtBW6Q#j2P(NUsJ!5O}%_#ENI28%h|3)uqW6ThH`@p_*_e}TT$9pv); zEevpLpoIf1<|aESR95>dxrMIFbx{0nwQWtVeDX8seSOO~UInr&h5cMNS+ zp5tKt5Ci24Tb2CbtABKPuxD*5T5K)tqyTXE{!=vXDFg-Dh?1URJs|6+~Q!B9bBK-^0ezb+7q5j9( d^r8}6V$m-rN>GR~iGXQ*#F$BvGa;MV{{TD704x9i literal 2329 zcmZuyYf}_Q6g|yrU>QLcR0NfQJY*MjHJZez2~mQ{$|{D{jl{f$-4;i7XV!V3=H)NQ z5AhqZB2>kyRI2=ts{EvUNOHPomL0$;4Oy7; z8o@O$l96wqOJM&4d)+S7ZFjY>xbi?&LxH|P`s>nPj5t10()*5=>~gUgh2_wfcH^Qz zZyZ{51;%$p7Tt7UPvBM8BohwBVXh1dWxd2KJ(nEU2|p4TnclOTs|aM~A6I2FbUZgO zFeotG!c<(`-Vx}U^J+4KPGn8=V_2YbI#)4pKwzvDA2UpI$lwqT8yKZJI;f4y#2Chv zXfjM65Ez}#wW+4%$Y2CVRqbN}hZ81BxO7ae(gy*{L^pa2OfhgLwv=iL+M6cc!rKA^ zM3LGOIFtgB+PIj(B&HRHoC3OyGaV8`m@#3XSAjWcq7NA|Ejg~d5j9q%f6HE}OMz_3 ztJ?L7?K^6oEOv$Woj~<*mz&tfOx1H;T8NEeI|Av}1P&x1w8Q8d$6dXct0<}7GwICp z0{xGCCzLJo?TC*T8Q+HsxMYAeQhqHz2}0R0@gZoPPEXnOz&7KXtkm+Ufsd(}7CHsv zO61gQ((lC;`nXK6gl1(hi%*n(=hWz`iBItv4Qe-=n$5}Av59N$&CF)Z;+lyClvpA3 zV)n}AiGfl_7<&UZ4J@YIouXjkbDR?}nu=AO>KY9h1oo>k?Xt;lc<>Z z0(aOQ-q~79=A9T4oeg}sQ()aLrTteXzSb&BpMrfWaBF^PY5w+-6}i%?*6kpWmg~7z z=zG!nt7n#Ny?Pc(PHi`E8V+|)SPJkH>03319+&H$8b6FA=YbVV(+gVwy{Ia=oQAa6 zQv>8^wJFZ2VmG|-su#Jn)a@4xn@V-!^>LJ@ZIRUL!S#LR(5|jsx0{L22Oil@c-gHj zwUiX7o4BQV+2_kJ^4*GE7wE3my?{E8plQOzuu{Cq5MJ2$ePcsg{cb-ltk*SNRQF&O zS@q|Ua@u3Qw_HuJh;>PvN{~Pef?!Nx==JRVXq8}#L_i@(6*#P!)ROh&Z-|74ohVm~lvOKeigIhTA z0u!80s_7eBIQ|0p{LBlS_?598IK{sQSqaS6g+UB6*A#|u99b0fp3aHWIKvsU;~k

QG`@*--SH=FWU&J0X|D?@1%{KvJd7XkqsH@-2J-X&(CGcv diff --git a/bin/game/DeckSerializer.class b/bin/game/DeckSerializer.class index de5a988eec6371eb61503182175ebcb65d08f06c..0ee51c554130474d5102f74f068c4c91e50d1052 100644 GIT binary patch literal 1531 zcmZuw$yO6V6up%MI%%6BjDnybpiKzGd5WS4g3%C%I2>iwBrPj7(Yxl1G56)4%)oBO~Ec$i5SMOEbd*7>H|GusPIEDKvS~04k1!D>lDvsf}iW4}g zB8XE8PD|&Ef+6WMEr_#WoRk0a(p-?+$$g07qBNHjj4QY-P=C=XTF$sYP#=CE5SlFI zO@XGgRWvgz&*n}0o-towq$OR-8HERiZAsq?hMYyKEYO}_FrJx-DKqypYcio=y*BNn zKtp-clUo9VdNnam&&^H_r=wu%cZ6M2E=otXkr+k9@?Wz)N&{F~V`eDcLW$ z<-0CN7`ti}ToF*Sr4>78PFqr}R=*TulB9+ zX4nl^-WpmB*OAh212@S&E*EJHv&d+;h1(kL;I4)&?h(fxeWA9s+i%S;nK_4wxS$k$z80;5h6);KAHE50yx;gU zLQkRyx)i!e0%$@M&FG^YCjUwPQ{*mb#d!M=2D#VI3gSQ&V-%Ng7z3o(hcWICQIaF> zNr8VDQV>)S5$jA)%fCoJj${5t|nX%oKAn1V4g08gM|MC1n+4diCXk zv>%!ac`4AIDrU|6yvfR3d%=LSWR(OCrS@r^5NIk@fhbf0{YE7*$CV2-5lhvuWgOco zEG9w_Xw%V-7S7L$_G{D5d4x)91R`=|w7U*dZTU*tC0R?=a9H5*?)uZKRz4@~5W3K# zpTV?;o6ic_|2z7;TxXFC+CxR;3S6Vot8 zkDgU@sZ}M=2!d)jt>X;N(s^@bMHZ;xsIgDw9ifUHo?MAWoTv07s?xZsba7V!&%C{U zRtu<;mvtmCL2;d8C10SUDz1Ayy(-kLghgyg-Z$5rS#!m`o=VZ{ zI&R=5J6evkO{d7Bk!nZRv!oYK9K>zh(ZDM0HAkzvI_@Gx_X_e2A5T4I&lGh&tz!=N z=--lAO1r6iUQdZF%lo;<8i7!zxN2wRO-ntnaQ(|2Qz&qZkHOD34g~m%Pm`m@Rh+Zn z+%U9(#!vj=Lx`i=R^vgAdL@B#6IVerqlJ`bmBf9kc5KX0pAw?jRG3Fh@aNo MhI=70-1Fh#KNFQu1^@s6 diff --git a/bin/game/Hand.class b/bin/game/Hand.class index b4d914208f6d7fb8ed3ac673668c6089c4f86ae7..e4a99b8b6903fcbe9ef81af132bc415790eee2f3 100644 GIT binary patch literal 1757 zcmZuxTUQfT6#mX+!jNPPcdP{kwYDJ$5v9-?pkgQ`ZHTQXsJ*Zb$t)NQ6FZq$?Q?%X zU+q&@UwHAMU8~|k*Xr`Q?|teoX_vix=S(07KAb)0?6dc`zkNCL`@heA12B%&I684T zh7M#cOvMoi57TjKX5#n&R}z@TRV8u>T*RCbA6l4Kejh2ZpziWYd~D$p3k3mlLwaR_ z_QIyTFEjPPtz-&rEyxPQmfUqu26f*NID6=Ns<1A%oJ>jj{ELug|UKi>nK>#W?|y7dV!ydbL1$!LqE>od~mx3bahQo*T>vbfpdh z4J|WBu39Fewu0+9#roEo2&Q)sn0%OW#%JhSCf++?qflL|S03nx`+nAyO)@ z0L3PkOEOD=EZtp{_ZqIPrK%T5*Q0xPD$Ktkz4c74B5Sqm5a}BwDbR7G6oe}&y{_m1 z7lEkjm7NCyy{}SzcyEvHxx-FV!$;s}*!@L;)DcdvwN*S@d}phApC#&M#z*jY@7Ct) zm5M+lHFQTHzErLIC1>7MRgI~djjB{^oJ7&aalFCSG^b_O_vJ%1GB&!q5HkL7IV+FU^yhGDt<2LTt_*|Ke;|m*K;wy&MRw_ORs9DTwYnx6f zV85Fj@`2;apz7-k*wW;y1E@ynb$KV72r2=3%Q9p29IR{@EvxF%>h6c>C0^5cFFZ%f z+K{!P^MF{Ur$60$mU<8xXvA7~0zF6}w`O+Xbg?JS*L7Lp?DeRgHShNk%$oZx`@@#y zahiXCPQD)Xg4hJmi#r3oT!b!#hYmLbU&}X85P^n4YGlc#7npQHOaR!FgmbN-|^o6OZGPrkd8a z9T?`Vs^`Q$)d_lxvR(#lGdhtAytk=QRwG2=v**4Ok$+$d3m0GFv<3Swat|ARi5BB{ zmr}L$Dv?w%k}9XZU9=f0iJz%4G}{)9Jb9pp$$c(K%|P{#54wT3KtIK$E38pF$M{EB h<~GcTDnZz#5HzbnL+V`(P(?ioqvMJ~eNVG^|9^_8S8f0R literal 1663 zcmZuxTT@$A6#n+f2?vtXa0{sjMUc|wVjFLW5+b*-@Rb8gVPISD zdHEZ-gKGI6_n3!jo+@q83SWo@3*PwFV}0K_G|1U*&DuE)s03W!>IH#>ZROs z#-CXekc%z~SRz4w=mk2g2MVc9mu9)v+WJBqD|pYryBtxsrH<9b6`{$ldG|Tw2v%KO z!~1RC1z8X8rrQ==as9x>4WXpZ`=+U@4Jq@Xi;qxLaCUTKgBi_!2`^=Z;U3CbNfe@f zt>WERu*zB-PR)X=k~+Cm5B58YHFrAObE$H0yR#Wx@I)MVd-Z$V*(6u+nX1C>T^A(~ z_?S2t)_O;+5ZkObgR*zsm(3rLy}m47nBf(P@L90<@t#m}jMPsJ?-&1V>f&&Do}qM` z-r_r!eTqaj_XNY)-!OXjDaM{4^@|C8f#(RrzyKQwrWr&MLl~zf)e6Ron4rWorU?1Q zB+j)cYy0ZAUgSo=)}Y;^5fB8)+2`62IG`TJI!=6Bw!X7_!^{f z5jo29$QZm?L*2qL-UX~ZnI)b6OpRr_k!=BYuRGYpG3tcD LDueyP_<#97Q2|YG diff --git a/bin/game/Joueur.class b/bin/game/Joueur.class index d9c260a3542fe53eb66c6270323c43db5671b66a..7c00dd8fb0c62f395ac23e1a785956e4412ef80e 100644 GIT binary patch literal 5203 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 diff --git a/bin/game/Match.class b/bin/game/Match.class index 7fb15573cddb4d198946ab6e489978bf535bd404..56058578d7ae0c70a0707fbb97ef3bac21ade2b4 100644 GIT binary patch literal 2712 zcmZuySyL2O6#jZi691JVw$0W#+h#H=}}44?EAh4 zv%K)o6Xu+I&?z#7#`+aA*{rf*Z{{o;3-)pGEsEV^1 zLKrPa9Ahe;(ohmi&WSdzVnRbX&dc(ohzl}(TE&!{zF3ZDaH$N>YIqKpH7-9d%Z6yv zDv~nJh%m)Gt6>iFqFEa1u^`$N5h)RA4K^In7DZeY;flzJ@I+)qToZrSMZ2M5NrAfH zWX-I5P(gHf&Pbby)Be1tu+pKRWZE&@83lTAkdR8iNjut1) zwbCP&ZFxr(?2ZM8`kZto@A@G_>m;4^IWwk$s$t7EN3-c^)15G;Q?%3!J4quoX}Ffm z^TvobZ)FOAMhq`G&r7vD7v80y`k`wI8#??AYSOW7GwBr=qzrp5F){C&hOmo{dq(og zh_UEjsp175@4t~W7d^|dd3V^&+LSQ?uMlTl5C+Rh44p0Pqn~Qio;k(9o|yGacPNv| za&H-JK4|jxoUE&0Lq1IT5Q)>$fDOZM+Gd)ms+cxBFJ+F+8yWi0#(6Ml4pB^9sgcnz=XcmusU-o#BEr!c5sqksGQ=;-K|O#>p{!rLm|(eWv6(>iBLg6!~~p`9#;M zk<@MThS%#jDbolNdQm~`!&NIOX>`r2Su^9EG(4ltnGne>7c2A$;8;kSZUN-whM4k>rIX8Pgjhlt^sI zFH|dYlDX$R?2Jy@y8xwuC*;iS_$rk6eT1e~5x$2A)e@?u z_n^jqgqlOyGFoUXpK4o$b`KT4-tO!A3YvC;yG-*O9Wv&MtKxflsYj*sa0V!HeeU3+2b`hhFbPR9WJ1eUz$xYxtc~3uA&)B z*n(SVK{rpw14cN6!<>;D9>)`8Em{w?5KmR(2%hAfM`_)N&;vRTtB9*O#($sz$GH&U zp?d!KLQpbX_>G4{9FGLNYL^iUs8MT)i*XfoGU^;x9{e@Tur{nb_=7{^3d;QHU3#b` zslD`_U?RFX2IM7Gh42uxn#`7_v?ZZjp zJXFw#Gam$@8Re&ZRzST2SeNxEvloCd_wX_er3kO^mn=~xNqAs zG`VucZ?}pO#(Vo6RJ28M*unVAxRbVB{OxYfVNY8-chk5x&OVFL+Pa1`PK>~LMs|ud zbcxTwW!8+rs3wVSmWbvUPm5d@eB@F+M3P4?+7RnZ;rUML?L;iqQ;A4TpNjIoQAHV9 n$BQ2+?w1Hl3y1hq1Ww4G%6kJi{#EtCV&N(!f0cq^fB(q83%n#n literal 2642 zcmZuzTUQfT6#ga&48}nX7eT>mQAj|dh@yq6$i-qosn96Y+Ym+=OeQ#)AoOBe?frgl z=|f+6wyVUhx>g_h*tb6Q-_(BlObB7owMfo6`|R7d_jfk=>)+r10MLaWbp$koXUwz} zA2Ge;td5X|9dqV_8BdwcOniLSwajS^`dlVw<=kT$DuxZO&Sx?y%XCz%NgXW|m((nb zX2c|!Rt+_qvHIB^F;IqbNhEGSN4XdsGteOj>Rszz&dPfIre_YAZffZQ+b0Ks*=gW} zg6Za*E$r}V9jDeHsE&>;Wj!lx;CZm@1QJH+Wz)2ECLu3<2iV7V{K~H8J$4WA2fqo_Y zrnAa1&rIGOG3QlC9aor~YT7yt1;Dtl<`ovS(6|CYeRNk1ToZH=%bAv*^xp9-cPN|9 zk$}yZH1MiWM7OiODSLr34L1zj6pIR4C|G^%eTOJ<>I*Ss&` zKQ!t!ZCKg&nUF<1#O*}!vDjK=n%kBPE9Ekmj z19?2RjJ*^#PqaQkbQNuC-=_BMD`+S=`d7YMJB{1&ILf7+%TomDwC2*0JdXc@lT|%= zoQdVp|Cnh6ae?21Ob$#tBtw{K*D&dQltod+`BjZxO8QZYQS8KZ&g3L^V-5{)(TD}? z!2{0RhqQQ+USd8x4B;YA1d5k1O!%@J;VwX{2rl6=V~2j!d5If@E+{x0Ad@{=}ygSCt*|8Q3lZq38-VXWT~Z0TKFFpqnpBddU`WQXch z$Br`PHE`{UlAXNm;{7Sq<1{MVBYZILw1)C{ zx3!Ju#ymcVu@Rr}^Ep3Xt*3U7?tui$eT^wiVn3fm6gS9|oBTy^i`=?hQpm32L+HY{ zYAV#x;ydmFivIk`SJkJJcmbJa1&W+t0HM4lQ3L9U$~*xqO8R%YGhS^ zf@C)S0}{gq7B#x?2e|Mzxb{aF&x{)5B=6mO&pqef^X8rUL4E%9=jSf~Zem?S78QwE z6>}OcVP4|0h6JvpP(@9JsiBUmVW%N+Ed-k?79_4qED9u79oO;K1Y*_N6M^`Kw`U(c zbAtEEa`0A}3ce`|b2`S66VTgM*KTfj-LB>Ck=k?Iw!{sc9+rZfD5jT@lenehHtqyN zVOAwpblk;~j#boTg{H;www3gwCtYmc&?5$lJm;r6#*lf|EOaf+WlSoz_$l| zf$@K$hcEZ-mM@U~>*HX{8<2GLV`iRcukX12j&HSI?e?vf{hxH_kmI_+3o#v>ih?E} zBX-9PzKhC`kM{;XD#-9phMxkek>hQ!YBCDOg!vKTG-^-qPW}dwXRiOrCsAOP!Z{R) zgyK&erZ6^4BQ`?(7{+#egyb2dp^lJ>otUE`w5P|&Y@b0l#v&|!5^0j0l;EU`C?ky+ z!mW$k1y)HKOflCmM%x+g&61fXw@CIRA5%b$KI$k%4$IVQ<;jKPqA0o26RSSQV3JJXb@krjJa zHuED$lnpFu;=;s@3x9)uz<=P%cxH5goBMIzz4x4Z-v{lz_Wb+r&tCvEa9=_ZFk4Q? zwYS>Nf!o`0_d~belSm1S?>TQAyY2Wbd-LU<+YANLtDf(L4+PZ3>QjN#TJXx%p(0~o z1nI#Gud3l3@vi5$bmTE1Q4q)_1ZzQO|8dagbOS|9MlEG-S4RmKB+d)u6EZKb*Eb)& zZMxmi3w#69NVC1$^Zal-begYsdQQ{LU>0SGx&IVyA5eJ5Kn3&BM`c#kun@fyRzt^S zEJ|EC!?5*tT+ek_U&W+=Oc>gJEV*XjD(cZsrIL?{Yy(S}=fXih)NmvEA)crbE74a` z9Q>Ldd|QbMV(E~yEa6Q7g%NK-E1B8!f_}vM1nnew)@kEsf*7SW{>28ym}QVfj!4{m z!eI)1-7?3AFppqv)P|Tk#f*7zh)e3RHH7u-2-(ApQ(QBzCs^t@=}B`^2~(Is8OxLw zvs#HACA-0Bj7(YnM2=Mj)=hAUVtfzO*cmG;Co9!)6StV@tZv{owN)55aEH-d;s#QM Sb%|2;k;Jl2@E$=0tA79looA{5 diff --git a/bin/game/SimpleUDP.class b/bin/game/SimpleUDP.class index 76c42d4d5028db6c75943b63ecd82815e2b6395d..cd41b786517e3c8510101c363e34f0f964bf7f7b 100644 GIT binary patch literal 1382 zcmZuw*-{fh6g{1UjEut)Kn$QlTtg7zf-7!7K%)VoQK~GTCZP$VB%vk~%FlAAN~`<; zKg#mlnUF?Mk6m`k=i91;gIja&^6~FxrmFGITLGXGmnP=6VV$s}OzQR2}b;!fdh~{U2ug zqDeBnNsQ&%mR1&U)&81Z%-DjLj{?TStpoXXy= zev`>li&?bmI>1$k9id`CU01jAwq&Pps;P3HX4l1~ALL z=KEs`7eI@Wm5(L8=Q*`%-9Sdca&^hs*N4<2$>~5{H?&!(HQbV3btL!xR%Uae!ombr zES$oqfmI7n@yx<$#4Tj;+`<^f6;2;%WWZ-(7$frjg@K%fHLS~K!$KbGtmFSVT6l?9 z77Btpf!9>hUFfbS8^!m!#9|KnC{8V%-DsuGnM+DR2U@xgd(&UmUdI?I#19K1W7u&c zGsxJyKVwAWl$}k!TgtY3+Zmh{wxd-zWQ|Do70w(poz2F{`>5dibHJWyHZ71KbIeIi zPRkF}OHDalEqgn>lz2Wsg8$?Y|KA8gQgC`9X_s%=DOywdL>q=;WzTRu%UzjqVcN0O z0aR+{J3^_eKM?+o2u;sdL_hN~gmYX+(Zh9+6fyLYEJmU@sU~?k6@bttxFeiTu6*x2 zE)YTCA}-Meq)|UU@e9V=)Hj@v?>Cpo7eo)xyGA!eezQ&9?>~r>aGWF)9i)jCX#$sV zg+y`6OJbU2DGG@2WQN~W%r@z_nMjB?sV@2hoXiRD%nw+<(D#&PPc90~d%T{Qv*} literal 1386 zcmZuxX;T_O6zl=w#?5+Ps4+@Tz=PZ-(H!Cx5>yhDD$7p`jJPUCEsK?(l}oLPRsMkd zs8o7(5is!sGdnZyb@%Ie!|y-8&H>C~OM_3KvtSlwENvAlhjMEvr6C~Dy>A|wu|u;| zh;3x|WzG@sXKT9xzMZ&$URz3~rF|r8w!m=GjV(zhwq!bH!8VKOa_&Gna{`)~&)c$E z6&P$rB^bKk?K31$DceLB34ykGt7JKE1g68y=zlPq2X&H2h8Tu zw+s>|RLpGyH(-!3X_e%9t(cYerkOpI0=>y{&OFSRwx!nf&49CK(WLI=<*T4Qde*E; zPpm*sQ&huZy(&xjl&K6C7^oZPUR>I-tx{o58Kf_N$;pail}l9((*k|24^}yr*l3(+ zhzSfe47%{$gH|;?GH?xTI%e=h+5A*sEW8s>G&Qvvm55|?JjV+Svsa;B*#8o*czvn_ z`g+B!d+crvT9J)p7F-Kmm90gxc`9`euIR@)ihyCuoOL9e%fpJyfB0*Jw zUM0&0R+Lzc5Rw=g-d}nqp4%$%AQN5JW%ja(BW5 z!9CpPif}HuaK9cPOay@lqMRqW7vO5jr9YrlMISoD%y#rA9;)9thtcl{o#OEtKl`ZU zSyM(Y(-pxG$%7an^=ONPP(wlpbC@SlkYZosjVs|T-u)+Gmu2~g7`-In6bnhkJ$Ztq tGpufNPWU;jog(#>(ViupuK00UF+oKkSI3}-R@c$PeZ|f{Go;q=m_Vmazn zd%vo@9a*)BWGik>+Pl)Tv>k#`ziG7uGL?qhSLK@Y>aFqy<%&S6q5SnQAwx5zMqY$j zN2qVA_p)uDIQ2k(y-e59(cajyrs^!JYi_ER@41H>NxRNY+jF*k>G=Xl-`(~-%V`MY z@`cKt{3y$|bQ*x;01r((!s7&iyaIdA)?>t5n^8g+9k>?qLfL>6sKvB zp2j#4vrEPVCTV3bh3PPGnXe8UD}F`f6O|$8K=A;~^pImGVuivx+gLKdvIu^Db->IdTQj*-YF kJ4kUE#y6xpFgv*LnO?nh{1P+z5woGw`1O18KR+EC2ui literal 1124 zcmah|YflqF6g>ld&~}uTm!SB7Dz-(bZ!{QFjLkU|nsx znglh!q1+7>IM(k5V`j@~3*>5j4Xy~JsO3n6y+<_!r0>}gymM7UH(4lh*L2$i{+^9w zd~dxIcy*%!j%396brU#Vi^2=V+R4nK=t>gTsk%SB+Hu^b4${a&+ELwe;}Bfxv5L14{#eTqy78Odk=kGlOYhuM$+0aMnte*gdg diff --git a/bin/game/cards/CardRegistery.class b/bin/game/cards/CardRegistery.class index 694f6ba614696c241c01adc5ad692c3a7f6233fc..839ad7c40bd7c6905f604b5f68b242be094c09c7 100644 GIT binary patch literal 6951 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 literal 6967 zcma)B3wRXO75?u`U?2pLrxc0;iY6e0M=RJ+YFq-WCJ>V}6iS^=HkaLj-I--(HxhhN zQA?|(R4r9Okcwa|m8U=e0Z9=>X^~c?wOCuM)!N$HhpjDNzn(iAa+6JVci?09pV{+1 z_nvd_;pG1g90o827c?jgL&8Rk7l#a|-YpK$XB7{dZh||F8uAz}S!^^I#Zkiw7tgI* z%tHx=9*#%hG}5o--p|Q|87(d+t`dfx)n?c-5=nKvB zx%FjUB4WA>L({di`ADkz2~BB^4`di1Ju7t_qfxk*j{)f26AYIYpc}et_zc69?Hs6R zOhmX_ochu$x#PAp#Ur-Gdtn%cYxpcfA1PKyEWl;BoV+yZ>lp?Wwu?_H+9gE`G>l}p zJfoIC#B^*+!xao8G7`;bX{tA(T*K&WRAr87HF8(O)!C@#@_I9FlB^iO z@TgvDg=sY{^_lG|qmD<(N)6P2$N5qt>Vnb0qZ*P7g??Cq4PpV_>Qg~k)O5+JL_`Cf zU3@91jT#iF+kE;w$F56SM%d7Bhu`%PG3dxZeU~D8mrplla;M(342ul=hEKzS!f&r# zt@N4m>LsLrJ9NGZYq-}hQ^Z)p-8eTKa_5_L{_~T=nWm+;R-pi=I$dhfn)w#PBtOh4 zMpq9ejHoDx_cKiO!xxAo6I_?O(~gVg^&N)Eez+?g?z&tL#^R0{<5X_G>(kd6JY**u zxI?;2iP2n|B(2}`=_^?qGNYVoKZS|-9`fmHbuttpd#TgwH`qxhY=^~a`@YX=QNp^a^{-@GM!Eb`Iz)cy=-@0`+)W z6YWe`Nry5s9w*w3Ifa(nNnz}!oI+c>P_2e1J64U1j=8nLpoXV%QeQMTNV2!)4DXHH zutesX($0RJ!yqU%{3xfyN>em{4L?phadehgmN2Q66Y2JxLa97C;^?_EXJBPj+MRR7 z2$%HQRwJHEJ9>4tR~+{AR2cR#OlY^MyGYu_H0S{%L_3l$dm5T^s+g6e3xJUnTjO9( z;y}cq+n!hEpU-Iz5pxl5eTLZVIwC%4d& zivt@mhWKRxeucLfG?V)Kvbl>gj2%c}_mCLTOr!}(yRk&d9tK87az;dhJC0o%;}=IS zqtltXw3aNaP8gvj6-K;uWHYcZSd`9MBE0YXx=V?|$M*{G2fR;XBiCF`M|+wf1;y(> z7T^p%6b^Tg)jDa>@MoGU$#IwGDML3ePF_~pRS_{SqO6FK)W-$*8~#pXF-l%5&w#?t zE{LrBQyB1bvWxDlH1Fw`K9(vGM4uL*zertvH8txHpGhsBrdu5bRO5w}7)it`4f1H_ zCZH4HxIn^%65b-= z*CnizuwKGN5=JCkEMZhaOTxH>j)Vyb8zfvN;c^LYm+(#rS4eobg!f2zpMACqvsgc~G$Lc$+PxLLw25_sq$-k4>kmV-TxY4IW@R-N_bXHA~VJYX#P@`{}l{77wyb zbo<$chuJ>5#~j02c8abiXYmL-PnVC6@EH3P>y$jKSNh^{Whgc%qp?w$fG3m^Y*J?8 zN#$m2Ru{4FGZsi^9Q9i_T z$|u;XGVD_euwT6t&FUx|P{-k*Iu(c10G?Op;IKL$N7Q;8Rc*YWF2^zTUbLuda9mx7 z7u78|q3*;>>LI+Wp1?`<3|>*s;Z^m0obrmXD7ZaEqoC58s_4J)>Ue^l#cxCQ<8>;$ zW14YR!L(t@MrgyfB2V2$zvV%c_C8);I8C3gp*KkqC4O*<7r(|idg@IQ-^OpK$iG8R zsq#OBe)}yw{f_?ifN}wY+4Z8goWc1vOWyS?xrLrZ^B9$~q#3`b|6|z`&U zq0RU}!BPBa2T`f*Yj=qJiUZiWxUi@`G z{vjMyJfZoXQ|CzN+wBDQ!YB9_(exB&pjI(cJR#KE$hs5gz90V<3q568O3Hbnf440G QA_yv&_|KmIc@O;+;($wu%$dGRE8@CW## z#7SBqmK?f=nRjOA*_qkzpU*DglDphmq}fPGG{pU0v?N@&$D?xyiH$4G7iK-Oi4}MkY|yId60-R z1}6~eQath^Qe&mK|6KLH`FC+Gc%(uGi)!68R}A)jT4cVslI1W5Rg=}XPoMY;Z$pQ{ zFj#vcTDDf}(hlgOMPF1N9rPtI$eI)l$usiC(FfQ&i54uf<|2s=((R?*giR5{R+TB? l6N*Y$bIdn#b+l7MHTi5QWb)X`?Z9*XaV;W5pNNxn*$&D+)g%99E ziIcXASc@`MF=;AD;kDuw$V{=!R;_y+CE-ymynnaMBNXE{39p-b7_FPgR(( z1(VRKlzRdZ8fQ@w>2rdy-yIN4FCDWD1M3dzXb9m)3Evje5oh;m6f>dir-6zGDvQc^ zku>!r$_a;lWx(J2oD$rS^#wnuBG!GaRq!<1;`-Oa6{}cJ2$s}(X|4(OU0P%TUqc2=V8*>2lE1d3sd diff --git a/bin/game/cards/MoyenAge/Moyen_Age_CharlesV.class b/bin/game/cards/MoyenAge/Moyen_Age_CharlesV.class index d388bc0b67db59c00004d87815b9e7f20e68acc3..c2a40edc477ee29bc42c3b389129b85741f0911d 100644 GIT binary patch literal 548 zcma)&&q~8U5XQgF-x_NhtDsjAq>7r0H$^BBQHWlYT+23HlW3YivK4$MFP;PsK7bD; zPSRLX@z6c&d^0=0{bu*;`{NV92{tXLSU1r#vB6-R#c3?h8Pxv1&!D;4STJxd)?GHu192IblWbKE3l|?h@@L+L2AyGV zxmoCqjYgM7#|{+wnR02MpMXxgL7795QPdCK!QMzHFljetMYKq_YrO)CGKSTvQo=`+ pm9T0XuN0bSr-7>YMc0-=xBo>ubM&xwRa$>dcN?TKH|-_`3F*Xe-40|D;3Mb(Cq;RgYXORv=F&86JBRArCA`0Jt z#?Wo_x-lH?&_#C@?9O*K~+gidL;HtWm|#L6>3) tA5kv*R9kWCRHYGf)cy~;{VTe@Ko4tIrTx=%w?Qfk(_XdO#y2+sUAO=M diff --git a/bin/game/cards/MoyenAge/Moyen_Age_CharlesVII.class b/bin/game/cards/MoyenAge/Moyen_Age_CharlesVII.class index 6f0d0319498054dfb648a5aecfe805d1ec0a1ff7..45b188dc61992d025d1c8df318744764148c6803 100644 GIT binary patch literal 552 zcma)&&rX9t5XQfy{86k@tCt>)m)aP)c+;3P7$XUK(Qs|HbOn?`0*i_7K?79PagR*??Q#f zF#PX4v}vQ%p#^XNh5n~HD(F9;k<}@($usiW=pF2hgaU)CzDQz&ba$yYVN%4fRc9*r mn4$_+jMvIGNUK3A_$9YjNv%x|){;A`q~0bE*OFE}S?>oNEMFV| literal 552 zcmaKo!A^rf5QhJyP!v&W_0ps9QX3;j4>cwY#z=x*G+di4T>+(#z+&P%dGTc8!3Xf6 zj05cfY2)Ree`e>~o!Rf7&o2PyIMksq3`4#UcEIy_Vc%x2BAtX{X{O|+PQ>#>6u#@~ zP#LU7w?hm=_aaVXdCAZjp7;!^lg)*J4z^8b=n~<@skkc_Gm$^=St1zvUKa4g=XqS^ ztD-8SxL_E0jR*c6XUxzGg}f4vyiDXoN*+AdL%4qqZUj$c#Gq5JlNFM|xX;Qw5Z7@v z%bG1qy>(J+lY@=q{yN!hlgAs$em&X2FE%z`P5=M^ diff --git a/bin/game/cards/MoyenAge/Moyen_Age_Chretien_De_Troyes.class b/bin/game/cards/MoyenAge/Moyen_Age_Chretien_De_Troyes.class index 364884402ef73cea4f41f62ce4ee540248f2b6cf..14a28004e26df803017fbfab27d68c8c8c7bd16f 100644 GIT binary patch literal 576 zcmb7=!AiqG5QhIvlSXT8YxUr@o>at$cvFOuA_~!qrPr`c$7D54AlVAOlNV2d2Oq$P z5+`YeYU{y0%>4iCe$4EAe7?N{IKfs86>QjO+t?JSo~cCXbAih4-ax=~(-8?YJ(bYS zWIUv-FNZN#+FlyScpx)X_*v1^k;(;*y-<$H31l|Po$K_8l5R*-;j{AHC?l;X@q6U= zGrrGH1zI8L9^J`Fth-vv;GrDh>c_<;$yi4MHotY#Tnp50(@7T4g(_z1l)e6Fadcn3FnDjpF~NI+#j(oH;Vd{?`>zl$EDYEjtJ5M@Sl4HI6*YDO rYh|T?57-s3VLlgej%>`42ENJlMbi3BZZ9Ppi{wJjouy>6oUHW)Y`kfU literal 576 zcma)&!A`KlorNg=ea>bT2bWn z$r~nIPc4`N%>v~zD^NREk-Lpcsfpgo9v z8IEM4vV3`H>OiFe-9cf%zt%bvXiZ7?>0Zu5-P2n7kNGm!KMGeQLmdcMeAkUrEl|IU z=ZR03D%+`(&-&x##}D#Jq62Qr9|)N2_-(8fXAVcfv3mH1wO2L<>a1Cr53#{&FTIUT v&IB50vS#oR$LyYAzGPY;8wJwf4hynXCab^6-Ie54nJmrRTS>O_&9=V*|4V7T diff --git a/bin/game/cards/MoyenAge/Moyen_Age_Christine.class b/bin/game/cards/MoyenAge/Moyen_Age_Christine.class index 4cdc88202a08627b85008b456b4c6d91b87cca50..04f1b5f872c2a55c0afa7786f0a2e36e99ab673a 100644 GIT binary patch literal 549 zcma)&&q~8U5XQgFUyZG;RnV(mv?Au>O%X~&6rvZU*RoC5WHn77*$BRq7f*r*AHata zCuxP$^xz(5znPui%s2`9F|1XQ5rJxJb8jixsV3|G09BA*3IG5A literal 549 zcmaKo&q~8U5XQgFpGIS9YZdgW7p;gn_MiwQA_~!q(rekKYqFXqkZc6s$%`k!gAd?C ziIcR4)D$n@e6u^hnc4mR`TPPfz>Wot;V|Sg;RZaL=I(9!Dw1I+=4MQ8>_wT(l}v;M zgP~I^_6T8Uoy$b33kLnDKVmSvbSiARDP!0~hqQ!G nD3*1a{#I&@Y}ZJQI?Ty#lQjR5yDQ19CfS&Iu#)Umn{EFBhNfRU diff --git a/bin/game/cards/MoyenAge/Moyen_Age_Clovis.class b/bin/game/cards/MoyenAge/Moyen_Age_Clovis.class index d20ed9c9d876f768d90e1c8f7d0e9d8bca7f5a3b..9621baa8f07a7cdef961188aa9e48809ad343797 100644 GIT binary patch literal 542 zcma)&&q~8U5XQgFpQgsv#Hx5Mh^T0D@umnRA_~=u(rekKYr2{ykZcRSlNV2d2Oq$P z5+`XavGm{`X1@ygCG7=04DTz+~9_ z&m8o-N|{eXqYaIAk{<)K1DIrM6nW$sdGqKU?2Uv5i)?M4M4fb_)N8OQVpuOSIebh} q4r}$-+*ZhDh1Bp%HW%bcN$Re%jP6!YeSvPQK<#C;y%Keb+1wuuQCpD! literal 542 zcmZ{g!AiqG5QhIv(x%4L#Hx5Mh^VMJdQgNC5ryhS>9uUrHC;^;NHzuE$%`k!gAd?C ziIX&xSnB1Ue`e>Ko!#%B&o2OH*fyat?1g+Pynv_U%)3ioMcfO;+ziPL{V18q%!I+< z)H;3YXJ}r?SgK0~{oruGVED;cSkSR%qk$$7eHn}Ud^!^8BOgVAq0>(S9u0UZi@Yit zY9cd+{eJC&e^)tYa6_T4#1qdW)l-TGFXaNae-3U0kJN<0q+UPC6od7U8=z>Pk=KuyddIPCRnMaXPY#e={^-e~EMOqwF5$mLOf%t?1ao>ZjnI?L#84b>Ou<_gqWM!PG~PPyCGFBkG#!vFvP diff --git a/bin/game/cards/MoyenAge/Moyen_Age_Croisade.class b/bin/game/cards/MoyenAge/Moyen_Age_Croisade.class index e17773e13e065946056b12db4138dccfd77f6d41..d19a93bb5ba5da52a27cb9ec6f37def7c67fd972 100644 GIT binary patch literal 546 zcma)&&q~8U5XQgFUyZe`RnV&lQbo+gn1x`AWFz=aUOWjNd;lLx zoTL>}?V)>^`DS*0JG1lk{qYIl1X~_VY`EyS*ko|daT6>_HJqL=>tQrPs1e)^s(^Lb4HjCoi4^4?cho zB~H>FQZ3@;pMQ4eo0;9uulElCJ#0BJ81`d66@JLGDEF_`vq<}~n3)l|QIIK_^GGY)Lfh=EMSO)(vd?2eBU!O$6~kS9Z)$ugfG zT6!XLhVGy?;E!ca7}~MW=i;6hiSBF7!^dictA&e8!4o}UaHuv=xn^*0Rgs0_LYA9s zR}&UqdHleiICeqJ=!*c09KD0oq0FbqC^in?u<}aAfJ<6l(;?PKy}9?WP8mZJEz%M` mqFB}$=1ZwHvRNYy>M$eQ{~&jkk{iEC`{&HPrDUhtZ1WqsJ6*s4 diff --git a/bin/game/cards/MoyenAge/Moyen_Age_Etienne.class b/bin/game/cards/MoyenAge/Moyen_Age_Etienne.class index b6061b58a6ed52a638aa3d22b49a73702931d0a2..66ec0e490cf04191dff6bfb3235881023c6269f0 100644 GIT binary patch literal 543 zcma)&O-sW-5Qg7P^P#b}wTgHZ5kC-f@umnRDhkz$(rekKW4f9qkZc71lNV2d2Y-M+ zN}Qw>qV~`|%)B!@&(7?8e!YJHIKrBX8de;%9jpr2Cn{F@RG_xI*Ap=PWJm(du8Qd< z9}g(KlY@ve?QRmts3%iZ#M7jyM=BH8>4tJlULez9=3OVx6n8?Jh(4?SxmFa%bS%&c zNuSZZ%p={=S_Y40->Y92mn0)S5^%WIPckjw-X?h((1j`nSuYz@-#vVgPqGdZmcaI0 zlkf*Cbw1CHO&GkE;+Wtyz+!82mu zlsMb=5VeArcix$uXLn{lKHuH}9AeFbC9oaK5e1RV2jk!>d!n=*)713X_0F`SG$jwV zK)ux3VL-q=R;kh_0+rppu7KUi22@1_i#{B>tfWW{8si85@?25B$KYpmC0vC zTMyM(U?(g+@b@f70*#pTDc#8;(QU0|^e~y=^4q}$$wUtYJnrpeV=Yj<$%;Ipb7clu zpFB|Bv2`yWB{so#@&5oeJKloT<1FAPI6C{USa@M$p~`BGxrilJf98EGb0$zjoz=hx l98I6)JR2>MwGwIZ4O6o5n{q$>wCT)h}@+T$}&^ diff --git a/bin/game/cards/MoyenAge/Moyen_Age_Ferré.class b/bin/game/cards/MoyenAge/Moyen_Age_Ferré.class index f53cf81ed90d6e3a7020855cbef3ab4bb74e2b7b..c633e3da95315bb45093c7bc2d5e635cc4b3191f 100644 GIT binary patch literal 540 zcma)&O-sW-5Qg7P^P#b}wJLZOMO37@cvFNDDGJex(rekKYZ^@x*lY!VlHkRY;K7SG zf0Q_zR)}p6?qTMg*?DGX=j;3Z1HdshTvV{;py^9uUrHC;^;NH&5$N$}!H@ZiOp zKT4cUdx&klym>P_-|Xyu|9pG`IKhSugJCz~W8sB78|L11`Ye)8BqpX$uHO||_Vr@J zWN218ed=eZpUFh3bB5afL65=o)1h!s!?Fttbs_?ph?`Y#pE$Nbqv&%0lN`N))TYd%$S7Ke?^t>xW56NR$5g}$sXO&9Rw-j>ph>FX oBZ|7usK08hkc|py(1Z!unkUU!a%&;EHcwi!OqgV(p=On0aS*o}HQf`u_L?aEvVnIyP*yY-}=Er%@8AGX}lAKVUH2bR-xWUX+O2 zd@>aBo)2Tnw7fLn@qo*yh-XPdjiZdABisqjhpm${Hq_(#3o z2}3g!>RdeVJXU?Bc<@xVzW#G@C3vjH3^vueX{H#QyEK=9xQL2bcFG=ePai(=XI_H= zlcBxrJhW-0)TITm3yuD#I0ooHV3M^c>XK*V&CWa68wm|IS!qumoxYIif}+b$`;hPM&Gp9?;B$?81wbw5G7t zY1-+xVDo_j6m@=Np(c$ zD%)jeI%DCbhY#{eVi(+wKMHWz@mp9u&KevA$3p!LE3a%U6j`%tKExWUKleV?ITI+M q%$mUm9J4yhe#taPmU5)U9cE->3WIJ!x2wq5igRun#qiz?*%*(j?dF+=G-JNA|3`}F2o=4(@ zp%VyoE*^Lus-aTce=0j)FI`*-9;z9GMYV2{DF*v4$x~lk$YPXU*<$(S<469?o6un} z?EiBb`evolrRlK?jh0g!9kdJ>WKD`3@{GK3_zw0)LW4!toF}nHy1CHnuqk5LC^H3o mL{R~2`fFh;WUE4I_$4>%r16*Rtt4A@vet8NCD|?~>-+#m%wGfm literal 549 zcmaKo&q~8U5XQevlSX4~YxU5pAZSJG(SstCh<_k@QF<-gbWK+`2_zfAck<#%@ZbaZ zP~s%*AvMLzH{a~eZ)SGCe?GqeoM6X>!LT3lNDKm=PP4&n@+#tCDCTBNZhVzXrFb3* z8zw`$QtT1J&^(i|)aMM1gZ_xY^pdG?(7?J23r!+?8H>9-nuzp)Pn2Nj`bogmh^Mm1 z7l)>v$&8`zR|fpI%_&1C6#7Cu@?7bm);xGFceq))xE5UL8G}u=UXp1B=RV2PKwQdV zm0mew`JKm4{Dor|)Qx@#Fv-zNNNvgn6d6V9@B?e_WDGc@#WfvbgVbGk7n_tZw9qCk o;3JAfongKeS|M8%(x47=vQsCmzhrMExm71?Gxt`K-Ey<-Uw3|AHUIzs diff --git a/bin/game/cards/MoyenAge/Moyen_Age_Heresie_Cathares.class b/bin/game/cards/MoyenAge/Moyen_Age_Heresie_Cathares.class index fe0d3ebf63d4744afd86675b7481e1488d766319..28e98d22d7e0cd785b223bc7ad7906cfe7282018 100644 GIT binary patch literal 571 zcmb7=!AiqG5QhIv(xldEYxUwu#EXhH9=s_+iAaU$Md`I{(=l018%VZ-@8rdk;K2v* zp~OjAOOzgT4>SMF?#DknAD?gU0FJRygNZcR-pWDDotB>jGVaM#<@Ky-=}2V)M}8J+^6(G_G1#LcaliP zU70G=&lep%Qkg)rQwUgLsB?kZkn|Nj%4w`yTFdA;ALZuHMw?`;M*=RN4U}0i&*uQ;^9O2>gBJCf#9*4GB{N0r@3NqZ_*+Q#f8*kbj$WXU61bhBX7Wj#n4+} z3i?{5%BP931A`W#j|o};EV4F59(hLII(P+pAz{EFYtNIYlWr{Z8eEDP*2|2B4=K{H hVLxkIA)6J_z&E+^pRE5Sx0jO570BLFvQZ)SGiKVIJe^wG6pF!Ulm7hcG-Y3^O7k0KdFVqwPQ#={~igbkCS zRVnnToWVMgiBzWywY~ijgXyPJ;h=^!7j;-f1Tqm<#e5>N8$O8zLnlZ>9*=k?b-p|_ z)lB9LyFq2ZUz;2=v?HO;#4RskHBgF&_vQSHZx=(sV>M&2sn$<(#o%10MHY&4sn_V1 z?Z4i4bjKe!c0irzX8@BNy@1rF%%jLC)(>9LcqU`OA=TG(h;>qT>0NA4#?VBIRKtf9 kb)8{7X|0gW3TaS>1=;>hHhz-ZE6L4&kiC^;r`&Ao6U{GLJpcdz diff --git a/bin/game/cards/MoyenAge/Moyen_Age_Isabelle.class b/bin/game/cards/MoyenAge/Moyen_Age_Isabelle.class index cff1d72d473cc5601db98a70189b59c05033c3bf..e0349be81b3a45e226cac66d9632389732f47181 100644 GIT binary patch literal 546 zcma)&&q~8U5XQev^G9PfwF=@<5UC>O;!P1sL@ZPwLw-W2KO#2^GIAtJ;_ehVea9RNB+#4Fkvwq zEH?}Nu~rz+=-7ino6*MvZ2}fqnnqnf63j2O*n=XJh**eTlwQjw9n)yqK(Y~hCoi4^4?cho zB~H>FQZ3@;pMPfO+nw3ZulElCU2L1s1P&rOAvcuSD0i>ZXPWjRnwcTHVLz7vB?+0( z1)N&1$Ao}!7Efb!F3{*44g_>B9g&3wR&6w4FyY5jx+x|BWp^@2NTBVfp-cuci_3go z)YUl71v-B1fj@>h6=+4IF6dqsiRvjO!^dib{=&f($wZ9>Oz!p4TnSjWX_19=8JCmn zR4*)SdGa8iB=*3U@fQI)JKlrUV? mb1eHb{iW0z>C{M#Z{vQV7Ma*B4<{kQ4S1ApQT7%&;O|DS>O zsulS(F1Dc2Z1vulvJreIFP;PsK7bD; zPSPT=t(R}U*`43a?0$WJd;&Peh7FBjJLY5IM?4=E{!R8G(rzp!rcbVaEqH3fVDK7s z0aY_tr!tl5j6vVq?=cubHWUtYEW0pa5fRE%+?L~k$nW_e5e)4xi+IxGxvcW(p`k{y zVAu&81O8d$grOA+buJ!wnW(N(JbJ3fU;Vkb6g*KQ2AgVwtWXTjT~_9ixRBKrox1z) z>y94zGshOF5q%3_kfZ%cZOVL#jG}q)j-@v;8XVHQ23jRmvFF;E`7FA;qdr k(_brXkY0n-sKbP8&6CzFxw(*BpC`>(a(5xwt~cxa010kbwg3PC diff --git a/bin/game/cards/MoyenAge/Moyen_Age_Jean_Vienne.class b/bin/game/cards/MoyenAge/Moyen_Age_Jean_Vienne.class index f4a2d0960f34e964b0ffbc51b73d1f1a3b1115b0..9efe35cb0b49127a776d7c773dc08ed90c91f4b6 100644 GIT binary patch literal 556 zcma)&Jx{|x42Iv!CzR5b!hqNi3+1C(*g!~C5dsugKwYbAYSM!=k;-#!?+xOWg#nkXGfQHLb#<{)vVPiGmN{ zqY&dHGR6hXojbd8W@h*6`{NV9F*Y0+0_~BUP$!h>aN4;^UMTL4Xm0xK`qw1mexN9h z$$=%%ES38V3Dizitn`_Hx!Vo|EI%1i9VV7t*r+klQ!(9UlL4joauAU~tCxf_3S_GC zd~s;$v6>3(_eul)-{(ZY8<9Sz2bo2>tF;WDW?NkSxws@5>9K&rwSF?y0`u?kt?Y(y_y|FP+XU(tq5G$5^5IcT7ecrohrFgB7cXrW~;6L0NRLQ ADgXcg diff --git a/bin/game/cards/MoyenAge/Moyen_Age_Jeanne.class b/bin/game/cards/MoyenAge/Moyen_Age_Jeanne.class index 6c345a0a9920706e3e227cdcc408d075dfe185b9..1c9685a8e3acb3ea04ef8bed9154d8d98c23cf34 100644 GIT binary patch literal 540 zcma)&&q~8U5XQer^G9QCYgOHrnQvz2H#<9@U+*6Pjw& zcp$SoF^DJ&~y*o+V8^QWL^X5Q(w$LXiz8-gWvclWruZqR*;-B}J0RV?ryE z`b^%7Jl0*UMfg}gd-?0)LW)?A2oBf!=|mIU+ceKYd9I2%Hp~8%wucYmNz`G&B6Jp+ zgMU{k^Lc1&!{D71#{};H7F(Mmk3F%s_TNCSEDSho?P(HAtm`wq43{IqN|`C(1C9#V huwM#WAsZFazz@0lpLG6`TXV_A0%T_{*(@h(eFM+xTLu6C literal 540 zcma)&!AiqG5QhIv(?(-#YgO_HJqL{y>|rPs1e$8?LZtn`UMZFg@VV0y`zY}ByqppFI;zKZEOpN=TKm7|CRI(`z!XdqKn4|{FycKtCelt72nb~>&czpwKh_(YAt2SCT))=f~8B2A-pzrMV84NEO2?p1fvAD`7 zLy_L_VMLLZp9DPW^Hdgo6*SaXW(?bY$S0y3@N|@QFOx?R_d+oh15yJ&$z^uL&dO}So@DF){{$zy=l#(TQyXlHFe9;nxAFVT1Ef> literal 538 zcmZ{g!A^rf5QhH+S`<;R_Ttf~i5iuo2aQRCF`A$kO|Q+Cu5^_`0*i_7Xbp>+3hnJemW8sbS&Cvp-n^}6LDQkh9bM=!&oqMf;8lDpJ%en>qA40 zWzMi2GzR>)$uWZ)33Vp!coD0fQapU9=3oA}xDY&6V+NCI{WMn$)=gSup*WZ28r`b> z_xld-`6I^$s1yARV34C1keZZv6dA?V-YXVf$Y`)g%WFEs5~*E#8_Se2tiT~H;eCo_ son}0j+8~_Ha3od2;yQMhzDnpa ziwBf;24FO~-UKO(fY0zLOVEf(IYK zhY}}k4^b=h^3OlB`_0Vm=hyoOfD>$5Fa(;B9FZ5wY><1M^qG=YL{k&63pz5UfeN)s zlb}nZ$5>Hj!4z;yoX@mC?Mx*~p9@s>_Im=RpAN`I1x23EhlGeagDBACo|% zorW^*$xIdbtZ3??$_0+wr2z{rb}CShNMF#M9LKt)wG1C7>sk;-O4b)3x8{=Te@XNA%-y+UW3t)CH<@>Ah5!Hn diff --git a/bin/game/cards/MoyenAge/Moyen_Age_Peste.class b/bin/game/cards/MoyenAge/Moyen_Age_Peste.class index cdd78fd37f2547fc5d9c89d36cf8ed364a83b955..e290bb500fd3a8bed4186bc0b4085ea2895ec905 100644 GIT binary patch literal 537 zcma)&&q~8U5XQgFUyZe`wFj?K1Qjut-V~ukL?Mcx^jfy*ny#h|BpbnZ^5RMG-~;$j z;%r(mY7gDR>^HOXo0*-D&$o8~U9>%z*l^KuvB}^Z%c)c+4Cd}$pTP>!kziKoesd1}#J%3$y^(WF7K+x*6T}{wvrE2?H)!XBNZ?>DpYc!XuAit&C{+fIJNw h=CigHvR)w#e3R=-kXsAM`hU{>+q1KfY?PBVzX00DS_=RG literal 537 zcma)&!AiqG5QhIv(ne!!Ywf|S6hTGI(SstCh$uu6lwQj=9n)yqK(Y~hCoi4^4?cho zCC;V=qgL?p&p*5K&CKrm$Lkw_19WT{0^LYX$O~mQ%Ds#9k*2+fW@f-{a7DQy8aA5#_CwW+}`O6SbjPp2PT$X)KF(4h^KT}Ooo)*$YDYP?H~0#=(dkE7sN+kL^(GaCaAtG?z#tgyOs?_!lRfd-na8s6im k>kRWrYlUo7NP|1f$kso|jfLdeZ_@rbv%8RNmz%AB0@evyJpcdz diff --git a/bin/game/cards/MoyenAge/Moyen_Age_Philippe.class b/bin/game/cards/MoyenAge/Moyen_Age_Philippe.class index b68c4f00a642342c16c55df52903d932c28fc2c3..a5bd9deb98f64774e45f801274899eb8013bf3a7 100644 GIT binary patch literal 547 zcma)&&q~8U5XQgF-&$)MtDsjAq>8o|Z;DVVq7X$;dM(>@O;*#Sq+7vv^5RMG-~;$j z;v|hR)r)(W`DS*0JG1lg`SuRr5bIUwShdl#vBqE>%Sfsd2EDc0XE1v4NH8>98Huae zcqo!vJ`5?-bYqW)eV)iP&Xa};mU!Y!rju-B9TpyL-}6Uag8`Fa z=YO-%A4`Qj8Xa5EXfx?CK%0O`)}p9Go{=~AUcp{SXt2pz^CT*yYq?%Rl_G}aER(|f v6s53cJ*T!r)=Q*@Z*rv|4{}m>D!$yy+Dhmf5`0;`O~zKjplp-NiAL8 literal 547 zcmaKo!AiqG5QhIv(x%4R#wzGl1gWC-=s^)mL=>tBO0Q*`uI*~tlyoEbPF_3-9(({F zN}NqY+$wna=bzpAW@h*E>-_`35!PK;3_C+U7OjvcgIVh;eioDVP|Qt_T<>NiBRQQ4 z7Y;++s11lJJ4jv1S`-<@(%u^?uVgHEr23i;u}oUceHAN|G1O2e y)$l$=U1ybFv>Ig1AT8=JC;fsv$VuC;{6;qo)GpA~0xgFAA-4_kXJ{i^ZS5OtcU}+x diff --git a/bin/game/cards/MoyenAge/Moyen_Age_PhilippeIV.class b/bin/game/cards/MoyenAge/Moyen_Age_PhilippeIV.class index 25048e612e07597b8b8933ea191fbbf92332c2f1..84cfe3c0d201f3170b6cd40a6ecc7ca7b77bab21 100644 GIT binary patch literal 552 zcma)&&rZTX5XQeP{ey^r=s}NqLSpQNo5qA-j3m{VXnG|}Sz)zM(r!(BCoi5%Joo@U zlySCTQVR$7F!Rmq{B~yc>-*yqKnJ@Ol(6lf>0pP!K9e)4&KXLrBcH+SMI*sb_vB36 zq|>2@@A)vKOw)@39{N0%I$kDCHIWHJ+Z*$#a04EX68AcK5wq@CEX07+;C3QIIiHKZ zf6CAp3w0qLcp9p%QapIdTKE54TnQek34=qmy(m!(mAfd7192(!Ec;oH!qX>@{Fzr_ z!eVIscOKd_SK6ZmZ~%k;M;{aPAF#;U6uIOXd8_>n_C~^hL)Km-Q6^no>J3yVV%W?w o8a}2-!-n;$ZH}zvNCUs*)+%Wi$-T8?ZIvt+$-}i|J)5lY1KkK;ssI20 literal 552 zcmaKo!A`?#zDwe0~8q#jXpB&=`ubY=t5jq^+CyRZiMNxiCF;y}OZ$)O0Gl zfeV{Z&2)E|Ar#NmMCl7cp>Y%t>`pw89tzkf!$FY=UrprgY}}X0gXl++Q1|0dM1e?@ z$(Kc2k5o!%`k4p*9p{Wt8%ljCAH^)vZLLN4JRhR_=ipk3NRJ3E_jck`6TJI)mW1+3 znOXMdZ{#*Tc@i%I2jJ`YqX3&7@51VG*5XJUo#qEh?`$l1tmc@D*kmm)eHmMv5h|#% q8u*x_>9d?SqZzW2AuYaPLDp8uVxHVvOKz`{r964KmaNYw+xZ0t(O=vE diff --git a/bin/game/cards/MoyenAge/Moyen_Age_Philippe_Cacqueray.class b/bin/game/cards/MoyenAge/Moyen_Age_Philippe_Cacqueray.class index 4a5a51baeaf97d38e6d6720c0188fdbf5ecb4cd8..0670f9a2dc2a66fd6ff2cec6730337de647f9311 100644 GIT binary patch literal 576 zcmb7=&q~8U5XQev^G9QCYxUr@cu^56;!P1sL=>V3O0Qv?uE}be)MO*{oxFGwJoo@U zlsHK%)V3bn!^}6c`(wVH&#(6n07uxcQNfypriFC|^F+o{oibFmce)I^lk^2c-IcMp z&Idh_-tk^Uou-@kJnHgP7WJg5t59YPhiY-cN5A;4u`^X zxc`)kl#h-X8i7z};-2S`>L|ti$I`;(uZs)8BNZ}O^wvo-#bDnidFqRES$Jxdv;G*d z|G=Ml6*>%tga7)Y4NM^peGDyVw725upgqB$Xj0Xt%qSbXZ(y$^G*}ePaT80Vs}sEp un<|EtvQxl&R28shz7%natWA*`e#q5%QlBL^7m~Gk(wHT;7LxVSS>qemOKI5v literal 576 zcma)&!A`Z!xX6ID2G`A>r@3wp9vIp_qqb66Aq|^0#?f?!eXMM0=h{?eTwd7-zR~3 zCv>IXm61yG*`cXD6$`XFxd;9=)`>uENcx-}Wa8_#*3x~-hPnDxxFqRoPr&B8P8e%} z(p{KDE?uZ}rbhPGADbUO$`^?SxGjGmV6x-gSZ&Ul90kYX{ySFQ*cd3Wre!|F8f$sx y%UI`3pn@uE3LkJx?-|x>syVWfBMt5_C2NbMIZtjcB{vqy;yk&tl&oiyZT9uUrHC;^;NH&7+p4QmeC4%Qj$Q<+G0#!%Zo=rNdnIus1eKqlg* z7!O2t&j&GO+CdufxW_Z8<7v`VBbhVo1rZ+$FXY)U_pZ|yk#r+55q(nqTPdGZf?pmC;RrOyRw`v*M%(@TbAqlRS%bu^gpRZO?}ctGic97H70@smJCJ(;Q^pB7C$ zQklS>U%BAlRZa!kA?XWxlzF7PTFclAUt1^yrs*ZV47*aRES@B7GgKpi122#fwS1`uqtaq0hu#;kZEYz#z_Au?|${?;*w-&h5|0vc9M}1sN5x~_US@p<80(@imx9&%4b=H zjk3VrKc?c9r>Z-=2{vKzM`gzbe+uJH#6c3oct{oWug_>O?Q1!jZsI qp2^^SjxyLPy=HcbtWA*?e#zw`>CBSrbIDqfv}eh!xnw<`tnmYQD`TVp literal 561 zcmaiw&rZTX5XQf43)NZy(Srvs#*2U9=s{ybszwtuCK|3}DI=^Fnk-ur-^q(76AwOs z4`rMd4waI4`R1FQ{msto_s{1SfMaa9umlbUazxEg>i(p86Ti~9HK3{Kvg_U{(we## zdZY}wa0IG3AYe?Oe5%IEoC(;wdmRBMi2LNh#aolij{JyEgctI3lzErxQ6!y6%tSycxK{a8$u#KY zK|ke5c*4+(gzkwup2xbQH4h)k0WQ8>oC_Z7F@sHSyDHNR&W*~`Q1oRn(RSIXvO)Wv zPk93->J07w%|?G;0J`)g?7*On6~_c^2z81UIgc`t#6P r7*@(k0UwepV59a_#0An_APszxtA8N3D#^9qr1i7sZYAlKlQlm9l?`Vp literal 570 zcma)&!A`1CK|5IQr5Csy2-L7@twSQGV$O8 z_)x}K;83*(F8};9yWh<0etmy@0yx924~L-{^N9!|u1C}0M!kr%9gBqt$%S_+n<=To zZWi`5Pa_{LLoLU2h-C0CWGc-iL+R*vz~FY&NK{b5dKG1OMD%4UZnMcy=m$Pb1Vf{* zBAyJmmNs7&T{D(bhE_i}V1=d58S1exUGd1X#I%j!(er$j>t6>~f+uFo;M3iXni_`6 zy~=bXdeUyRKc7_i>gE%laU6h}($@hlIeHhVPgy{bQ7oUlW9^NMg9@oVrXn^-t4m+S uCS?p;sF7Oul%l=olwPgo$XbqcsKbJ+uR!h8iCYfZ*oh}Ppfi=uRL{JAvDmwn z_p$^B1%dtl&c_?bAuawG>acik>2bh&LV=^pRfDtOT-bhwcw%9}O$Q;{;~0`~4+U%+X{Ln^_>s)quKOmtL4x6{dhbWaXK5~y|J zK!$y(RoZ8Zjv1>&;JA|uSZb_Of$E6N1>MVOXj;a|;Bhw0^^c7!lA#$3xO}!9Cq|&u zji)-GOO?)4pJn~?@}md&BvA)n%O40h?D%c0E_V&Cf@@*_4J)r~ER)Z*HQDIHt1Fq>g%YI2UN0xJ>#W&2!>JsGkpXA1ZJj^ofYVmjIP7bvfp|#m)o8OTZ BY3Kj| diff --git a/bin/game/cards/MoyenAge/Moyen_Age_Roland.class b/bin/game/cards/MoyenAge/Moyen_Age_Roland.class index cf4a7a048bd2a0b64918dc3314fd20a9043999e9..edd496d115ad99e38e3040cdbdfa1e9a40df0b83 100644 GIT binary patch literal 540 zcma)&&q~8U5XQev^G9QCYgO>7h^R<&@umnRA_~!iO0Q*`tZ6jOLb?%rCoi4^4?cho zCC;W5V%vjznE7UQezUXl_5JY);20Y&YFKm7cCgN1pC(zN&KPR@2R#PUmyuv-21zDv ziqSyi_k562rX9$Tr#+r0I-Vv?HB80~dqK=c!V7sGjlFC6BC>8QCZbQOe=Ad-MJEic zSg3RHz>8FMmEz%3`Rvu7i%Y>%HDqw8)|X?&;NHn155+~I=h!U!SK4+S`7^J>gvGG? zpE>Avl`@}(#x@Mvi9RN12e8Q66nW$sdF${U?2Uv0hpatGVu^Hps+ZwX#IRCkG<-yn kh7I#o+X~sJkOqFq)p^pMCASumjd{|VC3hB*&2qBV4+7h^UA;dQgNC5rybMrPs1e)^s&ZAlV4MlNV2d2Oq$P z5@*vMVp}i&{4+b>?CgI3e0~8q!G;ZkVK?Su;e|Yp3hyR+6=^RP6Eh$;xXTirMm9`_ zcCFK=eun0mOr<(!XzU;K8B9Nmgo6f_U07%m5y({BmgAwwANVj44Ba3LdD7>()cLe% zs*x-h_JZ04|E_Y%(20e*5Rbe}R8J`$K35A||2eo4JW(SCn|l4MPz=s}R_39&lzNZN zYJTm7$4~r)V;eMzJ_j(#(Hlr@$~=mUqILLzrFSw098!HuMXZpzQ}1GxGKLn~q#8b= msQV1_O>2#8)kuRTOvuhW*_C4w8HCswgc%vwY%=pQOY9gKm^C!R7#Ucc^HWkM z=ImhQVPIikoye<|%E-WGT-~#d(8MwhBY?C)K3aca33L>dxVt}dT#i~{s Rt6Dy+YSpo-3zpKHUMg}&U z%)HDJJ4Oa(4b3n{1{UZ1lvFMTW(H0k237{PiP}4Y859|SvOwb)7+8QTpeT@J2lDiR zG$W8^)!NR$u@T5%V&DRjAZef=12>T5fwFlRc!4}d20jLUAjv*?Bcrf7LaiW@S|*?# Zh*|-xYNfHN6~wAm9jjU)pi7t-gaJq88tni8 diff --git a/bin/game/cards/MoyenAge/Moyen_Age_Traite_Verdun.class b/bin/game/cards/MoyenAge/Moyen_Age_Traite_Verdun.class index 6437dbd2bd0c928d7448871db470caa43875f6ab..34f4fc44b07be30d6b2ff09b7e0680a55163e5d1 100644 GIT binary patch literal 561 zcmb7=Jx{|h5Qbmpqk+)UQjl0!VB)h`*g!~C5CSQ%P<5@`#I%MqkrD@q|HQ(C#J~^W zMkpk@i9`4>d-{ZUU$LHHSfMaa9FtO&K?O>gub}AF8&KS(yy*`8Gr;%W21~L&h z#bhY59v{Y(X$NV@<37)%j%P_rjb+Yo6pZ*pcp=ZC+`CSnMA99JsThzN^fE4$81zLJ z70C%hYb4aUxZ_2vx=Qizq3nM3T$NpHuJA{?)f9H z!-CCl@QodI!mm-Fh oGNa)`iZpDP&)QbVMujx+O*Z~OZZ0HO=Sll_&z*&2vz)B;1-Gwb&j0`b literal 561 zcma)&&q~8U5XQevlSX4}YZbhB(Ubpk^q>eOA_~!qCD*V`$89$PMu^CMpNG7813Y&TYoSY@c3%8^uO4Cd}$hr#lbzF?>aawKl^ zVNaxO-ixWy43dz?9iB>^Pl}d`WX7-)4ERuZAy506ck`kmF?HR;qi#FpPdtAJ- literal 539 zcma)&%SyvQ6o&tkOQSKiwTieE6;#Ba8yAWo5mAV4EZvrAI=0cYfn*~3PHtQYE_?tV zN<7n6h+4tTe=c*rbD8&#*EawMSaM(x)_P(f{YYfp+`oKOefeeDd;9HXChkS?;J_l( zN`(QJ6DmjXFjmI|b91Xju!6KJU6`2lV57oB7!T!DG3dywDLRQHG{Q6zNlRq0jweY= z_2Znd5tau0waFo&-jnK7-iRVmCrXLvZZ!Ym+rzmOiRu#^t_{*$5!~yv$Rc?b>ou0g z?MoN#-twVX1^42=0W9|T23Ch7pDnSqw_h;x%#HzUU@S|Y0@(%=qbvi=WpWh%Mwo3wwe9smFU diff --git a/bin/game/cards/Mythes/Mythes_Achille.class b/bin/game/cards/Mythes/Mythes_Achille.class index 2bb2122a39600e2d0963c08ddfd870f5e50ee2c0..719ac389620c7a55f3b058f323dbe640c93a3274 100644 GIT binary patch literal 530 zcmaiw%SyvQ6o&svbJ18$ZQZz2aiJn+<4zGuL=>VMrCXV%V>3E!AejihlN(op3m?FT z5>L_wqA56wbDQ&>^Ur*Je|!Qs#)gX))*W;m^cd_@IhFd1p|!U^U@(JZBpAF!uU~X5DtF(HVyTokVd#v7J{J!> zSGun?kDkhvSHCVU1y?#|aHuy(GR@%LCV3i(3t4FB&1P3aj~@9mZ^MMeu=Sq;dQ+_> zAgS1fK|fI(6ZCReWNpfP@{GK7@DBDyfdPlCJu6~~;`TgVhD#a4N?9r3L&^%+a9#^r eBfT1FpdweBr2UuNTu81p$;Qszg``(1>-+$aQ&;@} literal 530 zcmZvY%SyvQ6o&sv(?(-7wRPi8#f6HPWfzK2BBBu8DBa359h=c<1Ia}2o!qz*T=)P! zlz65Wh$fr=T)%V9%=gdd7l0nN99RrHV?Gf<%(GD*+`Q^UEX_kdPNY)8fz9BTxfM z{=%^f8bn_L*yPdmqz**^Sw^;b^nsOkaxA!{rc6n!k$MZ?!#YI_8}LaDd`#B#S>hxnE0mW|wt;0fMGjF8}}l diff --git a/bin/game/cards/Mythes/Mythes_Amazones.class b/bin/game/cards/Mythes/Mythes_Amazones.class index f8ad415fd64d8a2fe0e079c2e7989a83d60397db..f57baba295fe692d1efcf9c18b5b72d7684ff344 100644 GIT binary patch literal 533 zcmaiw%SyvQ6o&svbJ5t^S_`g&8x=7dcZyIVq7dCE-O4l_n`kbOOay%!rcxN{+y+vIAZ8cg*+8^ zyo}{gN*+8^J1>4+oC_Yykinu}FDoR2eVvtgAkHEsVlW&2Gxgw}Kk_zo7!1z88t7TI z9*@+*fkvO9jt+V}46-I=E_p`Y*n0zer9gv4)|?fwLUDT@ufnE`VXdktc%L!_YsQPR eHL_D9H7v+Zlhpr`TT99HCfV5OEG4^@vfejj=vkKl literal 533 zcmZvY%SyvQ6o&svlSX4|Yc04AZdAlBT_{3{h(dIubSu+zY({f|WFqJ@xp5`9@Bw@% z@l0DKnr!}a{mwZvpI`4E01h#*VK8_zo`_+{^Jy`>d{UA4F}I_HKWC{ZY?ut)N}Es3 z4DDl?N_E1}+Swg5n0_`D4q8}sVWCY#AX9NwCKHk0@JTEf`au@*c+7LD<7LuRkt`Ut zgUW*DJB}E7Goen!9WP@wQi_KU^X(UZ3g?2yDq^sy*Ut*Y;9O^A9*Q%mj~Fb5|Gw_v zo_tb8mYVVU34g7SVxys!~0})pJBad gt&p7xY0!iP*{hT0e{!pl+^Cbaon9l^pI^554RHTi$p8QV diff --git a/bin/game/cards/Mythes/Mythes_Castor_Pollux.class b/bin/game/cards/Mythes/Mythes_Castor_Pollux.class index 0f99aa7a372dd5f2f4dc5bce924265372585c8de..c54a06d42acacf77ca29ddd5814baaa9861fed17 100644 GIT binary patch literal 548 zcma)&%SyvQ6o&svbJ1AaT3zT;1gRos<4zGIA_`FirQ0%1$2L0cKr#`1CpWGH7e0Uw zC7wxJNVSX3;@swZbN)HsKc8O!jNis_GDMO{T*JiLo)e{W$C>e>H zeApG~J?~1YG$R#r+2(0t@=4LwgCt{UMSVULLCn)$7F@sTftb2Z$TO|d&aIL%e>rAo z^o2eb4?LIpOluxL6@#y4E-nR^dcfdOZ>TcO;NPh{jm1S`lx&SB%szei$e(!?HXMfC z#njL*ON}9k$2Kh5jX5@G7jVeBlm+A&d1wCv?41G&9$9x>#1h5TNxTf7GKQ6+V&DVH i3~V`X#+JxhiL@{!SO1glUvhIUSzCbInM>9SWsP4snqS}m literal 548 zcma)&%SyvQ6o&svlSX4~YjvSZ5u}QkWfzJd5mAUDDBYH6IyTX12a<{CJGpTsxbOjd zDDg~NA=M&o{&Si0oy&ZDzP$rzW6g!dusz^I5yU*}=fTC3PQs~1-i$@nW zL%mcR62VYCOh>6cVyLusIt+HG`ocp6i#{AwiHOpXxGaV}k=^i~6b#Ks#awoHmYR5) zv~`l^46Ud%;E!bv7#ahiPsA-Rq(0V~$M@qE&SxIZ1eZEtaH%#_xn}ULRguNwG&P%S zOeW0UxqrtWI5t7;=#v1OJi3I`r6?fF$U3{PSa>1Ff=6neDTyUgf9m^Krih`2I;ny8 l$eKFKc{W-iYbDa64imERo2>pM*XNQe{~)*KlFjjEt6zz{U=jcT diff --git a/bin/game/cards/Mythes/Mythes_Chant_Sirene.class b/bin/game/cards/Mythes/Mythes_Chant_Sirene.class index 88f0873e784669603135f3d975b3776f55e63a11..713cf1af807f25ff00aa20838e807d4c7f6f20e1 100644 GIT binary patch literal 545 zcma)&yH3L}6o!B2(m*Jr6b2X>xC)Vl4TOY(5J-WgsB7h>rZJ?6lsHJd6AKd(0}sGM zA&%2lN})qNoXhX?`5d3`pU*D@+KBi2= hhWVy#jr3}yfhoDV0J%MvT>DSje|zrDCB160)-MTdUI+jH literal 545 zcma)&%SyvQ6o&uFrO_BotuA!w!Yk4&T_}P?L?ODVbX%tB*o>wLBoo1Ra^p&H;REt25#Od4COlKUjx0nb99Rr~ ztu!Qnp>ZNJsZJTpz5OnO73Krs!o;En8x0~NnTeZf)EC7q@27&H73DEcyS$J(o+d4o z$dX|5= z%v{;N=Z_p)plG^oRbZ2p7XoJ+3$Cheaycjl6<@n&mZIvZX( diff --git a/bin/game/cards/Mythes/Mythes_Chaos.class b/bin/game/cards/Mythes/Mythes_Chaos.class index 481b59dd05f627ae932d872014f5beecabade5b0..0c1dad78ff0ed856195e6c273f7796f225a1ccca 100644 GIT binary patch literal 527 zcma)&!AiqG5QhJ0l15`~)9S&KC|*?1TzXRkiHJhI7 literal 527 zcma)&&q~8U5XQf0(ne!!)9S&KC|*?19D7g%iHJh?jNN?#C+!=nMg^plaaVPM@s6D=kJHI?`IWGK@|F^nal7bKyG2O?EPyiA%pQW;?{ zs4S>C;*8*qrM{BSB9HZ@)*^getiJtMxRD~(5y9eKKgl$~en|2(l-H`bpj%EZ-*x&T z-URl+WB4-wlRdtit;LbYO03P}53Iej(}2ykD031UY@Ma=V3Q+48y&Ubyq=mYSHd0=s_*oTimww3no5R9RL6T diff --git a/bin/game/cards/Mythes/Mythes_Cheval_Troie.class b/bin/game/cards/Mythes/Mythes_Cheval_Troie.class index b0d8ef4d3bb55652692c56af2023403691d92062..95125dfc37f729f38afe2f696cdd1587991ef88c 100644 GIT binary patch literal 545 zcma)&%SyvQ6o&uFRby>ybRLSUB2iaL@#v-Od$(|LD|n(}2A67sG*=AXV_Ia9xRH90_O!vm%cswL!fUW#GwiQ4 z3w^Ot7trL`g+Yta#{w+^Hd%)r6$gQCyqF>+mRJ*eDeZpHQY@ h!+g`WLe?v!fjPOk0@+?l*8h|C-=2F*$woO@^A`}SUJ3vJ literal 545 zcma)&%SyvQ6o&tkOQSKiwYun5P`n^!*@YrVL=>VMOSfg3j?HM=Kr$`(PHtQYE_?tV zN<3*Rq*}qve=c*rbD59Nw|4+7Y&kFpy8|(lek8Jf?%zD=Sbm#s5X*^3y6r4g(t$;& zl}ZB!2$fScQu>Tw?jLjrR*?3k3lpmzY*d&C)kxlshdr6KMK6(rMwmt->4;1f@jPki zSmlJhur%QBT}}w~fz%iBUW^lcuC<6BryE=^JX}eU=$PPeZII@g;NGRJ0O_&=OfKkp_2|k@bI&&86hVZ_@rbb7v{pm~OWD1ws#AJOBUy diff --git a/bin/game/cards/Mythes/Mythes_Chiron.class b/bin/game/cards/Mythes/Mythes_Chiron.class index c6fd5b9129b1b4863cb2b51fdbc2c1214ecf3cea..8615c9d43d09c33646870a3810129685f48e71c3 100644 GIT binary patch literal 527 zcmaiw&q~8U5XQer^G9Q~wR-U+1rI7>F5VPDBBBtzD80%yU7OW3fpjDIPF_3-9(({F zN}QxAL{o4NGxN>PZ)SGCzCS(z9AVQ%3+oPg4mJq(iAt0{CA4<;1_aYjN0QJ9R3dNk z$xvo@Vi3P4g_27ph!g*1GC>_$Z!58zwBm_CNFaLA45> z_e38Ce?xIh@UvmDwOM)WiM_S|4tnFjfWy|FC9%YDyNZ|LvLdXMnF2mwRltV*TG$%d dsgVZej~*03BBBtzD80%yU7OW3fn+22PF_3-9(({F zN}Qw-qRHi(zrUH;{rdj+1aO2+8wO!}CgyS!h;*8bu3vO0f6cuYsx*mhm;|@hYk?Eb7M3OM@lR!jck*XrDlBNz-Mi~0F z1#MRx6Z$i$&*g*2BYmc|2%gH_SAPnZQbal=*xc(SnI<^5NuCDsLX{^hMprL8d=$?D zL+~8_55Q!PZ)deR8nGp|-Tikgy|H7!VJ*s>#0qP#@_Sh2h_D8iwSW)U7JY{GT4;@Q dYox&w7G%FkcK?%Gt>k)>Z0y`=B?skY8$X!mS3Cd! diff --git a/bin/game/cards/Mythes/Mythes_Dédale.class b/bin/game/cards/Mythes/Mythes_Dédale.class index d11db1742344ce21197e2c38375f859de39a6c29..7eaaeaa6ea9d65ea1015b8c192c173ad4a179b3c 100644 GIT binary patch literal 530 zcma)&ze~eF6vw}ppBighTL(uK2Nf|(H${*XQHU-|SGgu<6HOaPE`ooO;Nm1WxVZU8 ziSN<|q89Xq_v_y0-S^$c=j$7Q9#$RbSh3Nu(Pgj><4G)!81(I(0fXVCp*E40sl+d{#7M6z2?^{)mr-8}Ka5-SY<-iOOB~-ycJshy#Z9NXWjp z;YA{krR2d~`Q+KRi&Mc988O(@>!rD5a4yp#3&csRG<2u4tD*b1{GK;pz+_neO9Aav zYw<`bHlWc@sAGUOhe_6=%q7pro4YSy&lG5|$y(DQ7AS7a;zc-=F)Wo81@BR&U`>Bg ewnjEaYd*4DvM#X&{P=%5IaA_~z(=_fT$T<-t+mKbMF28dV2?OfK?j?VSONm(hEfv<=(}kj^*6kbU&UVkw_aBp;_wk zxtCBsQX{303Fh`rk6`&}BpsMobWuZ{i9n6y<#^ba*|q2=lF$y)P$WH(sUn^wEgh?z zuo;vVRGx82Xbq(9%3Co`^oiCYyq_#T|4}%TBGECy=3YO|HNm+`$5|*(RdGXSI(z=M z{X6j>umK*#UjkU{@%5}WM;=>ZTibob!V5bF9M+=DNi4CtGvCEBM}!8NtOdNsw&*j= h=R!+lqeL1!VM@0ClGbl>t&&{%2f0;AwkMZ$z5)K_S>ONw diff --git a/bin/game/cards/Mythes/Mythes_Enigme_Sphinx.class b/bin/game/cards/Mythes/Mythes_Enigme_Sphinx.class index 5678995f6815f33d5b928f9c5b69eee93636ca8d..def0e278f903614656c667f2d7a90c70e8469d84 100644 GIT binary patch literal 548 zcma)&&rZTX5XQf03q?dg^q@x*W6&6T@uo2`Rig=d!Ehx@S?OwNNm-1(lNV1W9(({F z$~apf0p-9R=FhkD+nJs3pU*D<$Ji{w#=47|iw#2lRK-f45$yVYi{SW4R}v}>70bI( zza!Io(TP~8HIhI?Es-jdPeezDYDlOzdZI7AK&0KFcl)YCId$#JSoQj{-5i7}emNmj zds1J>2QiBDxz-|h${OFyU0h2M>5$-Zt)C1vq1a4DX&|qZnPhw1VgBi(NAWC5aF8SH zEjJDSa;DJd;jsgYcVmtN-UV`O^PG9?iGA+i1N6>;1($7pETX`1X%erX$QfZZQw)5_ knSm|)&Da^TJVRQTl50zlTMNnZf3onm=k7wXl1*0q1+oHPdjJ3c literal 548 zcma)&%SyvQ6o&sv(x%4P*6Ko+f=CrHOBaeDQBjC)D&3Z8IwqsJNHP(9CpWGH7e0Uw zC7!euQZ3@rB0QOht0EqX?3xcF!O-zipGSS3$ugcM z4He3qq3cx!{ISddLpu=aMBMNqQpZYh|8Bg(#mvLG;E@U$OsaL$TrpU^w8(sMCd*CM zClhAx+`Huu92=l^^htn09$i9eQsj_jWNSOGXuOc4!6Gf6DTzf=d+OU*qKKi17HJ9Z mk}c~r{khZ%*{qNnb(oOte~@c)$>rZ<DsKO4I~@E|K!D!;K3i@ zj}m9o7NRNcVP@Xhedc4ozCS(z^sw%tfmH`x2Wt%Wv7AVC!qC{=>ob@^Ius0@P)@{6 zF&>EQjt>&bbi*{_NuOs@>siuNvCJ8^!Vw<}KjPUi_pe`6EavY1JWa$AgEtcDOg!)+ zQKw4r=&9^?_3PqN@I=K74!sT1Trs$}X^}Im~ty#PTmlVTtnbGh8DGeLVS8Xd~ dyFwb6lPh)7`AcprB-?ee)^lee*(oRUegN{ZRBZqN literal 521 zcmZvY&q~8U5XQer)27DQ#_GX~hG8Bq|Egi_)uX)3sSm8%Q>S@8rdk;K2v* zp~OjAA(~#k`TLuh-LLPDPXK+aTQCTlV=<9lDAG~pUBBo^{+j#qB$gITLbuZ5b0eX3 ztfoqz5E{FC1A^%%BWa_7B?nEkm^Oz*@nmV{oAgd!e@R2A_&Y3fL2gsq^m zpnk&r<^o_*8Db`ct@+BGwVX;$A<=G{L@2@-&nesyM)%4K81G_$ZzQ zw!u^QCjgT@zMIwJ$YV=voBQu*zp-P$W-ZE`#4@Wh_Z_ToMChQ)TEGWvi$0_MT4;sr eR7is-%t*IRTK~z7h2(0TtnJ)cNcPIh)_wrO1yr8^ diff --git a/bin/game/cards/Mythes/Mythes_Erinyes.class b/bin/game/cards/Mythes/Mythes_Erinyes.class index 52992d6a7fd8f049f0016480ec72e5bda4074d91..ec545ab11efb2266480499855dcf0a272658d2b8 100644 GIT binary patch literal 532 zcma)&%SyvQ6o&uFrKz!+*t&72;zC86jXOnWfcjKp;| z8HnVT4??Q6dvUXqH=d`zFqkK%C25LuWR-8rpr}PrL;KCd2w)3g}I> z7N4YI0~-BAehkpdVUlf7=8&2TI4{Ed=J!nh}YBWJFnqJM8u4R=%0*guC$%`iw4?cho zWgJ@Cpy|QO{4=}r%|E+e-yfdk?=yE4RY^htRgX!hl@-mW09LM7@S&{ zPrVGy6PZYL%AoJ=^%x949S93LmTWZ8BqETBxGhF~k=^rtEEw8B8uGZuGg;Qvp`jv~ zGi(PngN17xGq^*c&c!1yVs)kz51%LI*S{{V1dmn3U{bH2=8D0(ON%TNm$KZUGo3wq zTla~-aBP7F(U$-QWwbp-lPZstkv8_<(R!mqgGI5trb8@Kw5#043RMiNa444WA!*sC oyXGrN9d&A`P9vtM`yX^;A-Xn44=Pu!_1AQ#Mrw1@_GGor4+Fqh-T(jq diff --git a/bin/game/cards/Mythes/Mythes_Guerre_Sept_Chefs.class b/bin/game/cards/Mythes/Mythes_Guerre_Sept_Chefs.class index 81158a338789b81027402f7e31d30907232157e3..19af9ebcaa8641836186f1861101f92b6e98c5a0 100644 GIT binary patch literal 561 zcma)&xlY4C5QhKt2_aw;XecOX)zfWEii5iq=@M*>bO8qsY& z>{5CsyD?X4tt60fN2XDcPm6{MqfDUD8pt6v1DW=+=FPJTY3BUPoYIv1Ha#le3#p$S z3%CPP=hT;Ztj?5@!NXYm`p3l;$ykK~Huri-rUWYOBu@jnh>B^pCn|rRKfISuvI+yH zKz;G4c;iyD$BSSG8vj#q4Di3eWNUHOWG~p8^*4xD4m8+otw|9}99O6DGAf)2tc)uK s+~BN$HT|WqCDJL88fN6`0_4`ekegz9rqXFQtw4K3GX7XSbN literal 561 zcma)&yH3ME5Jm6WP7KD75NIeUkSHJuxTF9fAtN4=p$STBZJbGLaN@{bBk@l(R7ezj z03U@ICm}Kq37R`IyL0Bw?%VszD}V#6o6rQB134rokZCV-t{zlKpTR%RDNV_5(^&a# zNd3%&Ay6yzyG#jGkD^hejs^6c-Hw3aCOxvCW6?$hRVKV>MA!MSOX-d5#w5`2l0e2C znMOrDJ2X@nWdbd)WbnsAhXVBhsZ;99JXR-4$>46X#^slb3zD%41x)UBlS~O%?IceF zI*W>JHm5E>-@AV+?}1Bf;PVawe{e z=~!g9e4LOn2-1)zBc91JpNqPRWzMh_O!!oIAS@8rdk;K2v* zp~Oj3AxaKj=9_=Nnc4mPdj9}$gmnuo!sb{^r5}kb&i$)rJ&`|hHxRMREtmwi))R0i zp>v{UN}m#p-Mt~f4ANNIFwk|-Mu&+|&E$149m(ugj1o!chiN2|p~zGjFOsI7sGP7B z))q7zaZK>WQlHCvQ6&0IYY{!pS6}`r45Uc(gkW)Rkmj0T-=swr$qQ9p(5og_?>c-C zPXgQEG5i^T$sS+M*5b%#CD!)-84EeCA}+XVYmO_e?))bB>UNm*2GQwUk78B`(A{}Mk^^1<=!rk{}D#BQ1Cxq5m>I?ZG z@>rj1EyAbr&8t5beJNrc5ghLIlS~ub+aymzd8rB!o!Ri;smG7vS=3>|B6R=Nz-v`{ zd{&Dt4E~JbnBe7Mv9&q#*b{r}@E!EVfdPlDJu703ahszmZqpTG05oZN#*sq1H akc|pyU_oxKK<+Fh8!M2zOUY)btn~v7iCI|y literal 533 zcma)&&q~8U5XQev(?(-#Ywf{n^`au?*n=WSL@GotO0Tj_$7VHcAlV4MlNV2d2Oq$P z5@*{g5pw9|o4>!A+5P(d_yo{L*MTL_o5(5ok<7-qfBm9k`Zf0h%4C#K?!XpkmD&Ps z7HFKRnbKzhwf%#kfE}b`a#6#&hdLTegla}N#dJj3og5`3&CPSGi6EBmtj#VzO z7nT-O-*F<)o{+wv2U#TgTx%IU&9`6uD-1{`Iu>xaH%N0W;NGT17SW|LM|2m%|6X_e zD4!*I;7R-|fXyD?&+2gGvlVRXhwoT>W5EK<-wOo%vahJiojv2X*PO>+18MTKJF?uR0aWtxZ+hR#%|3-Q2< zNS!OigQx1vt3MY*!6Owi*wpK#xngi`(;^GRr7T7CX2XA{9zF7B-h=^@q5rQ2TC3LM zky`Yj(Pxy$04)!btVNkio{={X-of4|&|s6bW<@k8ZqDNkIFvDLR+SPyq^yKB{k60; evQ;BBEXb`@vaw9=t|eQmq`6EE){^Z?S?32!HCc!N literal 533 zcmZvY%SyvQ6o&uFrKvHtwRYjQbfY3>=|T~tA{C+=rCXV%V>6lyBoo1Ra^p&H;RE0ysv`fx*z9@kIC`&!>fd{h}iAYwkxPPh^$~2NpxS(l(@K zhQ_H(r8;9U_x8sO)-an27bZ45*k}+D$W+{v$wcILd=d+WZjgmM9`ju4c$u_RBnyT? zP+3ra#|cAcCe(#^;AO1NmEz&keEZeE!btE~MGOx04zofrxVKrEhvHJ|BYKPBf3G`w zipbGt5`5 g6|z+!4VthZJL_a~mE5f*x7SH~l^oQP-T7rZKUB|Ix&QzG diff --git a/bin/game/cards/Mythes/Mythes_Icar.class b/bin/game/cards/Mythes/Mythes_Icar.class index 9157a72a0bb8fc53a189bf37865157c5b281af1e..3a09d14f7720bdcfbf238fb9fef55ad7f37e4554 100644 GIT binary patch literal 521 zcma)&%SyvQ6o&tktH#>K>cWkPu2jTq+$n-Y#6onVbSu+zY@%rc=|u3I+_(~4_y9hX zcqVNjY7u8~F8|DTF7xsE_730>YaUFjxM;grB{;|FC{-r}b7!|pu)@4A39Tp{$*XeM zlf{kbWvsNLJQi736sgXqqNS2_OxTPDVkm=H6#a2<`J@s#bGIE9j|l!isxx^f%1oUq zCE|ywU+3G!g%p`e2rj=3^RXg$*LhjQ@;uc8_>;m_#e;kCC>pR}6E^hkCQemLc7)ya3i64 zq9#h863o5*KEVpop>$wk*+m0QCPFol*Tr}svs*DpB%u?gkx2R?Q)N6$S~^xaVLPlX zn7`qe;Ekj{m-nJb^qJNodaO40eibgINOVlFxi?62O>l0~B8%jODi83cgR55^J%}fP z9q<(X3BY2H?`E|*^4SvG#=#qwUfD6=u$E;`VujV6`7TyDBDBzEE#X79WuIZblv*QO cHPYY-Q_}kfxw(*Bn1ni%!W<37)1sq3VnBAGLEgApGKFXY)U_s$Kg literal 527 zcma)&Jxjw-6o%iEq>aXCYISjvf`f{fv4bK=L=>Zo(p7HLYZFZyNNxmwlHlSbIJmg^ zqr{UmLevZ{@A-VrIrn~izPQE^W+?Bgee-uunh*d~1xz|fFMX)ZDJPqV=RGu&!UA=7g zR@@8pz;pON0E0cgoz>*XWlL;Z+b@`VW=Dg?T9i471y;NAZ7gy`Sc1b^z&mV*OB%m-ZZwkJ^0JjLGOJk$ diff --git a/bin/game/cards/Mythes/Mythes_Minos.class b/bin/game/cards/Mythes/Mythes_Minos.class index 5e52ecaf819643dba0fd7854f38b8cf288ead5f2..927c0e6d6067f5ee2052698f9b0c90d7ccce6d1b 100644 GIT binary patch literal 524 zcma)&O-sW-5Qg7P^P#c!OAnqzJ*kMf^ri?B5rx!?(yMIKwOLIQNH&81$%`k!gFnC@ zCC(--L@nYTX6BupXJ&RkKHuH}^s(-ufv$s|gEa>GSSC`PFf?}eh76{kjs-(Ikcqe| zrX!Kv@KH>eUXX@79`a0TJxiJ@k~zaxFyT|-g*+SQ-rz|^V(xASGD-6zhR#H&GjYd@ zSe+`x!-sO<<+qCq!DAIMI8^JWxngjy(;^GSxzrnUtIk!+!+ZY7n=oN9Z2mo+UQ;XZ zX-RCupg+*Z1icv+S(}tco{_iqU%_4|FyN52t0a~vZqDLmxTF|X%8Z5&NNL!xp0%x! ctr}@yPOkog+*nAqev{76nL7)~cDY&S3y}R)>;M1& literal 524 zcma)&O-sW-5Qg7LlSX6gmmWNcdQuT{>_HJEA_}P&rB~UeYqOd*kZc71lNV2d2Y-M+ zN}MzmqUPY`ozG`xc0WGf-U0NnZo?pKPQ+Atp-9J>H+a&K{5H1(HA^xZCZS#F@wt=G zJXSNMPY8|Oy&=K$ld*Krz_JSqO(p_0lUMn4B-0x)iY1{JB%z3hB2`7aNSZoQ8DT4^ zET}o+h|rlxeJ1Zj9_v%BMffmZefgtsAw{esg3Y~tl4*i-o#bgK&sA|jx13zQ>+oJY z3T%VN@Mi!fdwe;o&5_5J*joFqSbAZ{fWumpIf)fkcj3EO<%rNio3(%s*cN?;^;~F$ dY*k2uCzNF8ALK?Y+5Jn}zjyA`lD+w5YhQLORvrKV diff --git a/bin/game/cards/Mythes/Mythes_Oedipie.class b/bin/game/cards/Mythes/Mythes_Oedipie.class index c1983f80babb0777d01d2d48a3186ae2771d0e55..067254286fd7a3e392fc2ef7326755cbf8db90d2 100644 GIT binary patch literal 530 zcmaiw%SyvQ6o&svbJ1Aa+PZM*Wuqcy<4zGIA_`F#O1Cmi#&$GqN-`0ACpWGH7e0Uw zC7wweh;6}HoZFo5%zx(l=kp7|5!PMQu;!rcpu=FF$dOd147J_8E`#YOkzi;BawKl@ zVNay@ycbiY9V8)-yF8UTpB7CukQu{v(C0(pg*=Ti@A_2@MCl%GMI^^k95b}~LY<38 zp2zA;DIPu-PhS1GxD-5A0|tkB{UlQi?p>0np}3G*LuWF(9D4Y~Uw9oREQZbh6wpqU z7N4YI3kLm!J|<{$SY&O=Jo1dZwf_P3PJsc3tUW1WiQ@V+UWQ8d8bAn_6d)vIgg`P-fYPFky~GPnjO;ZM??gj|M8N~_ zP>9(al1beBbAB_k`}6zt4d4jt4h)9P0UruK;(1*7*KaBjGxKmOV)-J41Cyau=?bWq z!9I~AsZJRhyL&wbGst4$qJd=(7HlFyITAPJurKm^-cJQXC(I(A_INIJJWZM^kp;tc zSXoee#xX;CAk?{d28@iL(v$q{S z@mG#5&>;E}z$A~ZCv_M|vN=^(Fv=M=`~e>dH{e-6ch8?>D8}yQQe^q(^Fx>>VxPeo z2ze}Sc@fJaDS2>TjXnEyaVmH$Lk5#-y)>5$)>T?$fjEiEJyu8kn~ghn{E@eyL1$Q> zW)pf}qs*hVu?B^Hr92ww7od|hNV()0d42m0?3DrqCRt;Y#0BwX4;fA8B!4N&o-= literal 543 zcma)&O)tbi7{~w9cDK~hTEbZ(f}lqSB9V%alt{>4WwtxEL${T7D)EsdE>02$7dIbD zJl(C$2ojh7^D@uxd71Z*msbGWn73gtEcf|9_z};0g@1CdV)11z&qQ9lJ>14wDr{H` zu2vaPJwtO>rc&)On5%0Y1}n&V!hwm&78+<05z17YmV>UyFL*Z*4DB$Bc+%mytl~Op zsaO^aE1@>v&sBC9yuMHe;)<7v+E|SDX6;*#2L9 diff --git a/bin/game/cards/Mythes/Mythes_Poseidon.class b/bin/game/cards/Mythes/Mythes_Poseidon.class index c597136456997676b54aefa4665d7a1d249fbcc7..9e408d660a46b06889f6b0f752e21e79e87667e0 100644 GIT binary patch literal 536 zcma)&&q~8U5XQf4{?%Abti5#$iDk0R!gsJj5yL86vK72XTJ;&8 h^-NMn-5P4ph&k&02i<5y*Ba37->qAXXm57g`WK-rS{eWV diff --git a/bin/game/cards/Mythes/Mythes_Psyché.class b/bin/game/cards/Mythes/Mythes_Psyché.class index e66b956fb9667cc982e40d9eef89d79e87982161..e2f0ccbbd42868ae4304d84696d22eb4ec6514b1 100644 GIT binary patch literal 530 zcma)&O-sW-5Qg7P^P#b}we{dp#e<5Ni#J7(h$uu6lwM_U>%>RU|Wp^PRUb-WN}veY-dnJXR5dL%n{IDF*i{$R$?I zr%H=YQn3buenKA;v^gxYHf0`pM&8x;NXHq08BG}yPr@10H*Xbw=RVPeTa+rctJ<4_KzI$|)lwmS?~nDqpM7s;Wx zEC*eY-|%iqnRb-LJnisYYCTC>Dv<@lder9w5yU+26~V=mO2pLNUh$DSVDS4worpVL zrs`NJ9zRt5&c9up37)Ei!J)TdRwxGdIxF*7oJu`_KQ3HV+`H$Gyafw3!`h#{X_eZ2 zNE2cM27Q1&7HDDEWE-Rc@{GK_^9uGtfdPkXW1K{j;?^XdgG-8GzRGBLmz0JL^I6*( c>D5RBQ*z-SiIy=~a{YUo{L=od5s; literal 521 zcma)&&q~8U5XQer(x%2}WA)-eMDU;@=IB8YBq9pYgG#TmP1h!xHj-=v-^q(7!GjOr zLy5C#g=l;5^3C7h%{(7yiYwisg^Fy%LYghDB)CS^{n) zG!K(eqK*jW)^?X*1zBG@Ffr$%fhH4SGLo0&uqX2y(Mu(v6K0V}yCP3?JV{zAP71<$ zSX(fC!vVn?NOdCbM475%r9|{lZ9e~1IFlk(F~R2EAS)EXxz5TwlBbD2z#9*)UbS~G zo&+|)Q}`zUi#@)Z)#k`&OKclEZ)m-;W58k6WlmzA)t&e*7C0g-qRpz|UADT-*yqKo?s!YS^&Qwy?=yo`#c9o-x$+5Bdzc8xI9T(+el! zHX9E_a>oY|RoY(c^Qh00Q023tE`u;-=y)SO7LL!8Vd~tx$Uw~9eXq#JMIIIT2}5fn z>@o71F$xU+*6Pj<8|DVAvV)ShxXChnai*tU~c)?s{brmqk<-7EFd# zrOu;jhQ^5;OLfXn+uiFkm|ijzHfmUQP)CCZUyj919uGu%%LkEQ==e#%qdrfij%P_z zg)(F4`jr9yEON}y9tm|W?s*=mGo^U&I2nKS=iyTDNQDd*)p|*$80=n>r-8VTdW+3z z_uu;tANUi;HmDVS3}BK+7m!*MxnvpH`u-c1Udb_Flj>(mVujS1`3_boVrZg8s^J5& hy3R0Pv{uMwg*2$clx#0RZp|gv79hKG$2~!U}XRR diff --git a/bin/game/cards/Mythes/Mythes_Thanatos.class b/bin/game/cards/Mythes/Mythes_Thanatos.class index 30514b1abe67c7e9103c5a03e22f349c3dd20ec4..680b8401688ecbc9bc1494fa0dec634b2f6cc9c4 100644 GIT binary patch literal 533 zcma)&%SyvQ6o&svbE&bKTDx&sx=|6cai<6p5ryc+(ydI>u^CMhNG5{s^Uu70yuJZAK-WbB8xA@SHW}kQrw!yD{v`eSgk4=-lI&zhV`Uv djr3}yfd#qt4{~cMx&E7M{@mGLN_v&D_9u7+S*-v7 literal 533 zcma)&&q~8U5XQevlcvUKYwg8j=|x4%(SssLL=>VIORq9b*Cv`KkZc6s$%`k!gAd?C ziL-5$s5yA~=I?K2cHci<-vAt-XTuQaPiZE-kn&04T|TNvewmwLL@BAPuwe?cD{VeE z3p9`7G*-s~jqRP0fazxw>7aoX7Z#dK1aT^_%Gp@vLmDSipc`Z%B_qmX9WRrnisC|G z5L6b_-*G6=nM!pkZ>dbwiBc5a&$nOvD4a`5R3u| ft&r^sY4C&v+4%>#RZDLCC0oCD4rd#APadsU5!V}?#JRcYS?W>B!+&v7W;%S!fFp}bwp*<1m zQati9Ru@X~@VV-Hvv6@Oc&s7@mumZ2p%}dTtjt4kCG{ZPX@iBAkDvGpZ@_}h&|7I1 z`eLoFPm^O81}#P(3$zH>WF5+U@{GKF_yP7#fdQASGZnE$abp&*!=sF0qf#_{M45&S g^G(|t*{qQU=H%uIWOpgq{7<@nd-j%+t!lFNFPKhVZ~y=R literal 545 zcma)&%SyvQ6o&sv(ne!!Yjx4Bi{b?_%Ptf_DxwhGSh|(dbZka*fn*~1PHtQYE_?tV zN<3*Rq*}qve=c*rbD59Nw|4+NY}qgbx)X|}7f?3Ny{ji3%5QT!P@0l7rXW<(h9%If zl=c}As2{6D=@S8ScW)?Q_0zF*U}Dup4Rt1bmB{NN9?5J#qeu$0{WPFxNSP|*dD7CM z$^~}(%7DLjITC11q&|~(R7CnzYYHBw8(c0tTu6#^C}4AKKh3p(bCVWXAkS5~NM|-+ z;mX5%dL(RvyYUYJ7JGaLtId(eR($$G`PczZ2g1mEG0L7llIS<-KAuEy4mIz)oos) diff --git a/bin/game/cards/Mythes/Mythes_Toison.class b/bin/game/cards/Mythes/Mythes_Toison.class index a7cb09adfac4c77c8e9938f512feae228001617a..845d07d9b109378fdc9624b09be7f5a18c90ded2 100644 GIT binary patch literal 527 zcma)&&q~8U5XQgFUyaq&>cx{3JgA7h^ri?B5ryc*(yMIKwOLKGkZc6s$%`k!gAd?C ziIX&is0H1_%zU%+o0;8@&$o8~eQbI#vF@VdVuQgsmZ{Vy4Ce0MkiiPnSTOjZOvQCE z9f@qfM+s#*p^A7i;ZxCzcs9;^S5Gch)^*Rrd;Z8Ha`hkN)jy))XL_{HavGgk2bZu7CEF>Gjck<#%@ZbaZ zP~s%55H$xc-~9c}%5nMg#M0}gup^}Bl99Rr~qba0T z2K!iMQlBuGyL%%BD^wHV!o;$N4s0SKnThLiHWvAik5j?Wi&V_h5zl26FOrr{WWmsn z8VlO4IAZ8dg+3E^yiE0});xZwcVGS}TnL`(gu$WSP!*cNy-{Tzi*s3@Fdw~m+2K8Z z3Hd2~CeLs3AMk?riiV(En(11@P*rX*HKy@l^#l_G{U_@otlK(^{L%;!oQ eq~9P7nlLB3{~)(o$@Raa{d?z5E7_|r+xP+kBv*m} diff --git a/bin/game/cards/Mythes/Mythes_Zeus.class b/bin/game/cards/Mythes/Mythes_Zeus.class index 09ce36f073b71530f8f94f60d20f1a60642d2cbb..881e2b6bcdd9329ee0b8b1885a6491498d66c73f 100644 GIT binary patch literal 524 zcma)&O-sW-5Qg7rzBE=7s}~O7rePEd(cc6sb-K4!;evLKEEEtjuG1p{fD=apAh+;gfg~ZJ4kKoB#IaRT}pp zPl#=__yekAf)|Fx)@Bv3C-&C<2k4!H796(rIEe+0+mm<^E-S)PovGjhRuydc&KtWX Z>NQXUQ*?PAbYmvEG7q{l6ZPuZ{9lFWRSf_D literal 524 zcma)&&q~8U5XQf0(ne!6v3l_!B6v_ibL_z)NJJE(7o`U;vQ5`!HEkf-2z@6no&*m* zfDa{3(h3oK=w-h7_nVpBukVjf03B>vXb`rCVkG@YWP{wlp6FQq%EP@ZatkKGt+fQ) zNN9D{Sm{%Ov47Abm_a&_HViB~XrjeLsK)Z981-d#C;Evbw8JzKNl#>|jAuzx$0{f6 zgtZ0#Z#W@%L#fZ@qbL%6rnQKktIbz`3YStOIwn}$8>G1=*tcnsMe;(G2YA!L)vJ!5 z#EZZ#cnbdnV6w+|v$Z(#S&6lI_>QGFb{eqRmSs+2g{?F59jtOhScA*9gpXLuKEtzK dS?Z`;Lk%7=MZHDPt-0v>BIw>+v|Zh{@dIIbRX+d# diff --git a/bin/game/cards/Mythes/Mythes_Zeus_VS_Typhon.class b/bin/game/cards/Mythes/Mythes_Zeus_VS_Typhon.class index b1fbcd30bbee4df27b6fbd74711210888bc5b3cf..54079d4fc930ae158d650bb88ae90fc1f68902f7 100644 GIT binary patch literal 552 zcma)&yH3ME5Jm6$2_|3@XrQA&5Clm>2SP$Y2qZ(3$OVnHahBNN#K>MF<)3J%kSO>7 zJ_<2ToXA8J*$jhQ8!zg2DxC1^Et$?TftaUe*p_n=ULFAe5b^Px5B}_(V z49-BvEAhzlSYArWgXf9z?VpPq!DAURnAF=&GRa_dk~|H>bySS9JC#^?yZOXlc?}wL zhJz*Np^sKN+cZD+pwN1Xqk+}|ovcAwi##K*AANwmQ=q^kYfOt+p}1DYtFS0zSesM| s_?WT+R@Aq`R!F--DwvV$OOQMNk{fgKq|{U$V^MU!f~s>-dor5y3txd?xBvhE literal 552 zcma)&!AiqG5QhIr(nf1Ev3k*)2hob!qX$Khh$uuaEj@TC+jMQBX(Gu+=sS7wBzW)v zd?<0!))I?|mw#q<=bL|aKR(~y0UTl7ghtpIh@ouyBJF3*>yZlNcj(^AJnME^-S+4) zNMaKP!7eqsj1a0PVH~Pcg1+165DYiz%NlenTBxAPgcrv0CLi`>+7`V?66#*!i>M>g zu&Aeph6=)r(C|tIe{FM2a0XJH%R7-r>P#u&Ka6*{`f+h7MWh0P$-QopDMGE4b&W83Dsw&_3>(JU#{L@>Hq)$ diff --git a/bin/game/cards/Renaissance/Renaissance_Copernic.class b/bin/game/cards/Renaissance/Renaissance_Copernic.class index 9135e73b8df6a34708f33063d07a4e0641c73a5a..b9c2c6ed549f85ef9f2199e5815b847075ec3e2e 100644 GIT binary patch literal 558 zcmb7=zfQwI48}jFNduvfQdl}NAn`v78wd#nA&?>lKwZ)Gdb9^=QY9CjiiHV@fd}BB z5Kbs4NFB-z_Gh1eXZt=r-`)WnV%CGu3-{#{Z$$ud`|50?;G zK*AWId8~4!PY8{z?H<8Rih&H!z+wmwO(wc3msj<;FUwoe&m^JUEmD#7M5#N9yS>P(+%Ez-xy9+!U#7gA(;MDY1-QdF7{+!S@0%5!Db=~!ca zk3D!0&jK6ZcKls{%O0P@>T?vcCAQwq8x~&KaS*VYGAFUb8czKX%N!9_5V0C~kF9y< fcrQjRGO|dAJN%HXImpgTa&-=Jb0*oIY_|3d=yqd- diff --git a/bin/game/cards/Renaissance/Renaissance_Mehmet.class b/bin/game/cards/Renaissance/Renaissance_Mehmet.class index 5ba0732ad31530fd2186637021fb3f4f69033a98..84675c38cf51e2b772911c81ced41e3642af7251 100644 GIT binary patch literal 552 zcma)&O-sW-5Qg7P^I>DPwH3Sx-mHqb^ri?B5rybMrB~UeYqOdUNH+c|FP;Ps{s4cJ zI2$9xwg>kx^Umx%J2U(F_5J~1giRMMY&hsU7%3x@q*#uMR%Jf9ZcjYzpH3Z90dsqe2uln8ai(3=T$ zCLVYht5c&ER_38NmwK43Mw9yC!$M^mT#6W0tBi&ZDAKTD izi8Va+YQpdFS)izTJz*!DY?E#n)BrLQnFi3*82u^%3#0% literal 552 zcmaKo%SyvQ6o&svbFnen+6wLjcUHwNT_}P?L?OCR=~kxcu^G(;l8H~{#+Bg02k@c9 zlbS_ri<|#k=6vTeU*8{}0FJQfzz`TrWkSPH=96N0OQ}>vA=8kW{=+pz326tWK&Mge zGbCW2s8s1wf!6L|Bw+g4gj}@H_F%zgB2X#al*yR#dpV9tpciDJj7Kt8Ra_@c9jQWK zKWGg2f1hK4?v(U7J<2lHXIjhfdA7yXpNC75v5o{BuJyA*3%GY#nTK?ts%5qsL+V2h zpX7_g4!9YA6kxK)r?5I44cQ8|*4{f--q8(wZmxOUaEz(wrx^my*5NX8j-SRbcV} diff --git a/bin/game/cards/Renaissance/Renaissance_Soliman.class b/bin/game/cards/Renaissance/Renaissance_Soliman.class index a16cb9fff652dd01d688d92727cf56eb8e8e9c31..6e5f7fb9cd75c9a4599deb3dd21523550dfa63ac 100644 GIT binary patch literal 557 zcma)&zfQwI4934p(u9UWL+QZE234U88wd#%A&?>lin<~fo7-@d0Wgz zGP|cy%$Zi0MidVzQ)N6)I(n*dfo?dVne0WBjq~1}Oi1N9C6P4s!yt{-jFMAb8#&x)>8qGYx`-g1^hu;WRbj5txd)ttGj=Bv(!A>uB3RS52GMXu%KG*kU{Y literal 557 zcmaiw%TB^T6o&t4ODh#EA`7?fl%QR@z?c|}(S*1V!`2+i2&1J<+Nn?F#+8W+AHat) zo+6f!jhp{m=6vTepI`4E08Y^MU?DT$=%-w)GR%_;HV2n0rb zpD6+NR3%EE3D^gRBLSzMPNWYT^#*EinHZ=<-W2n(%pu@yl43m*@VK_0=32lXrbQOXOI2>OXH5A$ z_4tvV3H#t~{8xa(9v{Q%aTKx@Y-^o2Y`n5#!DlU>If+fy#?o(Kiz9(;1gs@|#I~%n so9+u66ZH+$<`zF_vqHN|)biHJz#y%P+^NXb(E2*sHqh13)?&5YZ(kr{ZU6uP diff --git a/bin/game/cards/Renaissance/Rennaissance_Casimir.class b/bin/game/cards/Renaissance/Rennaissance_Casimir.class index c258ec18e6b3e0b498aca0c0d3ed74fd364179b8..5dd4caa1c5461a110b8e81da0c84d777f96ea5e6 100644 GIT binary patch literal 559 zcmb7=Jx{|x42IuJ(gsRtLt%gsiGi;+3mXUt1tE|s20&ern;z{!KBVNruVP_BV&Dhx zqY%ClsvtVR4YpsOpR;}MAFpo!4zSjMjTILi7pnsGBb6w9EMRZ%3LM^6VJqLK)H%lb|~PD zr9PE+R7CnjYYHEx-7kJzoJ)%IM8M_RAkDQv<2o&}P@X9>&c?i_d-wE6O*p6t?EPaT z-nUX6@EX{J#lK{Z1O64%*w$J3>;?PU?hC{-2Nqnm^{*rrIBu5lA{wj&mZlj4@3S(n ndbKwYd zYCy=CK=W87N}mYW+dBgRCrn4ugN?-&8fY@nSBbnTrbC(C(lC|+-F_NTJfKXOxJ){F zqH=*=zc%2njgAETvD9bso{CtXYE9AOY>&$yg$qfso(Q=7HcWFZ;N7G}7RhsE*4dbM z?7;&)5jMf?_`3jyJwAukM%9*zRYv@)DwX31s*=nm_T|#4{ diff --git a/bin/game/cards/Renaissance/Rennaissance_Charles.class b/bin/game/cards/Renaissance/Rennaissance_Charles.class index 22b9b051a24ae92ffd5d614060aa7d5b00502fe0..61bcd8730a6b193f8b1984842ee62cfa748d1172 100644 GIT binary patch literal 558 zcmb7=zfQwI4934p)24(%N@3~9fW-eSY#<~Qgg~ko0Ch!fdNc=VA|)4|iiHV@fd}BB z5WY}QfDCYh?a$}m*}m7e=NABbSaH$7l7pUuWr5a#N|ZhnXsmAx1?(UlO95}75_w)s zM>4yjQOud%APp%VQl^ZaC2bw4TwrG~p{evk%Eq~WArn%0PDv2imHLwbcf5{vh{3~d(ZL#v%3--;;Cx}N5EI4diA4#-1?#$vjxU2-`%Z!1ySsB=B gKNwpfy$WgJlU(=%*{>xRf0NG7o@=$FS5DS_2TkE)Q2+n{ literal 558 zcma)&%SyvQ6o&sv)27B~YIW143&DGqT_}P?M4`A)=~hnDu^CMhNG3j&8&`r0AHata z&(tDO1G@RoZN77vxA&J<0DY`EumpA{G?hU_`M3x!WlE|jD2=4?zk-`EraX~_16#na z03l-ntwWV6eI(G>+!_klVK$a78d&hqM2m@mO65g49m)KfMu`;Y4zh@nA?3=%^Q5g~ zRS4`2Dg*x7=s=(|k@`g5Qkm#uttq;n?Q#CCa3(3yv4F#G!>rH(?p0RikvvsqonGCs z`*-v}SO>S`?*eT0_#9S;qkyeo+uVLe`-vS3E~_bX5{s+Sdsq^1_f@X+fk0zpvnyanMPCX8vC8Gy zXxNkGCG|3{wBsV7tV^Xbep0k`sw#nBd6B(G_d=|in4xg8I1`sLz8Ql?V@kKaZ`r3L(pVpJybSec1df9c-2p*w2Ah9l7V z-(dXl8W8b+um+3QWsVJA4;+pzyO6Ws>})+kJg~6fadh8{m|@+V=vnye1m?yS18=i4 iu;t#HSR;cPY2kyM|4BOE$(5<(!XL=>sbnyotn~(;`)2(B literal 567 zcma)&&q~8U5XQev(?nx6wR#b}2p&|V>CJ;8NJJEZ2bErBny$@inn1Ggsl0d+Joo@U zlsH?9M6J-vH-CS#GyDGW`Ucn<#T?uf=Rh^ZKs!IjKNl_h1dH2!yR8z!U^S*T39 zum$`Y6EZ2_9H~s{V}ZubZePF-^P%+6z+wwcI7~#$URL9QEN*C!N`X$4$CUP|P$r%x zZJnr6pcmC1m}99!f%Zu1Q+Y>Ks!z10_+hfj#gD?dq*NyYF879csRg|2yeeXOrp!j0 z|D4>tr$@pTcq0EBV6(?ZvAP@uYz5oq-U}9<*|FfUnldM`#M+wrEi7{+umYde!24`X jpXEFmt&x6>w0Oc7+5Ss5f0G+C$<;Z??U`g}vf0`vSXE~) diff --git a/bin/game/cards/Renaissance/Rennaissance_Chute_Constantinople.class b/bin/game/cards/Renaissance/Rennaissance_Chute_Constantinople.class index 7266961f6848dcc818c9bdcaf2f206f55e916916..ec5e3a54d18ea02114088cc10a5768bd8d5ff9f7 100644 GIT binary patch delta 309 zcmcb{a*aj%)W2Q(7#J8#7(}=jm>C4w8HCswgc%vwY%=pQOY9gKm^C!R7#Ucc^HWkM z)?R1jVPIikoycpQ%E-WGT-~#d(8MwhBY?B`{3aca3@*$~ZVt}dTMW{_e msFlE~mJgy9XooJ)7LcQu1=!XADP$+9AZcZWTf+}lB>({C&>JxT delta 312 zcmcb{a*ajc)W2Q(7#JAL8AR9_m>3x>CdOKrvNNzSGVrG-=BDZ=Cl;j?>pKHUMg}&U z%)HDJJ4Oa(4b3n{1{UZ1lvFMTW(H0k237{PiQ3nL859|SvOwb)7+8QTpeT@J2lDiR zG$W8^)!NR$u@T5%V&DRjAZef=12>T5fwFlRc!4}d20jLUAjv-YA)~N5LMnk=mO0L+0QJ%wgyNcJ4ppeD>K|0A+Rc80Hz`vng9R* diff --git a/bin/game/cards/Renaissance/Rennaissance_Concile_Trente.class b/bin/game/cards/Renaissance/Rennaissance_Concile_Trente.class index c5d2b3fb4b4d1aeb1b76c0b2c579c4479eb359c7..7108b74cab98064620dacad3171daecf397e2d63 100644 GIT binary patch literal 579 zcmb7=!AiqG5QhIr(nMozYxUq!@uDIYN^goF5m6`}wDelG>DaEO2_##e%8Mt#gAd?C ziIZ5RY7yPT?Ela1w=+90uTReaT3GX8W5q+=!z#f&)Uh^41bcg@OK^f@z=UdB$9ypv z_c`sTek7TCI|)_PRjJPXH0hX;&IqmcP>s0}s&tSwE;&{@%Tye4u0KsLNa9dO-0P$q z8$KY^hHOswT1_HzY>WzTizd#$9GtO=%!uI0-5|*f!M{o-X~?JY6k+3+3i~(ePL<)H zL}>oMK^ejf6v*GO2}?$oF9$Lzlq9<18nTn@rQJu+g9ruvBDn mcu!moTlRe(XUNJ7Y2kxh{sXx_m#q9G-S0KG=91N-v)UV5NNc+Q literal 579 zcma)&%Syvg5QhIr(?nxzYjxpLaiby@L~x-95)p;qLQA*hG#%TcX#&ZqPvypy;KB#+ zp~Oio617M-|J=?um-GJd`Uc<#Yc4Fp!9b0;6{)PBw{AF5I?q)Sap8Xl-5^aO9doyx zabnnoO{kZ+Kxl$gfk3C%E#RNPUS zF5+p@Hbb2g4#U!bITt%7GzM(W`A&^vb7qW+9wzHt{U}_rip`MV%G)5#4Z*uj$63S| zawB2mpVRm6)uX~Dq^tZPV2dZmiMkTC#FE(R?h6*4#j)Ut7G+6dNz|YEK9(gS)KC{K o;61U$JFD_kXo;+qNJ~0=k&QXX^_k?#U()$Kb89BqoNTuG2|~Y5Qg8qk6et=#AqYfSO_YbOJS!7av}1y~lS94M{qp@6%&)fMoftS7MHF;0v_> z*BB380wSIV>u`8o#qq%FfzP(WDr7I%``b?tj~qA%*j7H0sB&DN#&f8#5}2Q43V4@Q q0lUrMfn6DGlu#F+=)zyn)gRHt8M-sA>QuiM-6)aHtY~A>TJs$nAZMHa literal 569 zcma)&&q~8U5XQev(x%2}WA!3<@gS&Z>&=5ANJJEh2bErBny&3?x`AZlQ+e?uc<=#y zC~;Clh@#NT%zQKZn?L*U`SuRr5Nj?hf$o^5vKLW0%6ivQlgcvEku2g$+=YqG3~8gZ z3rC<`V?rhcn#W2jb0T1G?+gT-Fd0b?HWqv|&}5>ow7klvLz&*vFqQ(HeiBhUpi~vQ zOgd(wGJ%7BZNMB$9SHY5Qg8q+=s?!VzjZe2&jnH2qKCQ5=7y!P)Qp$moZtr4|2DcUu9z@Soj0{ zQQ~Zj5;dT>#mxK8?!(N^%j?rKfPJi&QNpT+x`#CZ_gE!Lp9qw;wmSlLEA5j&HBbp% z6mgHTYuSsqQV-HlMje?cj>SVR#@izoySD!rC%I<~9%z+}^3<;9cW!5`p{ z5@&0Xs0H=%&euLOv-A4)`~skjO$U}hdn{w}Lz#_o|B@1^@?0h%8UHgF^e9Y=DP@`l zotQFpUyuV^z$?LBZXr-RR*BLl0+pTJzJT3LN93Y{3DHG3=ww|b5;4ml+_|JAn0*x{09^J?y(jBd3csJYW{7d1CWTYno4!`ZDxfXD* z(jp7#RGHOUza8P=R!$|h!L9kEfXyC%lhxtKXDirN_nxry$c_b<)s#7j71sLPuVa-X sfi-xn2Ht0D-dU9gqb1TSkrsFOARB)mw-%D?KgsI%nXQFnbGF&WJGXmsUjP6A diff --git a/bin/game/cards/Renaissance/Rennaissance_Elisabeth.class b/bin/game/cards/Renaissance/Rennaissance_Elisabeth.class index 3a927f9dd6a705ec80bf656e6dc01bc4164d9f53..3a23404355a16ce975525d0c4cf2fa6405e38048 100644 GIT binary patch literal 564 zcmb7=zfQwI4934p^9M?4OJP7_LSg^}Wa$P%LIng;!~m!(a?+zYNE0c!@Kh{JNDMpx z4~6iRf=Zi(8*G0*|L$yme7?N{=whvo8df}XJgf@1M=DkNSfIAO(-*LN*+2@k0+q_E zaumw^mcoQHogj-S=~J$Zo+ND@t3tpJhBT6XMERibuVqTAC@77jiGRi2S)vLGrH&5; z+C!;N&KGB+@$MOG{e=aU0B{~-HxVD!STA+TDm3bu3m1$_B`tgGYdZGqwI0F0s zYKy0ys_*eI*o4KqGRFq*1`b=7mCs(VcXnSPUO2Gev30+bSm3xZi5F34C9pKk7M)3seq6Uc6SDleV{4?cho zCC=6&u`PJ{=I?KIWyQS=>=Cl>(hOPblqDp=>-! zx@M@fKp0mZ_T{r+A=4x#2QTe0LvT+G|^(U@E%*+ l=QLidR>)?Bba=uK*`6icX>xroxiU-Er^&6kWM{nD>Nm}yW$OR{ diff --git a/bin/game/cards/Renaissance/Rennaissance_Ferdinand.class b/bin/game/cards/Renaissance/Rennaissance_Ferdinand.class index 74b3200b2ea13a2abd43f4c49aacedcb34db8596..8d4e6cf687813225ba3510f8db11de67e0ad92f8 100644 GIT binary patch literal 564 zcmb7=u};H442FNFX#=IuQdkfZ0}>!03mXUt6;&Wr41l^KH#ypa^dco!o{EJDiGc^; zp%A`OP>?c|8*KkRe|NS&KHuH}9AUkV3RVNO1FR8hC)#LxN~rAY_6dF`jTNEU(?(rQ z#sihz@*t5+yO&0s^f}W`&yv0!>6{SuhCEhb#95q&*UGTYb2gE3@vpe+sw~!qO?*sf z4V67t_dH4LnYA1}PXE9Bb8(?Ku_HntwVgD#g!)Z7$s*O&uA$BH#}6O)i5u`yB^>;# zEt$Gd-;rUk1y6S6jt|)ls$y%RLh&TNy7vltk-$SBw)UOGg2atkyokCe!qPP3;C)dJ f_WWmO3uLoEdiWui=O8yq$(1?C?NYKi?X2|$3K3|DpgWfOLOxKH>T|6rewuA^^`~$tDb*7JhkL`k)B^5pUKOz%D6`OZ z^TEfD^i0?R59Ch+Z1(shR)?d2tzg?ec*D{wI~H74Q|2UASiQOLVU;6+HTbLsK4fe9 gEc?Z1jr41z#S?zW?gHdiBe}i+x!XwgW}9t%1G36x*#H0l diff --git a/bin/game/cards/Renaissance/Rennaissance_Fin_Guerre_Cent_Ans.class b/bin/game/cards/Renaissance/Rennaissance_Fin_Guerre_Cent_Ans.class index 241d41ddcab8465907419500109d0d7b4ecc1b7a..853fdb26063c8f302d8e629b07b88ea9ddb8ba29 100644 GIT binary patch literal 594 zcmbV|!AiqG5QhIv(?n}+YxUq&P*4$jDTpXSiByH+L8aHQO~-aM-9WPOsl0d+Joo@U zlsH?fR4pj(Vdnp5_hV+~<@MYXH#aaX3w`bp6>LzM~acLs7qjYy{btZ_kFsw|T_BC9`5*j73`$tg`K z3`m=>rLzNp+JMY4UCTT+En{SKJD%k1%f%_l*bD`Hej6m25hz_Ic^Xk$+0izBYqNVJ z?_?P+iUNE89F=!6MF#v;tij<;+T(&ZhayLhU4ygWT-<(ycwphc=jgo`F~_<*(eo&= r6Id8mEWE?c!cO7d#woHgMLPH(7ym%6&Lk^8N$-2l^_gUKJX!4x_3?2L literal 594 zcmb7=&q~8U5XQev(nf1-YxUq&P*4$jETRY{QWc5^m0rU(9oyA(1Ifmx^5RMG-~;$j z;%qGvwV+`txM8UWtr3wS^qN#yGnI3wS{?qzYUtR#8HkiJsDQkxvGcUdusD0?l3$ z$+$05W#d`WGh>wr9P|nU{{3OfYXKv0Vo72r!-vI_{aYFzA diff --git a/bin/game/cards/Renaissance/Rennaissance_Francois.class b/bin/game/cards/Renaissance/Rennaissance_Francois.class index dce22434c2702f59c3214b5fba83e3b0bcdbc9bf..e9547eb16ca7bec611b6b24b495704c19b923c10 100644 GIT binary patch literal 563 zcmb7=zfQw25XL{}ZwaLhg#oc47C@z0x`B{TPz6%N0H`Z+Q_~vKL`qzqiiHV@fd}BB z5SI|509o+hyYKV;d}qIZyuJY#V$*?+bsIe!8w}R5jHNnZ(D(Mo42GXf1w%KGvAA3= zCL+DzlZc#Nkc2!M^Hk=#Gz~SE8N(o$@rCe0o=!9GO2k}d8IMDe=ask}rQ{_tJ7REW zLY;{_zKqnVQapSp+F$%QI2Sxpa|WAg{UlQi&ULa(Lot&1JllS(8i>i9<28c^#uy48qwDzsmA)&4Zyt&v*Qv|EhkegeFSWX=Ep literal 563 zcmaiw%SyvQ6o&sv(x%4P#_B@ci5r#LEL|vqM2bRiq0+5P)3F^*6Ua<_DmShK7e0Uw zC7#p}q6XZY|6Jxfm-+a7dk1iYO&bQoV8$21k9am!{2VOSgR?@GrE-c0CoanJKupJ~mb$K@iIKMEIu$9m3S)7v0bn!&kA^DGi0S?sgj zc<%6lKXL4U`q7U87I}0KS(_rCl##X$UeS3W$ACk&C{q%vWZlwtu|^R?7d^5Cd`Mcn rGri6;NgeIhP?K7Gqh15r{*7)mqU#kpD5n~KhVIr#qZ-;@uD0<7UV>!+ diff --git a/bin/game/cards/Renaissance/Rennaissance_Guerres_Italie.class b/bin/game/cards/Renaissance/Rennaissance_Guerres_Italie.class index 059fddf3c393f0cda1f53be7d2a81d788f1a51a1..2b993c1b976e20daf88bb3d96846d6b4436f46ea 100644 GIT binary patch literal 579 zcmb7=!AiqG5QhIvlSXT8YxUq!@uDIYq&G#7h*~HfRC+DbbZl4C1d@$U<;9cW!3Xf6 z#MxSU2s$IQ;l>(euUCRR!)V97__$Ff54K*!n~Dik)iItp%(^jV?W)-j*w zqaLSM)QhB2Zzmx|9ZI$JlcH;eI#X!22Q=bFNNGQ7TyRV}%P0=n>QB=>%{fgu>$VI< zn)elI12)HeO?hOFjG^#$JVfiu#Tip%h6=vC4U)_#lrEDz4f#adsn&k!uzN#yRE7&r zVekI~$`YoaK>mhxII=o>T*#{6Ni2$MNLG@)?MJ8w5e|Hb#rGoSM3*Oe9wl)K3*(A~ mcf?uPDcsvQMOLOr2Os3(AIR02WaTI6eebz3ldO&>tGxksVr$F* literal 579 zcma)&O-lk%6o%hBj!v1WS&NoMn~F$~phXeHL?uXz3b%3`PkL*dftfq~sy3~H7X5&J zRCKOMOeNvwJzw`ZANT#^^$oxw);u^0ts#xM8Bj7vo7WtXPE(2kw*Gg}yT~|6IPJ9! zg_=FM3bh>P3$0K(){!Ru7c~w11_V0#R`fj3DMCJUuEMyC%4oOS)tL10}8v8 zXd6$Ht{Lf6;h>WnFy~@N3iTnIGrprNG^fT;@Gx1Y{iATn6q=EOCvW{YH45dMI7#VWDI-4`r8i{qdyYRi(ul4xb>SFkLRLKQVp o3-5`w@0`Mu)f`#Pk&bluBI|RI>odufzhv?E%&nPZW3t)mCtvDo{r~^~ diff --git a/bin/game/cards/Renaissance/Rennaissance_Henri.class b/bin/game/cards/Renaissance/Rennaissance_Henri.class index 515d6b8364a00780aba71bfa144299d47ae5395f..1b7a9ba771faae73bd3d4ca47424b40130d3de20 100644 GIT binary patch literal 552 zcma)&&q~8U5XQev^G9PfwF=_VgJ4z6#hW5XMJfajD!s}yUE9?(fn?)TdGRE8@Bw@% zakf^8rU&;hGvDm|c4qed8WLn#nMDwUVz zWFYe!8YG-)M_EispK@jNENSbpDg^eT5lv(mQ$8%hE18li3QA*X;vaF_lWDGw1X?4h z&*UAIi9Xeu;)iMPi(eN#Nr@f{cwF1f3N7GYXJsDCb7h9vs6TvgPmk1u4M(8!?{Rq3 zN^O@Hz!oh2A9HN*f52huvI^M?_Rj7L#4`sLJhtvv5(^wRXYnF@Rsu`YjDh!A8Q8L) gjIEGCg|zTZF4sxtFS$9FT&a__p4)TDU^-dr6O0mI-2eap literal 552 zcmaKo%SyvQ6o&svlSX4SwF=_WgG{wz-E_1$fnUBx6cK}^%y08Q~W17k^rhHU{*D@tl6qLr&_&>p2Po}wYVG9J6 z@`xdU=7~y`J{4%}bp`@CtAP*MnmWsV iHd-Nr3TbhNZ?aV6$3Tx#aJ$-P`A9({7Y=*sm zj70m^s(o4mn=t5?^szv{0-LNusz;uYw|8H_o+&Wkl6Ah4SfIF3#*6SsF)S4s4eyiE ou;DyuTO*q_(!e*l{0DM*T(2la0Cw-nv9nX`N zn#h8o6V(R%wb2QKKNjjj-19O~=SuPTakj_Rk3vuIL`@hRdK+eiVsLM>GLOZj)az_5 zI=1`3pE$Nb?dZDzi#$4q)S)OK%g8qNU$OK;jscfcmnn%AQg7~iSfz-ei597b56S9x ohW)IyMmB4tK^?wH{~zS$LUOGlJM)>Q|7++@4K=Hw?b&MUUs^F@?f?J) diff --git a/bin/game/cards/Renaissance/Rennaissance_Isabelle.class b/bin/game/cards/Renaissance/Rennaissance_Isabelle.class index 7bd6deddf32ab1d8bc26b49df59cd870e030dcce..a783f37dc728ddbd0f673eed70ace4ba4e5a186d 100644 GIT binary patch literal 561 zcmb7=&q~8U5XQev^G9PfwR+K;;6bIdm);aXB4QzUQ0Y~s>DsQQ2_zez%8Mt#gAd?C ziL2G3Dc;cP&#=ML}sSP5dkF1_g~|lE`C$ z)Oh3D|Z+9Q)iJGwC2z36_ z6py@69`YpEgT;$7#|AG34qKO1kG){;9KAxkaA3h>>wYJ(!f|sRufk^~uvTRZ++k&4 e%YHU?feaQ%3qR!g668)Txv>PfUrPp6XRR-hv1DZc literal 561 zcma)&&q~8U5XQev(?)AFwR+K;;6bG{M-Pf16|oRJsPrn+bZl4C1d^>!<;9cW!3Xf6 z#MxRTLcm_W`TLul+0U={4*&KFKEa~!X8|O zphWb9Q)ry(RGTw}+QH#K!R=)uZlZ=&A9XZ@h;+)=v+0oYI~pde(2la0k^$w~#*3tD zCc04QMx_V-UFk%jHD+_c4>U{6xiJ(!%@^taDO@onW}@IpZ!as1Li0A8KVdYgE2Tf61mL%3h{e|yiT_S}I1fmx1h_!u= f`(m|31|`yw2|r|O338{B++2d(uO!>^&9=S)EbC;K diff --git a/bin/game/cards/Renaissance/Rennaissance_Ivan.class b/bin/game/cards/Renaissance/Rennaissance_Ivan.class index c1d5a5a59e6dd041360c4c17c825c7027e34e153..26b05d5a96e82be9c9bd156adee5a355f7ebc8c7 100644 GIT binary patch literal 549 zcma)&&q~8U5XQev^G9QCYZdV-UTP70=}i$NA{K%Nm0o3LM@qkql)U_r@=Kx-oP zg?ylStk1Qk=&5*m@aN!4Qmm%}9@hqGt_A$tbe=`>Qkh_HJEA{L4Vm0o39QYy^+Oj0EA?h!DADa>pYN(4^_(-hnbKGaE c1+rEk9hvY=HdY|_mXcd5kOxc2=6tj5FO@l8&j0`b diff --git a/bin/game/cards/Renaissance/Rennaissance_Leonard.class b/bin/game/cards/Renaissance/Rennaissance_Leonard.class index 979d7a1d06128d0c80b10b5a217c6bdc97d6b978..0757a0353b3f9908d7cceac90738655b18d39127 100644 GIT binary patch literal 558 zcmb7=zfQwI48}jFNduv@r7*yVSooiX4TOY(5J(XNpswhe9_>MzNXdn#VqrpJ-~o6j zgfA2nAOqZB`}6sC_WAYg`31lpmOM1D;G*YZkK&UbfE|m5ryDFrCXV%V>_BAkW73kH?9O1K7bD; zo~cEm26XeE%bf3A=I#CE6~I1LTv&vik(kIJ7WuFUE@diIQHV5_#{UX#BAKOJ;ld`g zD?rFeLi13iN*@s#n_GQ?9cDx6p@DfH4w_6vDwP-IWFYfvF-Rn#8)dOb`XW~*o+WKP zRs~@%stovRqXR-`B=w2B6=kB2wHERHbdU3I4`)&&dQ5P+Hp~i5@UF5lkL9T{>#Wrs z+q)AF0_)&*{9S;}9-qVNaul#7w$Ao5=APKG;IW!#PGW)8pZPu(IU=;sW;O6GTT^E_ hk47tGt3q1b;gjtAgIuj8mwuD(&zT#wWOusR@(1YUV}bwx diff --git a/bin/game/cards/Renaissance/Rennaissance_Machiavel.class b/bin/game/cards/Renaissance/Rennaissance_Machiavel.class index 5e56e29fa57818709d836044839214db0df2ebd8..b55e2df086061a836041d6f15dada64c416e060c 100644 GIT binary patch literal 564 zcmb7=zfQwI4934p^9MqqrLZ6-1|&d0mTn*<6ofzu41l^K_jjiO$sZ zXxLT79d%RAw31v>+Mz;QJx#i1pi6-$>C;d}l8Rm#-KdOoSyCpIjeo`c70H37u}Y5w zntf%?)B}xDb7~C9r^)}9e=aT*rDh-yaBZBIMj*V+M}<`9+BUQ~`|-m^8dDuEJb{CM zwZ&6c>SG=TTX1++_PF5Pz+>yPir5SG-rg(33kMDYw*Ge#3mn&{@ghQ20!x#Oh4)!m f*m0k&t&oih>EMT4o`c+&Nv_O6ZqFnelg^r71$1Sk literal 564 zcma)&&q~8U5XQev(?(-7wR#ax9t0INM-Pf15mAU9RC<+Zx;Cq60?DRN<;9cW!3Xf6 z#MxRTLcm_W`TLul+0U={4**A4cVGz|jA$%_n2KQ;+{%npSyC2DQCWPQmPXHhkL`k)B^5ZUKO#tP-dac z=7SHPXhPTm59Ch+Z1(shR)?d2tzg^Ud&9yjI~H74Q|2U=SiPC=VVNU=75J09oUT2K} literal 570 zcma)&%SyvQ6o&svlSX4~Yjxqqg}6}>gDV$`P%5GjU8r;F5nWR%by3Jvk@dfW?xj{kO1iCd zKt5c7dI@SXDo{PvsWvA9mF=C5fZNXc6rh5|5FV;b#5$#`@u)}nt?VTv(2O%Bla9=_ zji*W140R!J5SIqbv(=G6V?gGV?<zEn}p5nCx=#qi{|#F+%~L-?p>D2n09TI9GJ0 z?MfT}9ld`qA0;-yE&1yJmpwj<)#oT;E7*FwFIaeH$3ehq%bdg#YdG~oEOR7KL!H&a ndu;7H$9=L|B5Nhm;SOJ9V-9kCCb{yL^nTCWnn^Y%o2`BV<`HMV diff --git a/bin/game/cards/Renaissance/Rennaissance_Nobunaga.class b/bin/game/cards/Renaissance/Rennaissance_Nobunaga.class index efa76a3166f63a196e093747691938bd8caa7178..9b2d0d3aa9912bf56ef4ffb928062e4edda59acb 100644 GIT binary patch literal 561 zcmb7=zfQwI4934p^QVN;mcoG85DTEHS=c~Gs0e{nbpX^Ax#^J}q=}SVcq$eqBnBRU zheG&DK>;$r4Yog@e`ot%-=1Fp>|@>1C_{O zF&oS5ipDW#I)gN%ctn{pdXcpCROJG_K}0hdgp^J4;6f&(@|==Tn)pjx57TjxP(%j; z?MUhqc|%34kF}=oZr=X<+r^orSWg8!uI;C}7Vt0AA`9iIGV^R!zTLZ}duqUjBhdZN zP`q-fyw96p3l@KrIX3uX;IMUB1?&ZTXYUE(kpl}JTlXW0I>(Jgyab<>!16p};4Uiz iTlEKHOJuV|TKFVa{y=V2lFi?w`?KeECE1!!)_w=RsAP%& literal 561 zcma)&%SyvQ6o&sv)1=ne*6Kpsi5r#DF1t_!sfa@8LZw?dNyl_FO(2>0RBl`eE_?tV zN<34GL=EWXKezeLW!~OjUI7fT>B17|MKqU#kg{n$xReR0Jf|d-#{UX##%WL_6p;&C zpj{$H%n3M0DpC4aptiR^5wJ(;R5nq=iibKJCVZ91aWM~Mc1=Mn1-gD3QaqtdnRuDB z^-SdgeZMr|&y@}ZI+4_;@|KENpJ+|t{bG@eZ-sM7v7QOI{C1S)TA+EA7Fj6Il-Xyy z^4$I%JrH)l{rJZKn>{{=)#YfwR{`zlrTKp?li(Gl>&tWN@!wo2)A zl=Mhn%3jQsT04tm+>u&2KPmclsEojFdms~PL{j%nbX+e&V= zN=WYsR0m{_=t_=aduXkUZpKrzzFeG;jO|b$;J0CBtU&1^8|jFSl^d)6TZ`>$c_+*8 zkr&wc$B4X#DJtaep$?C?=Z+8F7V;bm>>8W}=ltd)!~+Wt0ms675k=PJiJn7=oxuFK o;@~ZI4)${QE>4lvDbm9Sx$p;abtbv^lPrGkxi*umj3=wU0c$;NUH||9 literal 582 zcma)&O-n*S6o%iqUcF|PH*3|-MNkpBh-gs+VMKyNRJfJ#deW);5i?`Is!gk)ML(b) z6`e7OTS>Ti&(}QXW8Obr-vAt7Er2JmHg}x=YI#iOHIa5ubn(- zm5>hL3)FI8i*bR{kxG?47AS0Pbp`xZHlPX$Sg4|i5)&Pj(#1IGlfIGtm;~ybERu0o zYUSc-(zhdJ1ok_*0rPHlC=d?Gp39pnrsEz;`R&5&+K@pu(~oQvB+AT`c*7(B(RJc ptAlsgx_4gT$!U%ZbEL-|zQ}M6a(yPb@|P_Cp1CoTtWP#u{RC=bZIA!} diff --git a/bin/game/cards/Renaissance/Rennaissance_Rabelais.class b/bin/game/cards/Renaissance/Rennaissance_Rabelais.class index b02c2038ffa8b8c834df34c62c0be4e71e9c790c..2c58a5206e9d2e1ef70d9a7278ecd6d94b6fdad1 100644 GIT binary patch literal 561 zcmb7=&q~8U5XQev^G9Q~wR-B!gP>BHi?@m(6;UW2s`M(8bZuAD1d@$U<;9cW!3Xf6 z#MxLSLJoBgv-8c&Z+B)sKHuH}9Ano<1KS=t9(DxW6O|}^D$qDMoCw&%bSec}BbCVO zViC&hmcp1LolzQ5JfTb(y$srVu5y9?XhsVeM3hbQU@Q|-c}__rjsGj|#uUn!Qv-qa zOzLxaPerWHw5I5>{Ql}s;!;wq=K>zr4%1u<_%~^hMe;(Ke!8`9_aEqqny}#r^#0Qn zk6bAq@+8=U#fvh>1}_EwT7lfJC0k`@?Ju0#WOM)k literal 561 zcma)&&q~8U5XQev(?(;ov3lywgP>BHqX$Khh$sXPReF_4y0)un0?Edw^5RMG-~;$j z;%qGvAz&}x{Qb?&?C00}2Y_SjIlp<+@7BbkvZOUe>y{NLbyM6pb{@c557cH!NXrseKq%wI^&0|^IQJhMFUX&-4j;T;4UM6il zQ>DN#sy*=UN+$yTRO$=)Kvk;GwWj20vB>qG!j+^{&jcLq4f9e9xVL##B=S<3efo{( z4j<{6um_&UKL*(B@j^uvKn~6*7RAO e7o#=OuaOo{_#yoj$bKWay#l%4NcI++?R*0`z+|QX diff --git a/bin/game/cards/Renaissance/Rennaissance_Reforme.class b/bin/game/cards/Renaissance/Rennaissance_Reforme.class index e614c9ec6c43e143d4702a764cd369ee04564eff..fadc25e25c44a0d9a2f625d0580646cf9373eb6d 100644 GIT binary patch literal 558 zcmb7=Jx{|h5Qbmpqk&LJDJ&fskoeBh4TOY(5J(Y2L0yrXx~(A}QsVHdSeTF)_yPPV z#5oicAOm=~yZ3yL@6NAp&o2P_Sa)G!)j`+68bj+yrcxaGl)LBFJr1^N}(WLum!K;ire#e5iTi)r7EN0JyIGr g%m;02q*o&ie3Hw5AbXAE%5T#7*>kgz^s31^?}ATbaR2}S literal 558 zcma)&%SyvQ6o&sv(ne#nwYurjh2XtQ7m6SeQ3x)obSu;Jv>nX_l8H~{#+Bg02k@c9 zGqp(6fNuVCo9|ra?fvByz#-OMSOU8fnNTm1`KajiDV3@yWEzq2zk=I7jk7!<7mh%y z0tAc+G>=uP^ofAIwLK7Uf^0+{Y%Ka{pvgq2Qo1UWA>}u67?VIJ%pw^NWUfp+Pda+4 z3W5EwGT^U`js)5h(q}Z5WvoxNmeKuekIQd`3zD&(3b_0>$Odklk8x^*8DMoVi&`c4nKceE=9?W1|27 diff --git a/bin/game/cards/Renaissance/Rennaissance_Shakespeare.class b/bin/game/cards/Renaissance/Rennaissance_Shakespeare.class index 9a9a749453fee16d20b1b26f426df3fea2cb242d..6538bd98995f9e31c320716692e35a01cf9e0bb9 100644 GIT binary patch literal 570 zcmb7=ze)o^5XQf~+#iiGiP6HwLat>JooDZ2Y zK2WH3*_`kVjbd|b3`PBM2j^cl&X{7;QwZd2J#AN^s#R zg#TE6y%`lB9?og&} zJWaZ0pmT+TurOert&S8LeKu!&N8{L>8bi@=vdiUNfd}xV#~WPSa=r4fiG&ylEji|b?R5KERjMDbx{lN miM8*X@{`p9Su2o^boe40bCByZ$(6rk<@e03nPhXa+3F_*xM+g_ diff --git a/bin/game/cards/Renaissance/Rennaissance_Skanderberg.class b/bin/game/cards/Renaissance/Rennaissance_Skanderberg.class index c83888e70e2b8ff9d84c028aefb24fa49f5e7f55..9dbfa213e93ee9069a2cad0e557bc7a8935b5a92 100644 GIT binary patch literal 570 zcmb7=&q~8U5XQev^QYEoYW3p5gWy3$3d=~IEq?p{y8ZfB7c@H;A% z*W*!N=C{;OxYF!oAtgP^mGRS}tp}M8=-tnLp~g;Nc~UX( m0XqX*_LGSv(l3z~zR8t&vN}s{E+kjyNq3gqSxEYm$r_(6X=q6R literal 570 zcma)&&q~8U5XQev)27B~YxUy6gWy3$44ynFf>cByc(Br|Op`TTn6Tq))jr z@ib}cp(+H9g31H`+3G}~9ZP*7AE-?9xz-epCc9k!DqKlQ^iaUz-fmWC0k@Zxc_=TH zS!wI9qYoeHiLebG$zKQ9?D1Kw4o5y)!M48tislPD7F+h!PVW9n)nt9#DEM2N4N0 zI*F1|Po~=W>7j2&+6e4-au@t-y#s-INcNO&WER+ljFP zl`g+f(V2F;ZT$KTySMUQVhuc-e--dKCqmfiIiMmE8DHUw%XDpC4W!0zsa0#1;Qq(Ez+5_vtF z4rO*n!-YN+uBbOb&eZFyaJz;C)sGw(2j& kR>)?BwD3zdmms(QCD%&wpy+A07n<%?P`hl}nvd5026I1Or2qf` literal 550 zcma)&%SyvQ6o&sv(x%4L)+)LdH?^o;cA*Fo5ryJHrCT{o$96PLAes17Zd?g2d;lLx zJX1r6RK(4HE_1$fnUBx6cK`!yy08SgQ<}?uNa-Z&U(1+OmQfr^OAt}-`0heooB+~-kO_HafJXdCyt)(*$ zALxm&1MbDY1UT&RA*?P(eYS#at@nz?3p*A(R`bkBtg`xr@1x0)z#3Yt2Ht0D>a51I m(F)nDkQR6NCfolYw|^zqOY)$YX}6b#?p9E{9NJl|w($ks24B|z diff --git a/bin/game/deck/Deck.class b/bin/game/deck/Deck.class index 79a81af00864d293250cfa197657ce735549e8ad..af6e1fa286f0365ab6f319a852301253b90afd0f 100644 GIT binary patch literal 1145 zcmZuw+fEZv6kVqsI%QfeQmD#BxoB-GGF|{R5E6qiAu0NR!RXs*JCwoFX@;qWcfZ7# z_^L19B{4qxBmRSlm$j$GDVK*imvz=&d#`=Y{P^?b8-RJ-w_qV>p%>RI_rAeX{4=1kZoZYm^}-G&>iD8%!HO$B4st2zn;CAZ-`Zta#G|EVt5i42vzimq>J z-<5p_G=gn+PhqfB)4Pscbt*6Iha8p^k~Jq-)qa(ynS7zNqhD#e6}WYKBhVqCcf+kU zbkOptojc7~ZcA1~!WN;W6{?zh+pVoFDaWY#`gL17%-uy4bgesO$=wSWtXzI;bgXy1 zRwGd834^5ksJsq0d))1Q^T_ec3GUf-_JuCjbu;XfiCg0FR842cS{q)=uQ-ofvDqu_ zoRjj>NFklZ5Hcoir;)`S6Z2^-V3D_Vq6O?gwU46#$DV~=s$i}v>$Tox>2*A zly{s8JJTP9OQga`1gv`XI!UhA2=DepKbGVX4Mgm)5qw-tuc`h#~|NC=R^o`JVmNtPgBr(n$ zmoUjW$5Bcyl4Ef{%JaCWcQVUroEU#rGA9@n!)2aJ+uFz^k*N@g{f1>?TKyuw-M|^L KuJ9~|tN#FGx#tT2 literal 506 zcmZXQJyXI!5Qg7_KthawLHurP9H20r7BDn8Rv9gD=#OxOgOJQ57yp-yIu`x_f0W~1 za74#u_jYgJXFonZ-`)XSAoJr(H#pGJbg^^<@{6P`*Pe`h1i6xtHYQ9*4i!luEH;LA+)_1gA0$8K#f^g+m)6nW$s`AY8v))PHSu*vFgz`_n$XH!6a7y9-zB4wII?H;|{AJ`Q|g|7FE Y)+^duo=sek(j@JcX>FLKIVotTU&0n*l>h($ diff --git a/bin/game/deck/DeckRegistery.class b/bin/game/deck/DeckRegistery.class index a884f08a04c38f813039e4ab3f2731316c96bd3e..0a2ae793a1dd4f474392c43cb917db81f919607b 100644 GIT binary patch literal 1045 zcmZuw+fEZv6kVrNm@-Vcv{WuuY!$Jkz<9xHDT&b-O^O;YB>Fa#<8+{%;&f{0n~%Qv zWQgx3Ci;RtfRV%x@E809zd_@gsiZAB$vJEG>OOm&wRh+H@2}qgEMQ5)Fwz<(amL@y zMlj{$xd^5sIIkk3A%e7utOm`;84WtpeaK-}!yM*S7%DCZ^e)BB4vSzxrAO9u8UfHe-j2A7lDvb?U+A{8NTalJs_oUm* zv#cdOfvHS!(|lnX71ObdRnN5@E1x}fipgPzb$qRVk_Doxo>|&jHn#(96&D4x)mp$r+*6t32q(wQ?Y znR@1$PRaD$^}EvHOPw+AHq^Gd9266XcToO$dCOvAqRp`{L146< z*X4jx?JhiA-;^cxv4d)Lkv(HKs{$jL?EktJDVz0jYo;9Vea>4xZGT0FRBH!YxU`$-k&n9$Me*O0~#|H1wf0y~d5 z_Yp=0Q4o7(4j?`SKPR~N2Bd-$eAinE7{wT)K8$06jDPqiiz&q2nSF$cp+asS%16fc zxRl|Yq(L;M#hZ7;bm7YnmsrTf!u#lXi?mXBk7O>^8$|Iiqk&vZ4Wgc&Lh=KX`7E@6 zN?i8P=-y`x@G65xG*cD$b|z@ZH?_^LbcbK)OPYFx0ldaw ghs9l-3?xo5cL6uH~;_u literal 1011 zcmZ`%TTc@~6#k}w+Z(rXzoh+LG_2S(Kh_KHJz*Rv>U;-tnAZQJ^K2UK412SlU!kv>*~k8!iZR<{eKx zt+*S?e=awQN+6LhS+ck$eMjGqjjch!DGLnc|5HB40=8nkiB!HpVm0s`&(5XKMCGFB zMvs9+6XW{hIC{}Xo{V$_dQ<81>2&l!9D^7V2p43zpnIw{_#})GHsF@3%A1k4O1|-> zXGy25LoUW~374sedRvi2Hq&>SYF)2f`ehhn0)uWfD5!E$1<9hamAA>W?JKJs#<)Pt zS00m=nOhmS$}SqJEY$*|m_WopN}%VIOVd&hZ0bLyy;)Ldcvl)ZqsSl$RaUtJ)lWG++efGR5KQsJApZQvFO)V`zH9p^aR6)<*mMA17V#mTSf zaq&29dL+*MsX+T`Ag%2sxpO=s(bZDLx71^&HbhOsIjh4l26E;o10kL`ecTP+OrjvR zWeySkQgcVSYd07W;~uX+Ahz=sK?gc%(ZN5NEJWPR9H47Ge}MkayaBJcTDsqln#A!* z@!=EET=@3eC+4z=;RB3*#N;04vWaBvoY=!uHgTnP?%%`65hm6TF}Z()DPo$KAx`gq z#SBZ$otSkQXu88BtVu5;j2E=LCfNdsmPobH!Y=ONzNWy{0pky*4Rpt1F~cy}&^)an GEc^oydFlTE diff --git a/bin/game/deck/MoyeneAge.class b/bin/game/deck/MoyeneAge.class index bf2a287a6529e602f6ae479f95890b38a9ed1b24..af93d96f6d6d15c3be64359023dec80d9f696985 100644 GIT binary patch literal 2702 zcma);+g2P!6o&ueOo@;{h%qLZ5JEVG0dfXHAe;gj5)2~|JdDjuITZBFke+UmxV(-} zV4grPywhbgYnipYFn8XWH}DO70`=caVkx?4E~fwfYIarswQF~E{qo0;KLI$8PcQn+6-d?NI+km3SECv!X?d>}D;jkYv8tg(-`8jm{XnBp^h1pUq918Ai>5UWiGHkc zSk%)vBD$t=R5YV;Of;*}CTcWJh<>8cE}GNm5M9^k6tx;%q8l1LqMI6hqP|AIXkKGL zw4gC0TGX5tbxY%-=sk_gqJhS+Xh~yKG}IUqjWotZw`*}p_@FWFqd3!}g&bnO0rG@0}ACb82!G08zj#@MB1)D~d9tth`{f|R%Bv!yv%%y|B?7g*t!jaA{grIpt5$XS!wOe_>1nu3|g8IE0-God_) zAuV0qyZtbr^S`bC?@})nqab5utXOIM`x*U`f(G2c94+rkM+2rXtQdwX(@H z@6wa&Uf`R&mn)bCJitSRuKjcElDOlVCZJ!R6VfC*&6&ct@HrI3rn zg^r2zi`%kDab|;}EqSu`r}rLjTAc3VxicmRo_`&i&)JA^COtSX5Ig7D$ojq)<>|41 zZ;v-jU`m#&>xEojN$07U4pA=RurWEBD|u_imlAB>d$@Vy6=D}gf+UYI6)Iur<(D~+ znMSf0$x;vP?QX&IP1a^YTP&ngCcoud6U1g{(Ud}(jj80tb?e)$Ey;Z59#__jf1zG= znd9yglmAzt3cY*JaFH`&QB4PVE2d-KkaBcvQ7smu?V=6RQ&D;*@CupuWCXTk(o3E# zgnX~XQLL3aMc*rAW8Z`&%h{ESEG84Fz+(#1%O=Q1EXkIgy#0Hl=7#E8r?`jnTi|7B zqP45MWz$kFaeHmUWWtf|Rh;A}c#@xH#UHm=>J0BHFw38ky_nZ|HhhLkiBT_lo-*R}2c-&zd@ok4Eh$kJk6HhtpAf9&ENj&4Qi`eb3huG_|k9gK$KQZBO zfH>%Ih!1*X)O{Iq|E8TB(})vv6%BwaL=s|^dd uMN+tpMOGv$ksg%%hia*{Z+KHdb3n~bIWNdp71|coy)7>pg~m^2LNB+GQfSPW zLfH$WKr5Wwdw*@|a*~Ur#wj^CX38cUSE%dl%PQ1QR`S|G9h#fa2q%G7h1NX} za?pb2MkpL^LIVya@QOm;Ki1wUfce)dae3xW7QMjNC9hEC;_YabC0=X7>v)3?_VRg! zj^0|nzE>_JZ>+8BT$t)xP2f$1-WOTBnw^_-a0JZ>998IkF^Pjt5gb<-juQkrG`j4j zwYwa!K~)FGM0!%8Cst~zp^?J7MA5_6#3=mAmf-`sCA>ern4n^+o^-8G1g8~F?Z5t% zR3iBdO8jtaKGQk~o_ymVDdA^g`!N$SUb`d1!wyD8az1vCW+LPJUQ}XE=R|QyVQBvv zW_6&ehJ)pW94%?bMG=lEbj1jxLd3_UB>J7$y`8IiYufiI7#G323MckoeqMWJ2NM!J z6}zz#EPY5z_-yP;B;juMS?^{>IUIG``u~ln&0H)9RwS#jecY8e zSP{WT3IqG^#1bp#5KjdqBSqa7)hDqHt*IQi5}u14;-yNoRWX5^j@;?ME9V@niSX0- z%?nIbyBW`vLw=7WQwLh4CN{;J6@Fp!4vG@)$G({v!(FHi^@b=au{*aMc-%5KtAl*R zSD}n%I>-XQf7heZnhut|HJ|Quc%hQ>{Hzxk;b#}?!=jjc-7(ranfR%IBju;IA?L5xL|RS zc*Ein@utNL@qLR~;s+L2h#y+KP5juROY|(R5%U%`v0$-CT(`JEELkiQHwC}j>GvHT z?{gY}9@NuYThWiB7{F=z<`|FHFoac_qQNlkVFX{$?H=F^zQ$QRq>nwpc|7Gmc)!z{ z{=g;th0Cf1Db-1r8pIWq!nm5J2d&_$Dq=$2rM=w8r1}zR^%dRYdrYfeFr$9MECOcH yRGT(b5t0-lY;huMvw2r0lDQ~}L4(ZPw>&ujDMCgV{E9zcgk!zC$i1DY?Y{vl%lR$< diff --git a/bin/game/deck/Mythes.class b/bin/game/deck/Mythes.class index 792e5f5e92645271e2b2075de1e2181f5f09d70f..671c3f06fd0f6dd3f7b0bcf87fd9535830e3e148 100644 GIT binary patch literal 2491 zcmaKu%TgOh6o&uiPFn$tFL4}$0b>jpBZKb|&$3;Ka zI4NproD$vCI4zpiI3t?T=oYm#dPJXS^oee1^owRS21Ff=LD6lEVbL9p5z(B+sAyi} zvZ$*uF6wD6i@K|EUGxi$o1(tPglIuyQZ&$*5-n;>i|#e!sX}Ag@-qd6qf6V?o)s+y zPA-}Vtn^Myp*7)bxmHm0ZH4~B{gX>uR^E<(I;%5h?DS4_`5?&J1y0_6z0GZnm<^wL-G@tQ-^PiNElSt$GF9$#`z9t&C?KUo66Nx>`6$XUnBpCbQ*I z#;Tq6N7imoD`9i4vz50~iQTN@GGTq8dz2`b^5s%a0tzp(IZvVq-Raten#`-Dz*??4Qk>MgAw982HS}320MsH4R#Wb89YurVelmJU4y5H?-@Kz zeBa<1Vwb^g;#q?|#9o7a#B&DwiRTRt5HA=UBn}xICSEi+LcC;flo&O5nK))}oOs3H zRpK>+*NHa_-Xz{KI6;gVoFv{hI7Pf;aGE$H_(LV%i+nz3HGo%z1`MH{SA}j|#3f!8 zCiz_CRbc~BIJ_$CV+>#Ms_+f2;5%LwUf>$ayehoL4gATg!e6+Be=woi5K~>4R3o^p zVwh47a7V3UT4gb#p5m^0j=1_7v+7%Z4S&SE`VIHgAFR10MiHr28e5qq_KvSi0*$n0dtU9<_&>yh>QN=p(FWk_$?f?J) literal 2491 zcmaKuTUQ%Z6vzLEOH-x+3Ro{yD3q2d4W?Sb*GMW z3-R^s9hD0bqgxTYEilk9>XPz{+H=Y3X|zYsC(z$eJDan$#@+Gph~E9b)!kt!eL z>{`{r97~tNq;s`uUUHc&vUDY^%mkgivh z^mdYs2dw{8AlC5N7Awm4DH*C1WRtdfNSkDNQ7-JHGoCK%UVxhxZ$&L%pb3!-9);>btAjRd*}JZRKa=wnII= zd)3QHXG8j$`Q^=)z}7Smy6f%zmH9#4{dhqI-0JD~o{`a`6M+On|GoSFbHYk{6+fpI zH2XMFZ}H;8cDF|dV+3zPAbxf7qMrE#-5{N^BGS5 zfUek6bUjB8(WxKt`u#edCVaI7B#NaFp=AhT~{!UEt)+Vm#~isd_lwID_q7mxPqrNKWey!7xdrI@0h|LxPiZLQ*0%F_^NtSN{Swg}>Ag}?<#vt)y?aVg2&Cbq*+1Y@W z*Z2hb1bVL}N|jW3p?BWN8~6r3f%@;PMW>=teKGT&Ur(Ru)2GjLpI`s{@h1SM@To)r zi#>Q(q63S)xP+x1+>z+QqHTGv2X`g5+8)ai((3yXeO5n^=(qZz#GuuWB!;Y(C3aZ- zSYnq|C9%iqio{;4fy6$m6^R2@wZuWI_aqKmtx6oRT9X*IY9umN?@NqWtxJqr4JF2{ zHYAQ&jU-N3jU}f=U6nXv^?}5M)kNaF)uu$=YAP{hwIwlab*%>v1-b&2RGI?Yiucu; z%C%Ax=1Qpw>XQP!B~y)5+Df#*kiE$(WEO1*SA)6 zYKLN{?V0RmkJw@O->v`cr!2*-B+#?QIy1OolyMt|K3u~b-QE>Dy`{+>nkwfXV6MD;}bPg6{RMMSM3s<@G^~~fD2Y$Omvje$j`wSBMF@K8RfDL z;?|l@=;cg|)t_Mg>B#Y8HqczQN#qVm<2P7=nC5h%|@T%}PT z&t?<;L9zY0yaL@Gq*wN5wVl~$yxO5mi=0Jjs}Z0hn{V>K~M zRnI{dY&5y6damn&z85DA&cJKVrJAbi=Bifq(D1XU^AFGo&xWe!7E)>j0Vi(asCr?m~%yX(bvv4%;P3W;1+H(BbkZxLD+ZbvbpvRA3Eq9 Y(7oPRbjGZP+s5sLeuwWD)_a%!2EU?GV*mgE literal 2888 zcma);-EtH~7>3^_2}{QO5F(;z5ClX17ZM}){G zW4r>n0zKCfrAn$i&@<2E4!i@eKz%!_bSf&<2Rl2@Out`$-TigH^UEJU{0LwapQdm? z;Alx!RJy4At@MftrLI^(!+JDmJfw5{S$`yM*cYJwbV!K-+UUCUyTlh9MoIFMl} zeXFpk{3O%6k;3Z&y$;bARk@-P5697(!U=&s2Td*tbVY_9x{T=53y1N1S@Kh|sw+D7 zaMGyGxT?xB4ph~{X`?zTF!cWk?&+&6ld_6+$VKTk!ajj9H(@PNobs@m$S~1iv>h-+ zuL&_IFzgf}3Vj`@{A#SigyI1sKIfYF^PWAVjc`O@)TLKec~sj`F|(hnaOC%D?0VQl zxFj&>65&RmtFoYyvWJUCciB-lqvE0tWmxnuW_06@8PDi2KU-6A%=zX_hh> zM_|Au)Fb$-mlv{B8yaFf}3+*Ns) zHJY1_qnkIY5t#B@FtR0q9+yd(-!VIL(MaBP98*?BArCeW%SN^8xbBP6FKfA@0uMQ( zyDgA*NpMm7WfgF_OB~voQEoWS$Wm0Og|Z|)tQ*;f0wXRRF2|}`Rr&eKcC5KIJlrwr zj~zQ*F{?mt@sKw%-*HY?)ZHkqaD)Y;y6ZSMxw70+)omqXDwR=cSLGIWpo$ABE_o;$ zW#D+^j#oF&d%Tp(sGE)s89Tqdqq%n{$SxJG>6;yUpIi+6}0 zS_w9Xov&2Dl(W53$(U% zToYwXiu?4dhnNyyU|M`h`}r0#;wQ|CUonT6S+vxv4OJv0ff{yLk@ecVZz__x2-5~l brslrp%>kG}m=XrEHVDi5pCAu*TYd5un50j2 diff --git a/src/game/Command.java b/src/game/Command.java index 8caa0c2..472a57c 100644 --- a/src/game/Command.java +++ b/src/game/Command.java @@ -1,6 +1,7 @@ package game; public final class Command { - private Command(){} // pas de contructor on ne veut pas instancier cette classe + + private Command(){} // pas de contructor on ne veut pas instancier cette classe public static final String YOURTURN="yourturn"; public static final String DRAW = "draw"; public static final String GET_DECK = "getDeck"; @@ -21,4 +22,6 @@ public final class Command { public static final String PONG = "pong"; public static final String NOK = "nok"; public static final String OK = "ok"; + public static final String MEULE = "meule"; + } diff --git a/src/game/Hand.java b/src/game/Hand.java index e7e6fbc..8b28e87 100644 --- a/src/game/Hand.java +++ b/src/game/Hand.java @@ -9,17 +9,27 @@ import game.deck.Deck; public class Hand { List hand; private Deck deck; + private static final int MAX_CARD_IN_HAND = 5; public Hand(Deck deck) { this.deck=deck; this.hand = new ArrayList<>(); } - //TODO limiter le nombre de carte + /** + * permet de piocher des carte depuis le deck et de les mettre dans la main + * @param i nombre de carte pioché + * + * si la main est pleine alors il arettra de pioché et se mettera a meulé + */ public void draw(int i) { for(int j=0 ; j < i ; j++) { - hand.add(deck.getCards().pop()); + if(!isFull())hand.add(deck.draw()); + else{ + //si la main est pleine alors la carte pioché est perdu + deck.draw(); + } } } @@ -45,4 +55,7 @@ public class Hand { return hand.remove(index); } + public boolean isFull() { + return hand.size() == MAX_CARD_IN_HAND; + } } diff --git a/src/game/Joueur.java b/src/game/Joueur.java index 0c08981..55348de 100644 --- a/src/game/Joueur.java +++ b/src/game/Joueur.java @@ -22,8 +22,8 @@ public class Joueur { } public void requestDataEarlyGameData() throws IOException { - coms.send("getDeck"); - String deckname = (String) coms.recieve(); + coms.send(Command.GET_DECK); + String deckname = coms.recieve(); deck = DeckRegistery.get(deckname); deck.shuffle(); hand = new Hand(deck); @@ -51,6 +51,19 @@ public class Joueur { coms.send(Command.LOSE); } + /** + * cette commande doit être utilisé a chaque début de tour elle permet d'augmenter la mana du joueur + * @throws IOException + */ + public void prepMana() throws IOException { + //on prepare la mana + if(currentMana < 10)currentMana++; + mana=currentMana; + coms.send(Command.SETMANA); + coms.send(mana); + } + + /** * premiére phase de jeu avant d'attacker * @param adversaire @@ -58,19 +71,12 @@ public class Joueur { * @throws IOException */ public void mainPhase1(Joueur adversaire, Board board) throws IOException { - //on prepare la mana - if(currentMana < 10)currentMana++; - mana=currentMana; - coms.send(Command.SETMANA); - coms.send(mana); - - //on affiche le debut de tour - coms.send(Command.YOURTURN); System.out.println("NOW WE SHOULDN'T SEND COMMAND"); boolean phaseActive=true; - //debut de l'écoude des action client + //on retire le time out sur l'adversaire car sa peut causer des désyncronisatoin et des crash adversaire.getComs().getSocket().setSoTimeout(Integer.MAX_VALUE); + //debut de l'écoude des action client while(phaseActive) { coms.getSocket().setSoTimeout(500); @@ -104,12 +110,13 @@ public class Joueur { } private void putCard(Joueur adversaire, Board board) throws IOException { - //crash here - String info = (String) coms.recieve(); + String info = coms.recieve(); //si ce n'est pas un nombre if(!info.matches("-?\\d+")) { + //alors on affiche l'inforamtion si la sortie d'erreur System.err.println(info); }else { + //on recupére la carte int cardId = Integer.parseInt(info); Class cardClass = CardRegistery.get(cardId); @@ -141,11 +148,6 @@ public class Joueur { coms.send(zone); } - public void mainPhase2() { - // TODO Auto-generated method stub - - } - public void endPhase() { // TODO Auto-generated method stub @@ -171,7 +173,22 @@ public class Joueur { public void sendMessage(String message) throws IOException { - coms.send("pupup"); + coms.send(Command.POPUP); coms.send(message); } + + public void yourturn() throws IOException { + //on affiche le debut de tour + coms.send(Command.YOURTURN); + } + + public boolean isHandFull() { + return hand.isFull(); + } + + public void meule(int nbcard) throws IOException { + coms.send(Command.MEULE); + coms.send(nbcard); + deck.draw(1); + } } diff --git a/src/game/Match.java b/src/game/Match.java index 8610c6b..c25545d 100644 --- a/src/game/Match.java +++ b/src/game/Match.java @@ -5,7 +5,6 @@ import java.util.Random; public class Match extends Thread { Joueur joueur1, joueur2; - int tour = 1; private Board board; private Random rand; @@ -85,13 +84,24 @@ public class Match extends Thread { //on affiche le message du debut de tour enemie Joueur enemy = joueur.equals(joueur1) ? joueur2 : joueur1; + + //si la main du joeur n'est pas pleine + if(!joueur.isHandFull())joueur.draw(1); //pioche 1 carte + else{ + //sinon on pert une carte + joueur.meule(1); + } + //on prepare la mana + joueur.prepMana(); + //on dit au joeur que c'est a lui de jouer + joueur.yourturn(); + //et on dit au joueur oposé que ce n'est pas le tien enemy.debutTourEnemie(); - joueur.draw(1); //pioche 1 carte - + joueur.mainPhase1(enemy,board); //Joue autant de carte qu'il veut/peut battlePhase(joueur);//lance des attaques à son adversaire qui peut répliquer - joueur.mainPhase2();//Nouvelle phase ou le @joueur peut jouer ses cartes si il veut/peut + //cette phases ne serira surment pas car nous manquon de temps pour implrementer les fonctionnalité specifique de certaine cartes joueur.endPhase();//fin du tour du @joueur } diff --git a/src/game/deck/Deck.java b/src/game/deck/Deck.java index a2119fe..785b7de 100644 --- a/src/game/deck/Deck.java +++ b/src/game/deck/Deck.java @@ -1,6 +1,8 @@ package game.deck; +import java.util.ArrayList; import java.util.Collections; +import java.util.List; import java.util.Stack; import game.cards.Card; @@ -14,4 +16,19 @@ public abstract class Deck { Collections.shuffle(getCards()); } + + public Card draw() + { + return getCards().pop(); + } + + public List draw(int amount) + { + List cards = new ArrayList<>(); + for(int i = 0 ; i < amount ; i++) + { + cards.add(getCards().pop()); + } + return cards; + } } From f86a8e1658e547499b59d8d3142798a1d0b4d24d Mon Sep 17 00:00:00 2001 From: marc barbier Date: Thu, 17 Dec 2020 10:36:04 +0100 Subject: [PATCH 2/3] ajout de la gestion de la mana --- src/game/Hand.java | 23 ++++++++++++++--------- src/game/Joueur.java | 18 ++++++++++++------ 2 files changed, 26 insertions(+), 15 deletions(-) diff --git a/src/game/Hand.java b/src/game/Hand.java index 8b28e87..fe91683 100644 --- a/src/game/Hand.java +++ b/src/game/Hand.java @@ -34,25 +34,30 @@ public class Hand { } /** - * retourne l'index de la carte + * retourne la carte si elle est contenu dans la main de la carte * @param c la classe de la carte cherché - * @return -1 si elle n'est pas trouver + * @return null si elle n'est pas trouver */ - public int contains(Class c) { - int index = 0; + public Card contains(Class c) { for(Card ca : hand) { if(ca.getClass().equals(c)) { - return index; + return ca; } - index++; } - return -1; + return null; } - public Card remove(int index) { - return hand.remove(index); + /** + * retire la carte + * @param c carte a retirer + * @return si la carte a été retirer + */ + public Boolean remove(Card c) + { + return hand.remove(c); + } public boolean isFull() { diff --git a/src/game/Joueur.java b/src/game/Joueur.java index 55348de..370adac 100644 --- a/src/game/Joueur.java +++ b/src/game/Joueur.java @@ -80,7 +80,7 @@ public class Joueur { while(phaseActive) { coms.getSocket().setSoTimeout(500); - String command = (String) coms.recieve(); + String command = coms.recieve(); coms.getSocket().setSoTimeout(Integer.MAX_VALUE); if(command != null && !command.equals("time out")) { @@ -124,14 +124,20 @@ public class Joueur { int zone = Integer.parseInt(coms.recieve()); - - int handIndex = hand.contains(cardClass); - if(handIndex == -1)coms.send(Command.NOK); + + + Card handCard = hand.contains(cardClass); + + //si la carte n'est pas trouve ou si elle coute trop cher + if(handCard == null || mana < handCard.getCost()){ + //on refuse le placement + coms.send(Command.NOK); + } else { if(board.isZoneAvaliable(zone)) { - Card card = hand.remove(handIndex); - board.setCard(zone, card); + hand.remove(handCard); + board.setCard(zone, handCard); adversaire.enemyPlay(cardId,zone); coms.send(Command.OK); }else { From ccf6c1a1b9e30afe112eae58434bba5ae33ff102 Mon Sep 17 00:00:00 2001 From: marc barbier Date: Thu, 17 Dec 2020 11:04:05 +0100 Subject: [PATCH 3/3] =?UTF-8?q?ajout=20de=20commentaire=20et=20suppretion?= =?UTF-8?q?=20de=20clases=20et=20code=20inutilis=C3=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/Serveur.java | 3 +- src/game/Board.java | 4 +++ src/game/Command.java | 40 ++++++++++++---------- src/game/ComsJoueur.java | 45 ++++++++++++++++++------- src/game/DeckSerializer.java | 20 +++++++++-- src/game/Joueur.java | 56 ++++++++++++++++++++++++++++--- src/game/Match.java | 20 +++++++++-- src/game/PlayerTesteur.java | 8 +++-- src/game/SimpleUDP.java | 35 ------------------- src/game/cards/Card.java | 9 +++++ src/game/cards/CardRegistery.java | 28 +++++++++++----- src/game/deck/Deck.java | 16 +++++++-- src/game/deck/DeckRegistery.java | 15 ++++++++- 13 files changed, 209 insertions(+), 90 deletions(-) delete mode 100644 src/game/SimpleUDP.java diff --git a/src/Serveur.java b/src/Serveur.java index 4c50c1c..8e956c1 100644 --- a/src/Serveur.java +++ b/src/Serveur.java @@ -14,10 +14,10 @@ public class Serveur { final String host = "localhost"; final int port = 10430; + //socket du serveur permet la connection de client ServerSocket tCPserver = null; try { tCPserver = new ServerSocket(port, 50, InetAddress.getByName(host)); - //tCPserver.setSoTimeout(); } catch (UnknownHostException e1) {// cette exception ne s'affichera jammais vu que l'on utilise localhost } catch (IOException e1) { System.err.println( @@ -27,6 +27,7 @@ public class Serveur { System.out.println("server ready"); + //la file d'attente Socket joueur1EnAttente = null; ComsJoueur joueur1Com = null; Socket joueur2EnAttente = null; diff --git a/src/game/Board.java b/src/game/Board.java index 19bedac..938e84b 100644 --- a/src/game/Board.java +++ b/src/game/Board.java @@ -2,6 +2,10 @@ package game; import game.cards.Card; +/** + * cette classe est le terrain du jeu + * tout les carte placé sur le terrain sont stocké ici + */ public class Board { private Card[] board; diff --git a/src/game/Command.java b/src/game/Command.java index 472a57c..56344d8 100644 --- a/src/game/Command.java +++ b/src/game/Command.java @@ -1,27 +1,33 @@ package game; + +/** + * cette classe contien une liste de commande utilisé entre le client et le serveur + */ public final class Command { private Command(){} // pas de contructor on ne veut pas instancier cette classe - public static final String YOURTURN="yourturn"; - public static final String DRAW = "draw"; - public static final String GET_DECK = "getDeck"; - public static final String PUT_CARD = "putCard"; - public static final String PUT_ENEMY_CARD = "enemycard"; + public static final String YOURTURN="yourturn"; // commande de debut de tours + public static final String DRAW = "draw"; //demande a pioché + public static final String GET_DECK = "getDeck"; // demande le deck + public static final String PUT_CARD = "putCard"; // place une carte + public static final String PUT_ENEMY_CARD = "enemycard"; // place une carte sur le terrain adverse + public static final String PASS_TURN = "passTurn"; // passe son tours + public static final String POPUP = "pupup"; // affiche un messsage + public static final String ENEMYTURN = "enemyTurn"; // tours enemy + public static final String SETMANA = "setmana"; // defini la mana + public static final String WIN = "win"; // gagne + public static final String LOSE = "lose"; // perds + public static final String PING = "ping"; //envoie un ping en l'attente d'un pong + public static final String PONG = "pong"; + public static final String NOK = "nok"; // refuse une actoin + public static final String OK = "ok"; // accepte une actoin + public static final String MEULE = "meule"; // fait pioché mais n'ajoute pas a la main la carte sera donc perdu + + + //inutilisé public static final String SHUFFLE_DECK = "shuffleDeck"; public static final String SELECT_CARD = "selectCard"; public static final String ATTACK = "attack"; public static final String DEFEND = "defend"; public static final String CAST_SPELL = "castSpell"; - public static final String PASS_TURN = "passTurn"; - public static final String POPUP = "pupup"; - public static final String ENEMYTURN = "enemyTurn"; - public static final String SETMANA = "setmana"; - public static final String WIN = "win"; - public static final String LOSE = "lose"; - public static final String PING = "ping"; - public static final String PONG = "pong"; - public static final String NOK = "nok"; - public static final String OK = "ok"; - public static final String MEULE = "meule"; - } diff --git a/src/game/ComsJoueur.java b/src/game/ComsJoueur.java index edf522f..dc49af3 100644 --- a/src/game/ComsJoueur.java +++ b/src/game/ComsJoueur.java @@ -16,13 +16,26 @@ public class ComsJoueur { serverIn = new ObjectInputStream(connection.getInputStream()); this.socket=connection; } - + + /** + * envoie un message sous forme de chaine de caractére + * le choix de la chaine de caractére permet déviter des crash on n'a pas euh de cours sur le reseau + * donc ce genre de communication est assez obscure pour nous + * @param message + * @throws IOException + */ public void send(String message) throws IOException { serverOut.writeObject(message); System.out.println("Sending "+message); } - + + + /** + * recoit une chaine de caractére + * voire la description de send() pour des info suplementaire + * @return + */ public String recieve() { try { @@ -34,26 +47,32 @@ public class ComsJoueur { return "time out"; } } - - public Object waitAndRecieve() - { - String returnVal; - while((returnVal =(String) recieve())!= null); - return returnVal; - } - + + /** + * ferme la connection a la fin du match + * @throws IOException + */ public void close() throws IOException { serverOut.close(); serverIn.close(); } - + + /** + * retourne le socket de connection + * @return + */ public Socket getSocket() { return socket; } - public void send(int cardId) throws IOException { - send(""+cardId); + /** + * envoie un entier en le convertissant en chaine + * @param message + * @throws IOException + */ + public void send(int message) throws IOException { + send(""+message); } } diff --git a/src/game/DeckSerializer.java b/src/game/DeckSerializer.java index fc17946..d068ef7 100644 --- a/src/game/DeckSerializer.java +++ b/src/game/DeckSerializer.java @@ -4,12 +4,23 @@ import game.cards.Card; import game.deck.Deck; public class DeckSerializer { + /** + * transforme le deck en chaine envoyable au client + * @param d + * @return + */ public static String serializeDeck(Deck d) { + //la direction reste incertaine car on n'est pas sur de l'ordre des données recut return forwardSerialisze(d); } - + + /** + * sérialise le deck a l'envers + * @param d + * @return + */ private static String reverseSerialisze(Deck d) { StringBuilder str = new StringBuilder(d.getCards().size()*2); @@ -20,7 +31,12 @@ public class DeckSerializer { } return str.toString(); } - + + /** + * sérialise la deck a l'endroit + * @param d + * @return + */ private static String forwardSerialisze(Deck d) { StringBuilder str = new StringBuilder(d.getCards().size()*2); diff --git a/src/game/Joueur.java b/src/game/Joueur.java index 370adac..06306c8 100644 --- a/src/game/Joueur.java +++ b/src/game/Joueur.java @@ -16,11 +16,15 @@ public class Joueur { private int mana; - public Joueur(ComsJoueur connectionJoueur) throws IOException { + public Joueur(ComsJoueur connectionJoueur) { coms=connectionJoueur; pV =20; } + /** + * cette fonction permet d'obtenir le deck du joueur et de préparer la main + * @throws IOException + */ public void requestDataEarlyGameData() throws IOException { coms.send(Command.GET_DECK); String deckname = coms.recieve(); @@ -31,7 +35,12 @@ public class Joueur { draw(5); } - + + /** + * cette fonction permet de pioche une quantité donné + * @param amount la quantié + * @throws IOException + */ public void draw(int amount) throws IOException { coms.send(Command.DRAW); @@ -39,14 +48,26 @@ public class Joueur { hand.draw(amount); } + /** + * affiche sur l'ecran que c'est le tours de l'adversaire + * @throws IOException + */ public void debutTourEnemie() throws IOException { coms.send(Command.ENEMYTURN); } + /** + * affiche un menu de victoire + * @throws IOException + */ public void win() throws IOException { coms.send(Command.WIN); } - + + /** + * affiche un menu de defaite + * @throws IOException + */ public void lose() throws IOException { coms.send(Command.LOSE); } @@ -109,6 +130,8 @@ public class Joueur { } } + //cette mothode est utilisé l'orse qu'un joueur utilise Command.PLACECARD + //elle verifie si le joueur peut la jouer et refuse ou confirme en fonction private void putCard(Joueur adversaire, Board board) throws IOException { String info = coms.recieve(); //si ce n'est pas un nombre @@ -148,15 +171,23 @@ public class Joueur { } + /** + * cette fonctoin est appelé affin de placer une carte sur le plateur énemie + * @param cardId + * @param zone + * @throws IOException + */ private void enemyPlay(int cardId,int zone) throws IOException { coms.send(Command.PUT_ENEMY_CARD); coms.send(cardId); coms.send(zone); } + /** + * cette methode a pour but d'executé les evenement de fin de trous des cartes + */ public void endPhase() { // TODO Auto-generated method stub - } public ComsJoueur getComs() { @@ -176,22 +207,37 @@ public class Joueur { { return !isDead(); } - + + /** + * envoie le message donné qui aparaitera alors comme une toast + * @param message + * @throws IOException + */ public void sendMessage(String message) throws IOException { coms.send(Command.POPUP); coms.send(message); } + /** + * affiche le debut de tours + * @throws IOException + */ public void yourturn() throws IOException { //on affiche le debut de tour coms.send(Command.YOURTURN); } + public boolean isHandFull() { return hand.isFull(); } + /** + * retire le nombre de carte donné du deck + * @param nbcard nombre de carte a supprimé + * @throws IOException + */ public void meule(int nbcard) throws IOException { coms.send(Command.MEULE); coms.send(nbcard); diff --git a/src/game/Match.java b/src/game/Match.java index c25545d..35138fc 100644 --- a/src/game/Match.java +++ b/src/game/Match.java @@ -38,6 +38,7 @@ public class Match extends Thread { tour(joueur2); } catch (IOException e) { endGameAfterIssue(); + return; } } try { @@ -47,6 +48,9 @@ public class Match extends Thread { } } + /** + * si le jeu a un crash il faut que si un joueur ai perdu la connection l'autre gagne + */ private void endGameAfterIssue() { if(PlayerTesteur.playerTest(joueur1.getComs())) { @@ -64,8 +68,12 @@ public class Match extends Thread { e.printStackTrace(); } } - joueur1.setPV(0); - joueur2.setPV(0); + try { + joueur1.getComs().close(); + } catch (IOException e) {} + try { + joueur2.getComs().close(); + } catch (IOException e) {} } //annonce du vainqueur et du perdant @@ -77,9 +85,15 @@ public class Match extends Thread { joueur1.win(); joueur2.lose(); } + joueur1.getComs().close(); + joueur2.getComs().close(); } - //enchainement d'action que fait un joueur durant son tour + /** + * enchainement d'acction effectué durant un tours + * @param joueur joueur effectuant les actions + * @throws IOException + */ private void tour(Joueur joueur) throws IOException { //on affiche le message du debut de tour enemie Joueur enemy = joueur.equals(joueur1) ? joueur2 : joueur1; diff --git a/src/game/PlayerTesteur.java b/src/game/PlayerTesteur.java index 49a181c..c84319c 100644 --- a/src/game/PlayerTesteur.java +++ b/src/game/PlayerTesteur.java @@ -3,8 +3,12 @@ package game; import java.io.IOException; public class PlayerTesteur { - - + + /** + * test si un joueur est planté ou non + * @param com un ComsJoeur correspondant au joueur + * @return false si le joeur est hs + */ public static boolean playerTest(ComsJoueur com) { try { diff --git a/src/game/SimpleUDP.java b/src/game/SimpleUDP.java deleted file mode 100644 index acd5e62..0000000 --- a/src/game/SimpleUDP.java +++ /dev/null @@ -1,35 +0,0 @@ -package game; - -import java.io.IOException; -import java.net.DatagramPacket; -import java.net.DatagramSocket; -import java.net.InetAddress; -import java.net.Socket; - -public class SimpleUDP { - private byte[] buf; - private DatagramSocket uDPServeur; - private InetAddress address; - private static int port; - - public SimpleUDP(DatagramSocket uDPServeur,Socket baseSocket) - { - this.uDPServeur=uDPServeur; - this.address=baseSocket.getInetAddress(); - port = baseSocket.getPort(); - } - - public void sendPacket(String message) throws IOException - { - DatagramPacket packet - = new DatagramPacket(buf, buf.length, address, port); - uDPServeur.send(packet); - } - - public String recivePacket() throws IOException - { - DatagramPacket packet = new DatagramPacket(buf, buf.length); - uDPServeur.receive(packet); - return new String(packet.getData(), 0, packet.getLength()); - } -} diff --git a/src/game/cards/Card.java b/src/game/cards/Card.java index 71710a0..2c627af 100644 --- a/src/game/cards/Card.java +++ b/src/game/cards/Card.java @@ -25,7 +25,16 @@ public abstract class Card{ return health; } + /** + * l'attack par defaut des cartes + * @return + */ public abstract int getDefaultAttack(); + + /** + * les point de vie par default de la carte + * @return + */ public abstract int getDefaultHealth(); /** diff --git a/src/game/cards/CardRegistery.java b/src/game/cards/CardRegistery.java index e1a4ea5..bb80fa7 100644 --- a/src/game/cards/CardRegistery.java +++ b/src/game/cards/CardRegistery.java @@ -94,6 +94,9 @@ import game.cards.Renaissance.Rennaissance_Skanderberg; import game.cards.Renaissance.Rennaissance_Succession_Bourgogne; import game.cards.Renaissance.Rennaissance_Vlad; +/** + * cette carte est un registre contenant toutes les cartes cela permet de sérialisé les cartes entre le client et le servuer avec un minimum d'information + */ public class CardRegistery { public static List> registry; @@ -204,25 +207,32 @@ public class CardRegistery { registry.add(Moyen_Age_Pouvoir_Du_Franc.class); } + /** + * retourne l'index de la carte donné en argument + * @param class1 la class de la carte + * @return index + */ public static int get(Class class1) { - checkregistry(); + checkRegistry(); int a = registry.indexOf(class1); return a != -1 ? a : 0; } + /** + * retourne la class de la carte a l'index donné + * @param index index de la class + * @return class de la carte + */ public static Class get(int index) { - checkregistry(); + checkRegistry(); if(registry.size() <= index || index < 0) return null; return registry.get(index); } - - public static int get(Card card) { - checkregistry(); - return get(card.getClass()); - } - - public static void checkregistry() + /** + * verifie si le registre existe sinon le crée + */ + private static void checkRegistry() { if(registry == null)initCardRegistery(); } diff --git a/src/game/deck/Deck.java b/src/game/deck/Deck.java index 785b7de..0ed0f77 100644 --- a/src/game/deck/Deck.java +++ b/src/game/deck/Deck.java @@ -11,23 +11,35 @@ public abstract class Deck { public abstract Stack getCards(); + /** + * mélange le deck + * /!\ il faut envoyer le deck au client une fois mélanger + */ public void shuffle() { Collections.shuffle(getCards()); } - + /** + * retire une carte de deck + * @return la carte retirer + */ public Card draw() { return getCards().pop(); } + /** + * retire une liste de carte + * @param amount + * @return + */ public List draw(int amount) { List cards = new ArrayList<>(); for(int i = 0 ; i < amount ; i++) { - cards.add(getCards().pop()); + cards.add(draw()); } return cards; } diff --git a/src/game/deck/DeckRegistery.java b/src/game/deck/DeckRegistery.java index fd53072..4d0658b 100644 --- a/src/game/deck/DeckRegistery.java +++ b/src/game/deck/DeckRegistery.java @@ -1,6 +1,19 @@ package game.deck; +/** + * registre de deck + * le client ne sais pas quelles cartes apartienne a quel deck + * cette information est conservé uniquement sur le serveur donc le client demande un deck + * et le serveur le sert + * d'ou l'interet d'un registre de deck + */ public class DeckRegistery { + + /** + * retourne un nouveau deck en fonction du nom donné + * @param name + * @return + */ public static Deck get(String name) { switch (name.trim()) { @@ -11,7 +24,7 @@ public class DeckRegistery { case "renaissance": return new Renaissance(); default: - System.out.println(name); + System.out.println("deck non trouvé :"+name); return new MoyeneAge(); } }