I'm trying to make an Undertale fan-game.
Undertale at it's core is a basic Earthbound-esce RPG with bullet-hell mechanics.
I've replicated the whole system down to the nail perfectly, but something is giving me trouble that I haven't realized. The simple contextual dialogue menus.
Random Battle Occurs!
2 or 3 Enemies Appear.
(You have four options:)
[Fight] [Act] [Item] [Mercy]
Clicking on these Actions gives the following prompts as follows:
Fight > Targets (With Healthbar graphic) > Combat Minigame
Act > Targets > Actions to Perform on those Targets (Varies depending on the Target. Ex: Hug, Talk, Flex, etc. Contextually unique to every enemy.) > Produces either Correct or Incorrect Action response from Target
Item > Items > Modify Player's Value or Characteristic (HP, Speed, etc.)
Mercy > Spare/Flee > Non-Violently Pacify an Enemy or Run away if Possible
I've been trying to come up with ways to create a Master layout or Template so I can just place an enemy in the layout and the system will take care of all the events for playing the contextually unique dialogue.
A lot of things have been getting in the way. For example:
You'll never really have more than 4 enemies on screen at a time. So the most text objects you'll see when Selecting targets are 1-4. It's arranged on a wide, 2x2 grid. So if you have 2 targets then It'd just be On Left Pressed move SelectionCursor by Self.X-20 Pixels. Then If it goes too left then place it at X: 270 or wherever. When you have 4 enemies just add the same thing with a Y value. But what happens when you have 3 Targets? You can move Left and Right but only Down sometimes if the X is in a certain spot, and now the specific conditions for the Y values are double-triggering on DownPressed causing it to not move anymore at all.
I feel like there's just clearly a more efficient way to move a Cursor around a 2D grid that could sometimes be 2x2 or 2x2- the fourth element than what I'm doing which consists of manually moving the Cursor's XY values around.
I'm pretty sure if you've never played Undertale you can at least understand the concept of Dialogue Prompt Trees with more than a Single Y value in positioning. I'd appreciate any help or insight I can get on this.