[Request] Symphony of War: The Nephilim Saga

Ask about cheats/tables for single player games here
CopMuaDong
Noobzor
Noobzor
Posts: 6
Joined: Sun Jun 12, 2022 2:36 pm
Reputation: 0

Re: [Request] Symphony of War: The Nephilim Saga

Post by CopMuaDong »

i have tried many ways but still failed, cant figure out how to change stats T_T

variante
Expert Cheater
Expert Cheater
Posts: 126
Joined: Sat Mar 04, 2017 4:47 pm
Reputation: 27

Re: [Request] Symphony of War: The Nephilim Saga

Post by variante »

Stats are stored in id-value pairs where id tells which stat, and value says how much. Stat bonuses for a character are stored in a dynamic array, meaning the number of entries depends on how many bonuses have been applied. The ids are stored differently in save (in @param_plus field above the character name) than in memory. As far as I know, the ids are as follows:
stat ids

Code: Select all

id (memory),id (save),name
1,0,HP
3,6,Morale
5,7,STR
7,8,Armor
9,9,MAG
11,10,LDR
13,11,SKL
15,12,Reputation
Not sure how values are encoded in the save. Also, stats are capped at 255, HP at 999.
big stats
Image

TeddyRiggs
Expert Cheater
Expert Cheater
Posts: 155
Joined: Wed Aug 11, 2021 2:48 am
Reputation: 17

Re: [Request] Symphony of War: The Nephilim Saga

Post by TeddyRiggs »

+

Deed
Cheater
Cheater
Posts: 42
Joined: Tue Mar 12, 2019 8:23 pm
Reputation: 2

Re: [Request] Symphony of War: The Nephilim Saga

Post by Deed »

variante wrote:
Mon Jun 13, 2022 10:47 am
Stats are stored in id-value pairs where id tells which stat, and value says how much. Stat bonuses for a character are stored in a dynamic array, meaning the number of entries depends on how many bonuses have been applied. The ids are stored differently in save (in @param_plus field above the character name) than in memory. As far as I know, the ids are as follows:
stat ids

Code: Select all

id (memory),id (save),name
1,0,HP
3,6,Morale
5,7,STR
7,8,Armor
9,9,MAG
11,10,LDR
13,11,SKL
15,12,Reputation
Not sure how values are encoded in the save. Also, stats are capped at 255, HP at 999.
big stats
Image
Interesting find... would it be possible to write up a simple instruction how to search for the stats with CE, for us less-savy peeps? :)

MegaMark
Noobzor
Noobzor
Posts: 10
Joined: Mon Jun 13, 2022 6:58 am
Reputation: 1

Re: [Request] Symphony of War: The Nephilim Saga

Post by MegaMark »

variante wrote:
Mon Jun 13, 2022 10:47 am
Stats are stored in id-value pairs where id tells which stat, and value says how much. Stat bonuses for a character are stored in a dynamic array, meaning the number of entries depends on how many bonuses have been applied. The ids are stored differently in save (in @param_plus field above the character name) than in memory. As far as I know, the ids are as follows:
stat ids

Code: Select all

id (memory),id (save),name
1,0,HP
3,6,Morale
5,7,STR
7,8,Armor
9,9,MAG
11,10,LDR
13,11,SKL
15,12,Reputation
Not sure how values are encoded in the save. Also, stats are capped at 255, HP at 999.
big stats
Image
Thanks for the hints, i hate rpgmaker lol

CopMuaDong
Noobzor
Noobzor
Posts: 6
Joined: Sun Jun 12, 2022 2:36 pm
Reputation: 0

Re: [Request] Symphony of War: The Nephilim Saga

Post by CopMuaDong »

variante wrote:
Mon Jun 13, 2022 10:47 am
Stats are stored in id-value pairs where id tells which stat, and value says how much. Stat bonuses for a character are stored in a dynamic array, meaning the number of entries depends on how many bonuses have been applied. The ids are stored differently in save (in @param_plus field above the character name) than in memory. As far as I know, the ids are as follows:
stat ids

Code: Select all

