Page 1 of 3

Hand of Fate 2 (2017-11-16)

Posted: Thu Nov 09, 2017 10:04 am
by Shinkansen
Simple table for Hand of Fate 2, may or may not work. Game generates code at runtime so table has a high chance of not working / detecting the wrong code / crashing.

Usage info:
Scripts with "To Activate: XXX" can only be activated (put an "X" into the box) after doing action XXX.
Scripts with "To Update: XXX" will only update their effect after doing action XXX.
Addresses with "XXX?" will enable the script effect XXX when 1 is put into the Value.

In general:
A. Do action YYY.
B. Activate (put an X) the "Initialization (Activate This First)" script.
C. Activate (put an X) the "Base Address Scan (To Activate: YYY, To Update: ZZZ)" script.
D. Enable (put a 1) the desired effect. Example: "Set Health to Max?" address.
E. Do action ZZZ.


V1005
1. Tested game version V1.0.7 32-bit. May work on other versions.


V1004
1. EquipmentData.
When playing challenges, inspect equipment with tokens in the unequipped equipment section of the inventory.

Allows the following to be modfied.
- Count. Token kill counter.


V1003
1. ChanceCardTask.
"Shuffle Set to No Shuffle?" fixed to not require specific Blessings / Companion combos to work.

2. Ability.
"Attack Counter Set to Massive?" sets Attack Counter to massive.
"Cooldown Set to 0?" sets Cooldown to 0.


V1002
1. ChanceCardTask.
"Shuffle Set to No Shuffle?" sets shuffle to no shuffle.

2. WheelOfFortune.
"Speed Set to Slow?" sets speed to slow.

3. Pendulum.
"Pendulum Set to Easy?" sets beam to slow, and when the beam hits a block, sets block to massive and huge success.


V1001
1. ChanceCard.
"Card Set to ChanceType Value?" sets selected Chance Card to ChanceType Vallue.


V1000
1. Tested game version V1.0.0 32-bit. May work on other versions.

2. Player.
"Health Set to Max?" sets Health to max.
"Resources Set to Massive?" sets Resources to massive.
"Damage Multiplier Set to Massive?" sets Damage Multiplier to massive.
"Dice Set to Massive?" sets Dice to massive.

3. PlayerHealthUI.
"Health Set to Max?" sets Health to max.

Re: Hand of Fate 2 (2017-11-09)

Posted: Fri Nov 10, 2017 1:38 am
by Zanzer
Below are two auto assembler scripts for Always Huge Success. Either should enable the desired effect.

Note: Since this is a Mono game, you cannot activate the script until AFTER the first chance card encounter.

Code: Select all

[ENABLE]
// <GetChanceCardPrefab>c__AnonStorey2:<>m__0
aobscan(hugeSuccess,39 00 8B 80 ?? ?? ?? ?? 8B 4D 08 8B 49 08)
hugeSuccess+08:
  db 31 C9 90 90 90 90
registersymbol(hugeSuccess)

[DISABLE]
hugeSuccess+08:
  db 8B 4D 08 8B 49 08
unregistersymbol(hugeSuccess)

