Collection log - #148
Open
a-thoren wants to merge 11 commits into
Open
Conversation
Collaborator
Contributor
Author
Collaborator
Contributor
Author
|
Alright, that's fair. I'm away for a couple of days but will migrate to an inventory when I get back |
Collaborator
Contributor
Author
…an hardcoding them in the DB table
a-thoren
force-pushed
the
feat/collection-log
branch
from
August 8, 2026 08:00
e7e182f to
e8c88fa
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.





This PR adds the entire collection log system minus the ability to display a player's last obtained entries.
Items in the collection log are cache-native via enums. We simply store a category's struct ID in the DB table and look up items via the associated enum.
Collection log varbits are assumed to adhere to the naming standard
varbit.collection_item_itemnamewhereitemnameis an item's gameval.I have tested this PR to check that full navigation between the collection log and overview is possible.
Note that while this PR adds varbits for every item in the collection log it does not add the underlying mechanic allowing a player to unlock every item in the collection log. As this project is currently fairly content-poor we only grant collection log entries from NPC drops as well as loot from relevant chests as added in #121. Adding collection log support in a module is very straightforward and simply requires a call to
CollectionLog#grant.The only issue I noticed that I'm unsure about is the fact that results from the search functionality always state that the count of an item is 0. This 0 appears to be hardcoded in the clientscript and I do not have an OSRS account where I can test if this is actually the case.
Another concern I have is that this PR necessitated the addition of a very large amount of varbits and varps which has significantly bloated the varp.toml and varbit.toml files. I'm not sure if there is another, better solution to this but if a reviewer has any notes I will of course amend this.
I also added the command
::componentdebugto easily allow me to find interface components rather than use the Widget Inspector. If a reviewer feels this is undesirable I have no issues removing it or any other debug commands added.I should also note that the navigation via the collection log to the combat achievements currently does not work as combat achievements have not really been implemented AFAIK.