[2K3] SETTING UP NARSHE BATTLE SEQUENCE
Posts
Pages:
1

So I've recently been forcing myself to finally try and finish up this game (by finish up, I mean work my ass off so that I can finally get it done and over with...5-6 years is far too long for this one game IMO). Here's the thing: This particular map, and sequence in general, is a big throwback to the Narshe battle sequence with Kefka in Final Fantasy VI. Thing is here, your Banon is REQUIRED to be used in a party, and if she dies, it's game over. You get three parties of which you can switch between (I think I have a working system for that, not sure yet...will have to test), and if one party falls that's not the one with the Banon in it, then they're done for the rest of that map. The enemies are meant to just wander around the area really, and the boss is down at the bottom, guarded by the boss from the intro (just more souped up).
So here's my question: How can I make it so that if any of the enemies touches any of the player sprites, even if you're not the one controlling them at the moment, that it'll throw the player into a fight using THAT particular party, and then throw you back to the last party you were using? In addition, how would it be best handled for having the player sprites be right where you last left them?
I’ll try and take a stab at this; I’m assuming your using the default battle system and not a custom one?
Okay, so you have, say, two events that are named PARTY B and PARTY C that’s on the map, right? And the party you’re currently controlling is the hero (PARTY A in this instance). And, of course, you have all the enemy sprites.
To have them engage in combat with the other parties, you’ll need to select <VARIABLE OPERATIONS> and store the values of the X and Y coordinates for the enemies and the party sprites, hero too. You’ll then need to make a COMMON EVENT, or a parallel process event on the same map, and use a <CONDITIONAL BRANCH> to search to see if the enemy’s X and Y coordinates are around where the separate parties are with their own X and Y coordinates. So you’re basically just trying to match the numbers of where they are on the map. Make sure it’s one digit off so they engage into combat by surrounding the sprite and not be directly on top of it.
When switching parties, you just need to switch the hero sprite with the event and switch the X and Y coordinates for both.
Hope that helps. It’s been a while since I’ve done anything like this. But I hope it will give you some idea of what to do.
Okay, so you have, say, two events that are named PARTY B and PARTY C that’s on the map, right? And the party you’re currently controlling is the hero (PARTY A in this instance). And, of course, you have all the enemy sprites.
To have them engage in combat with the other parties, you’ll need to select <VARIABLE OPERATIONS> and store the values of the X and Y coordinates for the enemies and the party sprites, hero too. You’ll then need to make a COMMON EVENT, or a parallel process event on the same map, and use a <CONDITIONAL BRANCH> to search to see if the enemy’s X and Y coordinates are around where the separate parties are with their own X and Y coordinates. So you’re basically just trying to match the numbers of where they are on the map. Make sure it’s one digit off so they engage into combat by surrounding the sprite and not be directly on top of it.
When switching parties, you just need to switch the hero sprite with the event and switch the X and Y coordinates for both.
Hope that helps. It’s been a while since I’ve done anything like this. But I hope it will give you some idea of what to do.
Hmm...I think I know how to do the switching parties thing. The engaging thing sounds a bit complicated though. But I'll...give it a shot? It's hard to say because the sprites won't always be exactly where they originally was when switching parties...@_@;
If I may ask, would it be possible for you to try this out and see if it works the way you think it does? I'll still try on my end, but would help to have someone else tackling this alongside me to make sure things are ironed out. ^^;
Ok yeah, I'm not understanding how to do this. In the startup event BEFORE everything starts moving, I have the first party (whom you control immediately), the two other parties that don't move until you switch to them, and all moving enemies with a X and Y variable set up. However, I'm not sure how to make it so that it tracks where the enemies X and Y variables are once they start moving, and to make sure that if they go within one space of the non-moving parties (the moving party can engage by running into the enemies). @_@;
Hmmm…what about if you use a parallel process event to constantly update the information where the enemies are? That way, it should be able to update the information of where they are on the map. You can update the information after using <MOVE EVENT> and use MOVE TOWARDS HERO after each enemy takes one step to give the process enough time to update all the coordinates.
So, assuming this then (hypothetically speaking, haven't tested it yet but thinking on it before trying).
I have the following:
Player X/Y
Party B X/Y
Party C X/Y
Enemy 1-15 X/Y
Now, in the Parallel Process event, I would go to Conditional Branch, and go to "If Variable "Enemy 1 X" is Not Equal to "Enemy 1 X"", then set the variable to the enemy's X value? I'm assuming that's how it'd work anyways, and rinse and repeat for whichever party your controlling at the time (I probably should have a Party A X/Y variable too...) as well as the enemies. The player party that's currently being moved around shouldn't be of any issue with engaging fights as that's a simple Touched By Sprite encounter. Thinking of how to do the event for those that aren't moving is what's tricky...unless I do something like:
Party B X = 25
Party B Y = 20
Enemy 1 X = 24
Enemy 1 Y = 20
The issue with the above is this: If I try to set a variable operation for wherever the current placeholder sprites are for the non-moving parties, as in "Party B X - 1 or +1" to get the values for beside the characters, it'd be constantly reducing/increasing that value. I think the method for tracking everyone will work fine...just the non-moving ones are the problem I think.
I have the following:
Player X/Y
Party B X/Y
Party C X/Y
Enemy 1-15 X/Y
Now, in the Parallel Process event, I would go to Conditional Branch, and go to "If Variable "Enemy 1 X" is Not Equal to "Enemy 1 X"", then set the variable to the enemy's X value? I'm assuming that's how it'd work anyways, and rinse and repeat for whichever party your controlling at the time (I probably should have a Party A X/Y variable too...) as well as the enemies. The player party that's currently being moved around shouldn't be of any issue with engaging fights as that's a simple Touched By Sprite encounter. Thinking of how to do the event for those that aren't moving is what's tricky...unless I do something like:
Party B X = 25
Party B Y = 20
Enemy 1 X = 24
Enemy 1 Y = 20
The issue with the above is this: If I try to set a variable operation for wherever the current placeholder sprites are for the non-moving parties, as in "Party B X - 1 or +1" to get the values for beside the characters, it'd be constantly reducing/increasing that value. I think the method for tracking everyone will work fine...just the non-moving ones are the problem I think.

So, here's the Parallel event for tracking every enemy and sprite so far. I just need to well..figure out how to set it so that if the enemy steps right beside one of the non-moving parties, it'll trigger the fight with them and switch party members, then switch back to the original party, and if that party loses the fight (the ones without the Banon character), then they're gone from the map until later.
Pages:
1














