Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Battle: Enemy flash inconsistency #2388

Closed
ghost opened this issue Oct 9, 2020 · 1 comment · Fixed by #2399
Closed

Battle: Enemy flash inconsistency #2388

ghost opened this issue Oct 9, 2020 · 1 comment · Fixed by #2399

Comments

@ghost
Copy link

ghost commented Oct 9, 2020

In RPG Maker 2000 battles the enemy flashes on its turn even if he has a state with a no move restriction. In RPG_RT this flash doesn't occur.

Edit: RPG Maker 2003 battles are affected as well.

@fdelapena fdelapena added this to the 0.6.3 milestone Oct 10, 2020
@ghost ghost changed the title Battle 2k: Enemy flash inconsistency Battle: Enemy flash inconsistency Oct 10, 2020
@fmatthew5876 fmatthew5876 mentioned this issue Oct 13, 2020
91 tasks
fmatthew5876 added a commit to fmatthew5876/Player that referenced this issue Oct 18, 2020
@fmatthew5876
Copy link
Contributor

fmatthew5876 commented Oct 18, 2020

Ok so I was incorrect in some my earlier comments in various threads. There actually are 2 different kinds of "do nothing"

RPG_RT has 2 enums ActionKind and BasicAction

https://github.com/fmatthew5876/DynRPG/blob/master/Action.h#L3

There is AK_BASIC, which means defer to one of the BasicAction values. And there is a basic action kind BA_NONE which is used when you add a "Do Nothing" action to an enemy move list. All the other AK_* values are not basic actions and have their own handlers.

The way RPG_RT works is to essentially do this:

SetMonsterFlash(31,31,31,10,10)
ProcessBattleStates() <- this can cause a wait if a message appears, which will cause the flash to display and animate while waiting.
If action.kind == AK_NONE
    SetMonsterFlash(31,31,31,0,0) <- Immediately cancels the flash, if we never waited above, effectively it's like we never flashed.

AK_NONE is used when the enemy action list is empty, or no action was valid to be selected, or there is not enough sp etc..

AK_BASIC / BA_NONE is only used when you put a "Do Nothing" action in the enemy action list.

fmatthew5876 added a commit to fmatthew5876/Player that referenced this issue Oct 22, 2020
fmatthew5876 added a commit to fmatthew5876/Player that referenced this issue Oct 22, 2020
fmatthew5876 added a commit to fmatthew5876/Player that referenced this issue Oct 23, 2020
fmatthew5876 added a commit to fmatthew5876/Player that referenced this issue Oct 23, 2020
fmatthew5876 added a commit to fmatthew5876/Player that referenced this issue Oct 26, 2020
fmatthew5876 added a commit to fmatthew5876/Player that referenced this issue Nov 1, 2020
fmatthew5876 added a commit to fmatthew5876/Player that referenced this issue Nov 8, 2020
fmatthew5876 added a commit to fmatthew5876/Player that referenced this issue Nov 9, 2020
fmatthew5876 added a commit to fmatthew5876/Player that referenced this issue Dec 2, 2020
fmatthew5876 added a commit to fmatthew5876/Player that referenced this issue Jan 10, 2021
fmatthew5876 added a commit to fmatthew5876/Player that referenced this issue Jan 11, 2021
fmatthew5876 added a commit to fmatthew5876/Player that referenced this issue Jan 11, 2021
fmatthew5876 added a commit to fmatthew5876/Player that referenced this issue Feb 17, 2021
fmatthew5876 added a commit to fmatthew5876/Player that referenced this issue Mar 12, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging a pull request may close this issue.

2 participants