[Request] Symphony of War: The Nephilim Saga

Ask about cheats/tables for single player games here
5tr4ng3_sm1l3s
Noobzor
Noobzor
Posts: 9
Joined: Thu May 30, 2024 7:32 am
Reputation: 0

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

Post by 5tr4ng3_sm1l3s »

RMLSNK wrote:
Wed Apr 17, 2024 7:37 pm
linkchaos wrote:
Wed Apr 17, 2024 4:32 am
How do I use these with CE?
RMLSNK wrote:
Sun Apr 14, 2024 10:10 am
base game: no dlc: (idk if that affects anything so putting that up there).

Patch 1.10.22: Steam

Want any item in the game? Want 100 of those items? well, I made this. On a side note, save before using, just in case you crash if you accidentally buy a nil value. Items won't update (visually only) until you refresh the trade screen. But this is visual only, you can still buy it. Please be sure to upvote if this helps. Took a little while to get these values.

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>14437</ID>
      <Description>"Items"</Description>
      <Options moHideChildren="1" moActivateChildrenAsWell="1" moDeactivateChildrenAsWell="1" moAllowManualCollapseAndExpand="1"/>
      <LastState Value="" RealAddress="200F1B23038"/>
      <ShowAsSigned>0</ShowAsSigned>
      <GroupHeader>1</GroupHeader>
      <Address>"x64-msvcrt-ruby240.dll"+002F20E0</Address>
      <Offsets>
        <Offset>8</Offset>
        <Offset>18</Offset>
        <Offset>0</Offset>
        <Offset>20</Offset>
        <Offset>3E0</Offset>
        <Offset>18</Offset>
        <Offset>8</Offset>
        <Offset>0</Offset>
        <Offset>14F8</Offset>
        <Offset>10</Offset>
      </Offsets>
      <CheatEntries>
        <CheatEntry>
          <ID>14511</ID>
          <Description>"Amount Available"</Description>
          <DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">0:Out of Stock
1:x1
2:x2
5:x5
10:x10
25:x25
50:x50
100:x100
</DropDownList>
          <LastState Value="1" RealAddress="200F1B23048"/>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>Custom</VariableType>
          <CustomType>RPG VX type</CustomType>
          <Address>+10</Address>
        </CheatEntry>
        <CheatEntry>
          <ID>14438</ID>
          <Description>"Type "</Description>
          <Options moHideChildren="1" moAllowManualCollapseAndExpand="1"/>
          <DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">6514822:Resources
6529158:Gear
7200902:Purchased!
</DropDownList>
          <LastState Value="6514822" RealAddress="200F1B23038"/>
          <ShowAsSigned>0</ShowAsSigned>
          <VariableType>Custom</VariableType>
          <CustomType>RPG VX type</CustomType>
          <Address>+0</Address>
          <CheatEntries>
            <CheatEntry>
              <ID>14513</ID>
              <Description>"Highly recommended to tick either Resources or Gear (Not Both)."</Description>
              <LastState Value="" RealAddress="00000000"/>
              <Color>7171FF</Color>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
            <CheatEntry>
              <ID>14440</ID>
              <Description>"Resources"</Description>
              <DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">0:[Avoid This Value]
