Ookaay, here we go. I'm going to try to explain this in text, but you'll find videos much more helpful - as I did. In fact, the videos that Stephen Chapman (SneakyMofo) posted on YouTube are all you really need. He teaches how to use Break and Trace techniques, cruise through the mono features, and write codes that enable based on mono features directly so that you can avoid AOBs, and the long delay that activating those requires. Anyway, here's a link to his YouTube channel: [URL]https://www.youtube.com/channel/UCqfqH-wq12WOm4QG4KiRisw[/URL]. Watch the videos on Terraria, as it is based on the same engine, and will follow the same technique.
Now... As for finding the Damage Stat, it was actually pretty easy. For some reason, Health is in a completely separate method from everything else. However, if you've found Stamina, then you can turn on Mono features and find everything else. On the top bar of Cheat Engine, where it says, "File," "Edit," ... etc., it also says, "Mono." Click that, then click, "Activate Mono Features." Then, open that menu again and click, "Dissect Mono." The two locations we care about are, "Assembly CSharp," and the other by the same name with, "firstpass," next to it. In this game, all you need is the first one. Now, you've found the address that stores stamina and you can modify or freeze it, yes? Great. The hardest part is over.
You could right click the address, find out what writes to this address, and it'll pull up a register with an offset of 280. That's the correct offset, but not in the correct section. You might want to perform a break and trace on that disassembled location, though. Eventually, you should come to a point in the process that points you to the method(?) Assets.Code:LivingEntity. Within the LivingEntity section in the Mono features, you just have to find a good place to inject the value you want into that address. I chose the Update function (specifically, Update+269). I had to do some manual interpretation of the code to find a good place to inject, and I needed to figure out (based on offsets listed in the Mono features) if I was even calling on the right register in the first place. It was more detective work for me than anything. To make it even easier for me, the people that coded the game even labeled that offset, "DamageStat." They labeled others similarly, and you can see all this once you've learned the Mono features. I'm still amateur, but I learned everything about all this from those videos I pointed out. Once you understand the Mono features a little bit, you'll be able to find all kinds of codes that others wouldn't bother to put in their tables.
Sorry my explanation isn't step by step or very clear, but I'd rather you learn how to do this from the expert that taught me.
Last edited by Sigan
on Thu Jan 01, 1970 12:00 am, edited 3 times in total.