Page 28 of 31

Re: Tactics Ogre: Reborn [+119] Updated for Ver.1.04

Posted: Wed Feb 15, 2023 10:49 am
by cryosaur
cryosaur wrote:
Mon Feb 13, 2023 1:15 pm
MasterVegito wrote:
Sun Feb 12, 2023 4:53 pm
Folks, can you somehow force the game to recognize for instance First Aid skill, the one that restores HP every tick, on a warrior but without using learn all skills script? Or is this only possible with using learn all skills script, whcih unlocks every skill in the game?
You can, but the game doesn't like it. Any edits to the Skills table causes some skills to be inaccessible for some yet undiscovered reason; for instance, when I gave my Rune Knight that First Aid skill, Concentration disappears from my skill list though I still know the skill. Happens with the "Learn All Skills" script too. Not that Concentration is super great, but Pincer Attack and Lobber also become inaccessible skills, maybe some others.

If someone figures out how the extra skills on a Bodysnatched unit are stored, we can try that method. /shrug The devs rolled out some really shoddy code.
Turns out, I was doing something wrong in my CT which caused the game to bug out which "hid" the skills; the "Learn All Skills" script and other Skill data tampering works fine. If you still want it, I can provide a CT block that will let you learn the First Aid (HP) skill on a target class.

Re: Tactics Ogre: Reborn [+119] Updated for Ver.1.04

Posted: Wed Feb 15, 2023 12:18 pm
by MasterVegito
cryosaur wrote:
Wed Feb 15, 2023 10:49 am
cryosaur wrote:
Mon Feb 13, 2023 1:15 pm
MasterVegito wrote:
Sun Feb 12, 2023 4:53 pm
Folks, can you somehow force the game to recognize for instance First Aid skill, the one that restores HP every tick, on a warrior but without using learn all skills script? Or is this only possible with using learn all skills script, whcih unlocks every skill in the game?
You can, but the game doesn't like it. Any edits to the Skills table causes some skills to be inaccessible for some yet undiscovered reason; for instance, when I gave my Rune Knight that First Aid skill, Concentration disappears from my skill list though I still know the skill. Happens with the "Learn All Skills" script too. Not that Concentration is super great, but Pincer Attack and Lobber also become inaccessible skills, maybe some others.

If someone figures out how the extra skills on a Bodysnatched unit are stored, we can try that method. /shrug The devs rolled out some really shoddy code.
Turns out, I was doing something wrong in my CT which caused the game to bug out which "hid" the skills; the "Learn All Skills" script and other Skill data tampering works fine. If you still want it, I can provide a CT block that will let you learn the First Aid (HP) skill on a target class.
I would, yes, thank you

Re: Tactics Ogre: Reborn [+119] Updated for Ver.1.04

Posted: Wed Feb 15, 2023 4:02 pm
by cryosaur
Alright. I modified the Mods section of my CT a bit from my previous post(s). Here is the part that adds First Aid to the Rune Fencer class:

Code: Select all

<CheatEntry>
  <Description>"Mods"</Description>
  <Options moHideChildren="1"/>
  <Color>800080</Color>
  <GroupHeader>1</GroupHeader>
  <CheatEntries>
    <CheatEntry>
      <Description>"Skills"</Description>
      <Color>800080</Color>
      <VariableType>String</VariableType>
      <Length>4</Length>
      <ZeroTerminate>0</ZeroTerminate>
      <Address>Tactics Ogre Reborn.exe+D616B8</Address>
      <Offsets>
        <Offset>0</Offset>
      </Offsets>
      <CheatEntries>
        <CheatEntry>
          <Description>"First Aid I"</Description>
          <Color>800080</Color>
          <VariableType>Byte</VariableType>
          <Address>+10+66*1BF</Address>
          <CheatEntries>
            <CheatEntry>
              <Description>"Class Set - RuneFencer: 10"</Description>
              <Color>800080</Color>
              <VariableType>Byte</VariableType>
              <Address>+15</Address>
              <Hotkeys>
                <Hotkey>
                  <Action>Set Value</Action>
                  <Keys>
                    <Key>17</Key>
                    <Key>32</Key>
                  </Keys>
                  <Value>10</Value>
                </Hotkey>
              </Hotkeys>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <Description>"First Aid II"</Description>
          <Color>800080</Color>
          <VariableType>Byte</VariableType>
          <Address>+10+66*1C0</Address>
          <CheatEntries>
            <CheatEntry>
              <Description>"Class Set - RuneFencer: 22"</Description>
              <Color>800080</Color>
              <VariableType>Byte</VariableType>
              <Address>+15</Address>
              <Hotkeys>
                <Hotkey>
                  <Action>Set Value</Action>
                  <Keys>
                    <Key>17</Key>
                    <Key>32</Key>
                  </Keys>
                  <Value>22</Value>
                </Hotkey>
              </Hotkeys>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <Description>"First Aid III"</Description>
          <Color>800080</Color>
          <VariableType>Byte</VariableType>
          <Address>+10+66*1C1</Address>
          <CheatEntries>
            <CheatEntry>
              <Description>"Class Set - RuneFencer: 34"</Description>
              <Color>800080</Color>
              <VariableType>Byte</VariableType>
              <Address>+15</Address>
              <Hotkeys>
                <Hotkey>
                  <Action>Set Value</Action>
                  <Keys>
                    <Key>17</Key>
                    <Key>32</Key>
                  </Keys>
                  <Value>34</Value>
                </Hotkey>
              </Hotkeys>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
        <CheatEntry>
          <Description>"First Aid IV"</Description>
          <Color>800080</Color>
          <VariableType>Byte</VariableType>
          <Address>+10+66*1C2</Address>
          <CheatEntries>
            <CheatEntry>
              <Description>"Class Set - RuneFencer: 50"</Description>
              <Color>800080</Color>
              <VariableType>Byte</VariableType>
              <Address>+15</Address>
              <Hotkeys>
                <Hotkey>
                  <Action>Set Value</Action>
                  <Keys>
                    <Key>17</Key>
                    <Key>32</Key>
                  </Keys>
                  <Value>50</Value>
                </Hotkey>
              </Hotkeys>
            </CheatEntry>
          </CheatEntries>
        </CheatEntry>
      </CheatEntries>
    </CheatEntry>
  </CheatEntries>
</CheatEntry>
Code Comments
The game loads many data tables into memory in random spots and keeps pointers to their locations. The "Skills" CheatEntry has the address of the pointer to where the skills data is. The first child CheatEntry uses an offset for its address--starts with a +. The header for each data table is 0x10 bytes wide, Skill records are 0x66 bytes wide, and the First Aid 1 (HP) skill is the 448th record so skip 447 = 0x1BF of them. The child CheatEntry is also an offset from where its parent is--address starts with a +. The Learn/Equip at Class Set Level value for the Rune Fencer class is at byte 0x15 in a Skill record.
The Rune Fencer class will gain the First Aid skill at the same levels as the Lord class does. The hotkey is set to Ctrl+Space; use it after the intro logos--when the movie starts playing--to apply the mods. They don't need to be activated/toggled (checkbox checked); the hotkey will write the value and the game does not overwrite or move this data once it is loaded into memory.

If you'd like to use it with another or multiple classes, you'll have to modify it a bit.
Skills record hex address offset list of Class Sets
+10 Boss (enemy-only)
+11 Warrior
+12 Archer
+13 Wizard
+14 Cleric
+15 Rune Fencer
+16 Knight
+17 Terror Knight
+18 Berserker
+19 Swordmaster
+1A Dragoon
+1B Ninja
+1C Rogue
+1D Fusilier
+1E Beast Tamer
+1F Warlock
+20 Necromancer
+21 Lich
+22 Divine Knight
+23 Hoplite
+24 Juggernaut
+25 Patriarch
+26 Familiar
+27 Incubus (enemy-only)
+28 [unused]
+29 [unused]
+2A Boogeyman (enemy-only)
+2B Cloud Dragon
+2C Earth Dragon
+2D Thunder Dragon
+2E Flood Dragon
+2F Flame Dragon
+30 Frost Dragon
+31 Arc Dragon
+32 Dark Dragon
+33 Hydra
+34 Clay Golem
+35 Stone Golem
+36 Iron Golem
+37 Baldur Golem
+38 Gryphon
+39 Cockatrice
+3A Octopus
+3B Cyclops
+3C Lord
+3D Ranger
+3E Priest
+3F Dark Priest
+40 Princess
+41 Paladin
+42 Astromancer
+43 Vartan
+44 White Knight
+45 Shaman
+46 Wicce
+47 Songstress
+48 Buccaneer
+49 Knight Commander
+4A Scylla/Naga (enemy-only)
+4B Phoenix (enemy-only)
+4C Rukh (enemy-only)
+4D [unused]
+4E [unused]
+4F [unused]

Re: Tactics Ogre: Reborn [+119] Updated for Ver.1.04

Posted: Wed Feb 15, 2023 4:45 pm
by MasterVegito
Sorry, I think I am doing something wrong. I copied this entry you posted, entered it into my ct as a text file, the table boots, the hotkey works, inputs the values, but nothing happens. 7FF781321660 shows a value of ?C1? is that supposed to be this way?

I think I knew where the issue was, First aid 1 is 447th not 448, thats probably why it didn't work. But I tried changing that 0x1BF to 0x1BE, since First Aid II and III and IV are correct, but to no avail
Spoiler
<?xml version="1.0" encoding="utf-8"?>
<CheatTable CheatEngineTableVersion="42">
<CheatEntries>
<CheatEntry>
<ID>1012</ID>
<Description>"Setting skills to a class "</Description>
<Options moHideChildren="1"/>
<GroupHeader>1</GroupHeader>
<CheatEntries>
<CheatEntry>
<ID>1013</ID>
<Description>"Skills"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>String</VariableType>
<Length>4</Length>
<Unicode>0</Unicode>
<CodePage>0</CodePage>
<ZeroTerminate>1</ZeroTerminate>
<Address>Tactics Ogre Reborn.exe+D616B8</Address>
<Offsets>
<Offset>0</Offset>
</Offsets>
<CheatEntries>
<CheatEntry>
<ID>1014</ID>
<Description>"First Aid I"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Byte</VariableType>
<Address>+10+66*1BE</Address>
<CheatEntries>
<CheatEntry>
<ID>1015</ID>
<Description>"Class Set - RuneFencer: 10"</Description>
<VariableType>Byte</VariableType>
<Address>+15</Address>
<Hotkeys>
<Hotkey>
<Action>Set Value</Action>
<Keys>
<Key>17</Key>
<Key>32</Key>
</Keys>
<Value>10</Value>
<ID>0</ID>
</Hotkey>
</Hotkeys>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>1016</ID>
<Description>"First Aid II"</Description>
<ShowAsSigned>0</ShowAsSigned>
<VariableType>Byte</VariableType>
<Address>+10+66*1C0</Address>
<CheatEntries>
<CheatEntry>
<ID>1017</ID>
<Description>"Class Set - RuneFencer: 22"</Description>
<VariableType>Byte</VariableType>
<Address>+15</Address>
<Hotkeys>
<Hotkey>
<Action>Set Value</Action>
<Keys>
<Key>17</Key>
<Key>32</Key>
</Keys>
<Value>22</Value>
<ID>0</ID>
</Hotkey>
</Hotkeys>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>1018</ID>
<Description>"First Aid III"</Description>
<VariableType>Byte</VariableType>
<Address>+10+66*1C1</Address>
<CheatEntries>
<CheatEntry>
<ID>1019</ID>
<Description>"Class Set - RuneFencer: 34"</Description>
<VariableType>Byte</VariableType>
<Address>+15</Address>
<Hotkeys>
<Hotkey>
<Action>Set Value</Action>
<Keys>
<Key>17</Key>
<Key>32</Key>
</Keys>
<Value>34</Value>
<ID>0</ID>
</Hotkey>
</Hotkeys>
</CheatEntry>
</CheatEntries>
</CheatEntry>
<CheatEntry>
<ID>1020</ID>
<Description>"First Aid IV"</Description>
<VariableType>Byte</VariableType>
<Address>+10+66*1C2</Address>
<CheatEntries>
<CheatEntry>
<ID>1021</ID>
<Description>"Class Set - RuneFencer: 50"</Description>
<VariableType>Byte</VariableType>
<Address>+15</Address>
<Hotkeys>
<Hotkey>
<Action>Set Value</Action>
<Keys>
<Key>17</Key>
<Key>32</Key>
</Keys>
<Value>50</Value>
<ID>0</ID>
</Hotkey>
</Hotkeys>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatEntry>
</CheatEntries>
</CheatTable>
^ this is how my CT looks, I don't think it's the formatting, but I am a newbie at this, so who knows

Re: Tactics Ogre: Reborn [+119] Updated for Ver.1.04

Posted: Wed Feb 15, 2023 7:53 pm
by cryosaur
MasterVegito wrote:
Wed Feb 15, 2023 4:45 pm
Sorry, I think I am doing something wrong. I copied this entry you posted, entered it into my ct as a text file, the table boots, the hotkey works, inputs the values, but nothing happens. 7FF781321660 shows a value of ?C1? is that supposed to be this way?

I think I knew where the issue was, First aid 1 is 447th not 448, thats probably why it didn't work. But I tried changing that 0x1BF to 0x1BE, since First Aid II and III and IV are correct, but to no avail

/snip

^ this is how my CT looks, I don't think it's the formatting, but I am a newbie at this, so who knows
The Skills entry should be something like Address: P->{some address}, Value: xlce. If it does not say "xlce", then... you've got a different version of the game? First Aid 1 (HP version) is the 447th if you count the first entry as number 0; most of the Tactics Ogre data tables have a blank first record that stands for Nothing/None. Is your game not the PC v1.04?

Re: Tactics Ogre: Reborn [+119] Updated for Ver.1.04

Posted: Wed Feb 15, 2023 8:25 pm
by MasterVegito
cryosaur wrote:
Wed Feb 15, 2023 7:53 pm
MasterVegito wrote:
Wed Feb 15, 2023 4:45 pm
Sorry, I think I am doing something wrong. I copied this entry you posted, entered it into my ct as a text file, the table boots, the hotkey works, inputs the values, but nothing happens. 7FF781321660 shows a value of ?C1? is that supposed to be this way?

I think I knew where the issue was, First aid 1 is 447th not 448, thats probably why it didn't work. But I tried changing that 0x1BF to 0x1BE, since First Aid II and III and IV are correct, but to no avail

/snip

^ this is how my CT looks, I don't think it's the formatting, but I am a newbie at this, so who knows
The Skills entry should be something like Address: P->{some address}, Value: xlce. If it does not say "xlce", then... you've got a different version of the game? First Aid 1 (HP version) is the 447th if you count the first entry as number 0; most of the Tactics Ogre data tables have a blank first record that stands for Nothing/None. Is your game not the PC v1.04?
That was the case indeed, thanks

Re: Tactics Ogre: Reborn [+119] Updated for Ver.1.04

Posted: Wed Feb 15, 2023 9:00 pm
by cryosaur
Oh? Did you want help finding the pointer to the Skills table for your game version? It's not too difficult to find.

Re: Tactics Ogre: Reborn [+119] Updated for Ver.1.04

Posted: Wed Feb 15, 2023 9:11 pm
by MasterVegito
I won't lie, this was a little ocnfusing to me at first, because, as usual, greed is intoxicating, so I immediately tried to that for different classes. And I figured it out, still, kudos for coming up with this from the scratch, I merely matched the numbers

Re: Tactics Ogre: Reborn [+119] Updated for Ver.1.04

Posted: Thu Feb 16, 2023 10:16 pm
by HHhomeless
i know this is an old thred so doubt ill get a response but is there anyway do edit the charm ammounts. (i activated the max charms and so everything is at 999 but i want to get rid of them)

Re: Tactics Ogre: Reborn [+119] Updated for Ver.1.04

Posted: Fri Feb 17, 2023 2:55 pm
by MasterVegito
HHhomeless wrote:
Thu Feb 16, 2023 10:16 pm
i know this is an old thred so doubt ill get a response but is there anyway do edit the charm ammounts. (i activated the max charms and so everything is at 999 but i want to get rid of them)
You can always use the inventory list under data -> item list and just set them to 0.

Re: Tactics Ogre: Reborn [+119] Updated for Ver.1.04

Posted: Sat Feb 25, 2023 11:21 pm
by Elrufi
Does anyone know what cheat I can use to reset all character's level and stats? I want to restart a new game playthrough with all my recruited characters in low levels and choose a different class for their stat growth

Re: Tactics Ogre: Reborn [+119] Updated for Ver.1.04

Posted: Sun Feb 26, 2023 2:31 am
by cryosaur
Elrufi wrote:
Sat Feb 25, 2023 11:21 pm
Does anyone know what cheat I can use to reset all character's level and stats? I want to restart a new game playthrough with all my recruited characters in low levels and choose a different class for their stat growth
I don't think there is a Script for this, but you can do it manually for each unit.

First, you need to add to your CT the extra place that a Unit's Level is stored. In "Data" > "Current Stats" > "Basic", right-click the "Level" entry and Copy it. Right-click it again and Paste; in the popup, set Adjust Pointer Last Offset By: CA

For each unit you want to reset, set both Level values to 1, EXP to 0, and set 0 in all of the "Class Growth" and "Random Bonus" stats.

Re: Tactics Ogre: Reborn [+119] Updated for Ver.1.04

Posted: Mon Feb 27, 2023 3:53 am
by Blandation
Goofy question....so while I have the portrait and sprite codes that I've been helped with earlier working.....the addresses seem to reset with each play and I have to re-create them again. Any idea what gives? The character address for Denam and Vyce are different each time and I don't understand why. After setting the value to their proper numbers for the old portraits, for example 119 for denam and 630 for ch1 vyce, when reloading the script, the values become ?? and cannot be changed.

Re: Tactics Ogre: Reborn [+119] Updated for Ver.1.04

Posted: Mon Feb 27, 2023 6:13 am
by cryosaur
Blandation wrote:
Mon Feb 27, 2023 3:53 am
Goofy question....so while I have the portrait and sprite codes that I've been helped with earlier working.....the addresses seem to reset with each play and I have to re-create them again. Any idea what gives? The character address for Denam and Vyce are different each time and I don't understand why. After setting the value to their proper numbers for the old portraits, for example 119 for denam and 630 for ch1 vyce, when reloading the script, the values become ?? and cannot be changed.
Hmm. Can you attach your CT so I can see what's wrong?

Re: Tactics Ogre: Reborn [+119] Updated for Ver.1.04

Posted: Mon Feb 27, 2023 1:44 pm
by Blandation
cryosaur wrote:
Mon Feb 27, 2023 6:13 am
Blandation wrote:
Mon Feb 27, 2023 3:53 am
Goofy question....so while I have the portrait and sprite codes that I've been helped with earlier working.....the addresses seem to reset with each play and I have to re-create them again. Any idea what gives? The character address for Denam and Vyce are different each time and I don't understand why. After setting the value to their proper numbers for the old portraits, for example 119 for denam and 630 for ch1 vyce, when reloading the script, the values become ?? and cannot be changed.
Hmm. Can you attach your CT so I can see what's wrong?
You'll notice in the data section there's the old addresss from a previous playthrough. Once I close the game, it immediately switches the value to ?? . I took it from current stats/highlight but removed the pointer.