A Few Small Assembly Shenanagins

#1

I will most certainly be adding to this in the future, but I figured I’d start with 2 Projects I designed that mess with the rng of FE. One of which has been done before, but I don’t believe it has been done for FE8, which is what I did it for. The other is something only someone out of their mind would do.

The first one makes it so in FE8, normal mode double rng gets rolled and in hard mode single rng gets rolled. The second one basically reverses hit. So if you have a 100 percent chance to hit in vanilla fe8, you’d now have a zero percent chance to hit. This does not apply exclusively to hit, but rather anything that uses double rng in vanilla in FE8. Good luck getting sword units to hit. Good luck trying to hit at all for that matter.

You can download both of them here!

If you want to look at the source code for these hacks, then that can be found here

I will hopefully be adding to this as I create more engine hacks like this. Have fun tearing out your hair at the miss hack.

3 Likes
#2

Suggestion: have single RN tied to an arbitrary global EID. That way it can be toggled on/off at your leisure.

2 Likes
#3

That would be a good way to do it, and I might revise it in the future. I’d rather mess around with some other things before doing that however.

#4

Is there an existing single rng hack?
I like your idea of doing double for normal and single for hard, but I just want to use single for the game I’m making rn. (I guess I could just use yours and limit the player to only 1 mode.)

1 Like
#6

I think you accidentally uploaded the inverse rng file twice. I had to download the source code in order for single rng to work. (seth’s 100% were missing)

1 Like
#7

I’ll fix it as soon as I can. Also if you want a single rng hack, all you gotta do is change a few bytes in the ROM. I have documentation on it somewhere. If you know a your way around a hex editor (or EA) you could do this yourself.

Edit: the rng mode hack should be working now.

Edit 2:
ORG 0xcc6
SHORT 0x46C0 0x46C0 0x46C0 0x46C0

if you understand EA, then that should make it so the game rolls 1 RNG all the time. I do it this way because to be honest, it isn’t worth it compiling an asm file just to basically nullify the second rng roll, so i manually nulled it with a little raw code.

1 Like
#8

This is not a raw assembly hack, but rather so much as changing a few addresses and function calls around, but I will be including them here anyway.

This one is less user friendly than the other ones as they are more stuff a hack creator would include in their hack rather than someone play through vanilla fe8 with.

This is a simple rewrite of devil reversal so if it goes off it damages you and and the enemy. I like setting the rate to 100 percent here, but you could honestly set the rate to whatever you want.

#define rate 0x7f //define rate here
ORG 0xB55BA2
BYTE rate 0x21 //set backfire rate
ORG 0x2B69E
BYTE 0xC0 0x46 0xC0 0x46 0xC0 0x46 0xC0 0x46 0xC0 0x46 0xC0 0x46 rate 0x20 //set backfire rate again (not sure if this one is needed, but better safe than sorry)
ORG 0x2B6C6
BYTE 0xC0 0x46 0xC0 0x46 //Make devil axe damage you and the defender

2 Likes