TeamREPENTOGON / REPENTOGON

Script extender for The Binding of Isaac: Repentance
https://repentogon.com/
GNU General Public License v2.0
146 stars 16 forks source link

PRE_X_STATUS_APPLY & POST_X_STATUS_APPLY #549

Closed Syntax-Sculptor closed 14 hours ago

Syntax-Sculptor commented 1 month ago

This would be a set of callbacks tied to status conditions. PRE_X_STATUS_APPLY would fire before a status condition is applied, allowing the user to either cancel the status effect from being applied or overriding the duration. POST_X_STATUS_APPLY fires after a status condition is applied.

The parameters tied to each status condition would correspond to the AddX method (i.e: A callback tied to knockback would pass the source, push direction, duration, and whether the entity takes impact damage).

drpandacat commented 1 month ago

just an idea but maybe there could be a status enum and one shared callback with an optional param. though im not sure if it would work with there being attributes exclusive to certain status effects such as poison and fire's damage that could be passed to their respective callbacks

it would be nice if you could return a table that could modify other things in addition to the duration (color, damage, slowvalue). maybe even control over boss status effect duration?

Syntax-Sculptor commented 1 month ago

just an idea but maybe there could be a status enum and one shared callback with an optional param. though im not sure if it would work with there being attributes exclusive to certain status effects such as poison and fire's damage that could be passed to their respective callbacks

Yeah the different parameters correlating to each status effect method wouldn't make it ideal to consolidate all of it into a single callback.

it would be nice if you could return a table that could modify other things in addition to the duration (color, damage, slowvalue)

That can be done and would be useful.

maybe even control over boss status effect duration?

Would be worth investigating as a separate issue down the road.