News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Author Topic: FF1 MMC5 Disassembly Updates  (Read 83480 times)

Disch

  • Hero Member
  • *****
  • Posts: 2737
  • NES Junkie
    • View Profile
Re: FF1 MMC5 Disassembly Updates
« Reply #160 on: April 09, 2019, 06:31:16 pm »
Throwing out my 2 cents on Vanya's mockups:

This may or may not also be a problem with the latest version of the hack (harder to tell with that NTSC filter and I'm too lazy to download), but these mockups definitely step outside the NTSC safe zone.  Older CRT TVs cut out some of the borders when rendering... leading to many games putting garbage tiles or having drawing artifacts along the border... leading to EMULATORS also cutting out some of the borders (usually just the top and bottom).

As such, you really shouldn't step outside the center 256x224 area... or if you're REALLY careful the 240x224 area (but that might be a bit excessive).

You can disable this clipping in emulators, but I would not advise you require that of your users.  Aside from just generally being a pain in the ass, it would also make a lot of games (including FF1) look terrible.  FF1 would have drawing artifacts when scrolling up/down on any map.

So yeah.  Stick to 256x224.  Additionally, enemies are part of the BG and therefore are constrained to tile/attribute restrictions.  I reworked the mockup to be more technical:





(Bottom one has attribute lines).  I cut it down to 256x224.  Also I worked it out so that enemies are spaced similarly to the original mockup, but land on 8-pixel boundaries.  Additionally, while some enemies use a LOT (9!!) of attribute blocks, no two enemies share the same block, nor do they overlap with the battle BG or the menu.  Making this actually possible to do from a technical perspective without having to switch to ExAttr mode.

Writing the code to build the attribute table might be confusing, but I can probably help with that if you want.  I love that kind of shit.

I didn't bother touching up the heroes since they are sprites and therefore not bound to a grid.  Plus they look fine.


As for the menu with only some commands visible (with that little arrow) ---  I find that to be very unintuitive.  Unless that arrow is blinking it's really easy to miss.  Not to mention the added difficulty of doing a redraw when the user presses left/right.  I would say try to cram all the options on screen at once, even if it makes it a little crowded.

Vanya

  • Hero Member
  • *****
  • Posts: 1493
    • View Profile
Re: FF1 MMC5 Disassembly Updates
« Reply #161 on: April 09, 2019, 08:05:57 pm »
See that is what I was thinking of the picture you just did. That would've made it neater. But, where can MP can display though? There should be number display next to the enemy names, so it can identify how many enemies left. Do you think that a good idea, Vanya?

Well, the MP is displayed in the Magic menu when you select which spell to cast.
Since this game doesn't use a single MP stat, but rather 8 of them, there really isn't any space to display MP. Plus not every job even has MP.

An enemy counter might be a good thing to add, yes.


Quote from: Disch
Throwing out my 2 cents on Vanya's mockups:

I differ to you on all that.
I was pretty sure someone would mention the over scan issue since I ignored it entirely.


Quote from: Disch
As for the menu with only some commands visible (with that little arrow) ---  I find that to be very unintuitive.  Unless that arrow is blinking it's really easy to miss.

The arrows, I imagined, would be just like the ones in FF3 that let you know that you can scroll up and down. Those arrows are sprites, and though they actually don't blink in FF3, I agree that should be made to blink if added to this hack.


Quote from: Disch
Not to mention the added difficulty of doing a redraw when the user presses left/right.  I would say try to cram all the options on screen at once, even if it makes it a little crowded.

Again, I will differ to you on this, though you have to admit that it would be an epic feat.

I am curious about the added difficulty.
Is it because it would basically require a lot of custom code?
I would have imagined it wouldn't be too much more difficult it already is to display the magic list or items.




EDIT:

Just had a thought. Would it be significantly more difficult to draw simplified battle message along the top of the screen over the battle background?
« Last Edit: April 09, 2019, 08:26:30 pm by Vanya »

KingMike

  • Forum Moderator
  • Hero Member
  • *****
  • Posts: 6918
  • *sigh* A changed avatar. Big deal.
    • View Profile
Re: FF1 MMC5 Disassembly Updates
« Reply #162 on: April 09, 2019, 08:40:04 pm »
One thing to remember with BG layer is that palettes can only be set in 16x16 pixel increments. (that is, each 2x2 tile section, including the top row that is typically hidden by emulators in NTSC mode, MUST use the same palette.)

Oh, I forgot MMC5 can do 8x8 palette increments BUT only as one of the possible uses of the extra (1KB?) RAM. If you are already it using as RAM expansion then I don't think you can combine them.
"My watch says 30 chickens" Google, 2018

Jiggers

  • Sr. Member
  • ****
  • Posts: 260
    • View Profile
Re: FF1 MMC5 Disassembly Updates
« Reply #163 on: April 09, 2019, 10:22:43 pm »
As such, you really shouldn't step outside the center 256x224 area... or if you're REALLY careful the 240x224 area (but that might be a bit excessive).

*sigh* I really had hoped 30 vertical tiles was going to work... My computer shut down in a power surge a few weeks ago and Mesen's settings got reset, so ever since then I've been seeing the tiles on the top and bottom looking glitchy on maps, but then also started seeing more empty space everywhere to use... Now I know why all that is. I'll move the backdrop down a tile and figure out how to scrunch up the bottom as well.

So, I am really happy you're offering to work out the attribute bytes.

I am curious about the added difficulty.
Is it because it would basically require a lot of custom code?
I would have imagined it wouldn't be too much more difficult it already is to display the magic list or items.

Just had a thought. Would it be significantly more difficult to draw simplified battle message along the top of the screen over the battle background?

Its not difficult at all to make the command menu scroll or have a left/right page. If I can make a scrolling item list...

Messages on the top of the screen are... I would say, with the current battle message code... impossible. I'm still only just barely grasping exactly what its doing--HOW its doing it, rather? All the tiles you see on the lower half of the screen are kept in RAM and it draws the whole block every time it changes something? So putting a message up there... would have to expand the RAM size to fit the whole screen maybe?? And then re-draw the enemies, and the backdrop, which aren't set to be put in the RAM part in the first place...

I think a blue text background will be simple enough to do.

I got the name box staying and re-drawing and even updating itself after attacks just by... drawing it before any other boxes. Everything was working except the end of battle boxes drawn by Bank B leave behind gibberish when they undraw. It only flashes for a few frames before the screen changes, but its weird all the same.

So I'll work on making the name box smaller and wider, have the command box write over the enemy roster box--see if I can undraw it when selecting Fight or Magic so you can see the enemy names then.



Problem: Gaps between characters means the ailment icons won't line up unless they're sprites, too. If they're sprites, then there miiight be flicker during attacks, if enemies have sprites for ailments (which I think they would need to be, or else their ailment icon would be coloured by their attribute bytes?) You can't see it now, but the bush icon will show up to the left of the heart when they're hidden. Unless the "no more than 8 sprites on a scanline" thing means sprites that are 2 tiles wide...? I'm so confused about that.

Additionally, I'd like to have a maybe-flashing icon show up beside a character when they select an option.

Fight: Sword
Magic: White or black orb depending on the spell
Items: Potion (maybe bell, feather, bomb, depending on those items)
Gear: Armor
Hide: Bush
Flee: Right arrow
Guard: Shield

There's still room for 5 more in-battle-only icons... and it doesn't need those box connectors anymore I guess.

Tomorrow or the next day I'll work on fixing up the cursor positions and getting the enemy window to show up properly, then figure out why the magic and gear boxes have errors.



Magic is doing... this, whatever this is. (this character has no spells)

At least it works right when they do have spells. I put in the max MP too.



And the gear box is doing this:



Final Edit:

Fixed those last box issues. While removing the top/bottom part of the interleaved text, the code that draws spaces was left drawing to the top part instead of the bottom part that's actually read... In summary, I changed a 0 to a 1.
« Last Edit: April 10, 2019, 02:53:32 am by Jiggers »
I know exactly what I'm doing. I just don't know what effect it's going to have.

Vanya

  • Hero Member
  • *****
  • Posts: 1493
    • View Profile
Re: FF1 MMC5 Disassembly Updates
« Reply #164 on: April 10, 2019, 02:11:28 am »
Damn, almost the exact same thing happened to me with Mesen.
Good luck wrasslin' with those battle menus.
Wish I could help out more directly.

Mari42

  • Jr. Member
  • **
  • Posts: 84
    • View Profile
Re: FF1 MMC5 Disassembly Updates
« Reply #165 on: April 10, 2019, 10:41:56 am »
Is there anything that you can change weapons and shield in-battle?

Vanya

  • Hero Member
  • *****
  • Posts: 1493
    • View Profile
Re: FF1 MMC5 Disassembly Updates
« Reply #166 on: April 10, 2019, 07:30:14 pm »
Problem: Gaps between characters means the ailment icons won't line up unless they're sprites, too. If they're sprites, then there miiight be flicker during attacks, if enemies have sprites for ailments (which I think they would need to be, or else their ailment icon would be coloured by their attribute bytes?) You can't see it now, but the bush icon will show up to the left of the heart when they're hidden. Unless the "no more than 8 sprites on a scanline" thing means sprites that are 2 tiles wide...? I'm so confused about that.

Well, you could change the gaps between the characters so they line up like the enemy tiles have to.
That way you don't need to have sprites for the status icons.

My understanding of how sprites work on the NES is that all "sprites" are 8 pixels wide, and depending on the mapper can be 8 or 16 pixels tall. So each player character is actually made up of several sprites.

BTW, what is the heart icon for exactly?


A couple more mock-ups with the alignments adjusted and consideration for the over scan:
(Might be better to shift the enemies up one tile more than I have them in these pics.)





If you can get the scrolling command menu working, that does have the advantage of not having to worry about squishing the command names or coming up with shorter names.

FIGHT -> Fight
MAGIC -> Magic
GEAR* -> Equipment
ITEMS -> Items

HIDE -> Hide
FLEE -> Escape
« Last Edit: April 10, 2019, 07:48:12 pm by Vanya »

Jiggers

  • Sr. Member
  • ****
  • Posts: 260
    • View Profile
Re: FF1 MMC5 Disassembly Updates
« Reply #167 on: April 10, 2019, 08:21:11 pm »
Is there anything that you can change weapons and shield in-battle?

Someone could, but I don't really want to work on that. Would require making a new menu option, a new menu, and re-working how stats are stored in battle. The menus would be the easiest part for me at the moment, but I don't want to work out the stats... Right now, every stat that can be changed by magic or enemies is backed up before battle and restored after battle, but before level-ups change them. Then to unequip a weapon, it sets a bunch of stats to 0 sort of, then applies the weapon stats of the new item. So either the equipping code has to deal with the battle back ups as well, or the backups have to be handled differently... >.<

BTW, what is the heart icon for exactly?

I don't even remember what I was thinking when I made the ailments into icons... I put the heart in there probably just to show "healthy and nothing's wrong" and liked the way it looked in the menu...

https://drive.google.com/open?id=1gOJfLULq4E1O2nW7DLxC76CPnaM5a9vR

I think this is as much as I can do for now!

So far the bugs I can find are:

* Some big enemies will change the backdrop a bit, if they're in a mixed battle formation. I'm gonna leave the positioning of enemies and the attribute bytes to Disch!

* HP is not updated at the end of a battle turn, but is at the start of the next, whenever the message boxes are updated.

* The code to draw number of each enemy needs to be re-written a bit, I have it set to exit soon as it finds an $FF because I thought like a goober that the game would put enemies in order, but I'm fighting 6 sahagins now and the order is $FF, $FF, $0C, $0C, $0C, etc... so its not drawing the number at all.

* Some of the boxes are a bit wonky--the attack name box is a lot longer than the damage box below it. Gonna look into shortening the attack name box as much as necessary, then have the level up boxes use a different size.

Apart from that, everything else seems okay so far. The enemy roster box is drawn first, so you see a flash of it before the command box, and when the turn starts you see a flash of it again as both are undrawn. Not sure what I can do to fix that... I did it that way so the magic box wouldn't be flashing weirdly when selecting an enemy target for spells, but even then you see a flash of the command box between the magic box closing and the roster box opening... *shrug*

Thanks again to everyone for your suggestions and interest and help! :D
I know exactly what I'm doing. I just don't know what effect it's going to have.

Disch

  • Hero Member
  • *****
  • Posts: 2737
  • NES Junkie
    • View Profile
Re: FF1 MMC5 Disassembly Updates
« Reply #168 on: April 10, 2019, 08:41:13 pm »
Quote
* Some big enemies will change the backdrop a bit, if they're in a mixed battle formation. I'm gonna leave the positioning of enemies and the attribute bytes to Disch!

I'll try to get some of that done this weekend.

Have you given up on git?  Looks like last push to the repo was over a month ago.  Should I just modify the files and send a zip back and leave it to you to figure out how to merge them?  How do you want to do this?

(it's really a lot easier if we use git and I can just make a branch on the repo.  Then you can see my changes and just click a button to merge them into your main branch)

Jiggers

  • Sr. Member
  • ****
  • Posts: 260
    • View Profile
Re: FF1 MMC5 Disassembly Updates
« Reply #169 on: April 10, 2019, 09:25:02 pm »
I keep waiting until things are "perfect" before uploading there so I could just... wipe it and start over, but... what the heck. I think I updated it now? Maybe better to just get in the habit of using it, even if things are still kinda messy.
I know exactly what I'm doing. I just don't know what effect it's going to have.

Disch

  • Hero Member
  • *****
  • Posts: 2737
  • NES Junkie
    • View Profile
Re: FF1 MMC5 Disassembly Updates
« Reply #170 on: April 10, 2019, 09:28:18 pm »
Did you push?  Github is still saying a month ago.  Or do I have the wrong link?  Or did you commit without a push?

https://github.com/JiggeryPonkery/FF1-MMC5  <-  what I'm using

Also you should add me as a contributor so I can access the repo directly.  Instructions are here:

https://help.github.com/en/articles/inviting-collaborators-to-a-personal-repository

My github username is BenWenger:  https://github.com/BenWenger

Jiggers

  • Sr. Member
  • ****
  • Posts: 260
    • View Profile
Re: FF1 MMC5 Disassembly Updates
« Reply #171 on: April 10, 2019, 10:50:51 pm »
Oh... I'm not sure if I did it then, or just now. I followed the instructions to add you, and then... tried to refresh something, and now its showing on the website as "an hour ago" with the updates.

I'm using GitHub Desktop, Windows 7, and selected the updated files on the side bar, and clicked commit to master, but I only found the Repository > Push command in the title bar now. Sorry!
I know exactly what I'm doing. I just don't know what effect it's going to have.

Disch

  • Hero Member
  • *****
  • Posts: 2737
  • NES Junkie
    • View Profile
Re: FF1 MMC5 Disassembly Updates
« Reply #172 on: April 11, 2019, 12:33:14 am »
Sweet!  I got the invite and accepted it.  I'll poke around later this week or weekend  :thumbsup:

Vanya

  • Hero Member
  • *****
  • Posts: 1493
    • View Profile
Re: FF1 MMC5 Disassembly Updates
« Reply #173 on: April 11, 2019, 01:37:10 am »
I signed up, too.
I'm not great at asm, but I may be able to at least contribute a little.

Jiggers

  • Sr. Member
  • ****
  • Posts: 260
    • View Profile
Re: FF1 MMC5 Disassembly Updates
« Reply #174 on: April 11, 2019, 02:20:57 am »
Woo! Figured out how to send the invite to you too.

Found a bug I forgot about... casting magic on a specific enemy will default to the first enemy if any other enemy dies before the spell is cast. Completely baffling.
Edit: Also just... doesn't target the correct one at all I guess?
« Last Edit: April 11, 2019, 02:27:37 am by Jiggers »
I know exactly what I'm doing. I just don't know what effect it's going to have.

Vanya

  • Hero Member
  • *****
  • Posts: 1493
    • View Profile
Re: FF1 MMC5 Disassembly Updates
« Reply #175 on: April 11, 2019, 03:27:13 am »
Groovy! I'm testing the game now. I love the way the battle screen looks so far!

I want to mention one thing right away.

Don't know if this is something you'll want to consider implementing, but...
FF3 likely also had the same issue with the enemy names being visible only briefly at the beginning of each battle.
What they did in that case was make it so the battle starts in a sort of paused state waiting until the player presses a button before it displays the command window.


EDIT:
There does seem to be an error with targeting.
Even when I'm just attacking, they seem to sometimes pick the wrong target.
Almost like the target is random or something.
Is it possible they are always treating their target as if it was already dead?


EDIT2:
About the start of battle enemy names, I noticed a possible alternative solution.
When the enemy group gets an ambush on the party, their names are not displayed at the start of battle.
So maybe just have it not display the enemy names at the start?

Sub-EDIT2:
Took a while but my party finally got a surprise round off on the enemy.
In this case, the game doesn't draw the enemy names at first instead drawing the surprise attack message.
But, then it draws the enemy names followed by the command window.
Seems like the enemy name box is tangled up with the command window?

Actually, could you give me a quick rundown on how these boxes are displayed?
I know you mentioned graphics being in the PPU memory.
Are things just moved around the screen? Are things sort of un-drawn?



BIG EDIT!!

Game crashes when I try to cast a spell from within the party menu and it doesn't have an out of battle effect.
Mesen says that there was an unrecognized opcode.
« Last Edit: April 11, 2019, 04:24:14 am by Vanya »

Disch

  • Hero Member
  • *****
  • Posts: 2737
  • NES Junkie
    • View Profile
Re: FF1 MMC5 Disassembly Updates
« Reply #176 on: April 11, 2019, 01:34:37 pm »
I have only vague recollections on how the battle boxes work.  I remember them being a nightmare.  I don't remember enough about them to give a rundown though, I'll leave that to Jiggers  =x

In other news, I got the "9 small" nametable positions worked out, but they seem to be getting cut off by the menu drawing that happens later.  I'll have to look into that  =x



Attributes still need to be done, too, and it's going to be tricky!!!

EDIT:  Okay I think I figured out the menu drawing problem.  Looks like the menus are getting soft drawn to the $0400 page before actually getting put in the PPU.  The $0400 page starts getting drawn one row higher than it probably should, which is why that bottom row is getting drawn over.

Moving down where it gets drawn, of course, moves all the menus down.  So it looks like I'll have to find all the boxes and move their menus up by one row.  Barf.
« Last Edit: April 11, 2019, 04:10:13 pm by Disch »

Jiggers

  • Sr. Member
  • ****
  • Posts: 260
    • View Profile
Re: FF1 MMC5 Disassembly Updates
« Reply #177 on: April 11, 2019, 04:24:55 pm »
In other news, I got the "9 small" nametable positions worked out, but they seem to be getting cut off by the menu drawing that happens later.  I'll have to look into that  =x

I fixed that! And I think updated the github thing too! With the fix! This is exciting. Edit: I spent too long explaining boxes before posting, oops...

I'm gonna try to explain the boxes now. I might not make it.

So at the start of a normal battle, it draws the player name box: Bank C, FinishBattlePrepAndFadeIn

When it gets to BattleLogicLoop, it draws the enemy name box, then the command box on top of it.

It uses UndrawNBattleBlocks_L (Where N is the number in A, so it always LDA #'s first) to remove a box.

SOMETIMES it uses a variable called btl_combatboxcount_alt and sometimes it uses btl_combatboxcount to know how many boxes are currently drawn, so it can use that number in A while undrawing them. I think these variables are only actually used for mid-battle stuff: Attacker, attack name, defender, damage, etc. Menu boxes the player is in control of don't use them and just undraw the boxes as needed.

As for how each box is made... after the game chooses what kind of box to draw, those different routines load up a table of 5 bytes: look for lut_BattleCommandBoxInfo to see them all. DrawBattleBoxAndText has the explanation for how the bytes are used. Basically just width, height, X and Y coordinates to start from, and the first byte is 0 if its a box and 1 if its text--in which case instead of width and height, its the pointer to the text string?

Sometimes there's some... fiddly stuff, I guess, where it takes all the text data and puts it in RAM at $0340. (First it clears it though: ClearUnformattedCombatBoxBuffer) The best example is the magic menu. You can see the unformatted strings there: The L, the #, the $FF for space, the $0E for item name control code, then the spell's item ID, and so on. The game puts it there (well I chose the location so I can see all the drawing stuff in the same space instead of all over $6000 somewhere) so it can read what it needs to draw while switching banks to get the item names and stuff.

And THEN a single text string is formatted to RAM: I've moved this to $0320. When you open the magic menu, and the game's still running, this will display the last line of the box, the level 4 or 8 spells.

So it will read the unformatted part, format it, then draw it inside the box. This seems quicker than the usual way it draws text in menus, which is to keep bank-swapping back and forth as it formats and draws every single tile in turn?

Then, uhmm... I guess before it draws all that to the screen, it first copies it to $0400. If you put the RAM viewer to have 32 bytes a line, you can actually see the screen if you have the right table file loaded!

There's also ClearBattleMessageBuffer, which basically clears the "screen" in RAM, before doing any of the actual formatting and copying of tiles.

BattleDrawMessageBuffer draws the RAM screen to the PPU... It draws 1 row a frame from the top to the bottom.

And where it gets complicated is BattleDrawMessageBuffer_Reverse, which draws 2 rows a frame, from the bottom to the top.

Then UndrawBattleBlock does a bunch of stuff to clear the screen in RAM, re-draw it without the last box, and then it uses the Reverse version to re-draw it to the PPU so it looks like the boxes are folding upwards as they vanish one by one.

So every new box drawn or erased, it goes through the whole process of figuring out how many boxes, what's in them, copying the source pointers to RAM, formatting them line by line, copying that line to another part of RAM, and then finally drawing the whole message half of the screen.

I THINK.

I'm still not entirely certain.



Update: Fixed the magic in menus bug, updated the box drawing logic for menus. So now:

Draws the player box first, then it will draw the roster box, and waits for any input (any button I think) before drawing the command box.

If surprised: Draws the player box, does the turn, then draws the roster box and does the wait for input before drawing the command box.

The input wait thing only happens at the start of battle, not between turns!

Magic menu undraws the command box, no more seeing flickers of anything between boxes being drawn.

Player HP should be updated after every entity's turn properly.

If you figure out sequence of menu logic that undraws something that shouldn't be undrawn (player box vanishing, command box not showing up when it should be) please try to remember exactly what you did!



I am INTENSELY frustrated about the header bytes with these boxes. A byte of 1 means that the Y position is 1 down from where I want it to be, somehow. You just can't put text on the top border of these boxes! And I can't figure out where its doing this...
« Last Edit: April 11, 2019, 08:43:42 pm by Jiggers »
I know exactly what I'm doing. I just don't know what effect it's going to have.

Disch

  • Hero Member
  • *****
  • Posts: 2737
  • NES Junkie
    • View Profile
Re: FF1 MMC5 Disassembly Updates
« Reply #178 on: April 11, 2019, 08:39:34 pm »
Hah, I also had fixed the menu drawing thing shortly after I posed that.  hahah.  :beer:

Anyway I think I have it working but right now I just have an imp battle and they're all using the same palettes so I can't be 100% sure yet.

Still need to move the cursor positions to match the new enemy positions, AND I need to update the code that erases enemies (when they die) to erase the new area.  Plus also the damage animation when you attack enemies is probably messed up too.

Also this is just the "9 small" formation.  I have it sort of set up to support the "4 large" and "mixed" formations but I didn't get to that yet.



My changes are pushed to the 'enemyplacement' branch, but don't merge them into master yet as it's still kind of broken.

Jiggers

  • Sr. Member
  • ****
  • Posts: 260
    • View Profile
Re: FF1 MMC5 Disassembly Updates
« Reply #179 on: April 12, 2019, 12:49:35 am »
Yay! Don't worry about the cursor positions, I can handle those. Though it might be faster/easier for you to do them... just saying, if you don't wanna, I can do it. Same with the damage animations. They're just LUTs that I can tinker with to fine-tune and let you do the hard work!  :D

I made a few more changes... Casting magic on party members doesn't screw up the boxes anymore... Hrmm... I guess I was poking at trying to print text on the upper box borders that I thought I was doing more work than I actually got done today.

Besides the Guard command, I guess that's it! So, Guard command!

Level * 2 + Defense = Defense when attacked by a physical attack. Does not print any sort of message about the character guarding during that turn. Shield icon shows up in place of the bush icon (bush icon will overwrite it though, if someone uses a smokebomb on that turn to enable hiding as well.) Guard status is cleared at the end of every turn.

I put a Skill command in as well; it only does magic right now, but the cursor positions were going to be weird if I didn't add in another one.

I put Items on the upper right, because I kind of picture the two sides being Offensive/Proactive, and the right side being Defensive/Reactive. Attacking, casting, using a skill (someday), using an equipped item: all actions that progress the battle. Using a healing or effect item, guarding, hiding, running away: all actions that stall the battle or give you some defensive buff? Also running away.



A few more updates pushed... Not sure how to trace why battle targets are getting messed up though. But, also haven't tried to do it at all yet. Once I actually put effort into it it might be easy enough to catch and solve.
« Last Edit: April 12, 2019, 02:34:32 am by Jiggers »
I know exactly what I'm doing. I just don't know what effect it's going to have.