Skip to content

REPENTOGON Plus Definitions #2#132

Merged
Zamiell merged 52 commits intoIsaacScript:mainfrom
Syntax-Sculptor:repentogon-plus-2
Dec 23, 2025
Merged

REPENTOGON Plus Definitions #2#132
Zamiell merged 52 commits intoIsaacScript:mainfrom
Syntax-Sculptor:repentogon-plus-2

Conversation

@Syntax-Sculptor
Copy link
Contributor

This is the second PR of three(?), as the amount of API additions, changes and definition fixes are large.

For isaac-typescript-definitions, I had removed Level.GetLastDevilRoomStage as it has been broken since Repentance and only returns an userdata. I plan on moving it over to isaac-typescript-definitions-repentogon as it is fixed there.

@Zamiell
Copy link
Member

Zamiell commented Dec 23, 2025

i reverted the changes to Game.d.ts, since I think it is useful to have the method existing for historical context.
to be clear, the method still does "work" in-game, right? (insofar that it doesn't crash the game and successfully returns metadata.)

@Syntax-Sculptor
Copy link
Contributor Author

Syntax-Sculptor commented Dec 23, 2025

i reverted the changes to Game.d.ts, since I think it is useful to have the method existing for historical context. to be clear, the method still does "work" in-game, right? (insofar that it doesn't crash the game and successfully returns metadata.)

It doesn't cause any crashes, yeah. In that case I'll just add an Ex method that will return a fixed LevelStage while still transpiling to GetLastDevilRoomStage.

Updated deprecation notice for IsValidTrinket method.
@Zamiell
Copy link
Member

Zamiell commented Dec 23, 2025

should I merge this now or are you still working on it?

@Syntax-Sculptor
Copy link
Contributor Author

yes it can be merged

@Zamiell
Copy link
Member

Zamiell commented Dec 23, 2025

is it not possible for Repentongon function definitions to overwrite vanilla function definitions?
maybe I have asked this before, but it's been a while and I have forgotten.

@Syntax-Sculptor
Copy link
Contributor Author

is it not possible for Repentongon function definitions to overwrite vanilla function definitions? maybe I have asked this before, but it's been a while and I have forgotten.

Not as far as I know, since it's expected that the overridden interface field should have the same type as the normal one. In the case of GetLastDevilRoomStage, doing it owuld result in the error:

Subsequent property declarations must have the same type. Property 'GetLastDevilRoomStage' must be of type '() => LuaUserdata', but here has type '() => LevelStage'.

@Zamiell
Copy link
Member

Zamiell commented Dec 23, 2025

oh I see, that's very unfortunate

@Zamiell Zamiell merged commit f93f456 into IsaacScript:main Dec 23, 2025
23 checks passed
@Zamiell
Copy link
Member

Zamiell commented Dec 23, 2025

should I wait for the next PR until releasing?

@Syntax-Sculptor
Copy link
Contributor Author

Sure, the last PR should be out sometime today

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants