|
|
@@ -0,0 +1,43 @@ |
|
|
|
Devil May Cry 4: Special Edition |
|
|
|
Function Documentation |
|
|
|
Bael: Update Ice Damage |
|
|
|
|
|
|
|
DevilMayCry4SpecialEdition.exe+383700 - push edi ; |
|
|
|
DevilMayCry4SpecialEdition.exe+383701 - mov edi,eax ; edi = base address of boss (eax) |
|
|
|
DevilMayCry4SpecialEdition.exe+383703 - call DevilMayCry4SpecialEdition.exe+383780 ; this function sets al |
|
|
|
DevilMayCry4SpecialEdition.exe+383708 - movss xmm0,[edi+00001A9C] ; xmm0 = damage of last hit taken |
|
|
|
DevilMayCry4SpecialEdition.exe+383710 - movss xmm1,[edi+000026E4] ; xmm1 = current damage done to ice shield |
|
|
|
DevilMayCry4SpecialEdition.exe+383718 - cmp al,01 ; |
|
|
|
; |
|
|
|
DevilMayCry4SpecialEdition.exe+38371A - jne DevilMayCry4SpecialEdition.exe+383726 ; |
|
|
|
DevilMayCry4SpecialEdition.exe+38371C - mulss xmm0,[DevilMayCry4SpecialEdition.exe+BE915C] ; multiply damage of last hit taken by 0.20 |
|
|
|
DevilMayCry4SpecialEdition.exe+383724 - jmp DevilMayCry4SpecialEdition.exe+38372E |
|
|
|
|
|
|
|
|
|
|
|
CONDITIONAL: |
|
|
|
DevilMayCry4SpecialEdition.exe+383726 - mulss xmm0,[DevilMayCry4SpecialEdition.exe+BE4FD8] ; multiply damage of last hit taken by 0.10 |
|
|
|
|
|
|
|
UNCONDITIONAL: |
|
|
|
DevilMayCry4SpecialEdition.exe+38372E - push ecx |
|
|
|
DevilMayCry4SpecialEdition.exe+38372F - addss xmm1,xmm0 ; add incoming damage to |
|
|
|
; damage done to ice shield |
|
|
|
DevilMayCry4SpecialEdition.exe+383733 - mov eax,edi |
|
|
|
DevilMayCry4SpecialEdition.exe+383735 - movss [edi+000026E4],xmm1 ; write damage done to ice shield |
|
|
|
; to memory |
|
|
|
DevilMayCry4SpecialEdition.exe+38373D - movss [esp],xmm0 |
|
|
|
DevilMayCry4SpecialEdition.exe+383742 - call DevilMayCry4SpecialEdition.exe+383A20 |
|
|
|
DevilMayCry4SpecialEdition.exe+383747 - mov eax,[edi+000005F0] |
|
|
|
DevilMayCry4SpecialEdition.exe+38374D - shr eax,12 ; 18 |
|
|
|
DevilMayCry4SpecialEdition.exe+383750 - test al,01 ; 1 |
|
|
|
DevilMayCry4SpecialEdition.exe+383752 - jne DevilMayCry4SpecialEdition.exe+38377D ; skip to end of function |
|
|
|
DevilMayCry4SpecialEdition.exe+383754 - mov ecx,[edi+00002640] |
|
|
|
DevilMayCry4SpecialEdition.exe+38375A - movss xmm0,[edi+000026E4] ; xmm0 = damage done to bael's ice shield |
|
|
|
DevilMayCry4SpecialEdition.exe+383762 - comiss xmm0,[ecx*8+DevilMayCry4SpecialEdition.exe+DA014C] ; compare xmm0 with stun theshhold |
|
|
|
DevilMayCry4SpecialEdition.exe+38376A - jb DevilMayCry4SpecialEdition.exe+38377D ; skip to end if below threshhold |
|
|
|
DevilMayCry4SpecialEdition.exe+38376C - mov byte ptr [edi+000026E8],01 ; set (to be) stunned status |
|
|
|
DevilMayCry4SpecialEdition.exe+383773 - and [edi+0000012C],FFFFE01F ; -8161 |
|
|
|
|
|
|
|
CONDITIONAL: |
|
|
|
DevilMayCry4SpecialEdition.exe+38377D - pop edi |
|
|
|
DevilMayCry4SpecialEdition.exe+38377E - ret |
|
|
|
|