1:--
2:                    [ Codex and Tokens ]
3:XP Codex
4:CP Codex
5:Bronze Arena Token
6:Silver Arena Token
7:Gold Arena Token
8:Platinum Arena Token
9:Proof of Merit
-:                    [ Resources ]
10:Iron
11:--
12:Obsidian
13:Sunstone
14:Gems
15:Pyrocite
16:Horses
17:Tech Points
-:                    [ Consumables ]
18:Donari Chronicle
19:Mint Leaves of Magic
20:Roast Beef of Might
21:Apple of Agility
22:Salmon of Health
23:Medal of Valor
24:                    [ Affinities ]
25:Affinity: Earth
26:Affinity: Water
27:Affinity: Lightning
28:Affinity: Fire
29:Affinity: Dark
30:Affinity: Light
31:                    [ Tomes ]
32:Book of Unlife
33:Defiled Donari Tome
34:Mark of the Risen
35:Primal Tome
36:--
37:--
38:--
39:--
40:--
41:--
42:--
43:--
44:--
45:--
46:--
47:                    [ Traits ]
48:Trait: Scavenger
49:Trait: Garrison
50:Trait: Bodyguard
51:Trait: Vengeance
52:Trait: Overpower
53:Trait: Imposing
54:Trait: Unassuming
55:Trait: Resolve
56:Trait: Unscathed
57:Trait: Precision
58:Trait: Assassin's Heart
59:Trait: Archer Captain
60:Trait: Soldier Captain
61:Trait: Knight Captain
62:Trait: Concentration
63:Trait: Disarm
64:Trait: Lithe Assault
65:Trait: Assassin's Reaper
66:Trait: Bowmanship
67:Trait: Dragonslayer
68:Trait: Warrior's Hubris
69:Trait: Challenger
70:Trait: Executioner
71:Trait: Healing Attuned
72:Trait: Cold-Blooded
73:Trait: Beacon
74:Trait: Arcane Barrier
75:Trait: Arcane Might
76:Trait: Arcane Speed
77:Trait: Arcane Vigor
78:Trait: Counterattack
79:Trait: Desperation
80:Trait: Immortal Spirit
81:Trait: Smite
82:Trait: Shock and Awe
83:Trait: Bloodlust
84:Trait: Silver-Tongued
85:Trait: Treasure Hunter
86:Trait: Tundra Warrior
87:Trait: Desert Warrior
88:--
89:--
90:Trait: Benevolent
91:Trait: Liberator
92:Trait: Rally
93:Trait: Barricade
94:Trait: Pacifist
95:Trait: Wide Guard
96:Trait: Raid Captain
</DropDownList>
              <LastState Value="52" RealAddress="200F1B23040"/>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Custom</VariableType>
              <CustomType>RPG VX type</CustomType>
              <Address>+8</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>14436</ID>
              <Description>"Gear"</Description>
              <DropDownList ReadOnly="1" DescriptionOnly="1" DisplayValueAsItem="1">0:[Avoid This Value]
