I added Vertical Square, Tsujikaze and Rapid Raid to Canaan's Inferno Raid and Shine Circular Easy Connect script. These are all the skills that require timing, so now they can all be used by spamming the skill just like all the others.
Code: Select all
[ENABLE]
aobscanmodule(DualWieldingTwoSkillsConnection,$process,0F B7 04 0F 66 89 44 24 ** 48 8D 54 24 ** 48 8B CF E8 ** ** ** ** 48 8B 8F) // should be unique
alloc(newmem,$2048,DualWieldingTwoSkillsConnection)
label(code)
label(return)
label(infernoRaid1)
label(infernoRaid2)
label(infernoRaid1Over)
label(infernoRaid2Over)
label(infernoRaidOver)
label(infernoRaid3)
label(shineCircular1)
label(shineCircular2)
label(shineCircular3)
label(shineValue1)
label(shineValue2)
label(shineCircularOver)
label(VerticalSquare1)
label(VerticalSquare2)
label(VerticalSquare3)
label(VerticalSquareOver)
label(VerticalSquare1Over)
label(Tsujikaze1)
label(Tsujikaze2)
label(TsujikazeOver)
label(Tsujikaze1Over)
label(RapidRaid1)
label(RapidRaid2)
label(RapidRaid3)
label(RapidRaidOver)
label(RapidRaid1Over)
label(RapidRaid2Over)
newmem:
cmp word ptr [rdi+rcx],19D3
je infernoRaid1
cmp word ptr [rdi+rcx],19D6
je infernoRaidOver
cmp word ptr [rdi+rcx],19D4
je infernoRaid2
cmp word ptr [rdi+rcx],19F1
je shineCircular1
cmp word ptr [rdi+rcx],19F4
je shineCircularOver
cmp word ptr [rdi+rcx],19F2
je shineCircular2
cmp word ptr [rdi+rcx],19F5
je shineCircularOver
cmp word ptr [rdi+rcx],44D
je VerticalSquare1
cmp word ptr [rdi+rcx],44E
je VerticalSquareOver
cmp word ptr [rdi+rcx],44F
je VerticalSquare2
cmp word ptr [rdi+rcx],100F
je Tsujikaze1
cmp word ptr [rdi+rcx],1010
je TsujikazeOver
cmp word ptr [rdi+rcx],1011
je Tsujikaze2
cmp word ptr [rdi+rcx],A3D
je RapidRaid1
cmp word ptr [rdi+rcx],A3E
je RapidRaid2
cmp word ptr [rdi+rcx],A3F
je RapidRaid3
cmp word ptr [rdi+rcx],A41
je RapidRaidOver
jmp code
RapidRaid1:
mov byte ptr [RapidRaid1Over],0
mov byte ptr [RapidRaid2Over],0
mov word ptr [rdi+rcx],A3D
mov dword ptr [rdi+0001034],0006662
mov byte ptr [RapidRaid1Over],1
jmp code
RapidRaid2:
mov byte ptr [RapidRaid1Over],0
mov byte ptr [RapidRaid2Over],0
mov word ptr [rdi+rcx],A3E
mov dword ptr [rdi+0001034],000666C
mov byte ptr [RapidRaid2Over],1
jmp code
RapidRaidOver:
cmp byte ptr [RapidRaid1Over],1
je RapidRaid2
cmp byte ptr [RapidRaid2Over],1
je RapidRaid3
jmp code
RapidRaid3:
mov byte ptr [RapidRaid1Over],0
mov byte ptr [RapidRaid2Over],0
mov word ptr [rdi+rcx],A3F
mov dword ptr [rdi+0001034],0006676
jmp code
Tsujikaze1:
mov byte ptr [Tsujikaze1Over],0
mov word ptr [rdi+rcx],100F
mov dword ptr [rdi+0001034],000A096
mov byte ptr [Tsujikaze1Over],1
jmp code
TsujikazeOver:
cmp byte ptr [Tsujikaze1Over],1
je Tsujikaze2
jmp code
Tsujikaze2:
mov byte ptr [Tsujikaze1Over],0
mov word ptr [rdi+rcx],1011
mov dword ptr [rdi+0001034],000A0AA
jmp code
VerticalSquare1:
mov byte ptr [VerticalSquare1Over],0
mov word ptr [rdi+rcx],44D
mov dword ptr [rdi+0001034],0002B02
mov byte ptr [VerticalSquare1Over],1
jmp code
VerticalSquare2:
mov byte ptr [VerticalSquare1Over],0
mov word ptr [rdi+rcx],44F
mov dword ptr [rdi+0001034],0002B16
jmp code
VerticalSquareOver:
cmp byte ptr [VerticalSquare1Over],1
je VerticalSquare2
jmp code
VerticalSquare3:
mov word ptr [rdi+rcx],450
mov dword ptr [rdi+0001034],0002B20
jmp code
infernoRaid1:
mov byte ptr [infernoRaid1Over],0
mov byte ptr [infernoRaid2Over],0
mov word ptr [rdi+rcx],19D3
mov dword ptr [rdi+0001034],0001023E
mov byte ptr [infernoRaid1Over],1
jmp code
infernoRaid2:
mov byte ptr [infernoRaid1Over],0
mov byte ptr [infernoRaid2Over],0
mov word ptr [rdi+rcx],19D4
mov dword ptr [rdi+0001034],00010248
mov byte ptr [infernoRaid2Over],1
jmp code
infernoRaidOver:
cmp byte ptr [infernoRaid1Over],1
je infernoRaid2
cmp byte ptr [infernoRaid2Over],1
je infernoRaid3
jmp code
infernoRaid3:
mov word ptr [rdi+rcx],19D5
mov dword ptr [rdi+0001034],00010252
jmp code
shineCircular1:
mov byte ptr [shineValue1],0
mov byte ptr [shineValue2],0
mov word ptr [rdi+rcx],19F1
mov dword ptr [rdi+0001034],0001036A
mov byte ptr [shineValue1],1
jmp code
shineCircular2:
mov byte ptr [shineValue1],0
mov byte ptr [shineValue2],0
mov word ptr [rdi+rcx],19F2
mov dword ptr [rdi+0001034],00010374
mov byte ptr [shineValue2],1
jmp code
shineCircularOver:
cmp byte ptr [shineValue1],1
je shineCircular2
cmp byte ptr [shineValue2],1
je shineCircular3
jmp code
shineCircular3:
mov word ptr [rdi+rcx],19F3
mov dword ptr [rdi+0001034],0001037E
jmp code
code:
movzx eax,word ptr [rdi+rcx]
mov [rsp+42],ax
jmp return
Tsujikaze1Over:
dd 0
VerticalSquare1Over:
dd 0
RapidRaid1Over:
dd 0
RapidRaid2Over:
dd 0
infernoRaid1Over:
dd 0
infernoRaid2Over:
dd 0
shineValue1:
dd 0
shineValue2:
dd 0
DualWieldingTwoSkillsConnection:
jmp newmem
nop 4
return:
registersymbol(DualWieldingTwoSkillsConnection)
[DISABLE]
DualWieldingTwoSkillsConnection:
db 0F B7 04 0F 66 89 44 24 42
unregistersymbol(DualWieldingTwoSkillsConnection)
dealloc(newmem)