e2418f5d4fcc1c8b9bc721fbd7ddbe7482535bf2
The hot-cold clue scroll plugin is an extension of the existing clue scroll plugins. When a hot-cold clue is opened, instructions for obtaining the strange device will be displayed. Once the user attempts to use the strange device, the panel component will switch to showing names of world areas and how many possible final locations are in each world area. Once the user checks in a different spot, the list of world areas and number of possible final locations will be updated to reflect the temperature obtained from the strange device. From the second check onward the warmer/colder result of the strange device will also be considered (same temperature is not considered at this time because I couldn't figure out a good way to implement it, but the process is still quick without it). Once the number of possible final dig spots is reduced to 10, the panel component will switch to showing the descriptions of the remaining dig spots. The user can continue testing locations to further narrow the number of remaining spots. The remaining spots will have a blue ground highlight, showing approximately where the final 9x9 dig spot area will be. When the user receives a message that their device is shaking, a dig icon will be placed on that square signaling that a valid final dig location has been found. The logic behind the hot-cold plugin is based on the precise range of squares that a player is away from the final location when checking the temperature of the strange device (measured in Chebyshev or Chess-board distance). All calculations are based off of the world map coordinate system, and strange device checks can be done anywhere on the world map. The centers of the final locations were manually approximated by comparing wiki location pictures to a coordinate map. So some final locations may be slightly off-center, but since the final areas are 9x9 this leaves room in the calculations for any slightly off-centered points.
runelite

runelite is a RuneScape 2 client and reverse engineering project
If you have any questions, please join our IRC channel on irc.rizon.net #runelite or alternatively our Discord server.
Project Layout
- cache - Libraries used for reading/writing cache files, as well as the data in it
- deobfuscator - Contains bytecode deobfuscator, mapper for handling updates, and the injector
- http-api - API for api.runelite.net
- http-service - Service for api.runelite.net
- model-viewer - RS Model, NPC/Object, and terrain viewer
- runelite-api - RuneLite API, interfaces for accessing the client
- runelite-mixins - Mixins which are injected into the injected client's classes
- runescape-api - Mappings correspond to these interfaces, runelite-api is a subset of this
- runelite-client - Game client with plugins
- runescape-client-injector - Builds the injected client from the vanilla client and the mappings
- runescape-client - Decompiled RuneScape client, contains mappings
Usage
Open the project in your IDE as a Maven project, build the root module and then run the RuneLite class in runelite-client.
For more information visit the RuneLite Wiki.
License
Most of RuneLite is licensed under the BSD 2-clause license. See the license header in the respective file to be sure. Some of the code, like everything in runescape-client, is automatically generated and is not licensed.
Contribute and Develop
We've set up a separate document for our contribution guidelines.
Description
Languages
Java
98.9%
GLSL
0.7%
C
0.3%
