From 7be70776a98440545fd5a1213d988ea82f6acc58 Mon Sep 17 00:00:00 2001 From: archargelod Date: Thu, 29 Aug 2024 12:50:57 +0800 Subject: [PATCH] add MTG Forge app --- .github/workflows/updates/Forge.sh | 5 ++ apps/Forge/credits | 1 + apps/Forge/description | 12 +++++ apps/Forge/icon-24.png | Bin 0 -> 1876 bytes apps/Forge/icon-64.png | Bin 0 -> 8290 bytes apps/Forge/install | 74 +++++++++++++++++++++++++++++ apps/Forge/uninstall | 11 +++++ apps/Forge/website | 1 + 8 files changed, 104 insertions(+) create mode 100755 .github/workflows/updates/Forge.sh create mode 100644 apps/Forge/credits create mode 100644 apps/Forge/description create mode 100644 apps/Forge/icon-24.png create mode 100644 apps/Forge/icon-64.png create mode 100755 apps/Forge/install create mode 100755 apps/Forge/uninstall create mode 100644 apps/Forge/website diff --git a/.github/workflows/updates/Forge.sh b/.github/workflows/updates/Forge.sh new file mode 100755 index 0000000000..87a6d24225 --- /dev/null +++ b/.github/workflows/updates/Forge.sh @@ -0,0 +1,5 @@ +#!/bin/bash + +webVer=$(get_release card-forge/forge) + +source $GITHUB_WORKSPACE/.github/workflows/update_github_script.sh diff --git a/apps/Forge/credits b/apps/Forge/credits new file mode 100644 index 0000000000..6c46c3bb8c --- /dev/null +++ b/apps/Forge/credits @@ -0,0 +1 @@ +Script created by ArcharGelod diff --git a/apps/Forge/description b/apps/Forge/description new file mode 100644 index 0000000000..87601aefbe --- /dev/null +++ b/apps/Forge/description @@ -0,0 +1,12 @@ +Forge is a "Rules Engine" for the most popular card game Magic: the Gathering. + +Forge creates a unique experience by combining an enormous card library with some RPG elements in Quest mode (comparable to the 'Shandalar', the late 90's PC Game) and Planar Conquest on the mobile version. +Forge also includes a Graphical Map Based game mode called "Adventure Mode", which is more akin to 'Shandalar.' (Only in Mobile UI version) + +Start Forge with Desktop UI: Menu -> Games -> MTG Forge +Start Forge with Mobile UI: Menu -> Games -> MTG Forge Adventure +Start with Desktop UI in terminal: ~/.local/share/mtg-forge/forge.sh +Start with Mobile UI in terminal: ~/.local/share/mtg-forge/forge-mobile.sh +Start Simulation mode in terminal: ~/.local/share/mtg-forge/forge.sh sim + +Forge is open source software released under the GNU Public License and not related in any way with Wizards of the Coast. diff --git a/apps/Forge/icon-24.png b/apps/Forge/icon-24.png new file mode 100644 index 0000000000000000000000000000000000000000..ea316e0a43d44eb5eec353a5ef271f44999e781a GIT binary patch literal 1876 zcmV-a2dnsrP)004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 zVoOIv0RI600RN!9r;`8x00(qQO+^Ri0uTi@I7*prWdHyMSV=@dR7l6IRc&k>R~5bU z-puUI?8oe`y&HRX?Oms_(~{Z*M^)48hby9U^j2c;)Ta9wOG# z-NR@9GO|23`Rhbtoqgo!sWrXgjQ}3nyBq38qgC-s8^hrcjwf1uo<{}F0XS!H=0zd6wknFcj&bsmB=S9E5*}>e>#~BC!YN zW~R4UjYd7y(OHva`G23m1G_&3oG~?%?bs&CvdTE;z`1}BVhz*SVq1-!0>ULN5|S!_Vr~8%dB(EqKE?x235*DZ-Z?a1H^Vj1m4lf(V?eKyznBsP9mpifN6L#Q2pB-sg|96 zy**@gB~Pa(CrXB1fx1ycSj1AMt4jdJxPTC4j0+y6u(DF%+$WxjYLTC9=-tkQQ!l+I z_rDUX7M9_jySI_cqgNIQaqo~sag#?$%(6@@ilVDUw2;rQNJv1~rzk$3UsWBu8C+Oc z3>J%(^XqTwIk2)?n#pET@Y#pIbUlIVdN7}xgS&RzmYu(HQJaYIbw6~?#I`ZGS zXLfEC78c9i@!y`vojmpY5C`#6XC`wG#wcRjO+W&I#oPk8g#PB((UU)KOGMc119x4A zgKq!KgK+8mWi&fFFV}Lq%n27*!voGa008XWHweS$uE3^`_IHOhEnX>?pk6b;sMUZF z7ntXc_V%r(Pd)kd8(vhnbm3jBD6QcY6I$n&rnG$SZ)|R6wBfoolSC0P#$cLOR8^I4 zHBJ3y+iEaD5IE;t6eTH*MQOyP>|n82J|l|Q_~WZ*))Gv=Gq22WiQ_L$W;@%t7)<-^VtypVy@pbcZ~DDs8H3DY`R-)< zVN;5Hl6z#AEPCA~4*el5I>kKl2})T7A@qh%31u0zGLGwRW(*nNJU4 z(>Tzc?$~M?mCeCG=okRssVIJ0DHrZ=2^*JW-?wq)A_eXC)?k-ItzGqJ`dy9<~Yc*7mY@v7^8ih@sr1npME*nrX?j=-VxSfMkuKL zw4&=iN+?p*&`aftzC{oaZ*6I*H5&DduIs;~#LaRLHpJtJTq>Cy35NoXF!=Z&IJT1x zsp97yLc>}lsvDD;`zT0DSf?tiCb>IrKG6-#<}5pY5)6cT1K|j1Pi6jW)QzQpD8cuC^ppRTU;qF5JKs`L zQ6zHzYybcNC3HntbYx+4WjbSWWnpw>05UK#Gc7POEipD!F*7ppnGBYhOGA%JSR4_F004R>004l5008;`004mK004C`008P>0026e000+ooVrmw00006 zVoOIv0RI600RN!9r;`8x00(qQO+^Ri0uTi@I7*prWdHylW=TXrRCwC$n`hWvRhjqy zYwdb^eR}WdJ$X_{LI@C&kOD{vML5iDQ5PRLEu zt#zeoS4h&i#W|JfS@{zG+G5|%W?y(NYQrA<_L-MOTlD$g=oz1*X^BQ|<*e@R?!;iv zfytikj(jFQF$`eRB`RFAjlUfLoYE1rKwdre2Ae!0h#n*oMjnnpZcKzqiWMxtShbCeWIAiH_+Lmb1Pn=wdBC_(b zh_@yb@HS42jkL(JFtdIB47ItY6x&u@bw<9!p=Qw*DSu>>vl=$bQ--~UD&&OH}abHRC!7C=CTU^_~YAmVJI0pZ69ZK z3oNc`#DJ5BEGrdTE?D#aL@ZXUtgNU`XR|uDO}nPHPO>c1&luwXCyX-?LcjrV&H>H| znffFE_|y^Qluj{Y9O&tK`OPZ5jAc`eT%;v14HJc27LjlS*`cBNjPcpZ?1ph$eDRDl zoE3oaLK~h8!w{4qqa1cTWAr#DU zKq-ae*x;N)5JeCWaBxsUz&Xe8@Ci~#C-#Mdfg`%E^ISFy0FYG`nyw>PD2Cf>s~f(4 z^Vd;T8U4!xa5x9EEO1UpHj@^@VULo{P(q-nGHlC& z<8TO~fI^`NfWznWK@=rung-jp!I^`x@d=ogr+f*$x{^mJL7N{T;3q<#1wXkYqDiq|zC<6xFV8Xew~dQCb%K z%LDk;k>3FT(uW@?`0E!x{hMDsgQLfLX~)O}=OGpM-uE3&h$(dl zrDU+L50m3#Fbo5lrlGNAT31_Z+Z*ZB092;@`SGxa-Rgp4D|FfkFdd z7^ZRL@KNj7kt2dA2rw-Rx@l2Gkw=)NjXn10e_}X3c}70|>}!FR(h77v{XCTAb7j-A zl{4{KTT?cB&g|BWimC(%Kp5u`MOkQVo6-67)6Z@{aNwx^HqtDaO1jA`4)DJofKbqn zR60x7Z@l2rwrR~<3&jE@po9t%XPgn{IN+RdaDFlxLI?o}p&(P!CIy4kx&pvkN<*fy!5hV8LfK_w~LZ1m``;L zzGSRCZxv2;O%8w(LQK=pm}8dAn%;1uRg90H7@K%jH(FPlmKD%69j0mUL;LrW-tHdQ z%&~((f5vefoik==THdi8<`5!sfl}r$?hrzzZWYb|fOBwg#yJQ9Aru^dEQ!qP@z^zW zjqz}_vgq}fp=+Z5y#c_c922jLEL=Rh{4Pb2-N}|H({+stbZV}*EDHpj6GBNM9=CVB z^wQ&p4jtUDDC&8ZsqfJ=W6-hfIU|F8BoU8+Qi54?W}%|0N(lJWA_hhE9$Gl7`2lWOV_jXnv2-GVT2~OA7(9Cb zvLIsJhIY2+l~;CnUBbqy>Z)~aw;RlH;BqM_ud0D8D;OOffX^SmKyNR69?zOseDayu zGiU3*k)fH{OlqL4G&)CBRYXh5xM3KCF^1}fCZfoSlupJafU2Bxn0f)KszQ()fO80< z1jeSu3`+m7k{=l!!SUmr@cN^PRjcMda_GRpqoShfpTF;0|4&WA=>RBb8V36(kV<8f zmT8RJmN7e%PL*d;DR4qi*U-c%r5GO_CGl7c#XLfi~-PpNfCp^ALZ0nZIU(F{cA82T9E`H>rfB&vDofZH9IL9kuoQQmEG&bT^rBP9$ zGet=%3kHHH77Ao?VvOXoSrBk|y*_C9JjrIWQZO7G7Dc%=8IKLr);E+YisUWi^Kcko z7zPsY7={M=0nVTo3n=EYgo7ZT%Ro_7#9}crHZp`L+5k?O zZkQ-9_d7k^qy6EC`=DtVF5NI2B}r1KAR?E|!t3>cF$aPmN-b?|B_6L|?dj^)s;Vlp zZjYxb5DbBH4u2rX4Z}n@5(eiWoC6I_EqrYB1aTOH+vA00nJDD5Fbo5kWD+BzV~|vT z{{8R2{=tBoext0sJaggtD^6R-83O=-eBQu}mRjC(BsLzcRQEc}8PhbQypS)H5D;n@ zCW^%(DyymxibSOTo*ptdFlblT)@1xXe-)tu{J{{9O^g#+mWged-8Ny2eH>NfJg!hKV2uux%T$@i7ec_hED*js=UB zc5mIh;hwc?H^08TeFpjl#?LtRKg(k1r(b;(TN^ILw+?+;&KJg`;7*gQx|=+=bm+}fA-2yI5O4Ad|oed`TW4T)eAoZkZW3}O}{r33d-O>CY3}!mqj6;hiy9m zp@^22gV`1)$HxIekW8f!4282x7B75s#j1-()~=fOp2YVTs|@Axc>rMl{?n%>Mb#e; zhr{kbFa*=kP{Q(_2v*er0^LgYVpR z@I8s^Ej^$qP=?;j1ipOdm(bR}m?&-h!$YL8bs9pE2=DLdA(A9RRb9xY)8LH5vTZmHhbRgtFA4Q{ zB|g4)*N*qBVMG9!Aw=+|9mkhG@(-AI;Tjq#iBONrC5S{IgoD^%ytcl^nX`H+n;05p zKi~NF*bi8#{91oHU;35COOyWQyT z=>io5B1sYez_u-jqKHf?p6ojIrg5aJ=RE^Jwq0}uuK2)>80{S*)0fT@N`hh0EhwT$ zB!Lo22?!kSaEqCa$!#a27p-IaUbjDR`we_;>q5NHz5jo7z&Qt@6yRK5vV8fr58QO^ zmt>jL#KuQ4)Zd3(HUn9fAP52|p~&a+00;;n@C5=;6dB1x65|t-(6szxewTbpQ$yLr z{onibdjnv^V%W9)F;Y9dS%|p2lAF2|LM6#yTr8T7=r9hKEHJkySZ+nK6jd;ZOEgtQ zv>n0Ws_TDFdj|qOWHLE2f6;<1=bpFfE4r3#>FPK}jC__`mJLEFp_FiXvS`8>1LuGw zOQa+kA%qaP+-?vmARbS|Gnw2!y}rNmr@E$3;(y9^zFPn*(SpzJ{IO6GEs=fHqc9?= zX~S`)4DNA==$2%K7@BU3jr5tvkM6Yxhx)AEt|P|5{ksjz)ZeKbb82usl_D3GESa~u zrM2!ttypl$lE@`WKtMn!1tC*aK>&=9sn(AtlPn&Om5YKnLs8W-x5wv-mPCl58}U>o z_w2yX#B;G&^0=lM1KD&YF3Sox&C}l`LGJ(D{bcFJ^Tkp%pi=5`#WdTSGNls9C5L0F zw7loFz13DB)*5gd<%DJ3hL$6yR&bbOG0qrs90!CD2*Q*Q5CVaU;>jYXO-`1A7-N(J zGMEEO$yE94RQ8vgJO@sthG9822M1(H@R)`k$``e|>YAF6Wm>RIotdVU)pR4)-#_q+ zl2FN4E2~PgN1oV^r#tqY768##8YFH(5=1JCDZ^HhIt?g3HF~_GPdajR_v-mG!W(KU z8)`(#R6{F}bTR?mFkqS{EX#&vnUEzJq9nn#%&F$46d(k)Z2=&l1YnHAVGNGrK$1iV zRDgXdBRrMX1811}E$35^CyW~`36EJ22AY7IuaDZE;3C0*< z{8a5?swTjvjyOHpqZngks)oq8uIV6@z_uL-R3NgdR6-D{7A~IO6F2gw4PxfEUsii@C@6(;S&cO`w2b%yRR>RuorqLa`IjC&d_;)F6ZV3+vtR4! zIyTbNotjqA>>4U5R?zRu1cTwY+wB>r#EF5x76{=21>u}cB{Ts>C~-ihW(npn$`~le z)cy%VC>JQDqDUD5Y|a@4p#&TZ0Ar3#I3NjvjM9oqv#hEiOMUYp38(*HD;9Ej?s)v1 zfOAoxtfRA6DD^wbT(VX6%FDmw=dWFN)a9G;^ORNS&ka6%m7=HwAdo~spFgW@dvjIU zBS$)qS50f1KCP{#MURGj;}O3%QBfI9J@H?UTi^fDV_wa2JU*}6TDxps=7!7GnucW~ z5`=+9v|}pLWLTJrIl4}?d^-!%wD->;o;6VAAk6^Z=AUNic3E1IC}KRkt2_N<>6O< zGB7x(J^Py-azk_Tq7552Tz-CKbVe!}ws;Z=)B9WzGQlNS+FS?iwTDg9D3@_!^eLld8AymP=?nBkN*L{XlD;RlTe!B)&PPoFD7XUw!#k~OtiRIhk?S0@Ao~N}V5q4c1bhv+9qjI%*n8Er+qNuTGeb zvAnn3`oTy`OWm?3AA6L}pEo;m{@M#3xoG2+Wg9nNd~Hih+Ni5ANI7@w2>U?UWRSOQHzNW>uwOcgN^p-(8f_ZbAtx(4P_XuBoYJ-R_rvE3`J&{Olh-eEEGZ?>YX9ja#l%SFK*< zGEKv*t|-~N{TEMGoPWW&R}Kwyg^nFQIMGmD`oQ;o@JLT(ZIioiXcXbn%FN7pi$*x- zp!}^lAo}PJe}P~~!sGXU&nc-=tiIlXW8Gcdon77iys33Y-?Y~HfsVtwGOxV)YC|Mi zQBMHKvJ6QQ19{WB`{Q@s`m^h9xZ=m_)~~&N?%e6i)5%FGHZjUog?5h&52OL)vf2DG zRgq1X+Xe10Q7abn&%UsC(B*Oo0EKDUpoG1)V*ZSuND#i$SXK40vB_9PV^i(?eS3GK zkk6%R%A*IKJTz&ABH`AGipad)?k=gA&*^SenV3GKbzvyzt?cRS00E|r6TaSpd470ZKuyQaEE zzx8APFkVwz*{W%I*VyPNyk1vIf-|~l!#OA^4VN&-a7|850)P>V$FDiURe&#GseQ! z*2i0-uDiefnY&)@{N({%V!Uwl(1FJdQ|}ff5xHCu4Gj%%u35S4_PH&!SFb;J#r1pl z?%Uy5wkw~_0U#uvOwiGxE}BSW0Dvg6jC{TT&WT=KT|2BBrYOs@TNFizg1~(~Pr)$q zPG|2B0JwY}wanBth?GJv7WLO(+p7~&sd_w~dQp-^(=-&b6>@p_RGA^^bpwk3a<1^$@EtE1x}Bme+5{uMR= zED2R3=a_b4xES+#JmOR>-iD$G17#J}FE|hr|MaczBN0zskjv*`GX~Y;C6n<)1v54E zb1SblHe7r`#O-!V$GiJbRaH4&R$6k*ACv1Hpa zQCe1pL^4_apU>{ybm4{z%UY+kZL%#(WVQu?Qd{6m%NO#@G)+WHqDZAv=B^ia?0Dwc zy)OeWK5*;j%cjqoIj6p%ZfP_U-tiOn^u7H%{{8I%yq%4}fXn5A%SF5%kH>3SHcZn( zI21~jhW&cSv7_ki=?8OoVq$zE9S-`-OG~0CCKH<=$X(NC&0cxDt53=04SmbS zTb`Dwc{~^lE*Atr;miRQ1V>fXTz~&CD`*A)Sm{){kV+TvqQh4R{BmFhiWp*Io7whY4LxyR6;;O4RFOyVn(WST>1yPt*QBj_% zt*m(M$Jc)tZLJT!djM750McFp%d`SsuiF!wn1ErLc4=wZiNXE>M5EdtOSQq&k(zcHeOA)xWH+D1V@LGGFuueL=&rl>>*4 zLN_cfDK7ojFYIJf+bfXk?Cjm=^}5y{>+E%FhHb7scmCn>(vpX|d%Mnaxf+&mLZHZs zUR_m@>FDU$QCS|jR21k8a89D(V2fe%7R|6Zz>-xJmCu$$0^dKpf6v|rG85?P9(?xz zPG~7ydHwtG;xjLlsEX=3eDoMf%PP|Kjm-x)ZMnw2<&JydmL%vvs8}-8JkSx5*4*g>GM{f^Rvd<@*k|*aP`C;AG>+IKq)az3yQ4hM39WZ{*hNZ zE5ct01w0=rYWi%=u-vN4r_Y@`@70;pTeq9V{Bs}r(8rU_brt9xdTSBoZ2<^^Kpe-R z0GzQ@3g5i%n{?yWiyO1~f@g9fX9c;CA9*BD;!b?~cxeEz%lKrdupnblNt+k!b4#RS-W|Mt+2 zGq--^F6g@HXnVVb6} z>fBWuDl1DC9zJ}uV{$S+APACg+jZOS)(W{5bv1QQEnm9ep4F>2bk@|CU}X5M^D6KD zB?>x&LQ@%eq1SJ{ zc{6`#`wkeIR{z;AeDde2D!2c1`@`6@asBqyOBdaC_~?($-RyW1Oanh9eR}yfdav|JkgWt^c@s^@i>ht7iT;@c=+t z-uHVJ@4`Qt$|D#^6rmNh(EF~s{Lb|oF8I5hJD#&8Uir``KYsTc6=h-mzz?24ARLA$ z$ziWQ5c=IKyHQosFga)Lg6Gz6y)nOdaT{KHtrPEVPslp}Fqnghfg!SX-TCLFQ?b@P zyY>s3riB~`p^A#?k;RJ^|4Y~_eeb+A7mr5+DiYZX)Tg7+?W4O=5P)G zVnundW&A{MFqKT9w6x4s?@~7}S~%x?%Vt>zLZMJJ1jBFwLBH?S<%{Nh{m^T>U#zUI zvCc+3@F%y)_infnxBSN=c<$RD69V;Za;UtHTDdX%i3jg9N@|+$!LL96o{9&6P{5B= zCQIhdZ9S*HzT(rmZY;MfCm>4_l_U|21E#|f2t+dNOWGff2HoGd@urV 8 +# workaround: create `forge-mobile.sh` script that's a modified copy of `forge.sh` script +status "Creating workaround for adventure shell script." +jarname="$(find "$game_folder" -name 'forge-gui-mobile*.jar' | xargs basename)" +cp "$game_folder/forge.sh" "$game_folder/forge-mobile.sh" +sed -i "s|forge-gui-desktop-.*-jar-with-dependencies.jar|$jarname|" "$game_folder/forge-mobile.sh" + +# create desktop menu entries +echo "[Desktop Entry] +Type=Application +Name=MTG Forge +GenericName=Forge +Comment=Rules Engine for MTG card game. +Path=$game_folder +Exec=$game_folder/forge.sh +Icon=$game_folder/res/skins/default/hd_logo.png +Terminal=false +Categories=Game;Java; +Keywords=MTG;Forge;Adventure;Card;Game;Magic +StartupNotify=true" > "$HOME/.local/share/applications/Forge.desktop" + +echo "[Desktop Entry] +Type=Application +Name=MTG Forge Adventure +GenericName=Forge-mobile +Comment=Mobile UI version of Forge with the Adventure mode. +Path=$game_folder +Exec=$game_folder/forge-mobile.sh +Icon=$game_folder/res/skins/default/adv_logo.png +Terminal=false +Categories=Game;Java; +Keywords=MTG;Forge;Adventure;Card;Game;Magic +StartupNotify=true" > "$HOME/.local/share/applications/Forge-Adventure.desktop" diff --git a/apps/Forge/uninstall b/apps/Forge/uninstall new file mode 100755 index 0000000000..9d1372ee6a --- /dev/null +++ b/apps/Forge/uninstall @@ -0,0 +1,11 @@ +#!/bin/bash + +purge_packages || exit 1 +remove_repofile_if_unused /etc/apt/sources.list.d/adoptium.list + +#remove game folder +rm -rf "$HOME/.local/share/mtg-forge" + +#remove desktop menu entries +rm -f "$HOME/.local/share/applications/Forge.desktop" +rm -f "$HOME/.local/share/applications/Forge-Adventure.desktop" diff --git a/apps/Forge/website b/apps/Forge/website new file mode 100644 index 0000000000..5665e00b01 --- /dev/null +++ b/apps/Forge/website @@ -0,0 +1 @@ +https://github.com/Card-Forge/forge/wiki