Lamia Posted March 13, 2014 Share Posted March 13, 2014 (edited) I have an idea I've been toying around with for an FE7 project (as a side to my unfinished FE4 one) and I was wondering if people would have interest in what I have planned The Emergency Codes from Phantasy Star Online 2 gave me the idea to make single maps with a singular, specific objective. There would be multiple patches, because I don't know how I'd have one patch access any of one's choosing from the beginning. (a hub chapter? I dunno how to do that, I have zero knowledge of FE7 event coding) Besides, there would also be a different main character for each, along with PSO2's Emergency Code announcer pointing out the specific objective. They'd be like Trial Maps, put simply, except with a predetermined set of characters. My taste for challenge is high, so I would make maps that were both fair and balanced in difficulty, but needing some strategic attention. Here are a few objectives I have in mind: Code: Escort Escort the Bishop to an 'escape' tile through a dungeon. The only two bodyguards you get are Cavaliers. Rescuing is disabled. Every attack, player or enemy, will have 100% Hit. This objective I have given the most thought to, would be my first. The rest are up in the air, but the general idea is stated. Code: Avoid Keep from getting your unit or units killed, a survival map. Code: Attack Simple, clear out the map of enemies with the single unit you get. Code: Protection Defense map, everyone knows this one. Code: Elimination Clear out all of the endlessly-respawning enemies as quickly as possible. Akin to the Trial Map of the small room in FE9. Code: Capture Surround a certain unit on all four sides with your four characters. Obviously, since you need all four, any one death is a game over. (can this be coded in events? clarification requested) Would anyone be interested in something like this? Edited March 13, 2014 by Lamia Quote Link to comment Share on other sites More sharing options...
Aleph Posted March 13, 2014 Share Posted March 13, 2014 (edited) Why not go for the full emergency code experience and have them occur in the middle of a chapter when you're busy hunting for the damn boss? I think Arch did a hub chapter so it shouldn't be tha hard to mimic. Pretty sure we've resolved most things about having however many zillions of lords, too. Edited March 13, 2014 by Izayoi Quote Link to comment Share on other sites More sharing options...
Lamia Posted March 13, 2014 Author Share Posted March 13, 2014 (edited) it would be hilarious (and cool) to have randomly generated objectives during a chapter, but it's beyond the scope of my intent to have singular challenge maps in any case, it's nice to have those settled, but what about my last concern? Edited March 13, 2014 by Lamia Quote Link to comment Share on other sites More sharing options...
Agro Posted March 14, 2014 Share Posted March 14, 2014 You don't even need events to have any character death be a game over. In the death quote editor you set the event ID to 0x65 and their deaths will result in a game over provided you specify that much in the events (default would be yes). Quote Link to comment Share on other sites More sharing options...
Lamia Posted March 14, 2014 Author Share Posted March 14, 2014 (edited) You don't even need events to have any character death be a game over. In the death quote editor you set the event ID to 0x65 and their deaths will result in a game over provided you specify that much in the events (default would be yes). not the death part, I figured that would be easy; I meant the surrounding one unit on four sides = victory, or possibly having the unit move around i.e. is there a trigger condition for Player brings unit to 'Location'. Edited March 14, 2014 by Lamia Quote Link to comment Share on other sites More sharing options...
Jubby Posted March 14, 2014 Share Posted March 14, 2014 (edited) lolwut I had a whole post here :/ Y u delete my shit SF. Well if you are interested in implementing the 6th one (the surrounding one), I should think it can be done with AREA events in a pretty hacky/buggy way, or a small amount of ASM, much more ideally. If you are interested in implementing it, shoot me a PM and I can explain my ASM idea, lol. (Can't be bothered typing it out again if nobody cares) Edited March 14, 2014 by Jubby Quote Link to comment Share on other sites More sharing options...
Lamia Posted March 14, 2014 Author Share Posted March 14, 2014 lolwut I had a whole post here :/ Y u delete my shit SF. Well if you are interested in implementing the 6th one (the surrounding one), I should think it can be done with AREA events in a pretty hacky/buggy way, or a small amount of ASM, much more ideally. If you are interested in implementing it, shoot me a PM and I can explain my ASM idea, lol. (Can't be bothered typing it out again if nobody cares) I'll take you up on that if I get that far Quote Link to comment Share on other sites More sharing options...
Aleph Posted March 15, 2014 Share Posted March 15, 2014 It would be super easy to write a function that returns whether a specific unit is surrounded on all four sides by units from the opposing force (the player's in this case I guess). I don't actually know what context the function would most appropriately be called from to give any suggestions for how to write said function, though. Quote Link to comment Share on other sites More sharing options...
Jubby Posted March 15, 2014 Share Posted March 15, 2014 I'll take you up on that if I get that far cool cool. It would be super easy to write a function that returns whether a specific unit is surrounded on all four sides by units from the opposing force (the player's in this case I guess). I don't actually know what context the function would most appropriately be called from to give any suggestions for how to write said function, though. basically this. With my limited scope of assembly and eventing I'd say the best I could probably do is make a check which you could call at the end of each turn or something, which'd return true if said unit was surrounded by player units. then you could just event it so it ends if the check returns true. obviously that's just me though so i'm sure somebody else could do better. Quote Link to comment Share on other sites More sharing options...
Aleph Posted March 15, 2014 Share Posted March 15, 2014 Why wait until the end of the turn? Or did you mean the end of each unit's movement? Quote Link to comment Share on other sites More sharing options...
Jubby Posted March 15, 2014 Share Posted March 15, 2014 i wouldn't know how to continually call the check (because I don't know how to lol) so I'd have to rig it through events as a turn based event, most likely. That's hack-y and not ideal; obviously, something like you said i.e. after each unit's movement would be best, but ¯\_(ツ)_/¯ I'm unfortunately working with my own hyper-limited knowledge of how shit works, so it's not possible for me :P Quote Link to comment Share on other sites More sharing options...
Agro Posted March 15, 2014 Share Posted March 15, 2014 If the unit is an enemy unit, would it perhaps be easier if you made some sort of condition/whateveryoucallit to check if that character has moved? alternatively you could set up a location event for every single tile and have that event check if all the tiles around it have player units but zzzzz dat lag Quote Link to comment Share on other sites More sharing options...
Aleph Posted March 15, 2014 Share Posted March 15, 2014 (edited) I would probably set a break on write to the "can't move anymore" flag (which is well documented btw) and hook that code for an easy way of identifying when a unit's turn has ended. Then it'd be easy to identify if the unit was a player unit by its unit ID, after which if it were a player I would iterate through all objective enemies and see if they are then surrounded, possibly using the latest change as a starting point as a small optimization. After it's detected then I'd have the issue of how to signal that the chapter should end... If there's no convenient way to call the chapter ending function within an appropriate context, there's already info I've uncovered which could be used to override the wait command to act as a seize command and end the chapter that way. This of course would be done if and only if the unit waiting there results in a target being surrounded. This doesn't really account for other methods of ending a unit's turn, though. If there's a way to fire events after a unit has ended their turn, perhaps by being on a specific location, then in the latter case the requirement could be modified to not care which tile they are on and fire regardless, thus providing a safe context to call the end chapter function from (and using the event system no less, which is undoubtedly simpler). Edited March 15, 2014 by Izayoi Quote Link to comment Share on other sites More sharing options...
Lamia Posted March 16, 2014 Author Share Posted March 16, 2014 (edited) If there's a way to fire events after a unit has ended their turn, perhaps by being on a specific location, then in the latter case the requirement could be modified to not care which tile they are on and fire regardless, thus providing a safe context to call the end chapter function from (and using the event system no less, which is undoubtedly simpler). isn't there a chapter in lyn's mode that has those 'buttons' call up events when waiting on those tiles, along with that castle-capturing in hector's mode (or maybe this one was lords only I dunno) plus reinforcement traps I think? (I haven't played through FE7 in ages) Edited March 16, 2014 by Lamia Quote Link to comment Share on other sites More sharing options...
CT075 Posted March 16, 2014 Share Posted March 16, 2014 (edited) i wouldn't know how to continually call the checkthe routine would just return true if (said unit) is surrounded and false if not, no? put an ASME in miscEvents and it'll check at the end of every unit's movement EDIT: for future reference, the pointers in each portion of event data (typically labeled "CharEvents, TurnEvents, MiscEvents, LocationEvents") are actually important; each one checks their conditions at a separate time CharEvents and LocationEvents only are concerned with what commands appear at the end of a unit's movement (ie Attack/Items/Wait/etc); i've experimented with putting ASME's and such in there but i'm fairly certain they've never triggered. the entries in the MiscEvents table are checked every time a unit's turn ends (so, right after before they turn gray). AREA events typically go in here because that's when you'd want to check them. TurnEvents is probably the most flexible - they check every time the phase changes. the standard TURN event just returns true or false based on the phase (player/enemy/NPC). HOWEVER, you can actually put other things in here and they will be checked on phase change. you can actually put AREA and AFEV events in here, and they'll only trigger at the end of the current phase (example: a unit steps into an AREA event's range, and the event pointer is in TurnEvents - the event itself won't play until the end of the turn) Edited March 17, 2014 by CT075 Quote Link to comment Share on other sites More sharing options...
Aleph Posted March 16, 2014 Share Posted March 16, 2014 Well there you go, wire up the function to a MiscEvent and you're done Quote Link to comment Share on other sites More sharing options...
Agro Posted March 16, 2014 Share Posted March 16, 2014 Don't MiscEvents only get checked just before a unit goes grey? I thought that was half the issue with them. Quote Link to comment Share on other sites More sharing options...
Aleph Posted March 16, 2014 Share Posted March 16, 2014 Isn't that kind of the point in this case? Quote Link to comment Share on other sites More sharing options...
CT075 Posted March 17, 2014 Share Posted March 17, 2014 Don't MiscEvents only get checked just before a unit goes grey? I thought that was half the issue with them....yeah you're actually right but in this case that would still be perfect Quote Link to comment Share on other sites More sharing options...
Jubby Posted March 19, 2014 Share Posted March 19, 2014 the routine would just return true if (said unit) is surrounded and false if not, no? put an ASME in miscEvents and it'll check at the end of every unit's movement EDIT: for future reference, the pointers in each portion of event data (typically labeled "CharEvents, TurnEvents, MiscEvents, LocationEvents") are actually important; each one checks their conditions at a separate time CharEvents and LocationEvents only are concerned with what commands appear at the end of a unit's movement (ie Attack/Items/Wait/etc); i've experimented with putting ASME's and such in there but i'm fairly certain they've never triggered. the entries in the MiscEvents table are checked every time a unit's turn ends (so, right after before they turn gray). AREA events typically go in here because that's when you'd want to check them. TurnEvents is probably the most flexible - they check every time the phase changes. the standard TURN event just returns true or false based on the phase (player/enemy/NPC). HOWEVER, you can actually put other things in here and they will be checked on phase change. you can actually put AREA and AFEV events in here, and they'll only trigger at the end of the current phase (example: a unit steps into an AREA event's range, and the event pointer is in TurnEvents - the event itself won't play until the end of the turn) this is a very good thing to know, lol. Thanks Cam <3 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.