1:--
2:                    [ Swords ]
3:Steel Arming Sword
4:Elegant Blade
5:Flame Saber
6:Steelshatter
7:Excalibur
8:Sin Credo
9:                    [ Great Swords ]
10:Steel Greatsword
11:Giant's Thresher
12:Kesh's Daikatana
13:Dragon Slayer
14:Balmung
15:--
16:                    [ Polearms ]
17:Sayunaari War Pike
18:Crystal Lance
19:Fang of Duros
20:--
21:                    [ Daggers ]
22:Eskandar's Karambit
23:Obsidian Edge
24:Zero Point Blade
25:--
26:                    [ Maces ]
27:Acolyte's Mace
28:Crusader's Mace
29:Refuge
30:--
31:                    [ Bows ]
32:Guerilla Bow
33:Trueshot Bow
34:Ataraxia
35:Heartseeker
36:Obsidian Arquebus
37:--
38:--
39:--
40:--
41:--
42:--
43:--
44:--
45:                    [ Mage Gear ]
46:Donari Staff
47:--
48:Blood Staff
49:Apprentice Spellbook
50:Grandmaster Spellbook
51:Auraweave Cloak
52:Cyrene's Regalia
53:--
54:                    [ Military ]
55:Sergeant's Uniform
56:Officer's Regalia
57:--
58:--
59:                    [ Light Armor ]
60:Scout's Gear
61:Guerilla Armor
62:Shinobi Gi
63:Blademaster's Armor
64:Landis's Mirage
65:--
66:--
67:                    [ Heavy Armor ]
68:Steel Plate Armor
69:Donari Armor
70:Dragonscale Armor
71:Imperial Battle Armor
72:Obsidian Plate Armor
73:St. Teresa's Tiara
74:                    [ Shields ]
75:Hulking Pavise
76:Aldor's Tower Shield
77:St. Teresa's Bulwark
78:--
79:--
80:                    [ Halloween 2022 ]
81:Skull of Rowdain
82:--
83:--
84:--
85:--
86:--
87:--
88:--
89:--
90:--
91:                    [ Accessories ]
92:Puffin Feather Amulet
93:Ruby Ring
94:Emerald Ring
95:Sapphire Ring
96:Ribbon
97:Kesh's Toolkit
98:Noisy Cricket
99:Boots of Tyranny
100:Imperial War Banner
101:Everlasting Potion
102:Jade Figurine
103:Iblis Family Signet
104:Donar's Treatise of War
105:Soha's Blood Shard
106:Landis's Fixed Dice
107:Genbu Shell Fragment
108:Temporal Modulator
109:Black Belt
110:Cloak of Cunning
111:Ace of Spaces
112:Essence of Embor
113:Belinda's Field Kit
114:Signet of Wrath
115:Firewalker Boots
116:--
117:                    [ Legends ]
118:Shadowchaster Boots
119:Gilded Clover
120:Mercurial Shoes
121:Caladori Charm
122:Fitch Farm Rancher Hat
123:Grothnor Lich's Skull
124:Spencer's Spectacles
125:Aetherium Gemstone
126:Sunset Bay Theatre Mask
127:--
128:--
129:Warfarer's Boots
130:Duelist's Contract
131:Do-It-Yourself Bandage
132:Emperor's Missive
133:Donari Charm
134:Commoner's Goblet
135:Tailored Great Helm
136:Thorny Charm
</DropDownList>
              <LastState Value="52" RealAddress="200F1B23040"/>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Custom</VariableType>
              <CustomType>RPG VX type</CustomType>
              <Address>+8</Address>
              <Hotkeys>
                <Hotkey>
                  <Action>Increase Value</Action>
                  <Keys>
                    <Key>6</Key>
                  </Keys>
                  <Value>1</Value>
                  <ID>0</ID>
                </Hotkey>
                <Hotkey>
                  <Action>Decrease Value</Action>
                  <Keys>
                    <Key>5</Key>
                  </Keys>
                  <Value>1</Value>
                  <ID>1</ID>
                </Hotkey>
              </Hotkeys>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
</CheatTable>
and this is a "turns taken" script.
Spoiler

Code: Select all

<?xml version="1.0" encoding="utf-8"?>
<CheatTable>
  <CheatEntries>
    <CheatEntry>
      <ID>14538</ID>
      <Description>"Turns Taken"</Description>
      <Options moHideChildren="1" moDeactivateChildrenAsWell="1" moAllowManualCollapseAndExpand="1"/>
      <LastState Value="" Activated="1" RealAddress="00000000"/>
      <GroupHeader>1</GroupHeader>
      <CheatEntries>
        <CheatEntry>
          <ID>14518</ID>
          <Description>"Turns Taken"</Description>
          <Options moHideChildren="1" moAllowManualCollapseAndExpand="1"/>
          <LastState/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : SymphonyOfWar.exe
  Version: 1.10.2
  Date   : 2024-04-14
  Author : RMLSNEK
}

[ENABLE]

aobscanmodule(TurnsTakenScript,x64-msvcrt-ruby240.dll,48 83 3C C3 34 0F)
alloc(newmem,$1000,TurnsTakenScript)

label(code GetTurns GetTurnsOffset)
label(return)

newmem:

code:
  //cmp [rbx+rax*8],(int)21
  cmp [rbx+rax*8]+158],(int)30306572
  je TurnsTaken

  //Engage Normal Route
  cmp qword ptr [rbx+rax*8],34
  jmp return

TurnsTaken:
  mov [GetTurns],rbx
  mov [GetTurnsOffset],rax

  //Engage Normal Route
  cmp qword ptr [rbx+rax*8],34
  jmp return

GetTurns:
dq 0

GetTurnsOffset:
dq 0

TurnsTakenScript:
  jmp newmem

return:
registersymbol(TurnsTakenScript GetTurns GetTurnsOffset)

[DISABLE]

TurnsTakenScript:
  db 48 83 3C C3 34

unregistersymbol(TurnsTakenScript GetTurns GetTurnsOffset)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: x64-msvcrt-ruby240.rb_ivar_defined+120

x64-msvcrt-ruby240.rb_ivar_defined+F6: E8 F5 36 FA FF        - call x64-msvcrt-ruby240.st_lookup
x64-msvcrt-ruby240.rb_ivar_defined+FB: 85 C0                 - test eax,eax
x64-msvcrt-ruby240.rb_ivar_defined+FD: 0F 84 5D FF FF FF     - je x64-msvcrt-ruby240.rb_ivar_defined+60
x64-msvcrt-ruby240.rb_ivar_defined+103: 48 8B 45 F8           - mov rax,[rbp-08]
x64-msvcrt-ruby240.rb_ivar_defined+107: 48 F7 03 00 20 00 00  - test [rbx],00002000
x64-msvcrt-ruby240.rb_ivar_defined+10E: 75 48                 - jne x64-msvcrt-ruby240.rb_ivar_defined+158
x64-msvcrt-ruby240.rb_ivar_defined+110: 8B 53 10              - mov edx,[rbx+10]
x64-msvcrt-ruby240.rb_ivar_defined+113: 48 39 D0              - cmp rax,rdx
x64-msvcrt-ruby240.rb_ivar_defined+116: 0F 83 44 FF FF FF     - jae x64-msvcrt-ruby240.rb_ivar_defined+60
x64-msvcrt-ruby240.rb_ivar_defined+11C: 48 8B 5B 18           - mov rbx,[rbx+18]
// ---------- INJECTING HERE ----------
x64-msvcrt-ruby240.rb_ivar_defined+120: 48 83 3C C3 34        - cmp qword ptr [rbx+rax*8],34
// ---------- DONE INJECTING  ----------
x64-msvcrt-ruby240.rb_ivar_defined+125: 0F 84 35 FF FF FF     - je x64-msvcrt-ruby240.rb_ivar_defined+60
x64-msvcrt-ruby240.rb_ivar_defined+12B: BE 14 00 00 00        - mov esi,00000014
x64-msvcrt-ruby240.rb_ivar_defined+130: E9 2D FF FF FF        - jmp x64-msvcrt-ruby240.rb_ivar_defined+62
x64-msvcrt-ruby240.rb_ivar_defined+135: 0F 1F 00              - nop dword ptr [rax]
x64-msvcrt-ruby240.rb_ivar_defined+138: 48 89 D9              - mov rcx,rbx
x64-msvcrt-ruby240.rb_ivar_defined+13B: 48 89 55 28           - mov [rbp+28],rdx
x64-msvcrt-ruby240.rb_ivar_defined+13F: E8 FC DA F1 FF        - call x64-msvcrt-ruby240.rb_obj_class
x64-msvcrt-ruby240.rb_ivar_defined+144: 48 8B 55 28           - mov rdx,[rbp+28]
x64-msvcrt-ruby240.rb_ivar_defined+148: 48 8B 40 18           - mov rax,[rax+18]
x64-msvcrt-ruby240.rb_ivar_defined+14C: 48 8B 08              - mov rcx,[rax]
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>14530</ID>
              <Description>"Amount"</Description>
              <LastState Value="5" RealAddress="29D17005A50"/>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Custom</VariableType>
              <CustomType>RPG VX type</CustomType>
              <Address>[GetTurns]+[GetTurnsOffset]*8-158</Address>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <ID>14536</ID>
          <Description>"Challenge Missions"</Description>
          <Options moHideChildren="1" moAllowManualCollapseAndExpand="1"/>
          <LastState/>
          <VariableType>Auto Assembler Script</VariableType>
          <AssemblerScript>{ Game   : SymphonyOfWar.exe
  Version: 1.10.2
  Date   : 2024-04-14
  Author : RMLSNEK
}

[ENABLE]

aobscanmodule(TurnsTakenObjScript,x64-msvcrt-ruby240.dll,48 8B 40 10 49 89 45 00)
alloc(newmem,$1000,TurnsTakenObjScript)

label(code GetTurnsObj)
label(return)

newmem:

code:
  cmp [rax+10],(int)40554764
  je TurnsTakenObj
  jmp returnroute

TurnsTakenObj:
  mov [GetTurnsObj],rax
  jmp returnroute

returnroute:
  //Engage Normal Route
  mov rax,[rax+10]
  mov [r13+00],rax
  jmp return

GetTurnsObj:
dq 0

TurnsTakenObjScript:
  jmp newmem
  nop 3

return:
registersymbol(TurnsTakenObjScript GetTurnsObj)

[DISABLE]

TurnsTakenObjScript:
  db 48 8B 40 10 49 89 45 00

unregistersymbol(TurnsTakenObjScript GetTurnsObj)
dealloc(newmem)

{
// ORIGINAL CODE - INJECTION POINT: x64-msvcrt-ruby240.st_lookup+6F

x64-msvcrt-ruby240.st_lookup+4A: 48 83 F8 FE        - cmp rax,-02
x64-msvcrt-ruby240.st_lookup+4E: 74 E5              - je x64-msvcrt-ruby240.st_lookup+35
x64-msvcrt-ruby240.st_lookup+50: 48 83 F8 FF        - cmp rax,-01
x64-msvcrt-ruby240.st_lookup+54: 0F 84 B6 00 00 00  - je x64-msvcrt-ruby240.st_lookup+110
x64-msvcrt-ruby240.st_lookup+5A: 48 8D 58 FE        - lea rbx,[rax-02]
x64-msvcrt-ruby240.st_lookup+5E: 4D 85 ED           - test r13,r13
x64-msvcrt-ruby240.st_lookup+61: 74 14              - je x64-msvcrt-ruby240.st_lookup+77
x64-msvcrt-ruby240.st_lookup+63: 49 8B 56 30        - mov rdx,[r14+30]
x64-msvcrt-ruby240.st_lookup+67: 48 8D 04 5B        - lea rax,[rbx+rbx*2]
x64-msvcrt-ruby240.st_lookup+6B: 48 8D 04 C2        - lea rax,[rdx+rax*8]
// ---------- INJECTING HERE ----------
x64-msvcrt-ruby240.st_lookup+6F: 48 8B 40 10        - mov rax,[rax+10]
// ---------- DONE INJECTING  ----------
x64-msvcrt-ruby240.st_lookup+73: 49 89 45 00        - mov [r13+00],rax
x64-msvcrt-ruby240.st_lookup+77: B8 01 00 00 00     - mov eax,00000001
x64-msvcrt-ruby240.st_lookup+7C: 48 83 C4 38        - add rsp,38
x64-msvcrt-ruby240.st_lookup+80: 5B                 - pop rbx
x64-msvcrt-ruby240.st_lookup+81: 5E                 - pop rsi
x64-msvcrt-ruby240.st_lookup+82: 5F                 - pop rdi
x64-msvcrt-ruby240.st_lookup+83: 41 5C              - pop r12
x64-msvcrt-ruby240.st_lookup+85: 41 5D              - pop r13
x64-msvcrt-ruby240.st_lookup+87: 41 5E              - pop r14
x64-msvcrt-ruby240.st_lookup+89: 41 5F              - pop r15
}
</AssemblerScript>
          <CheatEntries>
            <CheatEntry>
              <ID>14537</ID>
              <Description>"Amount"</Description>
              <ShowAsSigned>0</ShowAsSigned>
              <VariableType>Custom</VariableType>
              <CustomType>RPG VX type</CustomType>
              <Address>[GetTurnsObj]+70</Address>
            </CheatEntry>
            <CheatEntry>
              <ID>14539</ID>
              <Description>"View Mission Info to Update Value. If value is failed or completed. Then this will not show."</Description>
              <LastState Value="" RealAddress="00000000"/>
              <Color>7171FF</Color>
              <GroupHeader>1</GroupHeader>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
</CheatTable>


These tables use RPG VX value type. Thanks to Dark Byte Be sure to use it.
Spoiler
How to Use:
[Right Click on the "Value Type" selective bar and click "Define
new custom type (Auto Assembler)" . Delete everything inside this Script and paste the new script (from below). You can now select this value type to search for values.

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]
you should be able to select all and then copy the code-paste into your own table. But here's my table if you need it. Not sure if the dlc will offset any values so hopefully this works for you guys. :oops:
Hello I am really confused on how to use this table, for some reason even after I faithfully follow your guide on how to do the RPG VX Type that you show on your YouTube video, I still can't activated the cheat table, And I also have turn off my DLC.

apadfasza
What is cheating?
What is cheating?
Posts: 3
Joined: Sun Apr 12, 2020 10:36 pm
Reputation: 0

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

Post by apadfasza »

Actually you don't even need LDR leadership.
Latest GOG version with DLC:

Cheat Engine 7.4:

----------I always play on HIGHEST DIFFICULTY = "ridiculous" to see max AI and max amount of enemy units: later in game this will show you APOCALYPTIC BATTLES!!!!!--------

1. just get a low level soldier.
2. Max up on XP Codex and Class codexes.
3. Edit one of your "3x items" with CE in your treasure inventory, anything will do, so that if you find its value, click on it and don't press CTRL+E, but instead press CTRL+B.
4. You'll be transferred to the MEMORY EDIT screen.
5. TOP LEFT will be your item, enter 1-999 value for it and look at your SELL screen in MARKETPLACE. EXIT SELL SCREEN AND RE-ENTER to see changes always! Every item you have - the amount of each of your LOOT items - there you can see ALT+TABBING into the MEMORY EDIT screen: where you may see HEX values and you must RIGHT MOUSE CLICK and select DISPLAY TYPE--------RPG VX TYPE. (Follow this thread, how to create that type, its easy)

So NOW you will see the real merchant scroll item amounts same as in the game!

Only on the MEMORY EDIT screen these merchant items will be in 3 columns beside each other, you will easily recognize everything, just check how many buyable / sellable scrolls are on the merchant screen INGAME

If you find something on the merchant screen you want to have 999x, memorize its current stocked amount,
then

ALT TAB back to the MEMORY EDIT screen and look for that exact value in the columns. Use MOUSEWHEEL to scroll the MEMORY EDIT screen UP and DOWN

When you find your desired item amount number, just make sure, to click into that value area and use the keyboard ARROW buttons, LEFT RIGHT and navigate to the LEFT with the cursor and delete all numbers there - and ONLY LEAVE the item amount you set: enter 999 and for an other item enter 133,


then ALT+TAB back into the game and exit--then-enter SELL SCREEN again, to see which merchant items you changed to 999 and the other 133. You can then see in the list - (as you made 2 positional locators), how far or close the other 1x or 2x scroll amount merchant items are and you can change a 1x Arcane Speed trait scroll into 999. You don't need to have 3x of it, just one scroll you must gather 3x

Just proceed editing all 1's and 2's into 999 to see what's left and where you are on the MEMORY EDIT screen VS the MERCHANT screen VALUES.