{
// ORIGINAL CODE - INJECTION POINT: 2A01E061

""+2A01E047: 00 00                 -  add [eax],al
""+2A01E049: 00 00                 -  add [eax],al
""+2A01E04B: 00 00                 -  add [eax],al
""+2A01E04D: 00 00                 -  add [eax],al
""+2A01E04F: 00 55 8B              -  add [ebp-75],dl
""+2A01E052: EC                    -  in al,dx
""+2A01E053: 83 EC 08              -  sub esp,08
""+2A01E056: 8B 45 0C              -  mov eax,[ebp+0C]
""+2A01E059: 39 00                 -  cmp [eax],eax
""+2A01E05B: 8B 80 00 01 00 00     -  mov eax,[eax+00000100]
// ---------- INJECTING HERE ----------
""+2A01E061: 8B 4D 08              -  mov ecx,[ebp+08]
""+2A01E064: 8B 49 08              -  mov ecx,[ecx+08]
// ---------- DONE INJECTING  ----------
""+2A01E067: 3B C1                 -  cmp eax,ecx
""+2A01E069: 0F 94 C0              -  sete al
""+2A01E06C: 0F B6 C0              -  movzx eax,al
""+2A01E06F: C9                    -  leave 
""+2A01E070: C3                    -  ret 
""+2A01E071: 00 00                 -  add [eax],al
""+2A01E073: 00 00                 -  add [eax],al
""+2A01E075: 00 00                 -  add [eax],al
""+2A01E077: 00 BA 1C 93 CC 3A     -  add [edx+3ACC931C],bh
""+2A01E07D: E9 BE 75 3F DC        -  jmp InternalEnumerator`1:Dispose
}

Code: Select all

[ENABLE]
// CardManager:GetChanceCardPrefab
aobscan(hugeSuccess2,68 ?? ?? ?? ?? E8 ?? ?? ?? ?? 83 C4 10 8B 4D 0C 89 48 08 8B 4D 08 8B 49 1C)
hugeSuccess2+0D:
  db 31 C9 90
registersymbol(hugeSuccess2)

[DISABLE]
hugeSuccess2+0D:
  db 8B 4D 0C
unregistersymbol(hugeSuccess2)

{
// ORIGINAL CODE - INJECTION POINT: 2181F3D6

""+2181F3B9: E4 00                 -  in al,00
""+2181F3BB: 00 00                 -  add [eax],al
""+2181F3BD: 00 00                 -  add [eax],al
""+2181F3BF: 00 55 8B              -  add [ebp-75],dl
""+2181F3C2: EC                    -  in al,dx
""+2181F3C3: 83 EC 08              -  sub esp,08
""+2181F3C6: 83 EC 0C              -  sub esp,0C
""+2181F3C9: 68 48 48 FA 38        -  push 38FA4848
""+2181F3CE: E8 F5 1C B8 E4        -  call System:Object:__icall_wrapper_mono_object_new_ptrfree
""+2181F3D3: 83 C4 10              -  add esp,10
// ---------- INJECTING HERE ----------
""+2181F3D6: 8B 4D 0C              -  mov ecx,[ebp+0C]
""+2181F3D9: 89 48 08              -  mov [eax+08],ecx
// ---------- DONE INJECTING  ----------
""+2181F3DC: 8B 4D 08              -  mov ecx,[ebp+08]
""+2181F3DF: 8B 49 1C              -  mov ecx,[ecx+1C]
""+2181F3E2: 89 4D FC              -  mov [ebp-04],ecx
""+2181F3E5: 8B C8                 -  mov ecx,eax
""+2181F3E7: 89 4D F8              -  mov [ebp-08],ecx
""+2181F3EA: 85 C0                 -  test eax,eax
""+2181F3EC: 0F 84 44 00 00 00     -  je CardManager:GetChanceCardPrefab+76
""+2181F3F2: 83 EC 0C              -  sub esp,0C
""+2181F3F5: 68 CC 48 FA 38        -  push 38FA48CC
""+2181F3FA: E8 19 0F B8 E4        -  call System:Object:__icall_wrapper_mono_object_new_fast
}

Re: Hand of Fate 2 (2017-11-09)

Posted: Fri Nov 10, 2017 2:32 am
by jacob77339
Zanzer wrote:
Fri Nov 10, 2017 1:38 am
Always Huge Success

Note: Since this is a Mono game, you cannot activate the script until AFTER the first chance card encounter.

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>34</ID>
      <Description>"Always Huge Success"</Description>
      <LastState Activated="1"/>
      <VariableType>Auto Assembler Script</VariableType>
      <AssemblerScript>[ENABLE]
// &lt;GetChanceCardPrefab&gt;c__AnonStorey2:&lt;&gt;m__0
aobscan(hugeSuccess,39 00 8B 80 ?? ?? ?? ?? 8B 4D 08 8B 49 08)
hugeSuccess+08:
  db 31 C9 90 90 90 90
registersymbol(hugeSuccess)

[DISABLE]
hugeSuccess+08:
  db 8B 4D 08 8B 49 08
unregistersymbol(hugeSuccess)

{
// ORIGINAL CODE - INJECTION POINT: 2A01E061

""+2A01E047: 00 00                 -  add [eax],al
""+2A01E049: 00 00                 -  add [eax],al
""+2A01E04B: 00 00                 -  add [eax],al
""+2A01E04D: 00 00                 -  add [eax],al
""+2A01E04F: 00 55 8B              -  add [ebp-75],dl
""+2A01E052: EC                    -  in al,dx
""+2A01E053: 83 EC 08              -  sub esp,08
""+2A01E056: 8B 45 0C              -  mov eax,[ebp+0C]
""+2A01E059: 39 00                 -  cmp [eax],eax
""+2A01E05B: 8B 80 00 01 00 00     -  mov eax,[eax+00000100]
// ---------- INJECTING HERE ----------
""+2A01E061: 8B 4D 08              -  mov ecx,[ebp+08]
""+2A01E064: 8B 49 08              -  mov ecx,[ecx+08]
// ---------- DONE INJECTING  ----------
""+2A01E067: 3B C1                 -  cmp eax,ecx
""+2A01E069: 0F 94 C0              -  sete al
""+2A01E06C: 0F B6 C0              -  movzx eax,al
""+2A01E06F: C9                    -  leave 
""+2A01E070: C3                    -  ret 
""+2A01E071: 00 00                 -  add [eax],al
""+2A01E073: 00 00                 -  add [eax],al
""+2A01E075: 00 00                 -  add [eax],al
""+2A01E077: 00 BA 1C 93 CC 3A     -  add [edx+3ACC931C],bh
""+2A01E07D: E9 BE 75 3F DC        -  jmp InternalEnumerator`1:Dispose
}
</AssemblerScript>
    </CheatEntry>
  </CheatEntries>