id (memory),id (save),name
1,0,HP
3,6,Morale
5,7,STR
7,8,Armor
9,9,MAG
11,10,LDR
13,11,SKL
15,12,Reputation
Not sure how values are encoded in the save. Also, stats are capped at 255, HP at 999.
big stats
Image
^^ Can you share the save file that has been adjusted to 999 HP - 255 stats ^^ thank you

Nilaru
Cheater
Cheater
Posts: 29
Joined: Sat Mar 04, 2017 4:13 am
Reputation: 7

Re: [Request] Symphony of War: The Nephilim Saga

Post by Nilaru »

Has anyone found a working save editor?

Also, I would be happy to pay some money for a working save editor or trainer, even if all I could do with it is change the LDR values. Should I create a second request thread that is marked as PAID REQUEST ?

toydefenser
Expert Cheater
Expert Cheater
Posts: 166
Joined: Wed Oct 23, 2019 12:30 pm
Reputation: 23

Re: [Request] Symphony of War: The Nephilim Saga

Post by toydefenser »

+1

TheRedFear
Expert Cheater
Expert Cheater
Posts: 51
Joined: Fri Sep 18, 2020 6:55 am
Reputation: 10

Re: [Request] Symphony of War: The Nephilim Saga

Post by TheRedFear »

How do I find the saves? When I check the savedata folder the only thing in there is "steam_autocloud.vdf"

When I tried to drag that into saveeditor online it didn't work

Nilaru
Cheater
Cheater
Posts: 29
Joined: Sat Mar 04, 2017 4:13 am
Reputation: 7

Re: [Request] Symphony of War: The Nephilim Saga

Post by Nilaru »

TheRedFear wrote:
Tue Jun 14, 2022 2:31 am
How do I find the saves? When I check the savedata folder the only thing in there is "steam_autocloud.vdf"

When I tried to drag that into saveeditor online it didn't work
Save games are in \AppData\Roaming\Nephilim

I tried saveeditonline and it says the file is not supported

absorbbone
Novice Cheater
Novice Cheater
Posts: 18
Joined: Thu Feb 11, 2021 6:52 am
Reputation: 6

Re: [Request] Symphony of War: The Nephilim Saga

Post by absorbbone »

Nilaru wrote:
Tue Jun 14, 2022 2:55 am
TheRedFear wrote:
Tue Jun 14, 2022 2:31 am
How do I find the saves? When I check the savedata folder the only thing in there is "steam_autocloud.vdf"

When I tried to drag that into saveeditor online it didn't work
Save games are in \AppData\Roaming\Nephilim

I tried saveeditonline and it says the file is not supported
See @rinnioveraci post in page 2

latios507
Noobzor
Noobzor
Posts: 6
Joined: Sat Feb 19, 2022 8:18 am
Reputation: 7

Re: [Request] Symphony of War: The Nephilim Saga

Post by latios507 »

I figured out how to change the tech tree point! You can't modify it directly though, but you can change the Faction Points ("FP") high enough so that you can earn tech tree points. After changing the FP points, you just need to engage in one of the 'Conversation' events / finish an Arena with at least some forced surrender enemy squad to get the FP / Finish a Story mission (any one of these would do) for the changes to take affect.

FP still uses the *2+1 formula but if you want to make your life simple, just add this code so that your Value Type is RPGVX & you don't have to key in the *2+1 formula. Refer to the prior post below
Spoiler
latios507 wrote:
Sun Jun 12, 2022 5:42 am
nos4r2 wrote:
Sun Jun 12, 2022 4:37 am
I think you can use this to add rpgm game value type so you can search directly for rpgm game no need to do calculation anymore

i want to give credit but i just can't remember who post it but i'm pretty sure i got it from this forum one of the mod? or admin post it here ( add mine age ago so can't really remember ) i edit mine and copy all of the code and repost here

Code: Select all

alloc(TypeName,256)
alloc(ByteSize,4)
alloc(PreferedAlignment, 4)
alloc(ConvertRoutine,1024)
alloc(ConvertBackRoutine,1024)

TypeName:
db 'RPG VX type',0

ByteSize:
dd 4

PreferedAlignment:
dd 1


//The convert routine should hold a routine that converts the data to an nteger (in eax)
//function declared as: stdcall int ConvertRoutine(unsigned char *input);

//Note: Keep in mind that this routine can be called by multiple threads at the same time.

ConvertRoutine:
[32-bit]
push ebp
mov ebp,esp
push ecx
mov ecx,[ebp+8]
[/32-bit]

//at this point ecx contains the address where the bytes are stored

//put the bytes into the eax register
mov eax,[ecx] //second fun fact, addressing with 32-bit registers doesn't work in 64-bit, it becomes a 64-bit automatically (most of the time)
shr eax,1 //shift right by 1 bit (divide by 2)

//and now exit the routine
[64-bit]
ret
[/64-bit]
[32-bit]
pop ecx
pop ebp
ret 4
[/32-bit]

//The convert back routine should hold a routine that converts the given integer back to a row of bytes (e.g when the user wats to write a new value)
//function declared as: stdcall void ConvertBackRoutine(int i, unsigned char *output);
ConvertBackRoutine:
[32-bit]
push ebp
mov ebp,esp
push edx //save the registers
push ecx
mov edx,[ebp+0c]
mov ecx,[ebp+08]
[/32-bit]

//at this point edx contains the address to write the value to
//and ecx contains the value

push eax
push edx


mov edx,[edx] //edx now contains the original value
and edx,1 //only save the first bit

mov eax,ecx //eax gets the user input value
shl eax,1 //shift left by 1 bit (multiply by 2)
or eax,edx //add the bits of the original value

pop edx
mov [edx],eax //write the new value into the old value
pop eax

[64-bit]
//everything is back to what it was, so exit
ret
[/64-bit]

[32-bit]
//cleanup first
pop ecx
pop edx
pop ebp
ret 8
[/32-bit]
Image
I'm sorry but how do you add this code into CE? That is indeed helpful since we don't have to add the *2+1 to our values

Thanks for sharing!

Edited:

Oh nvm, I figured it out. For those who are curious/lost just like me:
1) Start Symphony of War & CE, then select the process
2) Right Click on the 'Value Type' on the Right side of CE (just below the Scan Type)
3) Select 'Define new custom type (Auto Assembler)'
4) Paste the code above
5) ???
6) Profit. The Value type will display 'RPG VX Type' if you have done it correctly.
At this point, you can only get tech points through FPs. FPs ARE CUMULATIVE.

In other words, if you see for e.g. 57/250, it's NOT actually 57 points. It could be 157 (e.g. if you accumulated 100 FP before, you have to add it to your current value).
TL;DR Math.

It's a pain in the ass but this is what I did to scan the FP. To make your life simpler/easier, you should do it when you have a few conversation events so it's easier to make it work:

[*] Select Value type: RPG VX Type or you can use the 4 Bytes but you need to input *2+1

I'm using RPG VX Type as the value type to make the illustrations below simpler.

1) CE; Select Scan Type: Unknown Initial Value & Hit First Scan
2) In the game; go to supports > Conversation > Do the conversation events that you have. Once the event has ended, input how many FP points you earned during the event.
3) To do so, select Scan Type: Increased value by ... and input the FP points you earned (e.g. 5).
4) Hit Enter. Rinse and repeat with your other events until you can narrow down to just a single address or you're smart enough to guess the address from a list of addresses. I leave that to your judgement.
5) Once you figured out the address, just change it to a higher value & hit enter. Just open any menu (e.g. Marketplace) & exit to see the changes. See the Appendix section below
6) For the changes to take effect, you need to make the game 'think' that you have earned FP legitimately. You can either do any one of it:
- Start another conversation (if you have any spare ones) ~ the easiest
- Start an Arena Mission, try to Force surrender some enemy squad & finish it
- Start & finish another Chapter/Story Mission

Appendix section
Spoiler
Here's an example how it works since FP is a cumulative value. Notice that I have accumulated 3000 FP points previously (as shown in cheat engine), but the in-game is only showing 103 points. So I technically have 3103 FP (3000 FP previously accumulated + 103 FP shown on screen):

Image

Now let's say I want to change my in-game FP to 178 points, an increment of 78 points... so that means I have to key-in 3178 in the cheat Engine. and voila! it works :)

Image

Now, make the game 'think' that you earned FP legitimately. Here's the end result;

