Fix deadlocks in RPG2k3 battle and other VD2 battle problems #825

Merged
merged 6 commits into from Mar 18, 2016

Projects

None yet

2 participants

@Ghabry
Member
Ghabry commented Mar 17, 2016

This basicly fixes all issues reported in the E-Mail. Really bad bugs :(, but great that finally somebody helped us finding them. Few hours before 0.4.1.

No enable to select the right char for items or skills in battle

VD2 does not have a cursor graphic for ally select in System2. RPG_RT also flashes, the flash was added. This needed a change to the BattleAnimation drawable because I needed a Sprite that can flash.

healing a charakter in battle could give an dead char life. So if it is his turn the battle stops and you couldnt do something.

Reviving dead actors was not resetting the dead state correctly. It was also possible that a dead actor had a full gauge (because he died the same time his turn is), then the dead actor will deadlock the game when his Action starts.
Also VD2s revive item "Trank der Ewigkeit" has a rating of 0, so 0 HP are restored. Reviving in battle sets now the HP to 1 in that case.

Game breaks while the battle against the beast on the bridge near Asgars Castle.

This was probably because one of the actors died and due to a bug in SelectNextActor this deadlocked... This was a horrible bug, basicly broke any RPG2k3 battle when someone dies (Except if it's the last one in the Party) :(

@Ghabry Ghabry added this to the 0.4.1 milestone Mar 17, 2016
Ghabry added some commits Mar 17, 2016
@Ghabry Ghabry Battle 2k3: Flash the current actor when it is his turn or when selec…
…ting an actor of the party as a target. Some games (e.g. VD2) have no visible cursor in the system2 graphic, making targeting without flash tricky.
24aab28
@Ghabry Ghabry SetGauge to 0 when death. This fixes a deadlock because the battle sy…
…stem selected this as an actor when the actor died while the gauge was full.
5a3dbcf
@Ghabry Ghabry Battle 2k3: More deadlocks: Go back to Idle animation when a dead act…
…or is alive again. And fix a really bad bug in SelectNextActor: The indexing was incorrect (only counted alive actors), resulting in dead actors being selected except if they were at the end of the party... which results in another deadlock ;).
083583d
@Ghabry Ghabry Also reset gauge for enemies when dead 470f150
@Ghabry Ghabry Fix off-by-one error in Enemy::GetStateProbability 7d9d167
@Ghabry Ghabry Battle: Try mitigating a crash that commonly happens in Android (I gu…
…ess, the stack trace does only say at the beginning of the function). The noise hopefully results in reports.
61f23c2
@fdelapena fdelapena merged commit 8f849cb into EasyRPG:master Mar 18, 2016

5 checks passed

Android Build finished.
Details
Linux Build finished.
Details
OSX Build finished.
Details
Windows Build finished.
Details
web Build finished.
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment