From b5e542e1210ed1a938267ddfc9c90f1f891a30a7 Mon Sep 17 00:00:00 2001 From: SP <142021753+zspz@users.noreply.github.com> Date: Mon, 22 Jan 2024 00:42:23 +0000 Subject: [PATCH] Uploaded v0.9.9.2 --- lib/enum/EnumInt.ahk | 3 +- nm_image_assets/general/bitmaps.ahk | 16 +- nm_image_assets/gui/blendershrine_bitmaps.ahk | 4 +- nm_image_assets/stickerprinter/bitmaps.ahk | 3 +- submacros/PlanterTimers.ahk | 2 +- submacros/Status.ahk | 11 +- submacros/natro_macro.ahk | 544 +++++++++++------- 7 files changed, 353 insertions(+), 230 deletions(-) diff --git a/lib/enum/EnumInt.ahk b/lib/enum/EnumInt.ahk index fa662a1..13b00e4 100644 --- a/lib/enum/EnumInt.ahk +++ b/lib/enum/EnumInt.ahk @@ -271,4 +271,5 @@ arr2 := arr.Push("MPuffMode3" ; 250 , "StickerStackMode" , "StickerStackTimer" , "StickerPrinterCheck" - , "LastStickerPrinter") + , "LastStickerPrinter" + , "AntPassBuyCheck") diff --git a/nm_image_assets/general/bitmaps.ahk b/nm_image_assets/general/bitmaps.ahk index f512f2f..ec9eeb2 100644 --- a/nm_image_assets/general/bitmaps.ahk +++ b/nm_image_assets/general/bitmaps.ahk @@ -65,11 +65,15 @@ Shrine["LoadedDice"] := Gdip_BitmapFromBase64("iVBORw0KGgoAAAANSUhEUgAAABsAAAAZC Shrine["SmoothDice"] := Gdip_BitmapFromBase64("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") Shrine["FieldDice"] := Gdip_BitmapFromBase64("iVBORw0KGgoAAAANSUhEUgAAAB0AAAAaCAYAAABLlle3AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAUYSURBVEhLnZbZbhNXGMf/Z3YvCXa22hCyECWUtAKJsrZFpVUvetVKfYG+QC9709fpRR6ghCJxEahEIYlUJRCiKlgtiaAExziLHa+z9fvOzMR2YmjEX5rMeGbO+X37RPx665bveUCt6WH5eR3z6w2wFAFoig9Dd6FrLnxfoGmrqNPh03Of/xySqQlMZ3Vcm4whGdNgmiZ+v38fd+/elc8dX8MbfRoKL27YHl6+sfHvriMfshQCnulv4IcvNvDz9yv46du/8M35N0joZOFb5PFebnBm+bR5F9ugrL6s47fHFdxbq2GzTCtI5CQShoebFzYxPLhLBngwjSbOT7zG9bNF9Fot49qlKUCPqUBTRQBkj7qERFn4u4H1ooNK04cTMCGImk01MPLBrgwv/2bPE1YTl8/mcaq/FrwYilNhEGioR8XogCbhrLd6WqofDZcifNq4QufQilAMPpGoozdeD+8EUeFcnj+l48tzMZzs06CSAawDbw9JieJ/WKZBIQzWHpIvPY/E13GdCui0iVRShUpu8+MI2BUanjvEr+2UY7AdnYqiRQgqWEOjqYV3AiVNgZihSGC7ukEp292hDPrndRJ/rmVRrRvSCD5sV6Eq78XWXky+166mw4DwRyiPepGPSAoZZZFxHbbxNd/g83ZVxUIujaVcBvntJDaLPVjOZTH3OItC2ZDvs2RUqh4Kew4V4iFqKBHmg72MO3mIr378xee8MowrUCff62R1s7OG3imV1kz269ROMfRRBUdi2OLiIu7NzcG2bRlqDxqUz2h68HFjKoar4yblRwHNiq5iewObO8VGvyBP1zaDaRaJoWfGx5HJZCi0QSYFYZXLZyxcnbBwccySxVDYJxe7RIlhSUMgHaPmp7C0VzDnsmb7eL13NDyGYchxGIWYN5d4Zni08kXRll52YUrIcEqjURjHSJpaow3Kl5weK5oK7aKFLWCg4C2iuATba3TDBUCdKNm0hqETGj6n3F0aNTHaryEdVzBA/XlxxKRBb4UrOnV41wNPyzWXBv9RKNvIDozTeBsZ1OW0GSTw9ak4vv4ojk8pNTemLFyjmkgTPFLknezVtrZhBVB6UKB8dINyZWZ6VVyi3KcSQWBYgi574yomTxo4PaDLPEdqD2elUkG9XpeMQIJScWARv8y3woP+8D59CRWfUJH1hyMuEl/xT77HX5U2jgQ41CLrz59j/tEjFAoFWTO8yhc6f095lgr0U3+dJI8MGt46Rcmic4oq9cKwgYmMITc+rhqNBh4/eYKZmRmsrq7K3xxiX6hwzAzkfw5sg0MDocSThVqGb3BY49QibAy30v+JDW82m9je3pag5aUl1Gq1VlgpHw1tEPu9VwJocPf9xRtz3tbX17EwP49isSiBUgSjcQBXiaOUugkvORa2zHuIPeMp47outra2sLKygjt37uDVq1fSgEiusFAzx1Aa+k4ChaKRp7OzRz8P7xDDZKE4DnZ3drD27BlydLB3PF/5PssXGlw1iXL8Y9iJKQgjIYG0A8Ts7du0R/ePbTcxlD3J5/N49PAhNjY2ZC5boulKQFsbQC15Ds34BBSjJ3wW6Fg5lXVLMI9CWd7fxx8PHiCXy6FarcrwHhhM+fOFgf2ei6jGJqHoCapInZa2hgbrWDnlHuMmZxADnz59ilKpJEPJPA6lQ4VSVTPYTV4hD6ehWmkIzToCZL3TUw6lSxuXymUJWlxY6GwDEgNtfQglfQz+iQ8hzFT45G0C/gMgZ0Gl4VBregAAAABJRU5ErkJggg==") Shrine["Gumdrops"] := Gdip_BitmapFromBase64("iVBORw0KGgoAAAANSUhEUgAAABwAAAAYCAYAAADpnJ2CAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAToSURBVEhLpVZJjxtFFP567/bumfEsWUQSIoIIoHCKuHDgEpA4oEgc+DcgEY78Ba4cEULiEiQSCYQEN8hCkKIgAcPYnsVu271Vd/G9smcyITOICa9VXe5a3veW71XZ2vj2I60LBctzYLdqgO/CjnzY7K/cC/HmbR/dXQuWxlNiWzZ6rR5qQR1pkWIYD1Go3MxxB2zbpjrfzMtay+IYHL6aEazQ5yoL0NRcaYj+JKiQexzi8FGiuXZ3uofBuI/teBtlqcy4KG/X2jRmFZ1aF47tGLDAC2hEjS8CSuMMlz/WnrollF0tvp4WMStXGSbpxPSVroxnAtCqtQxoI5x7JyK9+Cm/AJeD7C35vQCehhrjWmm8PYmI54UqTEuKBKosOFYhKzLY1SRFNU6gpxlQVtDSmFNdFFBVYbw8MoHHiHhdViV2Jjvoj7fQH/Uxmo2Q5qkBtnVG9GlKACqW/LHpjIAJk8/ekYgegyd5cR0XnuOZ3/sioNlBqHMUBJpmU0MsE1yjz6xfbBJQVRHMgqedx+OHRAA828NSYxnLzWXDxsOg/xQJ8wHgYek6ES6HPVzwOwgtB1V1vIuG8n7N0D50Q5r1L4B8RNcBoCx1yaJXo1W8172Md7ovYokMyzzm9Bg9qlImdMJQCdt/kSc8DOjR+aCLi+EyLkU9dJoN7DTJ0iMAJUTCuuF4gK29LczymSmL42S/XJ4AzLTCj+kmvk4e4SbbL/YIuxsOsjUeDAGJIQ/zZDYyGhImxWKXdpTIunrQQLfeRTNqIvKpZ/2bD7TUnd1gDnwPgeuixhOhYCkU5MuZuIF375zC2V9LlNuxOS0CLzQUj5PYGCDP3IB5avbJExJgpblyQKhpOj0EWCcgvZAdZrmMRQE2VAvv3z2H5x8wjIOYlrZoNXPLvG2Ph8YAIY0oFNB9MDFC5mS9eCrRmGWzRUil/g6xUd6a31XGGpolODPkAV5FaNfbtDo0Hoqi9e4GVnh410muWlAzIQs5J21+btomEnmZIyFYwjxb67c+NCh26JmwcpXEhEQRI4DWSOP6Zwq9rGZIMUr3cG7pAs52njMFb3OteWQPDS+5Rk6agiDSC5OTYoYZ29Z4E9bG9ze0znk9OQ78NuspCKB8BznRxENnc4zVGzfh7KVi1zxPVN6Nunhp/WW0wjZ8x2fuQxPmOBtjMOnj0c5DxOnY7NkXs/f0z5/oKp4hqhy8sX4JL7TX8Lud4Fb+B8azCazNEVY+vgl3OF3sYATohSN3HYEsfouXkjXxUA5ppekZmVvKmOWagpc5EWaZb95/TcvHlWAVV/xVvOb20NTu/F7kLVL26qYXUd4yEm8dcRlhO7MxpOP9RLOVGKQaQ94Be7mLSVXHJLiInaW3Mehcw7DzFts1hvQ7ufFLdJwQ19deweXOafymY3w2uosdxSTPcjS+vIP67YewY2qjR/3oKuy1140BJxV7/5aYlBm+GtzHp5s/4PPd+xiphKVB91shiqvnoc505l5KaNLdxfaTC6t1HlvF2P+Vx7g37eNPFZtv3j2wWIvq3BKqtZb5nidyvudZZJ6YhWhxwKMNhgOkutz89FKHzKdiJHg5/185ALRovTltFn+mDJgwqiAjN2M4W2SsgMoYD/lnlSc8tDx6QiCLfxGtgI2EcR/0Uf/iJwJKTdmoLB5/9VPzDScW4G+680tvd+ounQAAAABJRU5ErkJggg==") +Shrine["CloudVial"] := Gdip_BitmapFromBase64("iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAIAAAC0Ujn1AAAEhklEQVR42qVTXU8bRxSdjzve9WJswAaCaEslSlJFgJDKA/0f/at9qUr73LdKfaENRIIQ4hDw59pe787c6dldFTnFAaIcW6O7d+eeuXvuGXl8fCxm4PH3AksZOC/Ye0ZcrInlfuomlqfMo4wHmRtYJ4XcMGKp3/7t1186tx1sLKoViRkgkzEnji37jH3ifDd1t1M7cX7CDMaB5ZEDr7AgcFi8KP6X1eCnja+3vt8dvDq1w74fx4IdtcfpyHLqPNbYuj56cflj6hnsecDsciJn05Q9s3Wcpd6hZopVMEup0rVnf4Sms/lC1DZk79b//afoXtPPb/t5Iw4sDhSOPdaczaH5rBDFcma9zXw2FXmesQpAayGV1FoGQaLoJE69IF9f1mEkPlz53g2d9WLv8kqXTFCDQJSkzJ5zkaWU0E2SliaQKsCqglDkSYUVQMBeMMo9a3Z1sJAaSEnTy9e+GJxUOt+KXoh0EEqphJJ5Hj+t8QaiFFNmMRkJSGEz5Rk7Mo/eHF5UpDBK1heqOy+2/+pfUxDVlKko0hqrBL+GMOloiGKVMQRBI0bglFwmVcwedIFS1QqFZFLrLhM7DgJZCV42oueN6nIUrDUWv2kt08utr0QuEoeCKzhZcDyM300H6GIhDCtEtTAKiUipWljBY2AoIDKkjdbQ4arTS97334UNGVRdLdjaWFyvViDSYhTRAQ7GlASjLZl35JsRbYarFUMVwBhDVFhVFCj2MEzi0kw65uFwyPEAfpKt8M0k+709/LEZPasFFaXI2FR7LuUuQVoFGrORCuJa4dj5AsyMt7M7mX3N6KZR3f4thpisrL0SYujiH1L3bT0kKCvmgQtYazHAO8b7qBr9XbOOeZ9036dKTZvr54nofBhtxSmJh1GSPohaYJ6vLsFD7TSO00YSLoyd/2eckfhiwFch6e1mfdP5xLjXIr0VlLC8o/5S9qhiIsgo7BKP3jr9RobzqaGvUrC4LkWfGeMjgM20zVppVhUx3ScFY71eX1tbW1xcRGY6nWKYk8lkUADxw+rDvpqtcmIOda1W29/fX19fJyI8+gJZlsHCp6enFxcXiO/Y53aGQhYfUyOLW3J0dLS0tIS4tJ0sgPzy8vLBwQEOPjs7G41Gn9IHhSYIHdFH1EEQ7O3tNRoNovlCATs7OysrKycnJ9fX1xBn/lSVttLQbHGr1drc3LzP+7/joRWC8Xjc6/U+pbcSUt3xGmNWV1fDMET8iNWUws5ms4lg/gbh68ISbAD5wAs14Yq5u++LQ0Rgv7y8xEjL5Kz0aK0mHB0eHoIavCAletK9dwXQE8RBYbVahTWhj/8P2GYEy5ubG1mgbOdR3iRJOp1OOcA0TfGhqEISpmy32whwD0p62e12xdOA/ShDK6XzFhYWwIuuQY1HHIM8Tr26uoJ58KgE8GTqOI7x4VCj9C8RQcbSl5AFBtve3t7d3cVlRjKn/iz2OzthQmC8bx5cN5yBVySeDDCCjpnhiiiKIAgyc80D6vPz88+jxldDXLCjqQdsiusKTeiJCtxlSlJkHr6xrVbrXxvR8ccHc9DqAAAAAElFTkSuQmCC") +Shrine["AntPass"] := Gdip_BitmapFromBase64("iVBORw0KGgoAAAANSUhEUgAAABoAAAAYCAIAAABr4HqSAAADCUlEQVR42m1UwYpcVRA9p+6d6Z4WM8yMBqOJKLgfstWVCOIiuBVBdOVuNm4EP8CNm4Dgb7gUXSiKmGVAFMGFIhhwFQLBIT397q2jr969FzLk0Jx3XlVXvVN1Xzdf+/wakmiAYRE0ycAkzAzbBzNtD5YtsrTEGYlmpM28zuvDvSu3Tt7KACBCwhAaDLh8gkkinE7QBHekZIaUaSYz8P2r715fX39pfSNjm2gAw50JBgUvtwqznqh92VNuK3klHqX1wcGnNz853hzNbYk0t04Qs3/1AglFQy1XCuoxBgNISq8+SCeT7u9PPx1hvcbt/dVmtWdpKZ0rgHTj2osoRAGKYbIQnHWxLiJ7YfXPTfn1af/jADujW6Kdnr6csgFoZgBTAxoBcbkECJHseprKN1/fdXX04iwEJAIgFULkzKFJZhIBlzxslFqnyd0loUEAlSGNW0hDqAfX5CubDeNJF+5/bbc7954c5AQhZEWA4tKsrX9R5Mbs7eOTd567GlFM0hf3/r7z8GFdRo9p+yHOyKM9ZvRMqCR8cHx86/hoNZVYxUwfnjyjUu+cn2vMo6VU3Z36wbD3E1bG9w6vvLle7223BNDbPet+dnj4bym/IbyNkaN0uBvPCkWYcFx9td2m6DKQgRNgI9cy71hQqOEOZKRbMlzudpDwJKhU7FublJAUjLzI7lEMLani/247LwWPw4EC1FK1Z/095DjirD7k6IhAEb4s9SbK81Imx1d2wPfk7wCU27DsRYTNSho7Xa6CCnQPOgMeuHutcJf7zv2udBu4v9S4GhBV7WQDQpfBHpFz4MzsI3cDRF4An5GPmlOV6rW6pUhGXRbA1qRLxQZjvh3xj/CxMZKR7cflVT/+8Mvrb5yuzLoHGNTQ7Dbn3kLBPRmAFNLdv/v25zJVDUAZy9GSWkwFhLHgiERi/J6WqLumqdbqEnpcWRprC+5oMloo9OXkcDzLZiB217L9f+ASNKhtvG84PqG0+EV7jZtBLioqluVfNksNHRWNxklmSegYqpt8ktOBcT7jpZD+Az3+j1GcUWvqAAAAAElFTkSuQmCC") bitmaps["hive"] := {} -bitmaps["hive"]["day"] := Gdip_CreateBitmap(1, 4), G := Gdip_GraphicsFromImage(bitmaps["hive"]["day"]), Gdip_GraphicsClear(G, 0xffda9400), Gdip_DeleteGraphics(G) -bitmaps["hive"]["night"] := Gdip_CreateBitmap(1, 4), G := Gdip_GraphicsFromImage(bitmaps["hive"]["night"]), Gdip_GraphicsClear(G, 0xffd18e00), Gdip_DeleteGraphics(G) -bitmaps["hive"]["honeystorm"] := Gdip_CreateBitmap(1, 4), G := Gdip_GraphicsFromImage(bitmaps["hive"]["honeystorm"]), Gdip_GraphicsClear(G, 0xffdc9e29), Gdip_DeleteGraphics(G) -bitmaps["hive"]["untextured-day"] := Gdip_CreateBitmap(1, 4), G := Gdip_GraphicsFromImage(bitmaps["hive"]["untextured-day"]), Gdip_GraphicsClear(G, 0xff7d5700), Gdip_DeleteGraphics(G) -bitmaps["hive"]["untextured-night"] := Gdip_CreateBitmap(1, 4), G := Gdip_GraphicsFromImage(bitmaps["hive"]["untextured-night"]), Gdip_GraphicsClear(G, 0xff684900), Gdip_DeleteGraphics(G) -bitmaps["hive"]["untextured-honeystorm"] := Gdip_CreateBitmap(1, 4), G := Gdip_GraphicsFromImage(bitmaps["hive"]["untextured-honeystorm"]), Gdip_GraphicsClear(G, 0xff8e6d29), Gdip_DeleteGraphics(G) \ No newline at end of file +bitmaps["hive"]["day"] := Gdip_CreateBitmap(16, 4), G := Gdip_GraphicsFromImage(bitmaps["hive"]["day"]), Gdip_GraphicsClear(G, 0xffd28f0c), Gdip_DeleteGraphics(G) +bitmaps["hive"]["night"] := Gdip_CreateBitmap(16, 4), G := Gdip_GraphicsFromImage(bitmaps["hive"]["night"]), Gdip_GraphicsClear(G, 0xffc08200), Gdip_DeleteGraphics(G) +bitmaps["hive"]["day-gifted"] := Gdip_CreateBitmap(16, 4), G := Gdip_GraphicsFromImage(bitmaps["hive"]["day-gifted"]), Gdip_GraphicsClear(G, 0xffb97e03), Gdip_DeleteGraphics(G) +bitmaps["hive"]["night-gifted"] := Gdip_CreateBitmap(16, 4), G := Gdip_GraphicsFromImage(bitmaps["hive"]["night-gifted"]), Gdip_GraphicsClear(G, 0xffaa7400), Gdip_DeleteGraphics(G) +bitmaps["hive"]["noshadow-day"] := Gdip_CreateBitmap(16, 4), G := Gdip_GraphicsFromImage(bitmaps["hive"]["noshadow-day"]), Gdip_GraphicsClear(G, 0xffffb325), Gdip_DeleteGraphics(G) +bitmaps["hive"]["noshadow-night"] := Gdip_CreateBitmap(16, 4), G := Gdip_GraphicsFromImage(bitmaps["hive"]["noshadow-night"]), Gdip_GraphicsClear(G, 0xff694a00), Gdip_DeleteGraphics(G) +bitmaps["hive"]["noshadow-gifted"] := Gdip_CreateBitmap(16, 4), G := Gdip_GraphicsFromImage(bitmaps["hive"]["noshadow-gifted"]), Gdip_GraphicsClear(G, 0xffe39d1f), Gdip_DeleteGraphics(G) +bitmaps["hive"]["wing"] := Gdip_CreateBitmap(16, 4), G := Gdip_GraphicsFromImage(bitmaps["hive"]["wing"]), Gdip_GraphicsClear(G, 0xffa28645), Gdip_DeleteGraphics(G) \ No newline at end of file diff --git a/nm_image_assets/gui/blendershrine_bitmaps.ahk b/nm_image_assets/gui/blendershrine_bitmaps.ahk index 44a5a6a..b206453 100644 --- a/nm_image_assets/gui/blendershrine_bitmaps.ahk +++ b/nm_image_assets/gui/blendershrine_bitmaps.ahk @@ -21,4 +21,6 @@ hBitmapsSBT["StarJelly"] := Gdip_BitmapFromBase64("iVBORw0KGgoAAAANSUhEUgAAACgAA hBitmapsSBT["SuperSmoothie"] := Gdip_BitmapFromBase64("iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAAJcEhZcwAADsMAAA7DAcdvqGQAABDMSURBVFhHvVhZbFzneT3/3WffZ8gZLsNFC0VRJmltlOQkjeIgdhHEQZIGBfwQFyjQonAf+ti39iUvfQ7aFGgfaqBA0zQt4mwQIteytZiSbEeKSNYUKe6zcPb17n+/O5IcG3G2Fu0P/rrk6C7nfss55xuGj6wTJ05IQ1LwssydV0TYnxMFOwFBdPtM6Rou/0M65epb79816Mif7P/zJT45eks4mhv7E9Wx/zwM91xKZuGMJglhRYLpOLLrWCeYwH48Mjzc2ikW/1/AecuLoEDbXTx79kjYMf8mxflnR1zuH4LDwsxihiTySiDivlsqW7qivOYy9s2izrcPZZkpioJsna729iTtJ+vevXvcsqynUf5fvYwHbpBm17WDjDkJRXACUdFmWZgsr/cwbujs8twJ4ezcrCpy/pILdjGdiAT0ep23Dw85HLgwaNMtnm5VVb3jU3De/T9WSr/L8lLsXczTQykuceuCj9sTCeYqObp3pm8yhUkYu3SJjZ0+ze/eWwn0DJMZtu4EFQwFIU2b3JzSA/qUaRmTtmNN0a2OxOOx1Eh+1D97ctY6Mn3E2djY+B9H8WkNsmg42lMVFpBc67jK3UyCMyQdxpisYfz3PoORxdO4de0G63X7KTmgHfGHws9EorGlWCxxPp5InovFo+dDkdB5WZGXXNdddB13vtNqzeh6Pzw2NtZLp9NmsVi0nzzvt15PQ++lml86+0xeMzqvRhz3G0chRC+G4hgbHWNzf/wK2raLb3/r79BjIrfSCW6FAmCyD4rkgyiK4IILm9vo9/vQ+zqazaZQLpf73W73fcuy3yDQ3+/1+ssPHjz4neryo7UhnD993ie45lcU2/rTlMjOPX9ylr/y0pcFcSSL23/7bWwWClj4wovczU+6Dc3HDVGhGwj0NHqe4ICJDLIs0ZZZp9sRtre3cef2XayurPTa7c7rjOMvlu/eOfCeRdur09+4nqZ4cMFIdnTGFaQ/UoOhz2XG88KppSU2fXKOWVffwpv//j1kx0cxfekiO2i2hK2DglCu14XDalUoVypC6bAslEpFoV6vCZ1OR0gkEmxxcRGZTMapVmry/u4eBMYeOuBr1OGi4zi/FUAPmLcGndY3zGOyoo49s3haeOnrL7vh9Chb/ukN3L56HRGmITs9BS3qQ61WQK9Wguj0IatAMBpAKpNBbnQcU1NTmJjMIxmPotvqsFgozo4fmcVwKiub7W4oFot553zIHr9pfTSCPJHOzI2MjZ4/c+5c7tTCPLp9XYgoMqZjKXBZwLGvfxUsHCRmYRjNj+PE/ByO0T4+O4vJiWnkx8aQSESg+RUclsuoVCpwOVij0WBbm5us26ybqWik0NL14uHhofP40b9+PQY4Py8iGuUZSZoNBgPnp6Ymc4vPLiCdSQqZXBbR/BhSCwsQgkEYTKSIJaEGw8SUQMc00Gi1UDoo4bBUwt7eDnap9uqNOjgVHZE5o05mhULBV603jvcN+3nVp43vH+xfWVhYENu5nGDpugBd/8TGeQxQ1xl6PT6aTp/t692lSCQ0PJIbhmH2WZUeVOm1UTV6KDRqKFarqLXqaHbps3adfq+h22mh02yg02lQF7fguCY0nwLFL1PjuIjEQhgZz4HoSDAtK1ZvtqayYxMfMEF6dLC57hUjJwwekkGpeb88XR5A5qFfnJ17wXHMbzDG54ezGXVqepz5/AqrNyroGn30zC76BNK0+zDdPgzeg+V0YTs9wNEhEc0IgkWAiOroSAwEQbEhaQ60ICUoHmLp7DCLp9N8fX0z1G51ZJVaPhWNzuQSsYnh3LAjCVKz1Wp9LJIDgBeeuzxrGP1Xqbgvnjt3JnbmzALyEyNMkoC+3iFgHaoli55oe+YGokS9yEw41CQuAbatPjhxoEAgJVWEKHM6coikeIrPOzqwQefTsxTNx7Ye7bGDg0JclaVj3LXPmrZ5nsohG45G6vmxfG13d/dDQh+kOJHMfCUY8n/58uXPjLzw4ufZ3KkZRtxLZFsZRMygzejh3vZACN6jXJt+TAJnko47kCQBqqpA1eQnIBmhoXaSbQKnUxa6g0xIssJcS6B7iIH8+BgRw2TWF/SPudyd0A1jhJJdn5yY3NzZ2fkFwGg88XI2l3n2i198MTC/MAc/pdarp8NqAbatg+SY1IKiQkfJI2O6i0A8ywRq0cHnDMGASt0rQyBgksKo611YXIfhdqFbHfS88qAXUVQfUrEsdfwE5k6c4BcvLHk+lOrdDJSKpVHTMINUhHf29vY8jyQMAMZSiT/IjmRnn/vUc1o2m2GCyJlLKel263QGpUiSIdOpmkzbi5QoQJa89FnwRWz4gxZEhaKjUS0GqCx4Fy27gaZFTeO0YVCNmhRxJigQBR/Cvjhi4QSLhcNCJp0WJvJ5IRKN8G63oxDIuCeV586du7a2tvaYqLlgH/atvmU6XoHT2xM9eHXnuDqR7jjGc8RvkRj8JGMCcyjBOqWtC6hdKJEOfMkWokNthNJtJHI2HK2Mzco9bDXW0XIa4Aq9DKVfllRQqVKn9+jl2+h1OigeFPBocwOKLAozx44JI9ls2jCMJVKbKEFzBwAlEft0ct80DE4txOkE1Ot1tHoNRCIBTI6MIx4LoNc9RLd3SNFpwo1okIbH4CSPwIhNQ4+Mo0BMcXX5OhxqCsdHNlEy0TSa6Optqk8RqWgISb8PvYMirvzr9/DOW9dRLBZQqdZQOCiRdRKRy42IxJ1j1Wr1Cx62QYqPTE5KZse4PDKcHcqNZAVJYyjX9wlMDalUhJqljPfu/ifWHy2j2NpFcCKDfiSNG9sM/3LDxA/f47i2ouPm/TIMq4XJIxPoWAZFmVMNm2C2jbDqR1oNI9xnaN/fwQ9f+ze892AFW4USz41PMn8wRkwgDNzQ9tYjhyJYOzg4+MkggovJ9H27Uavtbay77WqNS4LnUByUa/u4sfwGbi5fRa25h3CUYfpkHpxudnujgpsr+6i0iZT9QapDHw5Jo2OZBKqtKgy9D9WykWIyRqnuRk1SoN0y9n50Bc3rb2PWryJJZL6zvcX+6+FDNNttyDT/aJpKTSfJZCa8FD+uwZTm70Rs42GzuN/rErVI5Oxk6kIoBjp2FS2rDjnAIfupKcJ+bBQZNg4YRNfCYr6Pry7p+NpSB1/7rIyAv4x6awd+mgMypAFDbQeJrSZwfQ3szfs4XulhaG8LU4KOoGtQgLudQnHP7nVbxBSMnit58kjRJMf8FCC+8x0eAXf1woFdW1uFUCxihKI4QW8YIZoJepsSppGEkSSifVhFs1yDSPw4FOwjHWwh5qfU5iOIDSUJOHHgQQXC/U24N1ehvb+NxHoFxs0H6L//AXydPl1rUiAsg3H7kDuW7tg0ZLkuHCoHMreD7a1BDcbnjk4yy355Kp6cGpdkSSbBt3c2mFwvwd/tIWi4CFH7aEQVMl2iUUfq/SYq9RrqPQM7dY71ErBdp/8NpDHlz0B79wPINzYRWq8i1XIR7VHtFRto6TY6oThf6busKCmlJvF+LjfmH82OyAF/gBqmgtXV1b5pmms0IvzHIIIdzbfoMiE7Hk+oOW9a/Nka67/xDtR3N+D72Ta0+1tQ1w6gbbbJbu4g136Ei5keFscYSaCD9YqIldoQlrcTeG9dgdMfwvFAHomygUC5B6fcQr1CvBsKInryFNyZeb7B/NAF9RE4JdbhNDGSHlAfe3ml+iPFepzcwb/kZVRbIZo1DQ7L5H4ycf6mgVCVRJ+aQf75Hpwba+A3H0K/tor2W3eQrm3j89MSfv+0H59aDGLx1CgCoRDWd3S8v9GFmh6DNppEO6mhOhRDLZ+DfOEsks9fhjN1lBUFmbdJpSXNh1AkTGIgkjZR4RFEqj/PK5L4P9XiRND2ieyC1WmPdgv7omz0WYSGIk8xNZshohOnbRcg1sg0tExSBgmmYCKZtTH/bAC5MRWReASlagPFskNl4GJqiKGi76A2FIFw5gwin/40wucvoBnP4EGxzrbKhzxAtm5oJBeee+YZMZKIEUVZvFKp8pWVlSbV4BvkIa95AIVCqX44MpyMWLY9o8hqcGrmBJt+doHVJY7ddhWVbgMu2SeDOjs2exThC5ehzC/BzY3CCgdQc4PYawSxuknyVqphOEqEOyzDCREPjo6CTR6HQcBaNAG2XRk28yEWS7GZkzNs8dlFlkinSQYFUpce90zCw4cP94hqvru/v78yiKC3pk9OPGibUqQraJPJk6eix7/0ApfPHGXy6WmYxxKwT0bBTsUQfvEyvo9J/FMxjWutLFa6E3hQncSNNQ27uyR3vftYOhlGKKmgHwhAD6ZhkvY6xIWCI5JjE6h7vd8FhEJ+lojHyMzHEI8nePmwzJbfWXZpHLgXDoe/ubW1ZTwFKG5uFsx0fpIEns/Y4fCUOjHE+HiQlTSyW0Mq6kGimpkYDkiq3qhGsG4P47ArYmdrl7R0H9VDsvidXTy/wDAzHYBF0tZTwuiLATiiDxJTwXSH6EVAPJRCPBzn5Jq8r0k4DWru7bt38OMf/Zhtbmxu0Gd/f/369ZuEyzNSgzVwsZqm7bX6jVqxUsDewRbLzZ4Y2Kuew9Eg3xcnK2USvZjEcf7GNo5ngkimS2T5D4nUQxjORjA6DBSb+1DDo6RFAYhchERN55L00S1gU4pXVldx+9qyp/oiORjuqUij1XYc23lbFMXXqEm+S3C8hqarf7F4fmKCbJl+WtGk+dRwXJ6ayXNXcojeBexX9si4EttrRA8WQ8gnYiJlYSrdRSZqIBH3ZEqHxbpg1JmQPOr3gREg8jFQKRZ0K/Saff6T13/K1u6v1JvN2mqtXt+h2rtlGOZrNK/8syRKby8vL1c9PB6ojwIUgoGATQY0I2niVCwZHz46e5JT/JmjiejQ7NEii0/zF7S4H6EEETb5QKYSG/j8YP4oTLJTUIJkWqlzEQZzSFcJoAYVPkEdpLe8X8b1N28xq2f8tWXq/2jZ1g8oYldJ3q5rqu+DmzdvtgjLh3PJxwBScXIaXoLk6GaD4ejxE7PzCMbjrKV3IagS+UYRfTIArmf7qTgEmaY2OUQ7TneKDYCJInEap9S6GgEio8tpDKCh3wPo9G3sbu7h/ns/N8OB8Kvkru/durW8c1Aolvf29nvUwb80Kz+m68drIH5EMzuuxVdrpXpr7d4HzG453MeDVE1JJJUppLVjpM3DtJMIuWmEWA5+PgS/E6e/vc+SZAJiCLhh+BwfFAIpUkkINIe4fZeXdkuupZttn893QKT8Sd92fRg9b300gt5ioyOjPSpWx+gbRxrV+miAprDs0DDVj8h8FJmITCBYAhq5IZ8TISIPQTF9JEUq/FRzPu4jwPQ3V73Bj/qANIwAWm2Tl7bLuHPrXaNVbz/I5XL/QHMHL9GwT8sD9TFgT9cvAaSL3Px4vmroRqNVb87sPNpOaTRDBgQfY7rARJOK3tbgtKmjyQSgL0Dx0mmJYAZ1aYcGTPKI3XoPtWKNVwtV1A8b2N86cN+5vmxub+7s+jT/t65cuXKbwH1sSP+k9UkneJ+xS5cuRcnVfolcxV/JspiYnMyLmUxGTRPrUzPR0O6Aus7TTXj6KRAd6WRSm52W9/2gq+s0y3U8CmkRDfVcemHTsdyCKqmv033/8u7du156B1TiPfRXrV/1BgOQS0tLAe6657lt/5nZMyaJcI4SDSje938D30E/XuG63rBFgxYnvvOmN8dxuyT5DwVBbAtkApjAmhT7h5IgXSuXyz/wFOLJM34tOAD4b5uHOjhiq2KlAAAAAElFTkSuQmCC") hBitmapsSBT["SwirledWax"] := Gdip_BitmapFromBase64("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") hBitmapsSBT["TropicalDrink"] := Gdip_BitmapFromBase64("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") -hBitmapsSBT["Turpentine"] := Gdip_BitmapFromBase64("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") \ No newline at end of file +hBitmapsSBT["Turpentine"] := Gdip_BitmapFromBase64("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") +hBitmapsSBT["CloudVial"] := Gdip_BitmapFromBase64("iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAALGklEQVR42q1YW2xUxxn+Zs7Zq9drfFl8xeYSCGkBOyFC4eIQJZSkQVSN1IuiRspL+tb2vX1qValS36q+9iHqQ9XwENooUiCFNGkCuUAJDQSHhNgUg+MLvq1317vePedM/0/yL1nYxtBkrPE5Z+bMzPd///9/M2cN7qO0tLQ8EQRBNp1Op+rrskeNRX0mk+kPnGuMHJwBjAe5gQErjHPGATE/dnNyauLXQ0NDLwPsgMM9FnMv/Z2dnUeamppeTCXTP4CLBIWBbyxSCQtrqmjNJpFOJhCEIcoLNfieRToeQxQFKAVwQ6NF47xE+J+LF7dUKpUb9wPSx+rFAxBu3779d80tLb+MqvNozhg82NUcrct4mCvOu0q5hM3dnTZhIuP7FsYahKGDtR4GPv8S1WqA7R1tJp1sdBe+nPWiKEoT3DcCUCcwxjvsRaHb/1BLrbEO8XTSt+lEHOsSQKFsEbchYHzcHJvG2O1JdOUaUK1VUSgV5RqhPHQdtVQbPM9zEhrJarXq1DNfC6CWCC5Mxq3J1fv+pwOfIp5IoaejBYVCHslEApOVIoz1cGtkHCPj04iqZWSz9Wjv2oSGpnYE8DA0UXG1W9fstm1b/3Tu3PmDACr3yqK/Vvx5xl7Lzy/s+eTGlGtdn0M1BAoujTCThZ9tQH22GfUN69DzSBzOWBBsdl0HMo05pNP1sNbiSd/a5F/+Gr3//vu7u7q6nr5169ZxAPYbATg9PXk6k9n4k1pqg9t39GnU1Quw5DqQSUtABvAs4Fj5AIswjFCp1jC1EKIc1BD6HrY/vNu89867YUdbx5+z2ezugYGB3wAIWf9fgBGAWC7XfDjmGTz/ox+bzs4uCfwFsCNwEYpBgJozmK8FKFQDeXa4XV7AnMTgbLkCYR7M6mKlgr3d7Wbjwae8oUsXMy2pxK8aGxtPzMzMnAEQB1C9X4CkH6lUql2k5XmTacB0ot6bmiliZmEB0wsRCrL4zHwZ0+UyCgsVLNQEbC0CpSYQ4M5FoBRRHK01+FjG2q2PoF6sKXz8rhHp+qkkzieTk5MFVYz70UECDzZs2PD91tbWv3l9+yLb86AtzeVRjSJQPoyASPgerAU838KFDpG0xQwQj/lg7PnWl2cPoTGYqVbQmfSxR7L8/FtvuBvDN006lbo8OjLyC4nJdxZJie6FQY/gNm7c+ERHR8fLpWIxerS7w5imFMZqRUmKRjRns0AUghkbN0DK83F7chKeAGuuSyNhDRKxOGK+jwaJ1Q8GB3E+Vodd27fi0KYc9n1rszn+99fCDz/4cGdPT88bzrmjIyMjbynIVRnUF4S5w1JfLZVKme8dPeoOH/6OYTaEDogih/liAeIalOdL8hwCDqA4x+Jx+B6TJEQY0We01mFkZg5vj0yjvH4DduSacLC7CTu72nDqxIng2Cuv+IlEYuTKlSu9hUJhGqrBytYd4Fxzc/NDmzdv/qcsUvfCCy9EB/r7bRCEEl81zJdKmBgfw9jYGCoSi1EE6L4rLEBEGBWpgaBjLEZMojBAQzqF1oQPT9qHjYePxqYkdiO8ePS7dnxkOPhycHCdlMbx8fHXieluAKNt27b9QRbb/dxzz9WOHDniR4JiamoKJYKbmACvxpjFCui+xcTwfcaeBY1h4TMLGc0kY+hOxdEUVlD2EvhkYhZ9wuJTu3vNyX+ccpIwO2SfPl4ulyeULI1BBRfmcrk+mfSHEhfRgQMHfNEryPaEc+fOQQYjmUyCwO4sBLRjxw6IcSCYYrGIy5cvg0xzt6ElNDR0Dg1BGWljkU4lUCnmsan32+bJQ4fC1197LSlz9wH4TMlSYHqlxQepS3v37mUcGpEZSIbh5s2bmJubw1JwvFe2tm7din379kFOPBAj8cADD+DZZ5/Fzp07QVfzXaiop+qQ99KIEXB+CoFc9+x+FL7nQ45ubSvpnRa6KZKARXt7O8iWBC2++OILxGIxxCUBGGdaGG9kle19fX1kiGA5B9hO8P39/Whra4O4DU76CdST9qxxKDmLy5NllCs1dHa0m0QiCVn7kCbJijLDSVkIhPFD1ji5aCE07giE/RIGkGRCfX096urqQNfqeH2PRsjeC17ZPymxnIwlsMNWkbdxnBydxePjM8j5cY7hvHZNHSQDBEDWODGLguMiSbG0//F+dHd3Q9tYtej7ZH94eBh0+65du8C4FK3DpUtXYAtzeDQew4kgwslrw3h+c07E3aNRwZoAFRzZIFheFQCf+x7rI3OazQpoGUD2k8WGhgZwTsZzb28vSPI7/3oXrckAvfE0zgz9Fw+lI9Rn0gwrxmAMQHhXgJyYRd2pUkF3SvJgQTSQwFcrHLd+/XqQPca0zjM/Py8x2YFMXQYLEqe7Mkmkm9KwUWTTEibW8/rEkPUSViOayfy3zHq646uvvqLuEZjGByg5o6Oj3EVWBLiUUVaCUwO1TwSZH1+o1gIkwyqObMhhW0Md6gS0k8JXl2XxSnF4+/Zt5Gfz4BgV3enpaQJkLClI7edVQ4Kxy+zn+zzqg30EyITjWCaVtQaRtAVhjdsl2dPcXTsGlQHrWSh7lBA5PIAaR5fpwsoOGZ+dnQUX57sEqQyyn+CvX78OPvM9zmEXs52ncG6ngFsboGocmSBrmqkU3T179hAYnzXWlrqOz5oc1D8KLzSeOY5yxWRhfObzeZUm1ns+UXNCJgEX5gc3aPmWLVuwf/9+sF3dqEVZJBhWsqeAVFsVJHcZgpLTNA4c2I8zZ85CCzcG5+6RQX0xnojzQqs1u8kqr7q4ijIXVmBsU6lhO6VGM5ntYmgZzc1NMm9S5yLoFQHauwGkHhKc/GQB7ipcnFcCUzFmMnFrU2Ds4z1PQBzHvZwxR+bZNjY2ynll3AQInqxzu6SEGSlcflUGNfBpuW53BMiJT506RaGlltEdBMKs5MIcx52FScHYInBKFfsIggm0GNs1YTOLmZlZfPTReVC25BgoiZU2MkfkS5FYfkzmfRWAWdXFnJQACYKL0kKCPHv2LDZt2gQNfoIhCAY9mdJsVam6ceMGE45jaCiBgAZe+PcFMaCEhuw6yo2eG6NFj3aDZWWAy7ctglN3c1HqGwHSCC6mjDMBaBDdTeCsaqh8A4PzLE1AgjLWkH3Oy371YG3NJNE4ZFXQKim60yxNCAqyfOOqJKmws3/poVYN1rkVFMfwnoDZbu4GkIhUxxhLZOnOg6oCUwP4rJmsbXrEWuYVekKTjH/aV2O8Mss9b9Uk4eS+k8JBzCrGH9mhdQSqJxu6RN1FZtim4LSqAVpUllQZuOPwVzA93JIMF0XOOBdbCaBbBHiNBssgSzlhrDU2NYKD5YuLYHlPcKzLjv80hFetbNe6FKRnPXBugmVokIirV68ajhAMVxWTAtQMMvKR87Yc90ckqNsFTCTHJZtrycFFTs+HyoLqHSfnM+9Zl4LRZCBwNULHkkVe6QV3+vTp2mcDA3F550PB8KZ+xN3JoAdgXsofRVJ+f+zYsdpLL71k5TuZk9Hl/DjS49eyqkUAKYMKmGMcqyQXhT2SDDdybyhNg4ODVo51cdHWGRH2ny9i0QmhN3rPWieHgjfFsr1yDZ555hljpQhIQ7dohq+Q8SwRJYfhwasYauRYxmfL3YTuzOdnF2OYMUuXe1NBUHt7bGz8twL0kh5UVwKoz072zkZh6ziAJ8iEWEcGV/suVoAa7AREEKwarwIiKAq7QRjW3isUSueExYsA2DckbE6AZa3fZu54KS0gfyaL7hXmHpaJeqS6FcY4I0Vc+JkA+1zcqu4dFdZOSjvZvMBfDFQSV1kTK/269T/Sw6YZ3nK/bAAAAABJRU5ErkJggg==") +hBitmapsSBT["AntPass"] := Gdip_BitmapFromBase64("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") \ No newline at end of file diff --git a/nm_image_assets/stickerprinter/bitmaps.ahk b/nm_image_assets/stickerprinter/bitmaps.ahk index c231bac..4be0b63 100644 --- a/nm_image_assets/stickerprinter/bitmaps.ahk +++ b/nm_image_assets/stickerprinter/bitmaps.ahk @@ -1 +1,2 @@ -bitmaps["stickerprinterCD"] := Gdip_BitmapFromBase64("iVBORw0KGgoAAAANSUhEUgAAAAwAAAAaAgMAAAD+lFXyAAAACVBMVEUbQoDAnw/CoQ6WCkasAAAAEklEQVR42mNAB1mrVjGsoj4GAHOBK5VVTHkbAAAAAElFTkSuQmCC") \ No newline at end of file +bitmaps["stickerprinterCD"] := Gdip_BitmapFromBase64("iVBORw0KGgoAAAANSUhEUgAAAAwAAAAaAgMAAAD+lFXyAAAACVBMVEUbQoDAnw/CoQ6WCkasAAAAEklEQVR42mNAB1mrVjGsoj4GAHOBK5VVTHkbAAAAAElFTkSuQmCC") +bitmaps["stickerprinterConfirm"] := Gdip_BitmapFromBase64("iVBORw0KGgoAAAANSUhEUgAAAAMAAAAVAQMAAAC5acZ6AAAABlBMVEUbQoD/4gdPqMalAAAADUlEQVR42mNAgAf4IQDgKg4Bvtf/agAAAABJRU5ErkJggg==") \ No newline at end of file diff --git a/submacros/PlanterTimers.ahk b/submacros/PlanterTimers.ahk index 4fa653b..1fffea3 100644 --- a/submacros/PlanterTimers.ahk +++ b/submacros/PlanterTimers.ahk @@ -699,7 +699,7 @@ ba_ShrineIndexOption(){ } ba_AddShrineItemButton(hCtrl){ global hAdd, hfleft, hfright, hAddShrineItem, AddShrineItem, hBitmapsSB - static items := ["RedExtract", "BlueExtract", "BlueBerry", "Pineapple", "StrawBerry", "Sunflower", "Enzymes", "Oil", "Glue", "TropicalDrink", "Gumdrops", "MoonCharms", "Glitter", "StarJelly", "PurplePotion", "SoftWax", "HardWax", "SwirledWax", "CausticWax", "FieldDice", "SmoothDice", "LoadedDice", "Turpentine"], i := 0, h := 0 + static items := ["RedExtract", "BlueExtract", "BlueBerry", "Pineapple", "StrawBerry", "Sunflower", "Enzymes", "Oil", "Glue", "TropicalDrink", "Gumdrops", "MoonCharms", "Glitter", "StarJelly", "PurplePotion", "AntPass", "CloudVial", "SoftWax", "HardWax", "SwirledWax", "CausticWax", "FieldDice", "SmoothDice", "LoadedDice", "Turpentine"], i := 0, h := 0 if (h != hAdd) i := 0, h := hAdd i := Mod(items.Length() + i + ((hCtrl = hfleft) ? -1 : 1), items.Length()), AddShrineItem := items[i+1] diff --git a/submacros/Status.ahk b/submacros/Status.ahk index f29b161..128f303 100644 --- a/submacros/Status.ahk +++ b/submacros/Status.ahk @@ -225,11 +225,11 @@ settings["ShrineIndex2"] := {"enum": 58, "type": "str", "section": "Shrine", "re settings["BlenderIndex1"] := {"enum": 59, "type": "str", "section": "Blender", "regex": "i)^(Infinite|\d{1,3})$"} settings["BlenderIndex2"] := {"enum": 60, "type": "str", "section": "Blender", "regex": "i)^(Infinite|\d{1,3})$"} settings["BlenderIndex3"] := {"enum": 61, "type": "str", "section": "Blender", "regex": "i)^(Infinite|\d{1,3})$"} -settings["BlenderItem1"] := {"enum": 62, "type": "str", "section": "Blender", "regex": "i)^(blueextract|redextract|glue|Oil|enzymes|gumdrops|tropicaldrink|mooncharms|glitter|starjelly|purplepotion|softwax|hardwax|swirledwax|causticwax|fielddice|smoothdice|loadeddice|supersmoothie|Turpentine|None)$"} -settings["BlenderItem2"] := {"enum": 63, "type": "str", "section": "Blender", "regex": "i)^(blueextract|redextract|glue|oil|enzymes|gumdrops|tropicaldrink|mooncharms|glitter|starjelly|purplepotion|softwax|hardwax|swirledwax|causticwax|fielddice|smoothdice|loadeddice|supersmoothie|Turpentine|None)$"} -settings["BlenderItem3"] := {"enum": 64, "type": "str", "section": "Blender", "regex": "i)^(blueextract|redextract|glue|oil|enzymes|gumdrops|tropicaldrink|mooncharms|glitter|starjelly|purplepotion|softwax|hardwax|swirledwax|causticwax|fielddice|smoothdice|loadeddice|supersmoothie|Turpentine|None)$"} -settings["StickerStackItem"] := {"enum": 65, "type": "str", "section": "Boost", "regex": "i)^(tickets|sticker)$"} -settings["StickerPrinterEgg"] := {"enum": 66, "type": "str", "section": "Boost", "regex": "i)^(Basic|Gold)$"} +settings["BlenderItem1"] := {"enum": 62, "type": "str", "section": "Blender", "regex": "i)^(blueextract|redextract|glue|Oil|enzymes|gumdrops|tropicaldrink|mooncharms|glitter|starjelly|purplepotion|antpass|cloudvial|softwax|hardwax|swirledwax|causticwax|fielddice|smoothdice|loadeddice|Turpentine|None)$"} +settings["BlenderItem2"] := {"enum": 63, "type": "str", "section": "Blender", "regex": "i)^(blueextract|redextract|glue|oil|enzymes|gumdrops|tropicaldrink|mooncharms|glitter|starjelly|purplepotion|antpass|cloudvial|softwax|hardwax|swirledwax|causticwax|fielddice|smoothdice|loadeddice|Turpentine|None)$"} +settings["BlenderItem3"] := {"enum": 64, "type": "str", "section": "Blender", "regex": "i)^(blueextract|redextract|glue|oil|enzymes|gumdrops|tropicaldrink|mooncharms|glitter|starjelly|purplepotion|antpass|cloudvial|softwax|hardwax|swirledwax|causticwax|fielddice|smoothdice|loadeddice|Turpentine|None)$"} +settings["StickerStackItem"] := {"enum": 65, "type": "str", "section": "Boost", "regex": "i)^(tickets|sticker|sticker\+tickets)$"} +settings["StickerPrinterEgg"] := {"enum": 66, "type": "str", "section": "Boost", "regex": "i)^(Basic|Silver|Gold|Diamond|Mythic)$"} ;settings["discordMode"] := {"enum": 1, "type": "int", "section": "Status", "regex": "i)^(0|1|2)$"} dangerous ;settings["discordCheck"] := {"enum": 2, "type": "int", "section": "Status", "regex": "i)^(0|1)$"} dangerous @@ -505,6 +505,7 @@ settings["StickerStackMode"] := {"enum": 271, "type": "int", "section": "Boost", settings["StickerStackTimer"] := {"enum": 272, "type": "int", "section": "Boost", "regex": "i)^(?!0)(?:9\d\d|\d{4}|[1-7]\d{4}|8[0-5]\d{3}|86[0-3]\d{2}|86400)$"} settings["StickerPrinterCheck"] := {"enum": 273, "type": "int", "section": "Boost", "regex": "i)^(0|1)$"} settings["LastStickerPrinter"] := {"enum": 274, "type": "int", "section": "Boost", "regex": "i)^\d{1,10}$"} +settings["AntPassBuyCheck"] := {"enum": 275, "type": "int", "section": "Collect", "regex": "i)^(0|1)$"} bitmaps := {} bitmaps["moon"] := Gdip_BitmapFromBase64("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") diff --git a/submacros/natro_macro.ahk b/submacros/natro_macro.ahk index a6528aa..ee67669 100644 --- a/submacros/natro_macro.ahk +++ b/submacros/natro_macro.ahk @@ -112,7 +112,7 @@ If (!FileExist("settings")) ; make sure the settings folder exists } } -VersionID := "0.9.9.1" +VersionID := "0.9.9.2" currentWalk := {"pid":"", "name":""} ; stores "pid" (script process ID) and "name" (pattern/movement name) ;initial load warnings @@ -491,6 +491,7 @@ config["Collect"] := {"ClockCheck":1 , "MondoAction":"Buff" , "LastMondoBuff":1 , "AntPassCheck":0 + , "AntPassBuyCheck":0 , "AntPassAction":"Pass" , "LastAntPass":1 , "RoboPassCheck":0 @@ -2037,12 +2038,10 @@ Gui, Font, s8 cDefault Norm, Tahoma Gui, Add, Button, x5 y260 w65 h20 -Wrap vStartButton gnm_StartButton Disabled, % " Start (" StartHotkey ")" Gui, Add, Button, x75 y260 w65 h20 -Wrap vPauseButton gnm_PauseButton Disabled, % " Pause (" PauseHotkey ")" Gui, Add, Button, x145 y260 w65 h20 -Wrap vStopButton gnm_StopButton Disabled, % " Stop (" StopHotkey ")" +#include *i %A_ScriptDir%\..\settings\personal.ahk ;add tabs Gui, Add, Tab, x0 y-1 w500 h240 -Wrap hwndhTab vTab gnm_TabSelect, % "Gather|Collect/Kill|Boost|Quest|Planters|Status|Settings|Misc|Credits" ((BuffDetectReset = 1) ? "|Advanced" : "") SendMessage, 0x1331, 0, 20, , ahk_id %hTab% ; set minimum tab width -for k,v in ["PMondoGuid","PFieldBoosted","PFieldGuidExtend","PFieldGuidExtendMins","PFieldBoostExtend","PFieldBoostBypass","PPopStarExtend"] - %v%:=0 -#include *i %A_ScriptDir%\..\settings\personal.ahk ;check for update try AsyncHttpRequest("GET", "https://api.github.com/repos/NatroTeam/NatroMacro/releases/latest", "nm_AutoUpdateHandler", {"accept": "application/vnd.github+json"}) ;open Timers @@ -2388,14 +2387,16 @@ MondoActionList := ["Buff", "Kill", "Manual"], PMondoGuid ? MondoActionList.Push Gui, Add, Text, x75 yp w40 vMondoAction +Center +BackgroundTrans,%MondoAction% Gui, Add, Button, xp-12 yp-1 w12 h16 gnm_MondoAction hwndhMALeft Disabled, < Gui, Add, Button, xp+51 yp w12 h16 gnm_MondoAction hwndhMARight Disabled, > -Gui, Add, Text, x40 yp+15 w110 vMondoPointText +left +BackgroundTrans, \___ +Gui, Add, Text, x36 yp+15 w110 vMondoPointText +left +BackgroundTrans, \___ Gui, Add, Edit, x63 yp+3 w28 h18 number Limit3 +BackgroundTrans vMondoSecs gnm_saveCollect Disabled, %MondoSecs% Gui, Add, Text, x95 yp+2 vMondoSecsText, Secs Gui, Add, Checkbox, x10 yp+20 w35 +BackgroundTrans vAntPassCheck gnm_saveCollect Checked%AntPassCheck% Disabled, Ant -Gui, Add, Text,x66 yp w49 vAntPassAction +Center +BackgroundTrans,%AntPassAction% +Gui, Add, Text,x60 yp w55 vAntPassAction +Center +BackgroundTrans,%AntPassAction% Gui, Add, Button, xp-12 yp-1 w12 h16 gnm_AntPassAction hwndhAPALeft Disabled, < -Gui, Add, Button, xp+60 yp w12 h16 gnm_AntPassAction hwndhAPARight Disabled, > -Gui, Add, Checkbox, x10 yp+19 +BackgroundTrans vRoboPassCheck gnm_saveCollect Checked%RoboPassCheck% Disabled, Robo Pass +Gui, Add, Button, xp+66 yp w12 h16 gnm_AntPassAction hwndhAPARight Disabled, > +Gui, Add, Text, x24 yp+15 vAntPassPointText +BackgroundTrans, \___ +Gui, Add, Checkbox, x+4 yp+5 vAntPassBuyCheck gnm_AntPassBuyCheck Checked%AntPassBuyCheck% Disabled, Use Tickets +Gui, Add, Checkbox, x10 yp+17 +BackgroundTrans vRoboPassCheck gnm_saveCollect Checked%RoboPassCheck% Disabled, Robo Pass Gui, Add, Checkbox, x10 yp+18 +BackgroundTrans vHoneystormCheck gnm_saveCollect Checked%HoneystormCheck% Disabled, Honeystorm ;dispensers Gui, Font, w700 @@ -2655,7 +2656,7 @@ Gui, Add, Button, xp-12 yp-1 w12 h16 gnm_StickerStackMode hwndhSSMLeft Disabled, Gui, Add, Button, xp+96 yp w12 h16 gnm_StickerStackMode hwndhSSMRight Disabled, > Gui, Add, UpDown, % "xp-18 yp h16 -16 Range900-86400 vStickerStackTimer gnm_StickerStackTimer Disabled Hidden" (StickerStackMode = 0), %StickerStackTimer% Gui, Add, Button, xp+32 yp+1 w12 h14 gnm_StickerStackModeHelp vStickerStackModeHelp Disabled, ? -Gui, Add, Checkbox, x305 yp+17 vStickerPrinterCheck gnm_StickerPrinterCheck Checked%StickerPrinterCheck%, Sticker Printer +Gui, Add, Checkbox, x305 yp+17 vStickerPrinterCheck gnm_StickerPrinterCheck Checked%StickerPrinterCheck% Disabled, Sticker Printer Gui, Add, Text, xp+6 yp+14 +BackgroundTrans, \__ Gui, Add, Text, x+0 yp+4 w36 +Center +BackgroundTrans, Egg: Gui, Add, Text, x+12 yp w55 vStickerPrinterEgg +Center +BackgroundTrans, %StickerPrinterEgg% @@ -3631,8 +3632,8 @@ nm_Start(){ nm_Collect() ;quests nm_QuestRotate() - ;booster - nm_ToAnyBooster() + ;boost + nm_Boost() ;gather nm_GoGather() continue @@ -3746,7 +3747,7 @@ ba_setShrineData(hCtrl){ } ba_AddShrineItemButton(hCtrl:=0){ global hfShrineleft, hfShrineright, hAddShrineItem, AddShrineItem, ShrineAdd, hBitmapsSB - static items := ["RedExtract", "BlueExtract", "BlueBerry", "Pineapple", "StrawBerry", "Sunflower", "Enzymes", "Oil", "Glue", "TropicalDrink", "Gumdrops", "MoonCharms", "Glitter", "StarJelly", "PurplePotion", "SoftWax", "HardWax", "SwirledWax", "CausticWax", "FieldDice", "SmoothDice", "LoadedDice", "Turpentine"], i := 0, h := 0 + static items := ["RedExtract", "BlueExtract", "BlueBerry", "Pineapple", "StrawBerry", "Sunflower", "Enzymes", "Oil", "Glue", "TropicalDrink", "Gumdrops", "MoonCharms", "Glitter", "StarJelly", "PurplePotion", "CloudVial", "AntPass", "SoftWax", "HardWax", "SwirledWax", "CausticWax", "FieldDice", "SmoothDice", "LoadedDice", "Turpentine"], i := 0, h := 0 if (h != ShrineAdd) i := 0, h := ShrineAdd i := Mod(items.Length() + i + ((hCtrl = hfShrineleft) ? -1 : (hCtrl = hfShrineright) ? 1 : 0), items.Length()), AddShrineItem := items[i+1] @@ -4341,12 +4342,14 @@ nm_testButton(){ ;~~ lines 3464 and 3465 have the same change as 14156 global offsetY bitmaps := {} - bitmaps[""""day""""] := Gdip_CreateBitmap(1, 4), G := Gdip_GraphicsFromImage(bitmaps[""""day""""]), Gdip_GraphicsClear(G, 0xffda9400), Gdip_DeleteGraphics(G) - bitmaps[""""night""""] := Gdip_CreateBitmap(1, 4), G := Gdip_GraphicsFromImage(bitmaps[""""night""""]), Gdip_GraphicsClear(G, 0xffd18e00), Gdip_DeleteGraphics(G) - bitmaps[""""honeystorm""""] := Gdip_CreateBitmap(1, 4), G := Gdip_GraphicsFromImage(bitmaps[""""honeystorm""""]), Gdip_GraphicsClear(G, 0xffdc9e29), Gdip_DeleteGraphics(G) - bitmaps[""""untextured-day""""] := Gdip_CreateBitmap(1, 4), G := Gdip_GraphicsFromImage(bitmaps[""""untextured-day""""]), Gdip_GraphicsClear(G, 0xff7d5700), Gdip_DeleteGraphics(G) - bitmaps[""""untextured-night""""] := Gdip_CreateBitmap(1, 4), G := Gdip_GraphicsFromImage(bitmaps[""""untextured-night""""]), Gdip_GraphicsClear(G, 0xff684900), Gdip_DeleteGraphics(G) - bitmaps[""""untextured-honeystorm""""] := Gdip_CreateBitmap(1, 4), G := Gdip_GraphicsFromImage(bitmaps[""""untextured-honeystorm""""]), Gdip_GraphicsClear(G, 0xff8e6d29), Gdip_DeleteGraphics(G) + bitmaps[""""day""""] := Gdip_CreateBitmap(16, 4), G := Gdip_GraphicsFromImage(bitmaps[""""day""""]), Gdip_GraphicsClear(G, 0xffd28f0c), Gdip_DeleteGraphics(G) + bitmaps[""""night""""] := Gdip_CreateBitmap(16, 4), G := Gdip_GraphicsFromImage(bitmaps[""""night""""]), Gdip_GraphicsClear(G, 0xffc08200), Gdip_DeleteGraphics(G) + bitmaps[""""day-gifted""""] := Gdip_CreateBitmap(16, 4), G := Gdip_GraphicsFromImage(bitmaps[""""day-gifted""""]), Gdip_GraphicsClear(G, 0xffb97e03), Gdip_DeleteGraphics(G) + bitmaps[""""night-gifted""""] := Gdip_CreateBitmap(16, 4), G := Gdip_GraphicsFromImage(bitmaps[""""night-gifted""""]), Gdip_GraphicsClear(G, 0xffaa7400), Gdip_DeleteGraphics(G) + bitmaps[""""noshadow-day""""] := Gdip_CreateBitmap(16, 4), G := Gdip_GraphicsFromImage(bitmaps[""""noshadow-day""""]), Gdip_GraphicsClear(G, 0xffffb325), Gdip_DeleteGraphics(G) + bitmaps[""""noshadow-night""""] := Gdip_CreateBitmap(16, 4), G := Gdip_GraphicsFromImage(bitmaps[""""noshadow-night""""]), Gdip_GraphicsClear(G, 0xff694a00), Gdip_DeleteGraphics(G) + bitmaps[""""noshadow-gifted""""] := Gdip_CreateBitmap(16, 4), G := Gdip_GraphicsFromImage(bitmaps[""""noshadow-gifted""""]), Gdip_GraphicsClear(G, 0xffe39d1f), Gdip_DeleteGraphics(G) + bitmaps[""""wing""""] := Gdip_CreateBitmap(16, 4), G := Gdip_GraphicsFromImage(bitmaps[""""wing""""]), Gdip_GraphicsClear(G, 0xffa28645), Gdip_DeleteGraphics(G) pBMR := Gdip_BitmapFromBase64(""""iVBORw0KGgoAAAANSUhEUgAAACgAAAAGCAAAAACUM4P3AAAAAnRSTlMAAHaTzTgAAAAXdEVYdFNvZnR3YXJlAFBob3RvRGVtb24gOS4wzRzYMQAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0n77u/JyBpZD0nVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkJz8+Cjx4OnhtcG1ldGEgeG1sbnM6eD0nYWRvYmU6bnM6bWV0YS8nIHg6eG1wdGs9J0ltYWdlOjpFeGlmVG9vbCAxMi40NCc+CjxyZGY6UkRGIHhtbG5zOnJkZj0naHR0cDovL3d3dy53My5vcmcvMTk5OS8wMi8yMi1yZGYtc3ludGF4LW5zIyc+CgogPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9JycKICB4bWxuczpleGlmPSdodHRwOi8vbnMuYWRvYmUuY29tL2V4aWYvMS4wLyc+CiAgPGV4aWY6UGl4ZWxYRGltZW5zaW9uPjQwPC9leGlmOlBpeGVsWERpbWVuc2lvbj4KICA8ZXhpZjpQaXhlbFlEaW1lbnNpb24+NjwvZXhpZjpQaXhlbFlEaW1lbnNpb24+CiA8L3JkZjpEZXNjcmlwdGlvbj4KCiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0nJwogIHhtbG5zOnRpZmY9J2h0dHA6Ly9ucy5hZG9iZS5jb20vdGlmZi8xLjAvJz4KICA8dGlmZjpJbWFnZUxlbmd0aD42PC90aWZmOkltYWdlTGVuZ3RoPgogIDx0aWZmOkltYWdlV2lkdGg+NDA8L3RpZmY6SW1hZ2VXaWR0aD4KICA8dGlmZjpPcmllbnRhdGlvbj4xPC90aWZmOk9yaWVudGF0aW9uPgogIDx0aWZmOlJlc29sdXRpb25Vbml0PjI8L3RpZmY6UmVzb2x1dGlvblVuaXQ+CiAgPHRpZmY6WFJlc29sdXRpb24+OTYvMTwvdGlmZjpYUmVzb2x1dGlvbj4KICA8dGlmZjpZUmVzb2x1dGlvbj45Ni8xPC90aWZmOllSZXNvbHV0aW9uPgogPC9yZGY6RGVzY3JpcHRpb24+CjwvcmRmOlJERj4KPC94OnhtcG1ldGE+Cjw/eHBhY2tldCBlbmQ9J3InPz77yGiWAAAAI0lEQVR42mNUYyAOMDJggOUMDAyRmAqXMxAHmBiobjWxngEAj7gC+wwAe1AAAAAASUVORK5CYII="""") success := 0 @@ -4369,17 +4372,17 @@ nm_testButton(){ ;~~ lines 3464 and 3465 have the same change as 14156 } Sleep, 1000 - hiveWidth := 5*windowHeight//9 - region := windowX+windowWidth//2-hiveWidth//2 """"|"""" windowY """"|"""" hiveWidth """"|"""" windowHeight//2 - sconf := hiveWidth**2//200 + region := windowX """"|"""" windowY+3*windowHeight//4 """"|"""" windowWidth """"|"""" windowHeight//4 + sconf := windowWidth**2//3200 loop, 4 { sleep 250 pBMScreen := Gdip_BitmapFromScreen(region), s := 0 - for i, k in [""""day"""", """"night"""", """"honeystorm"""", """"untextured-day"""", """"untextured-night"""", """"untextured-honeystorm""""] { - s := Max(s, Gdip_ImageSearch(pBMScreen, bitmaps[k], , , , , , 8, , , 0)) - if (s > (sconf * (InStr(k, """"untextured"""") ? 2 : 1))) { + for i, k in [""""day"""", """"night"""", """"day-gifted"""", """"night-gifted"""", """"noshadow-gifted"""", """"noshadow-day"""", """"noshadow-night"""", """"wing""""] { + s := Max(s, Gdip_ImageSearch(pBMScreen, bitmaps[k], , , , , , 8, , , sconf)) + if (s >= sconf) { Gdip_DisposeImage(pBMScreen) success := 1 + Send {"" RotRight "" 4} SendEvent {"" ZoomOut "" 5} break 3 } @@ -5051,6 +5054,14 @@ nm_saveStingers(hCtrl){ GuiControl, %c%, StingerDailyBonusCheck } } +nm_AntPassBuyCheck(){ + global + Gui +OwnDialogs + GuiControlGet, AntPassBuyCheck + IniWrite, %AntPassBuyCheck%, settings\nm_config.ini, Collect, AntPassBuyCheck + if AntPassBuyCheck + msgbox, 0, Ant Pass, This option will make the macro buy Ant Passes with Tickets when:`n1. You have no Ant Passes in your inventory.`n2. The Free Ant Pass Dispenser is under cooldown.`n3. You have a quest that requires you to kill ants. +} nm_saveAmulet(hCtrl){ global local k @@ -5193,6 +5204,7 @@ nm_TabCollectLock(){ GuiControl, disable, RoboPassCheck GuiControl, disable, HoneystormCheck GuiControl, disable, AntPassCheck + GuiControl, disable, AntPassBuyCheck GuiControl, disable, % hAPALeft GuiControl, disable, % hAPARight GuiControl, disable, HoneyDisCheck @@ -5276,6 +5288,7 @@ nm_TabCollectUnLock(){ GuiControl, enable, RoboPassCheck GuiControl, enable, HoneystormCheck GuiControl, enable, AntPassCheck + GuiControl, enable, AntPassBuyCheck GuiControl, enable, % hAPALeft GuiControl, enable, % hAPARight GuiControl, enable, HoneyDisCheck @@ -5680,7 +5693,7 @@ nm_StickerStackCheck(){ } nm_StickerStackItem(hCtrl){ global StickerStackItem, hSSILeft, hSSIRight - static val := ["Tickets", "Sticker"], l := val.Length() + static val := ["Tickets", "Sticker", "Sticker+Tickets"], l := val.Length() if (StickerStackItem = "Tickets") { @@ -5692,7 +5705,7 @@ nm_StickerStackItem(hCtrl){ return } else - i := 2 + i := (StickerStackItem = "Sticker") ? 2 : 3 GuiControl, , StickerStackItem, % (StickerStackItem := val[(hCtrl = hSSIRight) ? (Mod(i, l) + 1) : (Mod(l + i - 2, l) + 1)]) IniWrite, %StickerStackItem%, settings\nm_config.ini, Boost, StickerStackItem @@ -5743,7 +5756,7 @@ nm_StickerStackModeText(){ } } nm_StickerStackItemHelp(){ - msgbox, 0x40000, Sticker Stack Item, Choose the item you prefer to use for activating the Sticker Stack!`n`n'Tickets' is the default option: it will use the 25 Tickets option to activate the boost.`n`n'Sticker' is an option if you want to stack your Stickers. It will always use your first sticker if there is one, otherwise it falls back to using Tickets. If you don't want this, remember to disable Sticker Stack before you run out of Stickers, e.g. with Remote Control. + msgbox, 0x40000, Sticker Stack Item, Choose the item you prefer to use for activating the Sticker Stack!`n`n'Tickets' is the default option: it will use the 25 Tickets option to activate the boost.`n`n'Sticker' is an option if you want to stack your Stickers. It will always use your first Sticker if there is one, otherwise it will stop using the Sticker Stack.`n`n'Sticker+Tickets' is an option that uses all of your Stickers first, then uses your Tickets once you have run out of Stickers. } nm_StickerStackModeHelp(){ msgbox, 0x40000, Sticker Stack Timer, Choose how long you want to wait between each Sticker Stack boost!`n`n'Detect' is the default option: it will detect the time each boost lasts and will go back to activate the Sticker Stack when it's over.`n`nThe other option is a custom timer, you can set it to any value between 15 minutes and 24 hours, the macro will activate Sticker Stack at this time interval.`n`nNOTE: If you change from a custom timer to 'Detect', the macro will still use your custom timer for the time until your next visit to the Sticker Stack. @@ -7307,9 +7320,21 @@ nm_StickerPrinterCheck(){ } nm_StickerPrinterEgg(hCtrl){ global StickerPrinterEgg, hSPELeft, hSPERight - static val := ["Basic", "Gold"], l := val.Length() + static val := ["Basic", "Silver", "Gold", "Diamond", "Mythic"], l := val.Length() - i := (StickerPrinterEgg = "Basic") ? 1 : 2 + switch % StickerPrinterEgg + { + case "Basic": + i := 1 + case "Silver": + i := 2 + case "Gold": + i := 3 + case "Diamond": + i := 4 + default: + i := 5 + } GuiControl, , StickerPrinterEgg, % (StickerPrinterEgg := val[(hCtrl = hSPERight) ? (Mod(i, l) + 1) : (Mod(l + i - 2, l) + 1)]) IniWrite, %StickerPrinterEgg%, settings\nm_config.ini, Boost, StickerPrinterEgg @@ -8552,7 +8577,7 @@ nm_ContributorsPageButton(hwnd){ nm_CollectKillButton(hCtrl){ global static CollectControls := ["CollectGroupBox","DispensersGroupBox","BeesmasGroupBox","BlenderGroupBox","BeesmasFailImage","BeesmasImage" - ,"ClockCheck","MondoBuffCheck","MondoAction","MondoPointText","MondoSecs","MondoSecsText","AntPassCheck","AntPassAction","RoboPassCheck","HoneystormCheck" + ,"ClockCheck","MondoBuffCheck","MondoAction","MondoPointText","MondoSecs","MondoSecsText","AntPassCheck","AntPassPointText","AntPassBuyCheck","AntPassAction","RoboPassCheck","HoneystormCheck" ,"HoneyDisCheck","TreatDisCheck","BlueberryDisCheck","StrawberryDisCheck","CoconutDisCheck","RoyalJellyDisCheck","GlueDisCheck"] , CollectControlsH := ["hMALeft","hMARight","hAPALeft","hAPARight","hBeesmas1","hBeesmas2","hBeesmas3","hBeesmas4","hBeesmas5","hBeesmas6","hBeesmas7","hBeesmas8","hBeesmas9","hBeesmas10","hBeesmas11"] , KillControls := ["BugRunGroupBox","BugRunCheck","MonsterRespawnTime","TextMonsterRespawnPercent","TextMonsterRespawn","MonsterRespawnTimeHelp","BugrunInterruptCheck","TextLoot","TextKill","TextLineBugRun1","TextLineBugRun2","BugrunLadybugsLoot","BugrunRhinoBeetlesLoot","BugrunSpiderLoot","BugrunMantisLoot","BugrunScorpionsLoot","BugrunWerewolfLoot","BugrunLadybugsCheck","BugrunRhinoBeetlesCheck","BugrunSpiderCheck","BugrunMantisCheck","BugrunScorpionsCheck","BugrunWerewolfCheck","StingersGroupBox","StingerCheck","StingerDailyBonusCheck","TextFields","StingerCloverCheck","StingerSpiderCheck","StingerCactusCheck","StingerRoseCheck","StingerMountainTopCheck","StingerPepperCheck","BossesGroupBox","TunnelBearCheck","KingBeetleCheck","CocoCrabCheck","StumpSnailCheck","CommandoCheck","TunnelBearBabyCheck","KingBeetleBabyCheck","BabyLovePicture1","BabyLovePicture2","KingBeetleAmuletMode","ShellAmuletMode","KingBeetleAmuPicture","ShellAmuPicture","KingBeetleAmuletModeText","ShellAmuletModeText","ChickLevelTextLabel","ChickLevelText","ChickLevel","SnailHPText","SnailHealthEdit","SnailHealthText","ChickHPText","ChickHealthEdit","ChickHealthText","SnailTimeText","SnailTimeUpDown","ChickTimeText","ChickTimeUpDown","BossConfigHelp","TextLineBosses1","TextLineBosses2","TextLineBosses3","TextBosses1","TextBosses2","TextBosses3"] @@ -9315,6 +9340,14 @@ nm_Reset(checkAll:=1, wait:=2000, convert:=1, force:=0){ click } Gdip_DisposeImage(BlenderSS) + ;check to make sure you are not in sticker screen + pBMScreen := Gdip_BitmapFromScreen(windowX+windowWidth//2 - 275 "|" windowY+4*windowHeight//10-178 "|56|56") + if (Gdip_ImageSearch(pBMScreen, bitmaps["CloseGUI"], , , , , , 5) > 0) { + MouseMove, windowX+windowWidth//2 - 250, windowY+4*windowHeight//10 - 150 + sleep, 150 + click + } + Gdip_DisposeImage(pBMScreen) ;check to make sure you are not in shop before reset searchRet := nm_imgSearch("e_button.png",30,"high") If (searchRet[1] = 0) { @@ -9370,17 +9403,17 @@ nm_Reset(checkAll:=1, wait:=2000, convert:=1, force:=0){ SetKeyDelay, PrevKeyDelay ; hive check - hiveWidth := 5*windowHeight//9 - region := windowX+windowWidth//2-hiveWidth//2 "|" windowY "|" hiveWidth "|" windowHeight//2 - sconf := hiveWidth**2//200 + region := windowX "|" windowY+3*windowHeight//4 "|" windowWidth "|" windowHeight//4 + sconf := windowWidth**2//3200 loop, 4 { sleep (250+KeyDelay) pBMScreen := Gdip_BitmapFromScreen(region), s := 0 - for i, k in ["day", "night", "honeystorm", "untextured-day", "untextured-night", "untextured-honeystorm"] { - s := Max(s, Gdip_ImageSearch(pBMScreen, bitmaps["hive"][k], , , , , , 8, , , 0)) - if (s > (sconf * (InStr(k, "untextured") ? 2 : 1))) { + for i, k in ["day", "night", "day-gifted", "night-gifted", "noshadow-gifted", "noshadow-day", "noshadow-night", "wing"] { + s := Max(s, Gdip_ImageSearch(pBMScreen, bitmaps["hive"][k], , , , , , 8, , , sconf)) + if (s >= sconf) { Gdip_DisposeImage(pBMScreen) HiveConfirmed := 1 + sendinput {%RotRight% 4} Send {%ZoomOut% 5} break 2 } @@ -9665,6 +9698,22 @@ nm_findHiveSlot(){ return HiveConfirmed } +nm_Boost(){ + global VBState, MondoBuffCheck, PMondoGuid, LastGuid, MondoAction, LastMondoBuff, QuestGatherField + if(VBState=1) + return + FormatTime, utc_min, %A_NowUTC%, m + if((MondoBuffCheck && utc_min>=0 && utc_min<14 && (nowUnix()-LastMondoBuff)>960 && (MondoAction="Buff" || MondoAction="Kill")) || (MondoBuffCheck && utc_min>=0 && utc_min<12 && (nowUnix()-LastGuid)<60 && PMondoGuid && MondoAction="Guid") || (MondoBuffCheck && (utc_min>=0 && utc_min<=8) && (nowUnix()-LastMondoBuff)>960 && PMondoGuid && MondoAction="Tag")) + return + + nm_StickerPrinter() + nm_StickerStack() + + if ((QuestGatherField!="None" && QuestGatherField) || (IsFunc(name := "nm_PBoost") && (%name%() = 1))) + return + nm_shrine() + nm_toAnyBooster() +} nm_toBooster(location){ global FwdKey, LeftKey, BackKey, RightKey, RotLeft, RotRight, KeyDelay, MoveSpeedNum, MoveMethod, SC_E global LastBlueBoost, LastRedBoost, LastMountainBoost, RecentFBoost, objective @@ -9711,93 +9760,8 @@ nm_toBooster(location){ IniWrite, % Last%location%Boost, settings\nm_config.ini, Collect, Last%location%Boost } } -nm_toAnyBooster(){ - global FwdKey - global LeftKey - global BackKey - global RightKey - global RotLeft - global RotRight - global KeyDelay - global MoveMethod - global LastBlueBoost, QuestBlueBoost - global LastRedBoost - global LastMountainBoost, QuestRedBoost, QuestGatherField - global FieldBooster1 - global FieldBooster2 - global FieldBooster3 - global FieldBoosterMins - global VBState - global objective, CurrentAction, PreviousAction - global MondoBuffCheck, PMondoGuid, LastGuid, MondoAction, LastMondoBuff - global LastShrine, ShrineCheck, ShrineItem1, ShrineItem2, ShrineAmount1, ShrineAmount2, ShrineRot, Shrine, bitmaps, SC_E - global StickerStackCheck, LastStickerStack, StickerStackItem, StickerStackMode, StickerStackTimer - global StickerPrinterCheck, LastStickerPrinter, StickerPrinterEgg - static blueBoosterFields:=["Pine Tree", "Bamboo", "Blue Flower"], redBoosterFields:=["Rose", "Strawberry", "Mushroom"], mountainBoosterfields:=["Cactus", "Pumpkin", "Pineapple", "Spider", "Clover", "Dandelion", "Sunflower"] - if(VBState=1) - return - FormatTime, utc_min, %A_NowUTC%, m - if((MondoBuffCheck && utc_min>=0 && utc_min<14 && (nowUnix()-LastMondoBuff)>960 && (MondoAction="Buff" || MondoAction="Kill")) || (MondoBuffCheck && utc_min>=0 && utc_min<12 && (nowUnix()-LastGuid)<60 && PMondoGuid && MondoAction="Guid") || (MondoBuffCheck && (utc_min>=0 && utc_min<=8) && (nowUnix()-LastMondoBuff)>960 && PMondoGuid && MondoAction="Tag")) - return - if (QuestGatherField!="None" && QuestGatherField) - return - ; Sticker Printer - If (StickerPrinterCheck && (nowUnix()-LastStickerPrinter)>3600) { ;1 hour - loop, 2 { - nm_Reset() - nm_setStatus("Traveling", "Sticker Printer" ((A_Index > 1) ? " (Attempt 2)" : "")) - - nm_gotoCollect("stickerprinter") - searchRet := nm_imgSearch("e_button.png",30,"high") - If (searchRet[1] = 0) { - sendinput {%SC_E% down} - Sleep, 100 - sendinput {%SC_E% up} - Sleep, 500 ;//todo: wait for GUI with timeout instead of fixed time - WinGetClientPos(windowX, windowY, windowWidth, windowHeight, "ahk_id " GetRobloxHWND()) - pBMScreen := Gdip_BitmapFromScreen(windowX+windowWidth//2+150 "|" windowY+4*windowHeight//10+160 "|100|60") - if (Gdip_ImageSearch(pBMScreen, bitmaps["stickerprinterCD"], , , , , , 10) = 1) { - Gdip_DisposeImage(pBMScreen) - nm_setStatus("Detected", "Sticker Printer on Cooldown") - Sleep, 500 - sendinput {%SC_E% down} - Sleep, 100 - sendinput {%SC_E% up} - break - } - Gdip_DisposeImage(pBMScreen) - MouseMove, (StickerPrinterEgg="Basic") ? windowX+windowWidth//2-90 : windowX+windowWidth//2+28, windowY+4*windowHeight//10-20 - Sleep, 200 - Click - MouseMove, windowX+windowWidth//2+225, windowY+4*windowHeight//10+195 - Sleep, 200 - Click - i := 0 - loop 16 { - sleep, 250 - pBMScreen := Gdip_BitmapFromScreen(windowX+windowWidth//2-250 "|" windowY+windowHeight//2-52 "|500|150") - if (Gdip_ImageSearch(pBMScreen, bitmaps["yes"], pos, , , , , 2, , 2) = 1) { - MouseMove, windowX+windowWidth//2-250+SubStr(pos, 1, InStr(pos, ",")-1)-50, windowY+windowHeight//2-52+SubStr(pos, InStr(pos, ",")+1) - sleep 150 - Click - sleep 100 - i++ - } else if (i > 0) { - Gdip_DisposeImage(pBMScreen) - break - } - Gdip_DisposeImage(pBMScreen) - if (A_Index = 16) - break - } - Sleep, 8000 ; wait for printer to print - nm_setStatus("Collected", "Sticker Printer (" StickerPrinterEgg " Egg)") - break - } - } - LastStickerPrinter:=nowUnix() - IniWrite, %LastStickerPrinter%, settings\nm_config.ini, Boost, LastStickerPrinter - } +nm_shrine(){ + global FwdKey, BackKey, LeftKey, RightKey, RotLeft, RotRight, KeyDelay, objective, CurrentAction, PreviousAction, MoveSpeedNum, GatherFieldBoostedStart, LastGlitter, MondoBuffCheck, PMondoGuid, LastGuid, MondoAction, LastMondoBuff, VBState, LastShrine, ShrineCheck, ShrineItem1, ShrineItem2, ShrineAmount1, ShrineAmount2, ShrineIndex1, ShrineIndex2, ShrineRot, Shrine, bitmaps, SC_E, SC_Space, SC_1 nm_ShrineRotation() ; make sure ShrineRot hasnt changed if (ShrineCheck && (nowUnix()-LastShrine)>3600) { ;1 hour loop, 2 { @@ -9915,36 +9879,86 @@ nm_toAnyBooster(){ IniWrite, %LastShrine%, settings\nm_config.ini, Shrine, LastShrine IniWrite, %ShrineRot%, settings\nm_config.ini, Shrine, ShrineRot } - loop 3 { - if(FieldBooster%A_Index%="none" && QuestBlueBoost=0 && QuestRedBoost=0) - break - LastBooster:=max(LastBlueBoost, LastRedBoost, LastMountainBoost) - ;Blue Field Booster - if((FieldBooster%A_Index%="blue" && (nowUnix()-LastBlueBoost)>3600 && (nowUnix()-LastBooster)>(FieldBoosterMins*60)) || (QuestBlueBoost && (nowUnix()-LastBlueBoost)>3600)){ - if(CurrentAction!="Booster"){ - PreviousAction:=CurrentAction - CurrentAction:="Booster" - } - nm_toBooster("blue") - } - ;Red Field Booster - else if((FieldBooster%A_Index%="red" && (nowUnix()-LastRedBoost)>3600 && (nowUnix()-LastBooster)>(FieldBoosterMins*60)) || (QuestRedBoost && (nowUnix()-LastRedBoost)>3600)){ - if(CurrentAction!="Booster"){ - PreviousAction:=CurrentAction - CurrentAction:="Booster" +} +nm_StickerPrinter(){ + global StickerPrinterCheck, LastStickerPrinter, StickerPrinterEgg, SC_E, bitmaps + + If (StickerPrinterCheck && (nowUnix()-LastStickerPrinter)>3600) { ;1 hour + loop, 2 { + nm_Reset() + nm_setStatus("Traveling", "Sticker Printer" ((A_Index > 1) ? " (Attempt 2)" : "")) + + nm_gotoCollect("stickerprinter") + searchRet := nm_imgSearch("e_button.png",30,"high") + If (searchRet[1] = 0) { + sendinput {%SC_E% down} + Sleep, 100 + sendinput {%SC_E% up} + Sleep, 500 ;//todo: wait for GUI with timeout instead of fixed time + WinGetClientPos(windowX, windowY, windowWidth, windowHeight, "ahk_id " GetRobloxHWND()) + pBMScreen := Gdip_BitmapFromScreen(windowX+windowWidth//2+150 "|" windowY+4*windowHeight//10+160 "|100|60") + if (Gdip_ImageSearch(pBMScreen, bitmaps["stickerprinterCD"], , , , , , 10) = 1) { + Gdip_DisposeImage(pBMScreen) + nm_setStatus("Detected", "Sticker Printer on Cooldown") + Sleep, 500 + sendinput {%SC_E% down} + Sleep, 100 + sendinput {%SC_E% up} + break + } + Gdip_DisposeImage(pBMScreen) + pos := {"Basic": -95, "Silver": -40, "Gold": 15, "Diamond": 70, "Mythic": 125} + MouseMove, windowX+windowWidth//2+pos[StickerPrinterEgg], windowY+4*windowHeight//10-20 + Sleep, 200 + Click + Sleep, 200 + pBMScreen := Gdip_BitmapFromScreen(windowX+windowWidth//2+150 "|" windowY+4*windowHeight//10+160 "|100|60") + if (Gdip_ImageSearch(pBMScreen, bitmaps["stickerprinterConfirm"], , , , , , 10) != 1) { + Gdip_DisposeImage(pBMScreen) + nm_setStatus("Error", "No Eggs left in inventory!`nSticker Printer has been disabled.") + StickerPrinterCheck := 0 + Sleep, 500 + sendinput {%SC_E% down} + Sleep, 100 + sendinput {%SC_E% up} + break + } + Gdip_DisposeImage(pBMScreen) + MouseMove, windowX+windowWidth//2+225, windowY+4*windowHeight//10+195 + Sleep, 200 + Click + i := 0 + loop 16 { + sleep, 250 + pBMScreen := Gdip_BitmapFromScreen(windowX+windowWidth//2-250 "|" windowY+windowHeight//2-52 "|500|150") + if (Gdip_ImageSearch(pBMScreen, bitmaps["yes"], pos, , , , , 2, , 2) = 1) { + MouseMove, windowX+windowWidth//2-250+SubStr(pos, 1, InStr(pos, ",")-1)-50, windowY+windowHeight//2-52+SubStr(pos, InStr(pos, ",")+1) + sleep 150 + Click + sleep 100 + i++ + } else if (i > 0) { + Gdip_DisposeImage(pBMScreen) + break + } + Gdip_DisposeImage(pBMScreen) + if (A_Index = 16) + break + } + Sleep, 8000 ; wait for printer to print + nm_setStatus("Collected", "Sticker Printer (" StickerPrinterEgg " Egg)") + break } - nm_toBooster("red") } - ;Mountain Top Field Booster - else if(FieldBooster%A_Index%="mountain" && (nowUnix()-LastMountainBoost)>3600 && (nowUnix()-LastBooster)>(FieldBoosterMins*60)){ ;1 hour - if(CurrentAction!="Booster"){ - PreviousAction:=CurrentAction - CurrentAction:="Booster" - } - nm_toBooster("mountain") + if (StickerPrinterCheck = 1) { + LastStickerPrinter:=nowUnix() + IniWrite, %LastStickerPrinter%, settings\nm_config.ini, Boost, LastStickerPrinter } } - ;Sticker Stack +} +nm_StickerStack(){ + global StickerStackCheck, LastStickerStack, StickerStackItem, StickerStackMode, StickerStackTimer, SC_E, bitmaps + if (StickerStackCheck && (nowUnix()-LastStickerStack)>StickerStackTimer) { loop, 2 { nm_Reset() @@ -9989,14 +10003,22 @@ nm_toAnyBooster(){ } ; check if sticker is available to donate - if ((StickerStackItem = "Sticker") && (Gdip_ImageSearch(pBMScreen, bitmaps["nosticker"], , , , , , 20) = 0)) { + if (InStr(StickerStackItem, "Sticker") && (Gdip_ImageSearch(pBMScreen, bitmaps["nosticker"], , , , , , 20) = 0)) { nm_setStatus("Stacking", "Sticker") MouseMove, windowX+windowWidth//2-230, windowY+4*windowHeight//10+40 ; select sticker if (StickerStackMode = 0) StickerStackTimer += 10 - } else { + } else if InStr(StickerStackItem, "Tickets") { nm_setStatus("Stacking", "Tickets") - MouseMove, windowX+windowWidth//2+180, windowY+4*windowHeight//10-78 ; select tickets + MouseMove, windowX+windowWidth//2+105, windowY+4*windowHeight//10-78 ; select tickets + } else { ; StickerStackItem = "Sticker", and nosticker was found or error + nm_setStatus("Error", "No Stickers left to stack!`nSticker Stack has been disabled.") + StickerStackCheck := 0 + Sleep, 500 + sendinput {%SC_E% down} + Sleep, 100 + sendinput {%SC_E% up} + break } Sleep, 100 Click @@ -10015,22 +10037,71 @@ nm_toAnyBooster(){ } else if (i > 0) { Gdip_DisposeImage(pBMScreen) break + } else if (A_Index = 16) { + Gdip_DisposeImage(pBMScreen) + nm_setStatus("Error", "No Tickets left to use!`nSticker Stack has been disabled.") + StickerStackCheck := 0 + Sleep, 500 + sendinput {%SC_E% down} + Sleep, 100 + sendinput {%SC_E% up} + break 2 } Gdip_DisposeImage(pBMScreen) } + Sleep, 1000 + nm_SetStatus("Collected", "Sticker Stack") break } } - LastStickerStack:=nowUnix() - IniWrite, %LastStickerStack%, settings\nm_config.ini, Boost, LastStickerStack - if (StickerStackMode = 0) { - GuiControl, , StickerStackTimer, %StickerStackTimer% - IniWrite, %StickerStackTimer%, settings\nm_config.ini, Boost, StickerStackTimer + if (StickerStackCheck = 1) { + LastStickerStack:=nowUnix() + IniWrite, %LastStickerStack%, settings\nm_config.ini, Boost, LastStickerStack + if (StickerStackMode = 0) { + GuiControl, , StickerStackTimer, %StickerStackTimer% + IniWrite, %StickerStackTimer%, settings\nm_config.ini, Boost, StickerStackTimer + } + } + } +} +nm_toAnyBooster(){ + global LastBlueBoost, QuestBlueBoost, LastRedBoost, QuestRedBoost, LastMountainBoost + , FieldBooster1, FieldBooster2, FieldBooster3, FieldBoosterMins + , CurrentAction, PreviousAction + static blueBoosterFields:=["Pine Tree", "Bamboo", "Blue Flower"], redBoosterFields:=["Rose", "Strawberry", "Mushroom"], mountainBoosterfields:=["Cactus", "Pumpkin", "Pineapple", "Spider", "Clover", "Dandelion", "Sunflower"] + + loop 3 { + if(FieldBooster%A_Index%="none" && QuestBlueBoost=0 && QuestRedBoost=0) + break + LastBooster:=max(LastBlueBoost, LastRedBoost, LastMountainBoost) + ;Blue Field Booster + if((FieldBooster%A_Index%="blue" && (nowUnix()-LastBlueBoost)>3600 && (nowUnix()-LastBooster)>(FieldBoosterMins*60)) || (QuestBlueBoost && (nowUnix()-LastBlueBoost)>3600)){ + if(CurrentAction!="Booster"){ + PreviousAction:=CurrentAction + CurrentAction:="Booster" + } + nm_toBooster("blue") + } + ;Red Field Booster + else if((FieldBooster%A_Index%="red" && (nowUnix()-LastRedBoost)>3600 && (nowUnix()-LastBooster)>(FieldBoosterMins*60)) || (QuestRedBoost && (nowUnix()-LastRedBoost)>3600)){ + if(CurrentAction!="Booster"){ + PreviousAction:=CurrentAction + CurrentAction:="Booster" + } + nm_toBooster("red") + } + ;Mountain Top Field Booster + else if(FieldBooster%A_Index%="mountain" && (nowUnix()-LastMountainBoost)>3600 && (nowUnix()-LastBooster)>(FieldBoosterMins*60)){ ;1 hour + if(CurrentAction!="Booster"){ + PreviousAction:=CurrentAction + CurrentAction:="Booster" + } + nm_toBooster("mountain") } } } nm_Collect(){ - global FwdKey, BackKey, LeftKey, RightKey, RotLeft, RotRight, KeyDelay, objective, CurrentAction, PreviousAction, MoveSpeedNum, GatherFieldBoostedStart, LastGlitter, MondoBuffCheck, PMondoGuid, LastGuid, MondoAction, LastMondoBuff, VBState, ClockCheck, LastClock, AntPassCheck, AntPassAction, QuestAnt, LastAntPass, HoneyDisCheck, LastHoneyDis, TreatDisCheck, LastTreatDis, BlueberryDisCheck, LastBlueberryDis, StrawberryDisCheck, LastStrawberryDis, CoconutDisCheck, LastCoconutDis, GlueDisCheck, LastGlueDis, RoboPassCheck, LastRoboPass, HoneystormCheck, LastHoneystorm, RoyalJellyDisCheck, LastRoyalJellyDis, StockingsCheck, LastStockings, FeastCheck, RBPDelevelCheck, LastRBPDelevel, LastFeast, GingerbreadCheck, LastGingerbread, SnowMachineCheck, LastSnowMachine, CandlesCheck, LastCandles, SamovarCheck, LastSamovar, LidArtCheck, LastLidArt, GummyBeaconCheck, LastGummyBeacon, beesmasActive, HoneySSCheck, resetTime, bitmaps, SC_E, SC_Space, SC_1, BlenderRot, LastBlenderRot, BlenderEnd, TimerInterval, BlenderIndex1, BlenderIndex2, BlenderIndex3, BlenderItem1, BlenderItem2, BlenderItem3, BlenderTime1, BlenderTime2, BlenderTime3, BlenderAmount1, BlenderAmount2, BlenderAmount3, Blendercheck + global FwdKey, BackKey, LeftKey, RightKey, RotLeft, RotRight, KeyDelay, objective, CurrentAction, PreviousAction, MoveSpeedNum, GatherFieldBoostedStart, LastGlitter, MondoBuffCheck, PMondoGuid, LastGuid, MondoAction, LastMondoBuff, VBState, ClockCheck, LastClock, AntPassCheck, AntPassBuyCheck, AntPassAction, QuestAnt, LastAntPass, HoneyDisCheck, LastHoneyDis, TreatDisCheck, LastTreatDis, BlueberryDisCheck, LastBlueberryDis, StrawberryDisCheck, LastStrawberryDis, CoconutDisCheck, LastCoconutDis, GlueDisCheck, LastGlueDis, RoboPassCheck, LastRoboPass, HoneystormCheck, LastHoneystorm, RoyalJellyDisCheck, LastRoyalJellyDis, StockingsCheck, LastStockings, FeastCheck, RBPDelevelCheck, LastRBPDelevel, LastFeast, GingerbreadCheck, LastGingerbread, SnowMachineCheck, LastSnowMachine, CandlesCheck, LastCandles, SamovarCheck, LastSamovar, LidArtCheck, LastLidArt, GummyBeaconCheck, LastGummyBeacon, beesmasActive, HoneySSCheck, resetTime, bitmaps, SC_E, SC_Space, SC_1, BlenderRot, LastBlenderRot, BlenderEnd, TimerInterval, BlenderIndex1, BlenderIndex2, BlenderIndex3, BlenderItem1, BlenderItem2, BlenderItem3, BlenderTime1, BlenderTime2, BlenderTime3, BlenderAmount1, BlenderAmount2, BlenderAmount3, Blendercheck static AntPassNum:=2, RoboPassNum:=1, LastHoneyLB:=1 if(VBState=1) @@ -10307,7 +10378,7 @@ nm_Collect(){ IniWrite, % BlenderIndex%BlenderRot%, settings\nm_config.ini, blender, BlenderIndex%BlenderRot% } ;ant pass - if(((AntPassCheck && ((AntPassNum<10) || (AntPassAction="challenge"))) && (nowUnix()-LastAntPass>7200)) || (QuestAnt && (AntPassNum>0))){ ;2 hours OR ant quest + if(((AntPassCheck && ((AntPassNum<10) || (AntPassAction="challenge"))) && (nowUnix()-LastAntPass>7200)) || (QuestAnt && ((AntPassNum>0) || (AntPassBuyCheck = 1)))){ ;2 hours OR ant quest Loop, 2 { nm_Reset(1, (QuestAnt || (AntPassAction = "challenge")) ? 20000 : 2000) nm_setStatus("Traveling", (QuestAnt ? "Ant Challenge" : ("Ant " . AntPassAction)) ((A_Index > 1) ? " (Attempt 2)" : "")) @@ -10358,63 +10429,104 @@ nm_Collect(){ KeyWait, F14, T30 L nm_endWalk() Sleep, 500 - If (nm_imgSearch("e_button.png",30,"high")[1] = 0) { - sendinput {%SC_E% down} - Sleep, 100 - sendinput {%SC_E% up} - --AntPassNum - nm_setStatus("Attacking", "Ant Challenge") - Sleep, 500 - send {%SC_1%} - MoveSpeedFactor := round(18/MoveSpeedNum, 2) - movement := " - (LTrim Join`r`n - " nm_Walk(9, BackKey) " - " nm_Walk(3, RightKey, FwdKey) " - " nm_Walk(1, FwdKey) " - )" - nm_createWalk(movement) - KeyWait, F14, D T5 L - KeyWait, F14, T30 L - nm_endWalk() - click, down - loop 300 { - if (Mod(A_Index, 10) = 1) { - resetTime:=nowUnix() - Prev_DetectHiddenWindows := A_DetectHiddenWindows - Prev_TitleMatchMode := A_TitleMatchMode - DetectHiddenWindows On - SetTitleMatchMode 2 - if WinExist("background.ahk ahk_class AutoHotkey") { - PostMessage, 0x5554, 1, resetTime + Loop, 2 { + If (nm_imgSearch("e_button.png",30,"high")[1] = 0) { + sendinput {%SC_E% down} + Sleep, 100 + sendinput {%SC_E% up} + --AntPassNum + nm_setStatus("Attacking", "Ant Challenge") + Sleep, 500 + send {%SC_1%} + MoveSpeedFactor := round(18/MoveSpeedNum, 2) + movement := " + (LTrim Join`r`n + " nm_Walk(9, BackKey) " + " nm_Walk(3, RightKey, FwdKey) " + " nm_Walk(1, FwdKey) " + )" + nm_createWalk(movement) + KeyWait, F14, D T5 L + KeyWait, F14, T30 L + nm_endWalk() + click, down + loop 300 { + if (Mod(A_Index, 10) = 1) { + resetTime:=nowUnix() + Prev_DetectHiddenWindows := A_DetectHiddenWindows + Prev_TitleMatchMode := A_TitleMatchMode + DetectHiddenWindows On + SetTitleMatchMode 2 + if WinExist("background.ahk ahk_class AutoHotkey") { + PostMessage, 0x5554, 1, resetTime + } + DetectHiddenWindows %Prev_DetectHiddenWindows% + SetTitleMatchMode %Prev_TitleMatchMode% } - DetectHiddenWindows %Prev_DetectHiddenWindows% - SetTitleMatchMode %Prev_TitleMatchMode% - } - searchRet := nm_imgSearch("keep.png",30,"center") - searchRet2 := nm_imgSearch("d_ant_amulet.png",30,"center") - searchRet3 := nm_imgSearch("g_ant_amulet.png",30,"center") - If (searchRet[1]=0 && (searchRet2[1]=0 || searchRet3[1]=0)) { - nm_setStatus("Keeping", "Ant Amulet") - hwnd := GetRobloxHWND() - offsetY := GetYOffset(hwnd) - WinGetClientPos(windowX, windowY, , , "ahk_id " hwnd) - MouseMove, windowX+searchRet[2], windowY+searchRet[3], 5 - click - MouseMove, windowX+350, windowY+offsetY+100 - break + searchRet := nm_imgSearch("keep.png",30,"center") + searchRet2 := nm_imgSearch("d_ant_amulet.png",30,"center") + searchRet3 := nm_imgSearch("g_ant_amulet.png",30,"center") + If (searchRet[1]=0 && (searchRet2[1]=0 || searchRet3[1]=0)) { + nm_setStatus("Keeping", "Ant Amulet") + hwnd := GetRobloxHWND() + offsetY := GetYOffset(hwnd) + WinGetClientPos(windowX, windowY, , , "ahk_id " hwnd) + MouseMove, windowX+searchRet[2], windowY+searchRet[3], 5 + click + MouseMove, windowX+350, windowY+offsetY+100 + break 2 + } + sleep, 1000 } - sleep, 1000 + click, up } - click, up - } - else { - pBMScreen := Gdip_BitmapFromScreen(windowX+windowWidth//2-200 "|" windowY+offsetY "|400|125") - if (Gdip_ImageSearch(pBMScreen, bitmaps["passnone"], , , , , , 2, , 2) = 1) { - nm_setStatus("Aborting", "No Ant Pass in Inventory") - AntPassNum:=0 + else { + pBMScreen := Gdip_BitmapFromScreen(windowX+windowWidth//2-200 "|" windowY+offsetY "|400|125") + if (Gdip_ImageSearch(pBMScreen, bitmaps["passnone"], , , , , , 2, , 2) = 1) { + Gdip_DisposeImage(pBMScreen) + AntPassNum:=0 + if ((AntPassBuyCheck = 1) && (A_Index = 1)) { + movement := " + (LTrim Join`r`n + " nm_Walk(6, LeftKey) " + " nm_Walk(10, BackKey, LeftKey) " + )" + nm_createWalk(movement) + KeyWait, F14, D T5 L + KeyWait, F14, T30 L + nm_endWalk() + Sleep, 200 + + If (nm_imgSearch("e_button.png",30,"high")[1] = 0) { + sendinput {%SC_E% down} + Sleep, 100 + sendinput {%SC_E% up} + Sleep, 500 + nm_setStatus("Bought", "Ant Pass") + ++AntPassNum + } else { + nm_setStatus("Aborting", "Cannot buy Ant Pass") + break + } + + movement := " + (LTrim Join`r`n + " nm_Walk(10, FwdKey, RightKey) " + " nm_Walk(6, RightKey) " + )" + nm_createWalk(movement) + KeyWait, F14, D T5 L + KeyWait, F14, T30 L + nm_endWalk() + Sleep, 200 + continue + } else { + nm_setStatus("Aborting", "No Ant Pass in Inventory") + break + } + } + Gdip_DisposeImage(pBMScreen) } - Gdip_DisposeImage(pBMScreen) } } } @@ -19004,6 +19116,7 @@ nm_BrownQuestProg(){ ;also set next steps QuestGatherField:="None" QuestGatherFieldSlot:=0 + QuestGatherObjective:="" newLine:="|" brownProgress:="" BrownQuest:=(objectives.Length() = 1) ? "Solo" : "" @@ -19058,9 +19171,10 @@ nm_BrownQuestProg(){ if((questbarColor=Format("{:d}",0xF46C55)) || (questbarColor=Format("{:d}",0x6EFF60))) { BrownQuestComplete:=0 completeness:="Incomplete" - if(QuestGatherField="None") { + if(QuestGatherField="None" || InStr(QuestGatherObjective, "pollen")) { ; override colour pollen if there is an incomplete field objective QuestGatherField:=where QuestGatherFieldSlot:=i + QuestGatherObjective:=obj } } ;border color, white (titlebar), black (text) @@ -19333,7 +19447,7 @@ nm_ReadIni(path) local ini, str, c, p, k ini := FileOpen(path, "r"), str := ini.Read(), ini.Close() - Loop, Parse, str, `r`n, %A_Space%%A_Tab% + Loop, Parse, str, `n, `r%A_Space%%A_Tab% { switch (c := SubStr(A_LoopField, 1, 1)) { @@ -21508,7 +21622,7 @@ loop, 3 { } } ;Sticker Warning -if ((StickerStackCheck = 1) && (StickerStackItem = "Sticker")) { ;Warns user about stickers +if ((StickerStackCheck = 1) && InStr(StickerStackItem, "Sticker")) { ;Warns user about stickers msgbox, 0x1040, Sticker Stack ,% "You have enabled the Sticker option for Sticker Stack!`nConsider trading all of your valuable stickers to alternative account, to ensure that you do not lose any valuable stickers.", 30 }