Skip to content

implement base-engine items - #2

Draft
eyedine2 wants to merge 5 commits into
Dastan21:mainfrom
eyedine2:main
Draft

implement base-engine items#2
eyedine2 wants to merge 5 commits into
Dastan21:mainfrom
eyedine2:main

Conversation

@eyedine2

@eyedine2 eyedine2 commented Aug 1, 2026

Copy link
Copy Markdown
image

(both base-engine and mod items being loaded at the same time, the Bisicle overrides its default text.)

What this does:

  • Implements some of the consumables from Undertale into the base version of the engine (it's a small amount, I need to do more later)
  • Gives these items unique use text from the original game (Monster Candy was missing this in the world example mod). This does completely override their use functions, which may be completely unnecessary. It's a rough addition for now. (fixed by putting the final dialogue text into its own function that can be overwritten)
  • Adds their text to the main localization files (and placeholder names for Serious Mode). English only unfortunately.
  • adds a new tryRequire function to Utils, which tries to get module info from a mod and then the base engine if it fails
  • Amends the Example world mod's save system to use this feature
  • Messes around with the shop in the Example world mod a little.

Note:

As I said, item use being overridden is not ideal. Items should support comments on their own and be able to change the dialogue text without going into the use function. Maybe a getUseComment function? (again, fixed)

These were not rigorously tested, I do not know if they work in every situation. I am not a good coder, I may have missed some things. But overall I think it's a good step towards adding boilerplate items people may be wanting to use a lot.

@eyedine2
eyedine2 marked this pull request as draft August 2, 2026 08:20
@eyedine2

eyedine2 commented Aug 2, 2026

Copy link
Copy Markdown
Author

converting this to a draft because it needs more work.

items of every type have a getdialoguetexts() function which allows you to override text in an item without reconstructing the use function
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.

1 participant