ThatOneSniper Posted September 10, 2016 Share Posted September 10, 2016 (edited) 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 September 10, 2016 by ThatOneSniper Quote Link to comment Share on other sites More sharing options...
Eliwan Posted September 10, 2016 Share Posted September 10, 2016 (edited) 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: (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 00I 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 September 10, 2016 by Bedimal Eliwan Quote Link to comment Share on other sites More sharing options...
ThatOneSniper Posted September 10, 2016 Author Share Posted September 10, 2016 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: (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 00I 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. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.