周回マクロの修正(修復処理)

他のゲームにかまけている間、イベントやらなんやらの新規人形拾いは細々と続けていました
一方でいわゆる周回は停滞していたのですが、原因は4月アップデートのインターフェイス変更
なんか心が折れて放っていたわけです

キーになる画像周りは半分以上差し替え喰らった一方で編成の挙動が入れ替え制になったので楽になりましたね(単純に操作半分で済むし)ついでにアタッカー1人制にしたので色々スッキリしました
修復も「一括」とかいうクソ便利なボタンが増えたので空きスロット探したり全く不要になって複雑な心境、いや連打しますけど

		ifb chkimgx("repair.bmp", NOXid, 720, 515, 795, 625,  1, 10, -1) then	//修復選択
			P_adb_BTN(G_IMGX_X + delta_X + randomx(45), G_IMGX_Y + delta_Y + randomx(40), 100, "Start repair")
			sleep(5)
		elseif chkimgx("repair_all.bmp", NOXid, 1030, 885, 1085, 950,  1, 10, -1) then //修復メニュー内
			P_adb_BTN(G_IMGX_X + delta_X + randomx(60), G_IMGX_Y + delta_Y + 30 + randomx(50), 500 + randomx(100), "一括選択")	//全修理選択
			tim = gettime() + 10	//タイムオーバー判定基準
			repeat
				sleep(2)
				ifb tim < gettime() then
print "Repair act. failed"
					exit	//全修理実行に失敗したら処理中断
				endif
			until chkimgx("confirm.bmp", NOXid, 940, 680, 985, 710,  1, 10, -1)	//対象人形表示画面待ち
			sleep(2)
			P_adb_BTN(G_IMGX_X + delta_X + randomx(50), G_IMGX_Y + randomx(40), 100 + randomx(100), "一括確認")	//全修理実行
			tim = gettime() + 10	//タイムオーバー判定基準
			repeat
				sleep(2)
				ifb tim < gettime() then
print "Repair act. confirm failed"
					exit	//修理実行確認に失敗したら処理中断
				endif
			until chkimgx("back_home.bmp",NOXid,80, 55, 140, 110, 1, 10, -1)		//確認画面表示画面待ち
			sleep(2)
			P_adb_BTN(G_IMGX_X + delta_X + randomx(50), G_IMGX_Y + randomx(40), 200 + random(100), "Return to home")	//戻るクリック
			
			loop = 0	//周回カウントリセット

以前はメインループの中に置いたら場所食って邪魔だったのでサブルーチンにして飛ばしてたんですが、一括押してくるだけなのでメインの中で完結させました
その割にだらだら長いのは表示ラグ待ちの処理を都度挟んでるからなんですが、なんかダメっぽいと判断して強制的に終わらせてるだけだったり、その割にあちこちに時間待機挟んでたりイマイチ感満載なので少し気の利いた動作に直したいですね
今のところ周回数カウントして修理してるので、これも盾の体力ゲージ見て修理する感じに改良して修復チケット節約したいな、と
在庫みたら3000枚あったので当分大丈夫ぽいですが

チラ裏)左上の「<」マーク、あちこちの画面で使われてるけど同じサンプルで当てにいくと微妙にスコアが違う罠、謎い・・・