forked from nafalabi/albn-fishing-bot
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathapp.js
85 lines (77 loc) · 2.59 KB
/
app.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
const { Window } = require('win-control')
const { initListener } = require('./src/event-listener')
const { FishingEvents } = require('./src/enums/FishingEvents')
const { FishingHandler } = require('./src/fishing-handler')
const { getTargetCoordinates, getCurMouseCoor } = require('./src/dimensions')
const win = Window.getByTitle('Albion Online Client')
if (!win) {
console.log('process not found')
process.exit(1)
}
const {
pullPoint,
restPoint,
throwPoint,
fishBaitCoor,
} = getTargetCoordinates(win)
const listener = initListener();
const fishingHandler = new FishingHandler(
pullPoint,
restPoint,
throwPoint,
fishBaitCoor,
win,
);
listener.on('event', async (res) => {
if (!fishingHandler.isEnabled) return;
const parameters = res['parameters']
const eventCode = parameters[252]
const playerId = parameters[0]
if (!eventCode) return
switch (eventCode) {
case FishingEvents.FishingStart:
await fishingHandler.updateState(parameters);
break;
case FishingEvents.FishingMiniGame:
await fishingHandler.startPulling(playerId, parameters);
break;
case FishingEvents.FishingFinished:
await fishingHandler.restart(playerId);
break;
case FishingEvents.FishingCancel:
await fishingHandler.restart(playerId);
break;
case FishingEvents.CharacterEquipmentChanged:
fishingHandler.addToQueue(fishingHandler.equipBuff, playerId, parameters);
break;
case FishingEvents.ActiveSpellEffectsUpdate:
fishingHandler.addToQueue(fishingHandler.consumeBuff, playerId, parameters);
break;
default:
break;
}
})
listener.on('request', async (req) => {
const requestId = req?.['parameters']?.[253]
switch (requestId) {
// bait touch water -> enable program
case 316:
if (fishingHandler.isEnabled) return;
console.log('User: enable program')
const fishingId = req.parameters[2];
fishingHandler.updateFishingId(fishingId);
const newThrowPoint = getCurMouseCoor();
fishingHandler.updateThrowPoint(newThrowPoint)
fishingHandler.setEnabled(true)
break;
// character move -> disable program
case 21:
if (!fishingHandler.isEnabled) return;
console.log('User: disable program')
fishingHandler.stopPulling(true);
fishingHandler.setEnabled(false);
break;
default:
break;
}
})