Option Requied: Invincibility for Castlevania: Dawn of Sorrow (EU) / Portrait of Ruin (EU) / Order of Ecclesia (EU) / Haunted Castle + Haunted Castle Revisited
Thx !

Thanks all works perfectly !imjustmaxie wrote: ↑Wed Aug 28, 2024 4:37 pmMade some stuff for Order of Ecclesia for now. Not sure if it would work or not.
Enable the scripts when you're actually in game (of the game itself).
Attach to game.exe .
- Max HP
- No MP Decrease
- Max Hearts
- Easy Kills
- Max Kill Count
- Instant Level 99
- Ignore Hits
- Max Money
I am looking for the same thing as you. The 'Enemy Always Drops Soul' cheat works flawlessly via emulation, desperately need it for the collection! Basically just looking for ways to remove any of the grind in this game (or any other in the collection).hyperspeedgx wrote: ↑Thu Aug 29, 2024 2:40 amMy requests:
For the Three games:
Luck 999
Item Drop Rate multiplier
Souls Drop Rate multiplier
For Dawn of Sorrow
Automatically skip QTE Magic Seal (something like this hack does [Link] )
Make Soma Attacks when "Balore Soul" is equipped, destroy those Blocks that can only be destroyed via Touch. (just like the rom hack Castlevania DoS Definitive edition does [Link] )
Fixed Luck (DoS has an issue on luck that doesn't increases the drop rate, you can have 999 Luck and nothing changes lol, the following hack does this for the DS ver. [Link])
Enemy Always Drop Soul
We can dream, but I doubt any of the more complex hack will happen...hyperspeedgx wrote: ↑Thu Aug 29, 2024 2:40 amMy requests:
For the Three games:
Luck 999
Item Drop Rate multiplier
Souls Drop Rate multiplier
For Dawn of Sorrow
Automatically skip QTE Magic Seal (something like this hack does [Link] )
Make Soma Attacks when "Balore Soul" is equipped, destroy those Blocks that can only be destroyed via Touch. (just like the rom hack Castlevania DoS Definitive edition does [Link] )
Fixed Luck (DoS has an issue on luck that doesn't increases the drop rate, you can have 999 Luck and nothing changes lol, the following hack does this for the DS ver. [Link])
Enemy Always Drop Soul
Man! This Table is amazing! Thanks... IF you put your LUCK as 3999, you will get 1 soul for each kill.Pongozila wrote: ↑Thu Aug 29, 2024 12:58 pmSomething quick for Dawn...
Dawn of SorrowCode: Select all
<?xml version="1.0" encoding="utf-8"?> <CheatTable> <CheatEntries> <CheatEntry> <ID>10</ID> <Description>"Dawn of Sorrow"</Description> <Options moHideChildren="1"/> <LastState Value="" RealAddress="00000000"/> <GroupHeader>1</GroupHeader> <CheatEntries> <CheatEntry> <ID>167</ID> <Description>"9 souls if you open enemy on bestiary"</Description> <LastState/> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>{ Game : game.exe Version: Date : 2024-08-29 Author : Pongossinha This script does blah blah blah } define(address,"dra01.dll"+415B6) define(bytes,41 8B 94 84 80 11 96 00) [ENABLE] assert(address,bytes) alloc(newmem,$1000,"dra01.dll"+415B6) label(code) label(return) newmem: mov [r12+rax*4+00961180],99999999 code: mov edx,[r12+rax*4+00961180] jmp return address: jmp newmem nop 3 return: [DISABLE] address: db bytes // mov edx,[r12+rax*4+00961180] dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: dra01.dll+415B6 dra01.dll+4158D: 48 8B C8 - mov rcx,rax dra01.dll+41590: 89 7C 24 40 - mov [rsp+40],edi dra01.dll+41594: 83 E0 07 - and eax,07 dra01.dll+41597: 89 5C 24 38 - mov [rsp+38],ebx dra01.dll+4159B: 41 B8 0F 00 00 00 - mov r8d,0000000F dra01.dll+415A1: 44 8D 0C 85 00 00 00 00 - lea r9d,[rax*4+00000000] dra01.dll+415A9: 48 8B C1 - mov rax,rcx dra01.dll+415AC: 48 C1 F8 03 - sar rax,03 dra01.dll+415B0: 41 8B C9 - mov ecx,r9d dra01.dll+415B3: 41 D3 E0 - shl r8d,cl // ---------- INJECTING HERE ---------- dra01.dll+415B6: 41 8B 94 84 80 11 96 00 - mov edx,[r12+rax*4+00961180] // ---------- DONE INJECTING ---------- dra01.dll+415BE: 41 8B 84 84 C0 11 96 00 - mov eax,[r12+rax*4+009611C0] dra01.dll+415C6: 41 23 D0 - and edx,r8d dra01.dll+415C9: D3 EA - shr edx,cl dra01.dll+415CB: 41 23 C0 - and eax,r8d dra01.dll+415CE: D3 E8 - shr eax,cl dra01.dll+415D0: 41 B0 01 - mov r8b,01 dra01.dll+415D3: 03 D0 - add edx,eax dra01.dll+415D5: B1 0C - mov cl,0C dra01.dll+415D7: 89 54 24 30 - mov [rsp+30],edx dra01.dll+415DB: B2 03 - mov dl,03 } </AssemblerScript> </CheatEntry> <CheatEntry> <ID>19</ID> <Description>"No MP loss"</Description> <LastState/> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>{ Game : game.exe Version: Date : 2024-08-29 Author : Pongossinha This script does blah blah blah } define(address,"dra01.dll"+113FE1) define(bytes,66 FF C8 66 89 05 E5 D4 84 00) [ENABLE] assert(address,bytes) alloc(newmem,$1000,"dra01.dll"+113FE1) label(code) label(return) newmem: code: //dec ax mov [dra01.dll+9614D0],ax jmp return address: jmp newmem nop 5 return: [DISABLE] address: db bytes // dec ax // mov [dra01.dll+9614D0],ax dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: dra01.dll+113FE1 dra01.dll+113FC0: B8 3C 00 00 00 - mov eax,0000003C dra01.dll+113FC5: 99 - cdq dra01.dll+113FC6: 41 F7 F8 - idiv r8d dra01.dll+113FC9: 44 8B C0 - mov r8d,eax dra01.dll+113FCC: 8B 81 74 03 00 00 - mov eax,[rcx+00000374] dra01.dll+113FD2: 99 - cdq dra01.dll+113FD3: 41 F7 F8 - idiv r8d dra01.dll+113FD6: 85 D2 - test edx,edx dra01.dll+113FD8: 75 20 - jne dra01.dll+113FFA dra01.dll+113FDA: 0F B7 05 EF D4 84 00 - movzx eax,word ptr [dra01.dll+9614D0] // ---------- INJECTING HERE ---------- dra01.dll+113FE1: 66 FF C8 - dec ax // ---------- DONE INJECTING ---------- dra01.dll+113FE4: 66 89 05 E5 D4 84 00 - mov [dra01.dll+9614D0],ax dra01.dll+113FEB: 66 85 C0 - test ax,ax dra01.dll+113FEE: 7F 0A - jg dra01.dll+113FFA dra01.dll+113FF0: 33 C0 - xor eax,eax dra01.dll+113FF2: 66 89 05 D7 D4 84 00 - mov [dra01.dll+9614D0],ax dra01.dll+113FF9: C3 - ret dra01.dll+113FFA: FF 81 74 03 00 00 - inc [rcx+00000374] dra01.dll+114000: C3 - ret dra01.dll+114001: CC - int 3 dra01.dll+114002: CC - int 3 } </AssemblerScript> </CheatEntry> <CheatEntry> <ID>20</ID> <Description>"No HP loss"</Description> <LastState/> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>{ Game : game.exe Version: Date : 2024-08-29 Author : Pongossinha This script does blah blah blah } define(address,"dra01.dll"+3D186) define(bytes,66 2B C6 66 89 05 3C 43 92 00) [ENABLE] assert(address,bytes) alloc(newmem,$1000,"dra01.dll"+3D186) label(code) label(return) newmem: code: //sub ax,si mov [dra01.dll+9614CC],ax jmp return address: jmp newmem nop 5 return: [DISABLE] address: db bytes // sub ax,si // mov [dra01.dll+9614CC],ax dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: dra01.dll+3D186 dra01.dll+3D15F: 44 8D 14 02 - lea r10d,[rdx+rax] dra01.dll+3D163: 41 8B C7 - mov eax,r15d dra01.dll+3D166: 99 - cdq dra01.dll+3D167: 41 C1 FA 0C - sar r10d,0C dra01.dll+3D16B: 81 E2 FF 0F 00 00 - and edx,00000FFF dra01.dll+3D171: 8D 0C 02 - lea ecx,[rdx+rax] dra01.dll+3D174: 41 8B D2 - mov edx,r10d dra01.dll+3D177: C1 F9 0C - sar ecx,0C dra01.dll+3D17A: E8 11 5E 10 00 - call dra01.dll+142F90 dra01.dll+3D17F: 0F B7 05 46 43 92 00 - movzx eax,word ptr [dra01.dll+9614CC] // ---------- INJECTING HERE ---------- dra01.dll+3D186: 66 2B C6 - sub ax,si // ---------- DONE INJECTING ---------- dra01.dll+3D189: 66 89 05 3C 43 92 00 - mov [dra01.dll+9614CC],ax dra01.dll+3D190: 66 85 C0 - test ax,ax dra01.dll+3D193: 0F 8F B3 00 00 00 - jg dra01.dll+3D24C dra01.dll+3D199: 0F B7 05 6C 43 92 00 - movzx eax,word ptr [dra01.dll+96150C] dra01.dll+3D1A0: 83 0D ED 3C 92 00 40 - or dword ptr [dra01.dll+960E94],40 dra01.dll+3D1A7: 0F BA F0 00 - btr eax,00 dra01.dll+3D1AB: 0F B7 C8 - movzx ecx,ax dra01.dll+3D1AE: 0F BA F1 01 - btr ecx,01 dra01.dll+3D1B2: 66 89 1D 13 43 92 00 - mov [dra01.dll+9614CC],bx dra01.dll+3D1B9: 0F B7 C1 - movzx eax,cx } </AssemblerScript> </CheatEntry> <CheatEntry> <ID>4</ID> <Description>"+10 XP per kill"</Description> <LastState/> <VariableType>Auto Assembler Script</VariableType> <AssemblerScript>{ Game : game.exe Version: Date : 2024-08-29 Author : Pongossinha This script does blah blah blah } define(address,"dra01.dll"+14A843) define(bytes,89 05 BB 6C 81 00) [ENABLE] assert(address,bytes) alloc(newmem,$1000,"dra01.dll"+14A843) label(code) label(return) newmem: add eax,#10 code: mov [dra01.dll+961504],eax jmp return address: jmp newmem nop return: [DISABLE] address: db bytes // mov [dra01.dll+961504],eax dealloc(newmem) { // ORIGINAL CODE - INJECTION POINT: dra01.dll+14A843 dra01.dll+14A81B: 66 0F 6E C1 - movd xmm0,ecx dra01.dll+14A81F: 0F 5B C0 - cvtdq2ps xmm0,xmm0 dra01.dll+14A822: F3 0F 59 C1 - mulss xmm0,xmm1 dra01.dll+14A826: F3 0F 2C C8 - cvttss2si ecx,xmm0 dra01.dll+14A82A: 8B 05 D4 6C 81 00 - mov eax,[dra01.dll+961504] dra01.dll+14A830: 03 C1 - add eax,ecx dra01.dll+14A832: B9 FF E0 F5 05 - mov ecx,05F5E0FF dra01.dll+14A837: 3B C1 - cmp eax,ecx dra01.dll+14A839: 0F 47 C1 - cmova eax,ecx dra01.dll+14A83C: 48 8D 0D 85 6C 81 00 - lea rcx,[dra01.dll+9614C8] // ---------- INJECTING HERE ---------- dra01.dll+14A843: 89 05 BB 6C 81 00 - mov [dra01.dll+961504],eax // ---------- DONE INJECTING ---------- dra01.dll+14A849: E8 A2 B0 09 00 - call dra01.dll+1E58F0 dra01.dll+14A84E: 85 C0 - test eax,eax dra01.dll+14A850: 0F 84 98 00 00 00 - je dra01.dll+14A8EE dra01.dll+14A856: 4C 8D 05 F3 72 EC FF - lea r8,[dra01.dll+11B50] dra01.dll+14A85D: 48 8D 54 24 30 - lea rdx,[rsp+30] dra01.dll+14A862: E8 F9 EB ED FF - call dra01.dll+29460 dra01.dll+14A867: BA 2F 00 00 00 - mov edx,0000002F dra01.dll+14A86C: 44 8B 00 - mov r8d,[rax] dra01.dll+14A86F: 8D 4A FF - lea ecx,[rdx-01] dra01.dll+14A872: E8 E9 98 ED FF - call dra01.dll+24160 } </AssemblerScript> </CheatEntry> <CheatEntry> <ID>32</ID> <Description>"Gold"</Description> <LastState Value="2399910" RealAddress="7FFAAAFE1508"/> <ShowAsSigned>0</ShowAsSigned> <VariableType>4 Bytes</VariableType> <Address>dra01.dll+961508</Address> </CheatEntry> <CheatEntry> <ID>2</ID> <Description>"Current XP"</Description> <LastState Value="32744" RealAddress="7FFAAAFE1504"/> <VariableType>4 Bytes</VariableType> <Address>dra01.dll+961504</Address> </CheatEntry> <CheatEntry> <ID>3</ID> <Description>"Current Lvl"</Description> <LastState Value="21" RealAddress="7FFAAAFE14C8"/> <VariableType>4 Bytes</VariableType> <Address>dra01.dll+9614C8</Address> </CheatEntry> <CheatEntry> <ID>14</ID> <Description>"DEF"</Description> <LastState Value="15" RealAddress="7FFAAAFE142A"/> <ShowAsSigned>0</ShowAsSigned> <VariableType>2 Bytes</VariableType> <Address>dra01.dll+96142A</Address> </CheatEntry> <CheatEntry> <ID>12</ID> <Description>"Str"</Description> <LastState Value="42" RealAddress="7FFAAAFE142C"/> <ShowAsSigned>0</ShowAsSigned> <VariableType>2 Bytes</VariableType> <Address>dra01.dll+96142C</Address> </CheatEntry> <CheatEntry> <ID>9</ID> <Description>"CON"</Description> <LastState Value="36" RealAddress="7FFAAAFE142E"/> <ShowAsSigned>0</ShowAsSigned> <VariableType>2 Bytes</VariableType> <Address>dra01.dll+96142E</Address> </CheatEntry> <CheatEntry> <ID>8</ID> <Description>"INT"</Description> <LastState Value="37" RealAddress="7FFAAAFE1430"/> <ShowAsSigned>0</ShowAsSigned> <VariableType>2 Bytes</VariableType> <Address>dra01.dll+961430</Address> </CheatEntry> <CheatEntry> <ID>11</ID> <Description>"Luck"</Description> <LastState Value="25" RealAddress="7FFAAAFE1432"/> <ShowAsSigned>0</ShowAsSigned> <VariableType>2 Bytes</VariableType> <Address>dra01.dll+961432</Address> </CheatEntry> <CheatEntry> <ID>18</ID> <Description>"Current HP"</Description> <LastState Value="525" RealAddress="7FFAAAFE14CC"/> <ShowAsSigned>0</ShowAsSigned> <VariableType>2 Bytes</VariableType> <Address>dra01.dll+9614CC</Address> </CheatEntry> <CheatEntry> <ID>15</ID> <Description>"MAX HP"</Description> <LastState Value="528" RealAddress="7FFAAAFE14CE"/> <ShowAsSigned>0</ShowAsSigned> <VariableType>2 Bytes</VariableType> <Address>dra01.dll+9614CE</Address> </CheatEntry> <CheatEntry> <ID>17</ID> <Description>"Current MP"</Description> <LastState Value="340" RealAddress="7FFAAAFE14D0"/> <ShowAsSigned>0</ShowAsSigned> <VariableType>2 Bytes</VariableType> <Address>dra01.dll+9614D0</Address> </CheatEntry> <CheatEntry> <ID>16</ID> <Description>"MAX MP"</Description> <LastState Value="352" RealAddress="7FFAAAFE14D2"/> <ShowAsSigned>0</ShowAsSigned> <VariableType>2 Bytes</VariableType> <Address>dra01.dll+9614D2</Address> </CheatEntry> </CheatEntries> </CheatEntry> </CheatEntries> </CheatTable>
Users browsing this forum: No registered users