From 54323bd300055bff85abfbf4593e6a3bd6d02766 Mon Sep 17 00:00:00 2001 From: Johannes Loher Date: Sun, 7 Feb 2021 16:32:06 +0100 Subject: [PATCH] Fixes --- README.md | 18 +++++++++++++++++- risk-dice.png | Bin 0 -> 8523 bytes src/module/risk-dice.ts | 30 ++++++++++++++++++++++++++++++ src/module/risk-die.ts | 0 4 files changed, 47 insertions(+), 1 deletion(-) create mode 100644 risk-dice.png create mode 100644 src/module/risk-dice.ts delete mode 100644 src/module/risk-die.ts diff --git a/README.md b/README.md index 917023f..761674b 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,22 @@ # Risk Dice -An implementation of Risk Dice as found for example in the Splittermond game system. +An implementation of risk dice as found for example in the Splittermond game +system. + +This module provides a new dice type which represents a risk die. Rolling a risk +die ist just rolling 4 10 sided dice. The total result is calculated by: +- If there are either two `1`s or a `1` and a `2` in the results, the total sum + is `1 + 1` or `1 + 2` respectively. +- Otherwise, the total result is the sum of the 2 highest results. + + +``` +/roll dr # Roll a risk die. +``` + +![Risk Dice](./risk-dice.png) + + ## Installation diff --git a/risk-dice.png b/risk-dice.png new file mode 100644 index 0000000000000000000000000000000000000000..d5e57b546cf30c7266b77b43fabc777665944c85 GIT binary patch literal 8523 zcmZX42Q-_}|Mz1QMNutP)K;6;RfSLe)%BBlc`WNd!KtM9v*DIjRi*Gyy@&ABW6V0Ugah%Ju5i};E(5bkD=_}Tddf}?3IBg z=Z8lMEG5C&bhF#a{Bd)qtV6LoBRo!oWGEyet#^}T_Uap>pp}s#np5S`-ZNC_sV2I5 z*+wPNV_$xh^;0;9fTY;lQ6U8!IUPeuhmOivC6B=XNh#rD9akT#&J?m69OuOTjqwPw z>zTqs z&Kw?U`@j_CH;dH`DDaQwn)G_LFncJDU?1pW@Ux5YDIX|U=JrsX~HEiiF1PQ+u6*V~M;&vyOn{WJ{% z92JwdzDpCP@o@L6$Vl#7Sla+{MN_WRb$>@HoT}e6jRlGFgtgr zNs3>9Tk5ITcx8ON%~|XvUff@L@%l}Szsw#jWi#69_~V1POkRV$+)&G~WvWy*F}5mS zU$4!h0In;4X|aHx86Q{aPsx)Q;`Zh%Ykq|-qd0hY+Z7t0(U5A9Bg-Z@l5V`uqx@z4 ze7*1@z}w+$?BS(Tj%{tNOLH?n^nR zorkp_t#w++_a>)y0jra59$53ZG0QOA2*37yG=qlB#oQ63 zS7UDij*7Y_SE|z5?QxY?=Lz0`Rprs%oH_*3pjiXm>NHm;`f-X5Zamw>OO7v z#-tjQE}!57&+?b@Z!iQP1JD=x>5K7<_~##`IrE2ayqY!3tl-m|0=ZCe_qs+%awA0R z_~r?u1~b!vURgD+WG&cOSm_lZgGi^Vn%Hgt51 z$pDR1V?9$neQz;t-Yn!EK48WVVT!O73^Zc^vaeP(9A6n}mr?*kyVQZ(&X@40*kJV# zUh09tG7oGcts}Q`lYaw(UIF=E>ie3o@7Wm=a^@l})amftyLf&SLDF<;$H~C}E zv7`aRK|_(9t-eqL6JF{DXW+RwX4UGSoor zx1{y+479S#oc8X=_Ln(fSH1-J=b?Z7m&JB=xgt9t01^%KYHB>{b%NGo894KSeAwE-h8vyx z=B5cJyu&J=_aUGW?Az0WLRSQ1LdPrHf&Ek(TfUn*&U63uLe$JC+c(;b1}rR!rv#dc`tPFA@`W2O1GwcWpA zbuo-1ctFrY7NTGdqOE1{(?2t0RB>I*s&!5+iQ1}d#klQE7+vR@j78uNilZow2>2ej z8-$(PlTBV?@9G>gP(&`%`!mb%-qmBv zJh2@2hmtLW!8X<)-}TwoJce%PJ1y07;^^F84<*5&t;O+a_TwJLyawvuVrIqRGa5ME zOf>fJ%nqwbE~;$^e~&Vnw}unpjX4I7An*Y(ck^A!$*Q)R@Re*;C3Ynrn6QZmKtal~ z>1SYUTsCI=DInk|F!H3#fmOap5H2)twt$oG;@LQPdg4_ZI&3Mmxy^j!0}*ze4bmE? zMPz=RA;R`M)Nl0tCp^gush2*syxN}9tK4m`igfVg%yU?THmNa*8ERFo?rFjag+{zs z@Lp?@)x_d~J>00VPVf><=Xh(G!tiO5mI^w=&m%C<*Q{f1`kFjfmO*0Fm|<`EV0n2X zGd=CD8~{YI4fLyVa}O*mNELS4=!H#Z=0LaEkGMDoJ(h;^G)02E(?3y-7$5$&L_$iE zvV_A-6dipor@)eEcXrj|%yS&<0vDuBR0+QbTo)VQBECdFp&4%?X=~4`375Z)=+5Ka z;!Kkja|~!J$Q`oR$~~O@Wxj+7xlVbtrSXggc;>aY*05BS{USILT5*;A_-z%s=^S@% z*~z_e^e@-hSeKE(2t9XGP{b(;-IQTG7bI%r#_u_;oHrYHd*u+{iW2 zeDnNJ`ia|f&WtQ6>xZ(au|qPrHltmaEzF=c&&#+!nfEwcd)b7-kv-1AcYOd za?2gTrh2It!mu=xGQ^zpKSyo1);?IT;xrebWkICQ3uUcOg?#T&+@V zOSuxsUCV%6O@@r@ldGehL>_fWCCv*@BWyWc4!O{f##V-^f2l3ELCb$?sOfZ+06=32Y8_NnFE1de&xyo{oHTk4H@jv>VC-)2(h%$Tzq^?esd9 z66-I#tkcpq{?5gVIdFtsb`V1cC@vfO2a#K&GIEAB=BG#3&slp#Uerv#A9I{<4OIa7 z7W=YBbtm9w-z-*VQz>#DxEGQH1oN==Kl=A!!$sOz87s7USxUU#XIm??%h=I>FmxJ=g z|Hvv1hQr+JypcehaEaimL2pl?4E%cH^7!^RNw%&X8Qw6Rxr;gUNMf-ve0l`7ETAi{ za>tqO;BBU^w$<0^8FmCy4P5H{H=F}YbD}h-UeYTZNja|Jlo`-WF~9wVpvEnJaCgvp zG1o8uuQf)Eysf4`wR*$XzBb`JSufShI}aG!3~Rq>L8HXOc8HX8mJ4*?4>pA>5q7=G ziOMz$-aL}4(AO1{v?6&U?)5^g#eJ%Y;9o9pHJ(mv>@Qg~XARqX^&~N9Em6jf zuKMI@uP-4h^ti7><{+P_!dvWy!XF8ooTd!k9`fD#)tw_y;`ORK`%rPGl4Qu~=7YF2 zv|A%tI;8Zs7}QWJGlk|CU+2&i=Cn!AAB-Z-QM?M%Fh0I~~sKzI*gPf?QZEqs_U*Qhdw2P=d| zS~XarwE&sVG@^y1_?ITk3t<&^0GVVh)Qz3(V&4D)b9ucD{IIVDIkU$SOWR{*dGVvC zekkg8_to;wmCh3ND%77wuJyPaQi7%xc*AdZiwp0wN9dX;Jq3T$CUpyd^X^YE@D8W$}0#+`vr-<&bdiDCY%U0Ax z>)bZ2+5#HRQR6W$B#=aJsGZ>;Op6mS^ycac8HC;nK3yBR=b|Rn8en#VdNizW0J7bf zFBhAKFGM80GpxoK8|aj4PnKA!-H9knZNZ8KVH#5MYmcZ=h1w_F)X*W@T7cxg}YF{h$3)B8l-%c8_H{wf_kx|FLk^FbeNybB6l!{cY(vkSgbmj~|Gb3*#}bd(*V%Qfb#U7ORH+<{E0Rgr@fzpC*Xi2g4eHkfm0J_)v7 zdGDY?K7FD_UfiJOzI2unBywI$~0zJ$`xJ}kLXnIf2|9(1TRcj<|6O{7;LjpX@ z)DX}TDBwJ-nmI9Pk(=bDFPnuO_X|F%B>{IkH}?fmD^3zv!)7@h3XBRWMW91f=0rhO zH07e)EK+I}Q|>eE+sR;r#~el)5Y`xvofRhq(NR$`NZ)iDl3joIAG%D}d)iL@vuNNSNPn~ zx%Pg7Z&vs6w3#LyMO>fK0f!|)(OE1+k+!L{Rmz+cqUO%5`ret>_8UVf!_4AJkL5+j z^gb;NwsN5%V*l=S99!ix?R(Q|mc(nnjm9mQw`8E7u0smrFo{2#-k2pSxax$5|F1%- z(N)nRDH;nn+UYJFXDLE%rI6X}+gdYQhcF;?B(dPZH(Z<}M00PMd08{0Gq3KzRo+BNO8luY}dZwpmE2f)YF>%n1K({PeGD;)wr$ zv^cF0%PlPWedG@VZPje;6w|4|s4L8GZ;_Ug{nqEAR}^Bx`#CjrC3QSi#ehb>3TY+m z=$oZ{+i(aU%GF(}4Tf6Okl)>Tv)M&WBJ+?2L&tlu7qv8;>+R(=)3{2pa6DED9=;B1 z9&=u*oS$Te?S=-!rFDx-Za?Ng*LPN4e7_xyRnF18x=}e{U1{zi-!2oIly$`rHSo3Q ze#<*Q%NVnrbi5U#b`mzZyaPrapB}QQQUb@v9*tiV=2)ka*4%)@>%&LbKb#dN;kJ-) z5BU0KAJT%}PgM(z!i@rh-Li94wvdItcg0*SAl^((+l4idYNvpSqmGiP9te~;#{8L+#lA#vXg z$R|AHFw5rqubh`n+^>sEFtzqwYJidOt-?p`$$t;r`B4!1G|g%7#6|+^9y>zGklJbAbNAJHB7N~e4G{SQaOpatV}r|O8Chd?Y@2!ExiB1ubwmxeEo5FYTC zep>ptcoWDktdq)zT2>V*Z?WM=WX;kh6h{1L;u(FA%!cg1i%W=RDVq7q{;fAmLRZK5 zCB@HZubOYIrgW@RUkh0Eov8pv;hlQ*M-ud!BN^fjAHVyLoaZGoS{z@5W0kzmizmQ* zlisN6;zdCiee^6nF0Gb?-|0^+U{vIbsiY<1Gunn#|Lzgy!O9h$obtwyjsW>vfAsWs zdlH~k%-_on)IDS>#!gui_?Fsru{pliBVpKf+z33MQhUuhxLP%*!{Q5&OdS6UH@TVDcBm#wE?uX zGqf7725iYEITp2Ia-E;Tk(aat;O=qHiF-{1-vtCVQV!kETKHyb(UoA zhF;ZgfypQ;cx191(y{&f&>EDhug_-&5+0A__@O62W;Nh91?&l#fnq9*Rh8ee%A(B-~#djWzBW; z0I$8!OTpa)lHGLQ+~a)e1L7B7xuXwcbwNDkBPDso;meMvRUg@@*ky8MPKgl~=M9y0 zdtQFUhFt3IW+e}liUywoqxy!&<_kD-HRU|bS=CilVc8&N{J$#PMaTe=6X!rspaNK* zrT8{sLOsyTqH9;y0tn6WMb_u(Ud8t#Gwr2($GaH54q+0vSZ!RC?T7I&u zf|2dh&u;x`cQORDeHypGHSK*!Bu+%q6UlbLqx6ivjFsazSLRMG6%{9Mw_ldwKzn~1 z7z($7K%b5mr07ia*V)g?Ux;P4j?IujLFth6@Z)ZdnVFe~O1`MY(96^9Cv*O-9v~uP z_ijr z`hk35uUu6kbrNf|!|^F#t}J25DmmP@Rk_H^*LTWM7;$?Otg4D6=aQW+!wLphdOh=j z=3l3eu$fN}qK7b*O^M}x-UwmDu2>Dp9r@iUY@sN-D=WLl=2UCuyeOX7#>eeAULQbQ zAFIEU%b(cB0*y^+#m@D7Njxqfn(Q$-#kdq=p;L`ZVmAo|pYvzC%mPT^c$Tsm1yxt-4(rTd?k-~OzK|A84c zhDfzVM2G3d*Kc2{HH>Q-2Bk3or$M1QIv+c%uu&@@Cx|56Pe5%Lr=|ycuGic#1Xs;r zC#DpUS79}j@AkLJTsK~rhXac{t*sdv_NAIR0a6Tr+4q3umlg6_O`l`cI4O2^d{1|0 zXJ?DmAv21O(;6<*|5|)P7Wt9&PUJxe8`d^P7o>--M(gC)ISiJ+$x~Hc9yE$w=)=k|v+n9d zllh!+&7)~U+nHUul7Vs3vv1Fb-vUXmhO#vp>!|Qy=@&76Bma~O3WAPohIx@a;wH1 zfgg^-v;XGWL|9jKo_#6-(SFFq#nt4wj0=3Ac^-+h#f=!V{bFh4a&S$v0167a#8y91 zmCA?aa`bTU44E0@LS9`17p4I zr+!$ib-;fh|88`kYe3V`%gam5eZFsCAQ-*i&quB9jV{4fI=O^OAY^4 zLJQEwa`{&AZ?{DOayk!jJg<%yM1)c$eIR5xV|0LzZv%Y+e8zSqKHFHT{m0aTCdj19 zuOspfLDV}YqM|V(pev3XeSBP}M@B1(kwis+ZIX4A`5%+P)(_bPQ2+UYF2Mscu@H zJpN^cf#Ii*yx+7}ihjf1)d7IkUjKs@7|*~xS}H7#Q_>8sOm{H_JugRsII#%sNr}szb!Wa2l z`OuK1=1>vXmpcl6Mum$i~C2R;BiWkN19mX*u^z@i{p5e87zzyi?)euLHP78U}eV z87z1YEbKBe)M2SSk}b5^N6b+qYA=>_m)fk6(>c%-LX}m=Y*1|eEP>U9bF4bDr)vWBwKWO6!O1_ zB1auX9veRfMuiQr_tWwoP*Hc=*X=f(VN<<-?rg}G(4SbdCHq&Qc9}3Yj-_@@RbvL< zYY0p9mN6ZE$h#p0wmA;&t(JL4H*+Fs6h5k31%(8~FnN=DzA2RE~}pc#ZW{^$5YBLC-JFruZQ^fDx~~wMCG5sV zauwU8cYwxJY{t+=PVhIJ2+fLOQ_{0oH>4^s%2VP`XsiNgyG;5YP>-rdMK#x}<@Cv5 zt-LM>)MR}k_KUAMh;KnYmF-D+i&D%f3j+kT?7nKf3~TV+Kx0n_oc=otFtvPON!RHS z_PHU}X`afrL5e?*iO4v3X0@C|n&#gS7idp!WyO~SDWYH8tkxu#GMsvPe)+E~IAdS? zKK@GzQOymOXvcpxKLaZnoa<>t)9!`KDl;(KCNdGFsyf$a#X9^n!m7O{jWD4T`&XM3 z*@dLc&@HZhcl*UpR|8P~hWq7KfzPy4{3PyiOen%6MCyU res === 1).length > 1) { + total = 2; + } else { + total = this.values + .sort((a, b) => b - a) + .slice(0, 2) + .reduce((acc, e) => acc + e, 0); + } + return total; + } +} + +function registerRiskDie() { + CONFIG.Dice.types.push(RiskDie); + CONFIG.Dice.terms.r = RiskDie; +} + +Hooks.once('init', () => { + registerRiskDie(); +}); diff --git a/src/module/risk-die.ts b/src/module/risk-die.ts deleted file mode 100644 index e69de29..0000000