audinowho / PMDODump

All content generation for PMDO. BEWARE SPOILERS.
MIT License
61 stars 13 forks source link

OnMapTurnEnds is rife with player-enemy non-parity issues and needs to be reworked #438

Open audinowho opened 7 months ago

audinowho commented 7 months ago

Consider a simple case: fire spin. It inflicts damage at the end of every map turn end, and ticks down every player start of turn.

If performed by an enemy to the player:

Player acted Enemy hits player with fire spin. Now at 3 turns left. [TURN ENDS] - Player takes fire spin damage Fire spin ticks down to 2 Player acted Enemy acted [TURN ENDS] - Player takes fire spin damage Fire spin ticks down to 1 Player acted Enemy acted [TURN ENDS] - Player takes fire spin damage Fire spin ticks down to 0 and the player is free

If performed by the player to enemy: Player hits enemy with fire spin. Now at 3 turns left. Fire spin ticks down to 2 Enemy acted [TURN ENDS] - Enemy takes fire spin damage Player acted Fire spin ticks down to 1 Enemy acted [TURN ENDS] - Enemy takes fire spin damage Player acted Fire spin ticks down to 0 and the enemy is free

Fire Spin was originally set to work on map turn end instead of turn end, because we wanted it to be agnostic to the target's movement speed which may have given them multiple turns. However, as it is, it results in a constant nonparity between player and enemy factions. It also won't be fair to move the countdown to Map Turn End, because there must always be an opening for both players and enemies against crowd control: it must expire before the start of the victim's turn.

Right now, the only way to get rid of this non-parity is to make Fire Spin damage at the end of the player turn, thus making it movement speed dependent.

The following effects used to be OnMapTurnEnd and move to OnTurnEnd:

The following effects remain OnMapTurnEnd"

However, a better system must be put in place for the future.

audinowho commented 7 months ago

Since the player always moves before the enemies, Map Turn End may be inherently an unfair event in its current state.

It may be ideal to change it to work such that it occurs on the end of an entire faction's turns, and only on the 1x speed tier.

There are implications to this with regards to weather effects that must be put into consideration.