Jump to content

Vennobennu

Member
  • Posts

    469
  • Joined

  • Last visited

Posts posted by Vennobennu

  1. Here's all the offsets for all player units in FE8:

    [spoiler=Long]FE8 Player units: Character names are listed in the same order as their offsets, generally
    I left out a few cutscene appearances of characters, but gameplay-wise this is complete.

    Prologue: Seth, Eirika
    8B3C14,8B3C28

    Chapter 1: Franz, Gilliam
    8B417C,8B4190

    Chapter 2:
    Vanessa, Moulder, Ross, Garcia
    (they appear several times so I'll just list them all. Also note that Vanessa is scripted to move on a peak - watch out)
    8B431C,8B43D0,8B43E4,8B440C,8B4434,8B4448

    Chapter 3: Neimi, Colm
    8B45EC,8B4718

    Chapter 4: Artur (8B4BD4 has a scripted battle) & Lute, (L'Arachel, Rennac, Dozla)
    8B4918,8B4BD4,8B4BFC,(8B4CD8,8B4CEC,8B4D00)

    Chapter 5: Joshua & Natasha (not sure which is right,so here's all)
    8B5644,8B5914,8B593C,8B5950,8B59C8

    Chapter 5x: Ephraim, Forde, Kyle, Orson
    8B5A64,8B5A78,8B5A8C,8B5AA0

    Chapter 8: Forde, Kyle (If killed in Chapter 5x)
    8B760C,8B7620

    Chapter 9A: Tana, Amelia
    8B7C20,8B80F8,8B8170

    Chapter 10A: Marisa,Innes,Gerik,Tethys
    8B8824,8B898C,8B89A0,8B89B4

    Chapter 11A: L'Arachel, Dozla
    8B9CCC,8B9CE0

    Chapter 12A: Saleh, Ewan (Last two are cutscene-only probably)
    8BA184,8BA5D0,8BA5F8,8BA670

    Chapter 13A: Cormag (Starts on and paths to peak tiles), Amelia (if not recruited in 9A)
    8BAED4,8BAF10

    Chapter 14A: Rennac (will probably want to give him door keys or something)
    8BBF90

    Chapter 15A: Knoll, Duessel
    8BCAD4,8BCAFC

    Chapter 9B: Amelia, Tana
    8C26B0,8C26D8,8C282C

    Chapter 10B: Duessel, Cormag (Paths over ocean and cliff tiles)
    8C2FB0,8C3050

    Chapter 11B: Dozla, L'Arachel
    8C401C,8C4030

    Chapter 12B: Marisa (incredibly still at level 5....),Ewan
    8C48AC,8C4AB4

    Chapter 13B: Tethys, Gerik
    8C5288,8C529C

    Chapter 14B: Knoll, Rennac (should probably get Chest Keys)
    8C6444,8C646C

    Chapter 15B: Innes, Saleh
    8C72D8,8C72EC

    Chapter 16A/B: Myrrh
    8BCE94,8C7710

    Chapter 17A/B: Syrene
    8BE164

  2. 11A's design is definitely good, but I don't appreciate how suicidal Klein and Tate's NPCs are. I suppose you're able to kill everything important before they can put themselves in harm's way, but like you said I don't think IS anticipated the player moving that fast.

    It's why I like Fe12 better, you don't have to contend with idiotic allies.

    Fe6 is rougher around the edges than the later games, but it's generally more challenging than the other GBA games so I can't fault it too much. Being able to play around with Warp and long-range tomes in the midgame is a plus too.

  3. Nice strats to split up those enemies! Much more elegant than what I've done personally. Do you think you'll be using all three Altean cavs? I don't remember anybody doing that before so it would be interesting to see.

    I do like that this chapter was done in post, your commentary is noticeably more focused and clear. Something which I've seen some people do is record their first blind attempt live, then only show highlights and the successful run after that. Might be a cool format for this game.

  4. Sorry for not responding sooner, I've been on vacation and have spent little of my time at a computer.

    But yeah, this wasn't presented well previously, so I've updated the OP and the download. Now you can just patch with CT075's patcher and edit the boosts given directly with some Nightmare modules. There's also a separate link to the raw data, so if you just want to install it by itself you can do that. I've also made the full download into a mere folder, as it indeed isn't large at all. You live and you learn I suppose.

    It helped me a lot. A combination of your tutorial, doc on gbadev and talking to Alex on skype.

    As for this hack, how flexible is it? Eg can you set bonuses for ranks below C, how many bonuses can you set etc

    The way it's set up, you can assign bonuses for four ranks - personally, I don't see the point in giving bonuses for D or E ranks, as most all units will just start out with that already.

    Each rank for each weapon type can independently boost up to three different stats. I think that's plenty (and it's best to keep this mechanic simple imo), but allowing for more would also be a simple change.

    So much ASM hacking, yay~

    I wonder if my ASM tutorial came in handy for anyone yet, it's nice that ASM hacking is becoming a more common thing that more people can do

    Your ASM tutorial was definitely handy, especially for the links to thumbref and other references, and your example routines.

    But, I think what was most helpful for me was reading through the game's routines with a debugger, being able to see what the game was doing and how. After using a debugger, assembly became ten times easier to understand for me, just for being able to see what the code is doing and change it readily.

  5. For FE8, your money is stored at 0x0202BCF8, so the routine would go like so:

    01 49 02 48 08 60 70 47 F8 BC 02 02 04 03 02 01
    

    (Hope you don't mind Brendor, just wanted to include this for completeness's sake.)

  6. This hack allows you to give different weapon rank bonuses for the seven weapon types, and further divides those bonuses into separate bonuses for S-,A-,B- and C-rank. The hack can be installed in any region of free space you have; I recommend using Camtech's Assembly Patcher for convenience.

    All the changes show up on the status screen and such. By default, the FE12 bonuses are used for C to A ranks (so bows, lances and all tomes give the same bonuses), and S-ranks give an additional 5 hit and crit. That can be changed using either the .asm source file, or some Nightmare modules I've included with the hack. Changing the values of the bonuses - and the stats to be changed - is as simple as changing a couple of values.

    Additionally, the hack now supports Weapon Triangle disadvantage negating the unit's weapon rank bonuses, though this is an optional component.

    To quickly install using the hex itself, which you can find here, do the following:

    1. Copy all the data to a region of free space. You'll need 0x34F free bytes.
    2. At 0x2AD68 for FE8, or 0x2898C for FE7, paste the following code:

      00 4B 18 47
      YY YY YY YY

      Where "YY YY YY YY" represents a pointer to where you pasted the data, +1.
      ex. to point to 0xB2A610, add 0x8000001, then reverse the bytes.

      08 B2 A6 11 -> 11 A6 B2 08

    Otherwise, follow the instructions included with the full download.

    Here's the link for that. Enjoy!

  7. Please continue, hahah. Like I said, not all that well versed on FE8, so having a good chapter depends on what I hear from the people who actually event for it.

    Well alright then! Here's how the CHAI command functions in FE8. Like MOVE, it's split up into two commands: _0x3920 and _0x3921.

    _0x3920 changes the AI of a unit based on its character ID. First you use _SETVAL 0x1 to define its new AI:

    _SETVAL 0x1 0x44332211 //AI Bytes 4,3,2,1

    Then you use _0x3920 to enact the change:

    _0x3920 0xCC //Character ID to change

    Take note that this will change the AI of all units with that character ID. You can thus cause an entire group of units to charge with one code, if they all share a character ID.

    If that's not practical, we can use _0x3921 to change the AI of units by coordinates. It's a little more complicated, however...

    First we use _SETVAL 0x1, but this time we use it to store the coordinates of the unit; then we define the new AI to use with _SETVAL 0x2 then we write _0x3921 0xFFFF, like so:

    _SETVAL 0x1 0x020006 //The unit at [06,02] will have its AI changed
    _SETVAL 0x2 0x10000 //The unit's new AI will be [0x0,0x0,0x1,0x0]
    _0x3921 0xFFFF //Changes the AI of a unit from coordinates defined above

    Now, if you want to change the AI of a whole lot of units at once, it's not necessary to repeat this over and over again. There's a way to define the coordinates of all the units you want to change, then change all of them at once. For each unit whose AI you want to change, set their coordinates with _SETVAL 0x1, followed by '_SAVEFORBATTLE':

    _SETVAL 0x1 0x20006
    _SAVEFORBATTLE
    _SETVAL 0x1 0x30008
    _SAVEFORBATTLE
    //etc...
    

    What _SAVEFORBATTLE does is place the value in memory slot 1 into a queue; the first one to be saved is the first to be read. This is important for other areas, but for now just now that this lets us store all these coordinates together.

    Next, set the new AI with _SETVAL 0x2. Finally, we'll make all these changes at once with this loop:

    AIChange:
    ENIF 0x0
    _0x0C44 0x1 0xD 0x0 // Checks if the queue is empty; if and only if it is, skip to ENIF 0x1
    _0x0620 0x21 // I'm not sure what this does! Whatever it is, it's everywhere
    _0x0722 0xB // Moves to the next set of coords
    _0x3921 0xFFFF // The actual AI changer
    ELSE 0x0 // If we're not done, go back up top
    ENIF 0x1
    ENDA
    

    One more thing! If you want an enemy to go from a passive to an aggressive AI, make sure their fourth AI byte is empty. Setting it to 0x20, 'Stand Still', will mess up their targeting after the AI change and not allow them to attack after moving. You can see this problem with the Soldier near Gilliam in Chapter 1. Something like [0x3,0x3,0x9,0x0] works well for their starting AI.

  8. I'd find an LTC run pretty interesting. You might consider going without Hellios after Chapter 1 though - he can pretty well smash most of the chapters by himself even when his Warp Sword breaks.

    (As for 0% growths, I can't think of any real sticking points - C7 and C8 might be tough, but not unbearably so)

  9. An FE8-specific chapter would certainly be a good idea; there's lot of things that FE8 does differently - a lot of commands are split up into two parts like _MOVE, where you have to _SETVAL the change to be made, followed by the unit to change; the pointer table is set up differently; and there's a lot of commands in FE8 that have no equivalent in FE7. There is, for instance, a dedicated counting system so you don't need to mess around with Event ID's or conditional chains.

    The PointerList, for instance:

    PointerList:
    POIN TurnBasedEvents
    POIN CharacterBasedEvents
    POIN LocationBasedEvents
    POIN MiscBasedEvents
    POIN Dunno1 Dunno2 Dunno3 Tutorial
    POIN Traps1 Traps2
    POIN Units Units_HM
    POIN SkirmishUnitsAlly1 SkirmishUnitsAlly2 SkirmishUnitsAlly3
    POIN SkirmishUnitsEnemy1 SkirmishUnitsEnemy2 SkirmishUnitsEnemy3
    POIN BeginningScene EndingScene

    While FE7 has four pointers for your units on Eliwood/Hector and Normal/Hard, FE8 has just two; one each for your party on Normal and Hard mode. And of course there are the pointers to FE8-exclusive stuff.

    The counting system, as seen in C14 Ephraim, allows reinforcements to spawn for four turns regardless of the overall turn count:

    label26://AREA event that lets reinforcements spawn twice on Normal and four times on Hard. ID 0xC
    _0x0F21 0x200//Sets value to compare with as 0x2
    //Hard Mode check:
    _0x1927
    _SETCONDITION2 0x0 0xC 0x0
    _0x1922
    _SETCONDITION 0x0 0xC 0x0
    _0x0F21 0x400//If on Hard Mode, sets value at 0x4 instead
    ENIF 0x0
    //end Hard Mode things
    _0x0221 0xD//Sets Event ID 0xD as unused
    _0x0228 0x7
    ENDA
    
    label21://ID 0xD
    _SETVAL 0x2 0x88C6584
    CALL label30//Loads reinforcements; label30 leads to the standard reinforcement loader event
    _0x0F23 0x0//Increments the counter by 1
    _0x0221 0xD //Sets this event as unused
    _0x0F20 0x0//Probably checks value of counter with value set by _0x0F21
    _SETCONDITION2 0x0 0xC 0x0//If the value equals the value stored by _0x0F21...
    _0x0229 0xD //...Set our Event ID as used
    ENIF 0x0
    _0x0228 0x7
    ENDA

    Compared to what FE7 does in Cogs of Destiny to replicate this, it's quite compact.

    If I tried to list all the differences I'd be at this for a while, so I'll stop now.

  10. Since your tutorial doesn't include movement in FE8, I thought I might share all the codes I know:

    First we have the basic movement command. To move a character, simply write it like so:

    _MOVE speed character [X,Y]

    Moving units at a coordinate comes in two parts. First, you define the coordinates of the unit to move:

    _SETVAL 0xB 0xYY00XX //the initial X and Y of the unit to be moved. The 0xB is a necessary component here.

    Then follows the _MOVE command:

    _MOVE speed 0xFFFE [X,Y] 

    The speed is in hex. Higher values are faster, except for 0x0 which uses the default movement speed. X,Y is the destination.

    You can chain these together to move multiple units at once (though the game can only have four moving units at any given instant).

    Then there's _MOVE1 (yes, this is a little confusing - you can change the names in the raws file at least). This lets you move one character to another, though note that this code puts them directly on top of the target:

    _MOVE1 speed Mover Target

    Finally there's _MOVE2. This lets you move a character one tile in any direction.

    _MOVE2 Speed Character Direction // 0x0 is left, 0x1 is right, 0x2 is down, 0x3 is up
    

    Anyway, hope this helps.

  11. Nomads/Swordmasters are pretty fast, and Wyvern Lords hit hard. But I don't think any of them use weapons better than Steel (don't most of the Troopers use Short Bows even?), so the swordies can be tanked pretty easily and Wyverns are inaccurate and slow. It's not that bad really.

    Enemies scale worse on HHM than they do in FE6 HM, partly since the bonus levels are the same for every chapter, so outside of a few cases like Battle Before Dawn - which imposes a pretty strict time limit on you - it gets easier as you go along. At least that's how it felt for me last time, I haven't played vanilla FE7 in ages.

  12. You might be right that those strategies don't work as well on Luna+; I've never gotten very far on it myself. Resetting chapters until you get a workable set of enemy skills isn't enjoyable to me. Even if broken Lunatic strats aren't broken anymore in Luna+ (and I doubt that lowmanning with a few support pairs isn't still the best way to go), it isn't worth what it does to the overall playability.

    Also: community consensus isn't a great metric. People can believe whatever they want, but that doesn't make it true. Even the idea that earlygame Paladins are great isn't actually common outside of SF.

  13. WRT trivializing gameplay; it's not just that certain mechanics can be exploited to negate the challenge of most maps; the other half of the problem lies in that these mechanics are central to the game and advertised to the player. The Warp staff in Shadow Dragon would probably not be gamebreaking if you only had seven charges of it (and no Hammerne, for the sake of example) for the entire game.

    Pair Up is available early and forever, and the game encourages its use whenever possible. Pairing up all your units and rolling them forward is the simplest, easiest and most effective strategy for almost all maps in Awakening. Alternatively, Rescue staves can be bought on the cheap and can let you finish any given Boss chapter in a turn or two. The game even hands you two good prepromotes to make it easier. These strategies are both easy to understand and apply, and do not vary with the map you're on. Characters like Avatar and Nowi could be considered game breakers themselves

    It's arguably not so intuitive that investing everything into Caeda, the Wing Spear and Warp is a great idea in Fe11, or that Marcus can stay ahead of the curve for a long time by taking boss kills and perhaps stat boosters - and that the other prepomotes are more than enough to pick up the slack later on. Awakening doesn't demand that you divert the lion's share of resources to an otherwise unassuming unit to break the game; its broken things practically stare you in the face.

    What I mean to say is, not breaking the game in past FE's comes down to not employing a specific strategy. In Awakening, I have to deliberately avoid what should be normal parts of the game in order to maintain a decent challenge, and that's not interesting to me. I really want to like the game, it has a lot going for it, but it just falls short in too many ways.

×
×
  • Create New...