|Description||A mostly automated system for handling scavenger hunts.|
|Contains a Migration|
Adds a system for creating/handling mostly automated scavenger hunts.
Hunts have space for an internal and display name, short summary, an initial clue if desired, and start and end times. Once hunts are created they also gain a field for storing a plaintext list of target locations. It's hidden under a collapse by default, however. Hunts also display in the admin panel the url and formatted link to their user-facing page, for convenience.
Once a hunt is created you can then create up to 10 targets, which are items with a given quantity. These in turn can have a description, such as a clue. Users can claim an item once, at which point the timestamp at which they did so is logged and the item/quantity is awarded to them automatically. Targets can only be claimed inside the time a hunt is active, of course. Targets are linked to via randomized strings generated on target creation rather than via their internal ID to make it wildly impractical for users to guess the links to them. Again, for convenience, pre-formatted links are generated. HTML and wiki formatting are provided, but note that the latter requires for your wiki to have linking to external images enabled; it is disabled by default. These links endeavor to display the item's image, but failing that, they display the item's name.
Hunt pages are always visible, regardless of whether they are active (can be interacted with) or not. This is partly for the sake of ready archival, and because awarded items' logs point to this page. They display the hunt's display name and summary, start and end times, and its starting clue. It also displays the targets the user has found and claimed and the number claimed out of the total. If any of the claimed targets had clues attached, they are also listed for convenience.
Targets' pages display the item image if present, as well as name and quantity of the item, and the target's clue if present. They also have a button to claim the item and log that the user has found it. This button is of course unavailable outside of the hunt's start and end times, and if the user has already claimed the target.
php artisan migrate
Scavenger hunts are created and edited via an admin panel in the [Data] section.
Find me in the Lorekeeper discord if you have issues!