</CheatTable>
i tried putting this in the auto assembler but it didnt work, is it a lua script?

Re: Hand of Fate 2 (2017-11-09)

Posted: Fri Nov 10, 2017 2:48 am
by Zanzer
Thought I was being helpful by letting you just paste while CE was opened.
But I guess even the novice user is more familiar with creating a custom script.
Updated the code block and added a second injection point for the script.
Use either one.

Re: Hand of Fate 2 (2017-11-09)

Posted: Fri Nov 10, 2017 3:09 am
by jacob77339
Zanzer wrote:
Fri Nov 10, 2017 2:48 am
Thought I was being helpful by letting you just paste while CE was opened.
But I guess even the novice user is more familiar with creating a custom script.
Updated the code block and added a second injection point for the script.
Use either one.
honestly i only knew of it by doing a google search due to me not wanting to bother someone and making them think negatively. I've seen how some people are when people not familiar with the cheat engine, or novice at hex editing like me get treated or i get a long rant about spoon feeding lol.

Re: Hand of Fate 2 (2017-11-10)

Posted: Sat Nov 11, 2017 1:37 am
by Lord Blade
I can't seem to use any of the options to change my character's max health.

Re: Hand of Fate 2 (2017-11-11)

Posted: Sat Nov 11, 2017 12:23 pm
by OtakuGamer
I'm sorry, I can't seem to get anything to work... I set the no shuffle option to Yes, but nothing seems to happen. Must I activate that script only after encountering chance cards for the first time since starting the game?

Re: Hand of Fate 2 (2017-11-11)

Posted: Sat Nov 11, 2017 5:54 pm
by rcx
Great table as always Shinkansen

Re: Hand of Fate 2 (2017-11-11)

Posted: Sat Nov 11, 2017 6:48 pm
by OtakuGamer
OK, so I've gotten some of the options to work, particularly the dice and resource ones, but not the no shuffle. Maybe I misunderstand what no shuffle is supposed to do. Could someone explain, please?

Re: Hand of Fate 2 (2017-11-14)

Posted: Tue Nov 14, 2017 8:17 pm
by Lord Blade
Yet another update to the game.

Battle script doesn't seem to activate anymore. Most of the other things seem to be alright.

Re: Hand of Fate 2 (2017-11-14)

Posted: Wed Nov 15, 2017 12:28 pm
by TOGHOUL
After the 1.07 update,PlayerHealthUI and EquipmentData can't work

Re: Hand of Fate 2 (2017-11-16)

Posted: Mon Nov 20, 2017 7:31 pm
by always_confused
Pendulum doesn't seem to work. Unfortunate as it's arguably the hardest mini-game of them all.

Re: Hand of Fate 2 (2017-11-16)

Posted: Tue Nov 21, 2017 11:06 am
by DooglePrime
any progress on the table or is it abandoned? Would like it if the minigame scripts were updated.

Re: Hand of Fate 2 (2017-11-16)

Posted: Tue Nov 21, 2017 7:16 pm
by always_confused
I take back what I said, as of patch 1.0.10 Pendulum seems to be working.

Re: Hand of Fate 2 (2017-11-16)

Posted: Sun Nov 26, 2017 9:37 am
by Pipow
As stated it's a mono game, with variable adress each time.

although, some variable are created at the same time and you can use that.

I for one don't know lua scripting, so I did without it.

At the beginning of a level (on the map screen) if you have the standard Live 100 Food 5 Gold 10 Fame 0 you can search for the folowing hex array

Code: Select all

00000000 206D??06 ???????? 00000000 ???????? 00000000 ???????? 00000000 0A000000 00000000 ???????? 00000000 ???????? 00000000 ???????? 00000000 05000000 00000000 ???????? 00000000 ???????? ???????? 00000000 00000000 0000C842 00000000 ???????? 00000000 ???????? 00000000 00000000 ????????
There should be only one match. If your stats are different, just modify the searched array ( everything but life is a 4byte. Life is a float)

You can then edit memory or create a table :

00000000 206D??06 ???????? 00000000 ???????? 00000000 ???????? 00000000
0A000000 00000000 ???????? 00000000 ???????? 00000000 ???????? 00000000
05000000 00000000 ???????? 00000000 ???????? ???????? 00000000 00000000
0000C842 00000000 ???????? 00000000 ???????? 00000000 00000000 ????????

Fame
Gold
Food
Map Life

Those adress stay constant across the same level.
Max life is trickier, life durring combat is different each combat, read from map life at the beginning of the comabt, then wrote back at the end of combat

Some other variable can be searched when needed, but some will make the game crach (as the number of benedictions).

During combat you can easily find combat life with an exact float search. Weapon "special" count is a 4byte