Image
I think it's possible to do it during Chapter missions too, where you get FP from seizing towns/structures but it's a bit pain in the ass to do so because you have to memorize how many FPs you earned then right click in-game > Organize to check the value.

Hopefully it helps other users & potential table makers. You can also edit item quantity in your inventory, it also uses *2+1 or like I said before, make your life easier by setting up that RPG VX Value type code. I really hope someone can make a proper table for this gem of a game. I'm just a newbie CE user, so this is as far as I can go since I'm not familiar on how to do the scanning so you can get the permanent address.
Last edited by latios507 on Tue Jun 14, 2022 12:57 pm, edited 1 time in total.

owlet12345
What is cheating?
What is cheating?
Posts: 4
Joined: Tue Jun 14, 2022 12:35 am
Reputation: 0

Re: [Request] Symphony of War: The Nephilim Saga

Post by owlet12345 »

latios507 wrote:
Tue Jun 14, 2022 11:13 am
I figured out how to change the tech tree point! You can't modify it directly though, but you can change the Faction Points ("FP") high enough so that you can earn tech tree points.

FP still uses the *2+1 formula but if you want to make your life simple, just add this code so that your Value Type is RPGVX & you don't have to key in the *2+1 formula. Refer to the prior post below
Spoiler
latios507 wrote:
Sun Jun 12, 2022 5:42 am
nos4r2 wrote:
Sun Jun 12, 2022 4:37 am
I think you can use this to add rpgm game value type so you can search directly for rpgm game no need to do calculation anymore

i want to give credit but i just can't remember who post it but i'm pretty sure i got it from this forum one of the mod? or admin post it here ( add mine age ago so can't really remember ) i edit mine and copy all of the code and repost here

Code: Select all

alloc(TypeName,256)
alloc(ByteSize,4)
alloc(PreferedAlignment, 4)
alloc(ConvertRoutine,1024)
alloc(ConvertBackRoutine,1024)

TypeName:
db 'RPG VX type',0

ByteSize:
dd 4

PreferedAlignment:
dd 1


//The convert routine should hold a routine that converts the data to an nteger (in eax)
//function declared as: stdcall int ConvertRoutine(unsigned char *input);

//Note: Keep in mind that this routine can be called by multiple threads at the same time.

ConvertRoutine:
[32-bit]
push ebp
mov ebp,esp
push ecx
mov ecx,[ebp+8]
[/32-bit]

//at this point ecx contains the address where the bytes are stored

//put the bytes into the eax register
mov eax,[ecx] //second fun fact, addressing with 32-bit registers doesn't work in 64-bit, it becomes a 64-bit automatically (most of the time)
shr eax,1 //shift right by 1 bit (divide by 2)

//and now exit the routine
[64-bit]
ret
[/64-bit]
[32-bit]
pop ecx
pop ebp
ret 4
[/32-bit]

//The convert back routine should hold a routine that converts the given integer back to a row of bytes (e.g when the user wats to write a new value)
//function declared as: stdcall void ConvertBackRoutine(int i, unsigned char *output);
ConvertBackRoutine:
[32-bit]
push ebp
mov ebp,esp
push edx //save the registers
push ecx
mov edx,[ebp+0c]
mov ecx,[ebp+08]
[/32-bit]

//at this point edx contains the address to write the value to
//and ecx contains the value

push eax
push edx


mov edx,[edx] //edx now contains the original value
and edx,1 //only save the first bit

mov eax,ecx //eax gets the user input value
shl eax,1 //shift left by 1 bit (multiply by 2)
or eax,edx //add the bits of the original value

pop edx
mov [edx],eax //write the new value into the old value
pop eax

[64-bit]
//everything is back to what it was, so exit
ret
[/64-bit]

[32-bit]
//cleanup first
pop ecx
pop edx
pop ebp
ret 8
[/32-bit]
Image
I'm sorry but how do you add this code into CE? That is indeed helpful since we don't have to add the *2+1 to our values

Thanks for sharing!

Edited:

Oh nvm, I figured it out. For those who are curious/lost just like me:
1) Start Symphony of War & CE, then select the process
2) Right Click on the 'Value Type' on the Right side of CE (just below the Scan Type)
3) Select 'Define new custom type (Auto Assembler)'
4) Paste the code above
5) ???
6) Profit. The Value type will display 'RPG VX Type' if you have done it correctly.
At this point, you can only get tech points through FPs. FPs ARE CUMULATIVE.

