Browse Source

Added doc of function: Bael and ice shield

master
2 years ago
parent
commit
3844d68ee5
1 changed files with 43 additions and 0 deletions
  1. 43
    0
      docs/boss-bael-update-ice-damage.txt

+ 43
- 0
docs/boss-bael-update-ice-damage.txt View File

@@ -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


Loading…
Cancel
Save