Jump to content

FE8 Nightmare Monster Promotions


ThatOneSniper
 Share

Recommended Posts

Well I like to use Nightmare to so unit only run's (For example, Mounted units only) But I also wanna use some monster classes in the mix. The only problem is I don't know how to use Nightmare to Promote a Monster class, and suggestions or help??

Because I also want to try a all Monster units run.

Edited by ThatOneSniper
Link to comment
Share on other sites

Not easy and very hacky with Nightmare, however-

Nightmare is a Hex Editor at its core, just labelled nicely according to the modules. What you need is a proper Hex Editor (google, there're plenty of great free ones such as HxD) and some way to hold your manipulations as well (e.g. notepad).

If you want to change the class of all your units to monsters, then repointing every single one of the promotion items to promote the same list of lasses would be fine.

Promotion Items point to a 00 terminated list of bytes in the rom. Each of the bytes corresponds to a class that that item is able to promote.

For example, the Hero Crest's "promotion pointer" is 088ADF57. This means that it points to 008ADF57 in the actual hex dump of the ROM, which (in HxD) is:

unknown.png

(The highlighted portion shows us the classes the item promotes)

Non-image replication:

Offset(h)  [00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F]
008ADF40    59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 3B 7C 
008ADF40    7D 51 00 3D 3E 47 00 0F 10 13 14 3F 7E 00 05 06 
008ADF40    09 0A 37 00 19 1A 00 48 1F 20 00 45 4A 25 26 44 
008ADF40    2D 2E 4B 7F 00 00 0F 10 13 14 3F 42 41 05 06 09 
We care about 008ADF57 ~ 008ADF66 in this instance, which contains "0F 10 13 14 3F 7E 00 05 06 09 0A 37 00 19 1A 00", as the list of classes this item promotes.

As I've actually done this exact thing many times I happen to have the list already prepared, but what it is is the list of unpromoted monster class IDs, which was compiled using Nightmare to check.

52 54 56 58 5B 5D 5F 63 00
I believe that the monster classes are already pointed to promote to their elite-r variants, but just in case, check in the Class editors to make sure that the Tarvos promotes to the Maelduin, the Bonewalker (Sword/Lance) promotes to the Wight (Sword/Lance), etc. because otherwise this doesn't work.

If you want less intensive edited thing, you can repoint every single promotion item's promotion pointer to point to the same space in ROM; so that you don't have to edit the drops. (Or I suppose you could customize each promotion item to promote a given monster class group)

Regardless, the method is the same. You open the ROM in HxD and navigate to some free space or the end of the rom. I personally recommend starting at 00B2A610 if you don't want to expand the rom size-- this means pointing every promotion item to this space. Pointers need to point to (ROM address + 0800000), so 08B2A610 is the pointer you'll want in this instance.

Then, after making all of those edits in nightmare, save the ROM, quit Nightmare, and open the ROM in HxD. Goto offset (CTRL+G in windwos) 00B2A610, and paste-ovewrite (CTRL+B in windows) in the class list above, reproduced here:

52 54 56 58 5B 5D 5F 63 00
DO NOT PASTE INSERT (ctrl + v). IT WILL BREAK THE ROM.

Then Save the ROM, close HxD, and play it.

Note that this only edits the promotions; so you'd need to do something else if you wanted to edit the classes of the characters (codebreaker codes being the easiest), though I believe that Nightmare can handle that component.

Edited by Bedimal Eliwan
Link to comment
Share on other sites

Not easy and very hacky with Nightmare, however-

Nightmare is a Hex Editor at its core, just labelled nicely according to the modules. What you need is a proper Hex Editor (google, there're plenty of great free ones such as HxD) and some way to hold your manipulations as well (e.g. notepad).

If you want to change the class of all your units to monsters, then repointing every single one of the promotion items to promote the same list of lasses would be fine.

Promotion Items point to a 00 terminated list of bytes in the rom. Each of the bytes corresponds to a class that that item is able to promote.

For example, the Hero Crest's "promotion pointer" is 088ADF57. This means that it points to 008ADF57 in the actual hex dump of the ROM, which (in HxD) is:

unknown.png

(The highlighted portion shows us the classes the item promotes)

Non-image replication:

Offset(h)  [00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F]
008ADF40    59 5A 5B 5C 5D 5E 5F 60 61 62 63 64 65 66 3B 7C 
008ADF40    7D 51 00 3D 3E 47 00 0F 10 13 14 3F 7E 00 05 06 
008ADF40    09 0A 37 00 19 1A 00 48 1F 20 00 45 4A 25 26 44 
008ADF40    2D 2E 4B 7F 00 00 0F 10 13 14 3F 42 41 05 06 09 
We care about 008ADF57 ~ 008ADF66 in this instance, which contains "0F 10 13 14 3F 7E 00 05 06 09 0A 37 00 19 1A 00", as the list of classes this item promotes.

As I've actually done this exact thing many times I happen to have the list already prepared, but what it is is the list of unpromoted monster class IDs, which was compiled using Nightmare to check.

52 54 56 58 5B 5D 5F 63 00
I believe that the monster classes are already pointed to promote to their elite-r variants, but just in case, check in the Class editors to make sure that the Tarvos promotes to the Maelduin, the Bonewalker (Sword/Lance) promotes to the Wight (Sword/Lance), etc. because otherwise this doesn't work.

If you want less intensive edited thing, you can repoint every single promotion item's promotion pointer to point to the same space in ROM; so that you don't have to edit the drops. (Or I suppose you could customize each promotion item to promote a given monster class group)

Regardless, the method is the same. You open the ROM in HxD and navigate to some free space or the end of the rom. I personally recommend starting at 00B2A610 if you don't want to expand the rom size-- this means pointing every promotion item to this space. Pointers need to point to (ROM address + 0800000), so 08B2A610 is the pointer you'll want in this instance.

Then, after making all of those edits in nightmare, save the ROM, quit Nightmare, and open the ROM in HxD. Goto offset (CTRL+G in windwos) 00B2A610, and paste-ovewrite (CTRL+B in windows) in the class list above, reproduced here:

52 54 56 58 5B 5D 5F 63 00
DO NOT PASTE INSERT (ctrl + v). IT WILL BREAK THE ROM.

Then Save the ROM, close HxD, and play it.

Note that this only edits the promotions; so you'd need to do something else if you wanted to edit the classes of the characters (codebreaker codes being the easiest), though I believe that Nightmare can handle that component.

A lot to take in but it work, so Thanks.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...