In other words, if you see for e.g. 57/250, it's NOT actually 57 points. It could be 157 (e.g. if you accumulated 100 FP before, you have to add it to your current value).
TL;DR Math.

It's a pain in the ass but this is what I did to scan the FP. To make your life simpler/easier, you should do it when you have a few conversation events so it's easier to make it work:

[*] Select Value type: RPG VX Type or you can use the 4 Bytes but you need to input *2+1

I'm using RPG VX Type as the value type to make the illustrations below simpler.

1) CE; Select Scan Type: Unknown Initial Value & Hit First Scan
2) In the game; go to supports > Conversation > Do the conversation events that you have. Once the event has ended, input how many FP points you earned during the event.
3) To do so, select Scan Type: Increased value by ... and input the FP points you earned (e.g. 5).
4) Hit Enter. Rinse and repeat with your other events until you can narrow down to just a single address or you're smart enough to guess the address from a list of addresses. I leave that to your judgement.
5) Once you figured out the address, just change it to a higher value & hit enter. Just open any menu (e.g. Marketplace) & exit to see the changes. See the Appendix section below
6) For the changes to take effect, you need to make the game 'think' that you have earned FP legitimately. You can either do any one of it:
- Start another conversation (if you have any spare ones) ~ the easiest
- Start an Arena Mission, try to Force surrender some enemy squad & finish it
- Start & finish another Chapter/Story Mission

Appendix section
Spoiler
Here's an example how it works since FP is a cumulative value. Notice that I have accumulated 3000 FP points previously (as shown in cheat engine), but the in-game is only showing 103 points. So I technically have 3103 FP (3000 FP previously accumulated + 103 FP shown on screen):

Image

Now let's say I want to change my in-game FP to 178 points, an increment of 78 points... so that means I have to key-in 3178 in the cheat Engine. and voila! it works :)

Image

Now, make the game 'think' that you earned FP legitimately. Here's the end result;

Image
I think it's possible to do it during Chapter missions too, where you get FP from seizing towns/structures but it's a bit pain in the ass to do so because you have to memorize how many FPs you earned then right click in-game > Organize to check the value.

Hopefully it helps other users & potential table makers. You can also edit item quantity in your inventory, it also uses *2+1 or like I said before, make your life easier by setting up that RPG VX Value type code. I really hope someone can make a proper table for this gem of a game. I'm just a newbie CE user, so this is as far as I can go since I'm not familiar on how to do the scanning so you can get the permanent address.
Hi do you know how to find stat values like in variante's post? I'm clueless at this point. Also, can you find and edit an item with only 1 quantity? Thanks.

latios507
Noobzor
Noobzor
Posts: 6
Joined: Sat Feb 19, 2022 8:18 am
Reputation: 7

Re: [Request] Symphony of War: The Nephilim Saga

Post by latios507 »

owlet12345 wrote:
Tue Jun 14, 2022 12:29 pm
Hi do you know how to find stat values like in variante's post? I'm clueless at this point. Also, can you find and edit an item with only 1 quantity? Thanks.
Nope, no idea how to use it. You need minimum 2 quantity to edit/find their addresses provided you know what is the address pattern. This usually requires you to find & edit another item beforehand.

e.g. if you managed to edit another item and it has an address of 2F3E6DS.. That means when you search for the item with quantity of 2, the address should also be something like 2F3E...

I don't know about Artefacts/equipment though, maybe that is only possible through save editor or something. I have not found any meaningful variables to edit nor know how to edit it, even after UnGzipping the .rvData2 & looking at it with the RPGMaker XV Cheat tool. That's because the items.rvdata2/Armor.rvdata2/weapon.rvdata2 is in another save.

I'm just as clueless as you without a guide

nos4r2
Expert Cheater
Expert Cheater
Posts: 243
Joined: Sun Oct 29, 2017 3:58 am
Reputation: 46

Re: [Request] Symphony of War: The Nephilim Saga

Post by nos4r2 »

Look like wm will release it soon? seem lots of people boost it let hope there some great option in there... xD

CH already gave up i think

Post Reply