Browse Source

Updated Player No Hit to exclude Boss Dante.

master
5 years ago
parent
commit
1e6bbba4e9
2 changed files with 509 additions and 435 deletions
  1. 35
    8
      CEAs/player-no-hit.CEA
  2. 474
    427
      DevilMayCry4SpecialEdition.CT

+ 35
- 8
CEAs/player-no-hit.CEA View File

@@ -1,10 +1,37 @@
[DISABLE]
DevilMayCry4SpecialEdition.exe+4CE8B5:
cmp al,01
//following jump will cause execution to skip over OnHit event
[enable]
alloc(newmem,33)
label(returnhere)
label(originalcode)
label(exit)
[ENABLE]
DevilMayCry4SpecialEdition.exe+4CE8B5:
//If check evaluates true, execution will flow to generic OnHit event.
cmp al,00
newmem:
//this is a player function that is also shared by Dante boss as well.
//before doing the comparison..
//check whether the entity is a player or a boss
push eax
mov eax, [DevilMayCry4SpecialEdition.exe+f59f00]
mov eax, [eax+24] //eax = player character
cmp ebp, eax //compare entity with player character address
pop eax //restore eax
jne originalcode //entity is not the player -> get hit as usual
mov al, 01
originalcode:
cmp al,01 //al = 0 if entity should be hit
je DevilMayCry4SpecialEdition.exe+4CEB91
exit:
jmp returnhere
"DevilMayCry4SpecialEdition.exe"+4CE8B5:
jmp newmem
nop
nop
nop
returnhere:
[disable]
dealloc(newmem)
"DevilMayCry4SpecialEdition.exe"+4CE8B5:
cmp al,01 //al = 0 if entity should be hit
je DevilMayCry4SpecialEdition.exe+4CEB91

+ 474
- 427
DevilMayCry4SpecialEdition.CT
File diff suppressed because it is too large
View File


Loading…
Cancel
Save