This includes a new event: GrandExchangeOfferChanged which is fired
whenever a grand exchange offer is updated, either manually by the
player, or as a result of the offer being fufilled (partially or
otherwise)
The field formerly known as "progress" encoded what state the offer was
in which is a weird 4-bit thing that includes information about whether
the offer is a buy or sell offer, whether it's finished, and some other,
less well-defined info about (what seems to be) the offer's live-ness.
How close an offer is to being finished (ie its progress) is only really
based on how many items have bought/sold out of the total amount
requested/offered.
- Change sendGameMessage call to addGameMessage to allow sending messages with all supported fields
- Update chat message manager to support sending messages with all supported fields
- Add new overlay layer position that draws right above overheads and HP
bars, what is perfect for game interfaces
- Make this new layer use UNDER_WIDGETS layer position, and move the
before layer position to ABOVE_SURFACE
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
getClickbox returns an AWT Area object which corresponds to theclickable area of a GameObject, GroundObject, DecorativeObject or WallObject.
getClickbox for ItemLayers isn't implemented, since I haven't looked into how clickabilty works for items on the ground in the client.
They are different than RSNode's next and previous, but have the same signature so they can get called instead. This caused the ground overlay to only show 1 item because it was iterating the cache, not the item list.
There's no playSoundEffect-equivalent method in the actual client code.
Instead, the client just adds some values to the 4 sfx arrays, removes
any old queued sound effects, and then bumps the counter, which is what
I've done as well.