Seeing as they were no longer being updated in the actual thread they were in before, I'm re-releasing them here and will be updating them with every patch.
Physical Mob disarm
Code:
Code:
[ENABLE]
alloc(IntersectRectHook,128)
label(returnhere_intersectrect)
label(ret_false)
IntersectRect:
jmp IntersectRectHook
returnhere_intersectrect:
IntersectRectHook:
cmp [esp],0072DC16
je ret_false
mov edi,edi
push ebp
mov ebp,esp
jmp returnhere_intersectrect
ret_false:
mov eax,0
ret 0C
[DISABLE]
IntersectRect:
mov edi,edi
push ebp
mov ebp,esp
dealloc(IntersectRectHook)
Magic Mob Disarm
Code:
Magical Godmode
Code:
[ENABLE]
alloc(IntersectRectHook,128)
label(returnhere_intersectrect)
label(ret_false)
IntersectRect:
jmp IntersectRectHook
returnhere_intersectrect:
IntersectRectHook:
cmp [esp],00713FF4
je ret_false
cmp [esp],0071401D
je ret_false
cmp [esp],00714038
je ret_false
cmp [esp],0071405B
je ret_false
cmp [esp],00707F02
je ret_false
mov edi,edi
push ebp
mov ebp,esp
jmp returnhere_intersectrect
ret_false:
mov eax,0
ret 0C
[DISABLE]
IntersectRect:
mov edi,edi
push ebp
mov ebp,esp
dealloc(IntersectRectHook)
FMA
Code:
Code:
[ENABLE]
alloc(IntersectRectHook,128)
label(returnhere_intersectrect)
label(ret_true)
IntersectRect:
jmp IntersectRectHook
returnhere_intersectrect:
IntersectRectHook:
cmp [esp],0072E3CE
je ret_true
mov edi,edi
push ebp
mov ebp,esp
jmp returnhere_intersectrect
ret_true:
mov eax,1
ret 0C
[DISABLE]
IntersectRect:
mov edi,edi
push ebp
mov ebp,esp
FMA+Physical Mob Disarm+Magic Mob Disarm
Code:
Code:
[ENABLE]
alloc(IntersectRectHook,128)
label(IntersectRect_Return)
label(return_false)
label(return_true)
IntersectRect:
jmp IntersectRectHook
IntersectRect_Return:
IntersectRectHook:
cmp [esp],0072DC16
je return_false
cmp [esp],00713FF4
je return_false
cmp [esp],0071401D
je return_false
cmp [esp],00714038
je return_false
cmp [esp],0071405B
je return_false
cmp [esp],00707F02
je return_false
cmp [esp],0072E3CE
je return_true
mov edi,edi
push ebp
mov ebp,esp
jmp IntersectRect_Return
return_false:
mov eax,0
ret 000C
return_true:
mov eax,1
ret 000C
[DISABLE]
IntersectRect:
mov edi,edi
push ebp
mov ebp,esp
dealloc(IntersectRectHook)
Here's Mob Disarm with no FMA:
Code:
[ENABLE]
alloc(IntersectRectHook,128)
label(IntersectRect_Return)
label(return_false)
IntersectRect:
jmp IntersectRectHook
IntersectRect_Return:
IntersectRectHook:
cmp [esp],0072DC16
je return_false
cmp [esp],00713FF4
je return_false
cmp [esp],0071401D
je return_false
cmp [esp],00714038
je return_false
cmp [esp],0071405B
je return_false
cmp [esp],00707F02
je return_false
mov edi,edi
push ebp
mov ebp,esp
jmp IntersectRect_Return
return_false:
mov eax,0
ret 000C
[DISABLE]
IntersectRect:
mov edi,edi
push ebp
mov ebp,esp
dealloc(IntersectRectHook)
If they dont work, let know what you were using and I'll try to fix it.
THIS IS MOB DISARM. NOT GODMODE. Meaning if a mob is aggro'ed on someone else, you can still be hit by its skills.
Also, this FMA can only be used with skills that are FMA'able through .wz edits. It can't be used with any random skill or oyu will dc.
Credits:
aasdf for releasing it in the original thread
anthony_ for creating the scripts