You will find your newly edited values come up on the MERCHANT screen nicely. Just hunt down those remaining 1x or 2x scrolls that you missed.


6. Then go to USE ITEM, select a soldier and search for its LEVEL value in CE with value set to RPGVXTYPE
7. Then use the XP SCROLL on that soldier. Search for the new value again: Like it was level 6: you used an XP scroll now its Level 7---> search for 7 and use the XP scroll (which you maxed out to x999) again and locate the final LEVEL value in CE.
8. Click on it and press CTRL+B
9. Your are now on the MEMORY EDIT screen. On TOP LEFT there is the level value. Click into it, navigate the cursor to the LEFT and change it to 1, pressing DEL to delete everything in that one number field , only leaving 1
LEAVE this MEMORY EDIT screen as it is!!!! ALT+TAB back to the game.

10. Apply the XP SCROLL repeatedly to increase that soldier to MAX LEVEL. Then ALT+TAB back to CE and edit the MAX LEVEL value to 1 again.
11. You see that the SKL and STR and HP will increase forever, you don't even need any scrolls for these.
12. Feed this soldier the XP scrolls to max level like 3 or 4 times. He will get beefy. Because of high SKL (Dex/Agility) he will mostly DODGE heavy enemy fire: even musket or artillery!
13. Repeat this with your story characters as you want.


14. Later when you have Arcane BARRIER and BLOODLUST scrolls, apply those traits to these super units. You don't need to reach 200 STR or SKL values at all, but HP will be high.

EVEN A LONE soldier XP-Scrolled to max 3 or 4 times using the above method - single squad with 1 member - can exterminate an entire bronze level arena!

Just make sure during the story that you cover the poor weak story characters. :D

No high LDR nor large squads needed. And you won't get a painful wrist or hurting elbow while using STR and MAG and HP scrolls a MILLION TIMES... on each soldier in each squad. :D :D

In just ONE squad I have one swordmaster girl, a blue dragon and a golden 2HD-Sword champion like this. They aren't maxed out just have high HP. with higher two above traits: SKL and HP and STR, which the XP Scrolls are INCREASING FOREVER AUTOMATICALLY!!! When You re-set them back to LVL 1 their SKL, HP and STR attributes REMAIN as they were: to be increased again - on the yet another - LEVEL UP ROUND from 1 to MAX LEVEL however high level cap the game allows for you any time in the story.. They are unkillable!!

Just make sure the story characters are protected like this. You don't need to MAX out anybodies attributes, just see what values the game adds at each level up and learn. :D

You will have a large amount of LDR left to equip your most mighty and gruesome ARTIFACTS this way in a few super-soldier squads.

Now I made above squad, activated the two BOLDED traits above on my story characters and I'll see how they do on a DLC mission. It allows like 14 squad deployment, but I only deployed half of it. More won't ever be needed! :D

No need for any STR, MAG or any other attribute scrolls, as the XP Scroll automatically raises the three main attributes you'll ever need for any character. Try WIZARD characters, to see, which attributes the game automatically levels up for those.

Main advantage of this method is instant SHOP INVENTORY x999 and you don't have to painstakingly increase your party members ATTRIBUTES EACH one by one with scrolls. That would take forever! :D :D

apadfasza
What is cheating?
What is cheating?
Posts: 3
Joined: Sun Apr 12, 2020 10:36 pm
Reputation: 0

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

Post by apadfasza »

If you are brave & play on highest difficulty with permadeath, you don't even need to use XP scrolls repeatedly. Just locate and reset your hero's level, every couple chapters. He will gain experience and the game will raise his levels for you! :D Then as he reaches LVL 10 or 15, make sure to reset his level back to 1: Repeat a couple times. But you have to make sure to keep your hero[es] alive! This way may be more fun, because of risk.

Post Reply

Who is online

Users browsing this forum: Foragar, Iliandel