Commit Graph
100 Commits
Author SHA1 Message Date
Jordan Atwood 03c643a18b slayer plugin: Use boss pets as slayer icons 2018-09-24 16:53:13 -07:00
Jordan Atwood 20922aea9a slayer plugin: Add parsing for boss task assignments
Ref: https://user-images.githubusercontent.com/2199511/45984305-f9c22600-c04f-11e8-8cda-a8f4ab40e678.png
2018-09-24 16:05:55 -07:00
Jordan Atwood 5ef3597486 timers plugin: Reset Teleblock on entering safe zone
The effects of the Tele Block spell expire on three possible conditions:

1. When a player leaves the wilderness on a non-PVP/DMM world
2. When a player enters a PVP/DMM world safe zone
3. When a player logs out

Leaving the wilderness can be detected via Varbits changes, entering
safe zones in PVP/DMM worlds can be detected via WidgetHiddenChanged
events, and logging out is already detected via GameStateChanged events.
With that said, addressing the first two cases is not a trvial effort as
there are certain race conditions that must be handled. The
WidgetHiddenChanged event triggers upon login to PVP worlds regardless
of where you log in, and the PVP widgets all initially load in a state
which would be reflective of being in a safe zone, and are later set to
the proper state before the first display frame is rendered. Similarly,
during world hops, GameStateChanged and VarbitChanged events trigger in
a pattern which causes the client to think that a player is always
outside the wilderness upon reaching a `LOGGED_IN` game state; that is,
the following events occur on world hopping:

1. Game state changes to `HOPPING`
2. Varbits are all reset to default values. In the case of the
   wilderness varbit, it is set to 0--the value representing being
   outside the wilderness.
3. Game state changes to `LOGGED_IN`
4. Varbits are set based on player information. Only at this point is
   the IN_WILDERNESS varbit set to its proper value.

To handle these race conditions, the event subscribers for game state
change and widget hidden events only set a flag which is checked once
per game tick to handle PVP safe zone (and wilderness varbit) checks.

Fixes runelite/runelite#2384
2018-09-23 14:45:21 -07:00
Jordan Atwood facf7d69c9 worldtype: Add PVP_WORLD_TYPES and isPvpWorld 2018-09-21 00:00:01 -07:00
Jordan Atwood 2c4c7c566c Add PVP and Deadman widget info 2018-09-20 15:55:32 -07:00
Jordan Atwood daa0d84447 Add IN_WILDERNESS Varbit 2018-09-20 15:55:31 -07:00
Jordan AtwoodandJoshua Filby b81954cd60 Add Virtual Levels plugin
This plugin displays the virtual level in the denominator of given
skills, and the virtual total level on the skills tab.

Fixes runelite/runelite#375

Co-authored-by: Joshua Filby <joshua@filby.me>
2018-09-19 18:42:16 -04:00
Jordan Atwood d74fc18091 clue scroll overlay: Show visible emote widget area
The visible area of emote widgets will now be highlighted, regardless of
whether the widget is partially outside the emote window.

![Highlighted emote widget resizes to show visible area within emote window](https://user-images.githubusercontent.com/2199511/45579707-777c7980-b879-11e8-90bf-1e34fc1cb790.gif)

Fixes runelite/runelite#4163
2018-09-14 16:52:31 -07:00
Jordan Atwood 91369c41f0 opponent info plugin: Fix possible onGameTick NPE
The plugin is initialized with `lastTime` as null, meaning that if
`onGameTick` is called before `onInteractingChanged`, you can encounter
a case where after starting the client or plugin, `lastTime` has not yet
been set while `client.getLocalPlayer().getInteracting` is null (because
`onGameTick` gets sequenced before `onInteractingChanged` per tick),
causing an NPE when trying to compare a null Duration.

Fixes runelite/runelite#5451
2018-09-14 14:36:10 -07:00
Jordan Atwood ea284f9ca0 Centralize item (de)spawn log messages
Fixes runelite/runelite#5452
2018-09-14 14:33:06 -07:00
Jordan Atwood fba6b0122d world map overlay: Clip around widgets above map
This commit clips the overlay draw area to exclude the area taken by
widgets which draw above the world map, namely the overview map and
surface selector.

Fixes runelite/runelite#3264
Fixes runelite/runelite#3456
Closes runelite/runelite#3468
2018-09-13 16:18:35 -07:00
Jordan Atwood 1263e8a636 world map overlay: Render on ABOVE_WIDGETS layer
This commit makes world map overlay points and tooltips render below the
right-click menu, like native world map points and tooltips do.
2018-09-13 16:17:19 -07:00
Jordan Atwood 3832abfca8 Add world map surface selector and overview map widgets
This commit also reorders them to come in integer order.
2018-09-13 16:15:51 -07:00
Jordan Atwood cacb9e08aa timers plguin: Add teleport cooldown timers
This adds timers for home teleport and minigame teleport cooldowns.

Fixes runelite/runelite#814
Closes runelite/runelite#2153
2018-09-09 13:14:56 -07:00
Jordan Atwood af6a08bd01 Add home teleport widget info 2018-09-09 13:14:56 -07:00
Jordan Atwood 283cb96187 Add minigame teleport button widget info 2018-09-09 13:14:55 -07:00
Jordan Atwood c46b697071 Add home teleport animation and graphic definitions 2018-09-09 13:14:55 -07:00
Jordan Atwood 92d8d95e51 timers plugin: Reset fields on shutdown 2018-09-09 13:14:54 -07:00
Jordan Atwood 8fa437ed62 clue scroll plugin: Check for sets across inventory and equipment
Fixes runelite/runelite#3271
2018-09-06 15:19:06 -07:00
Jordan Atwood 058d043239 Fix SpriteIDs from 2018/08/30 update
Ref: (updated on left, old on right)
https://cdn.discordapp.com/attachments/419891709883973642/486602970901905418/2018-08-30_05-56-54.png
https://cdn.discordapp.com/attachments/419891709883973642/486602973074423819/2018-08-30_05-59-16.png
https://cdn.discordapp.com/attachments/419891709883973642/486602974483709962/2018-08-30_06-00-24.png
https://cdn.discordapp.com/attachments/419891709883973642/486602975905841171/2018-08-30_06-02-17.png
https://cdn.discordapp.com/attachments/419891709883973642/486602978153988096/2018-08-30_06-02-56.png
https://cdn.discordapp.com/attachments/419891709883973642/486602978837528577/2018-08-30_06-03-48.png
https://cdn.discordapp.com/attachments/419891709883973642/486602980494147594/2018-08-30_06-04-39.png
2018-09-06 12:13:37 -07:00
Jordan Atwood 2df2279455 interface styles plugin: Add more error handling
If a file is expected but not found, an IllegalArgumentException will be
thrown as a result of `null` being passed to the `ImageIO.read` call.
This commit adds better logging for this error case.
2018-09-06 12:12:19 -07:00
Jordan Atwood 6b600da0f3 hiscore plugin: Colorize "Lookup" player menu entry
This will cause the "Lookup" player menu entry to be colorized according
to the player indicators plugin options.

Fixes runelite/runelite#3806
2018-09-06 10:02:00 -07:00
Jordan Atwood a51b8b1ac7 screenmarker plugin: Remove extra images
This also makes the hover effect more consistent on the opacity toggle.

Closes runelite/runelite#5026
2018-08-22 09:26:16 -07:00
Jordan Atwood 8eab23147e timers plugin: Add fall/winter DMM teleblock timers
Beginning in Autumn 2018, teleblock timers will be half that of the
normal game mode: 150 seconds for a full teleblock, and 75 seconds if
the target had Protect from Magic active.

Ref: https://services.runescape.com/m=news/deadman-autumn-finals-and-winter-season?oldschool=1
2018-08-16 15:17:56 -07:00
Jordan Atwood 53ef162f1b timers plugin: Fix SDMM normal spellbook freezes
In Seasonal Deadman mode, protect from magic does not half the duration
of normal spellbook freeze spells (bind, snare, entangle) unlike
normal worlds and the permanent Deadman mode world.

Source: https://www.runescape.com/oldschool/deadman/season
2018-08-13 14:16:21 -07:00
Jordan Atwood 6bdde08c75 time tracking plugin: Fix timers header color
Fixes runelite/runelite#4821
2018-08-11 00:58:18 -07:00
Jordan Atwood 547f037330 Remove unused @Slf4j annotations and imports 2018-08-05 10:27:01 -07:00
Jordan Atwood 5c219c7ea5 ImageUtil: Add getResourceStreamFromClass method
This replaces invocations of `Class.getResourceAsStream(path)` in order
to relieve plugin/client code from managing synchronization and handling
exceptions.
2018-08-04 01:11:51 -07:00
Jordan Atwood 37092ce423 xp tracker plugin: Use shared image for icon 2018-08-04 01:11:00 -07:00
Jordan Atwood c8ba452c84 screenshot plugin: Use Sprite ID for overlay image 2018-08-04 01:10:59 -07:00
Jordan Atwood 24bc03bb1d raids plugin: Use Sprite ID for raids timer 2018-08-04 01:10:58 -07:00
Jordan Atwood 470966d0d6 puzzle solver plugin: Use Sprite ID for overlay image 2018-08-04 01:10:56 -07:00
Jordan Atwood 39ac378f4d kingdom plugin: Use Item ID for overlay image 2018-08-04 01:10:55 -07:00
Jordan Atwood ef4ce9708e hiscores plugin: Remove duplicate skill icon images 2018-08-04 01:10:54 -07:00
Jordan Atwood 2ccb2c7f5b fight caves plugin: Use Sprite IDs for overlay images 2018-08-04 01:10:52 -07:00
Jordan Atwood 99e2d766d6 death indicator plugin: Use Item IDs for overlays 2018-08-04 01:10:51 -07:00
Jordan Atwood ecea2e28ca clue scroll plugin: Use Item IDs for overlays 2018-08-04 01:10:49 -07:00
Jordan Atwood bcaa92905f agility plugin: Use Item ID for arena timer 2018-08-04 01:10:48 -07:00
Jordan Atwood ff31ffef01 plugins: Use shared clue arrow and reset images
These images are used throughout multiple plugins, thus are moved to a
new utility directory.
2018-08-04 01:10:46 -07:00
Jordan Atwood d6e465877e clan manager: Use Sprite IDs for rank badges
This commit adds `ImageUtil::resizeCanvas`, `ImageUtil::outlineImage`,
and `ImageUtil::fillImage`, and applies these functions to the clan
manager to replace the clan rank images with calls to `SpriteManager`.
2018-08-04 01:10:45 -07:00
Jordan Atwood 8fb36d3ea4 resources: Remove derivative images
This commit adds `ImageUtil::bufferedImageFromImage`,
`ImageUtil::alphaOffset`, `ImageUtil::grayscaleImage`, and
`ImageUtil::flipImage` functions and applies them to client and plugin
code to remove unneeded derivative images from the resources directory.
2018-08-04 01:10:44 -07:00
Jordan Atwood 06cd5cd7d0 Add image utility class 2018-08-04 01:10:42 -07:00
Jordan Atwood f0799ffe79 SwingUtil: Fix grayscaleOffset to not modify alpha
With previous code, grayscaleOffset was modifying all image components
(including alpha), instead of only the color components. This commit
fixes that by using a `RescaleOp` instead, which allows for distinct
modifiers per component.
2018-08-04 01:10:40 -07:00
Jordan Atwood 3963785de9 resources: Remove unused images
This removes the now-unused images left over from the removed special
attack orb plugin and plugin rework for new title toolbar.
2018-08-04 01:10:23 -07:00
Jordan Atwood 3159a02edf chat commands plugin: Use consistent message check
All chat messages are either checked for equality to command strings
which are not followed by spaces or are checked to start with command
strings followed by a space, and use the constants' length (plus one,
for the space) to get the command argument.
2018-08-02 11:59:27 -07:00
Jordan Atwood bb2c800875 achievement diary plugin: Fix coal mining req
Fixes runelite/runelite#4646
2018-08-02 11:38:14 -07:00
Jordan Atwood d617ff5985 agility: Add Ungael obstacles
Ref:
https://user-images.githubusercontent.com/2199511/43506201-e027cfaa-9558-11e8-89f7-f0efbabcdc8f.png
https://user-images.githubusercontent.com/2199511/43506202-e043a72a-9558-11e8-984a-5fd9214e889d.png
https://user-images.githubusercontent.com/2199511/43506203-e05d3dc0-9558-11e8-852d-1cf06b99f29d.png
https://user-images.githubusercontent.com/2199511/43506204-e0751c24-9558-11e8-9e33-19ec490b4edb.png
https://user-images.githubusercontent.com/2199511/43506638-2e190156-955a-11e8-90fe-80fa28603b6e.png
https://user-images.githubusercontent.com/2199511/43506639-2e30a040-955a-11e8-8fee-54882adb2f80.png
https://user-images.githubusercontent.com/2199511/43506640-2e4a1a02-955a-11e8-8e72-65742dd776ca.png

Fixes runelite/runelite#2629
2018-08-01 00:12:58 -07:00
Jordan Atwood 39e3f6fb7e clues: Fix Lumbridge swamp cave emote clue location
Ref: https://user-images.githubusercontent.com/2199511/43506141-b57a40e4-9558-11e8-9e4d-a6a5ddbdcd4a.png
2018-08-01 00:01:31 -07:00
Jordan Atwood 85bbbf9d96 achievement diary plugin: Fix waka canoe requirement 2018-07-30 12:25:14 -07:00
Jordan Atwood af4bc0242f achievement diary plugin: Fix Belladonna farming req 2018-07-30 12:24:52 -07:00
Jordan Atwood b90261f524 achievement diary plugin: Fix Abyssal demon req
Fixes runelite/runelite#4522
2018-07-26 20:09:48 -07:00
Jordan Atwood 1d0702e19d slayer plugin: Use ColorUtil functions 2018-07-26 19:51:32 -07:00
Jordan Atwood 3f67ed04c8 rune pouch plugin: Use ColorUtil functions 2018-07-26 19:51:32 -07:00
Jordan Atwood 0ef1adeaaa puzzle solver plugin: Use ColorUtil functions 2018-07-26 19:51:31 -07:00
Jordan Atwood a9d29a70f4 player indicators plugin: Use ColorUtil functions 2018-07-26 19:51:30 -07:00
Jordan Atwood 83d3237780 menu entry swapper plugin: Use ColorUtil functions 2018-07-26 19:51:28 -07:00
Jordan Atwood 4d0480ef24 item stats plugin: Use ColorUtil functions 2018-07-26 19:51:27 -07:00
Jordan Atwood 5c2251643c item prices plugin: Use ColorUtil functions 2018-07-26 19:51:26 -07:00
Jordan Atwood 8280654c88 inventory tags plugin: Use ColorUtil functions 2018-07-26 19:51:25 -07:00
Jordan Atwood f43a2e0162 ground items plugin: Use ColorUtil functions 2018-07-26 19:51:23 -07:00
Jordan Atwood be91d3ce26 friend notes plugin: Use ColorUtil functions 2018-07-26 19:51:22 -07:00
Jordan Atwood c898fda923 boosts plugin: Use ColorUtil functions 2018-07-26 19:51:21 -07:00
Jordan Atwood 339ece742c achievement diary plugin: Use ColorUtil functions 2018-07-26 19:51:20 -07:00
Jordan Atwood c64727e6b4 widget menu option: Use ColorUtil functions 2018-07-26 19:34:21 -07:00
Jordan Atwood 477027a032 chat message manager: Use ColorUtil functions 2018-07-26 19:33:29 -07:00
Jordan Atwood 8472ae61e5 notifier: Use ColorUtil functions 2018-07-26 19:29:25 -07:00
Jordan Atwood 29777c0b1f Add color utility class
In addition to creating `colorTag`, `prependColorTag`, and
`wrapWithColorTag` functions, this commit moves
`SwingUtil::toHexColor` and `SwingUtil::colorLerp` to this new class.
2018-07-26 19:21:29 -07:00
Jordan Atwood 39e56151b7 timers plugin: Use constants for checked strings 2018-07-26 18:27:12 -07:00
Jordan Atwood aede77f7e5 item charge plugin: Use constant for checked string 2018-07-26 18:27:02 -07:00
Jordan Atwood 2e3efc29cb clues: Fix menaphite emote requirements
Fixes runelite/runelite#4493
2018-07-24 20:52:49 -07:00
Jordan Atwood 6c1aefc8d9 opponent info plugin: Fix SDMM hiscore lookup
SDMM worlds have both `DEADMAN` and `SEASONAL_DEADMAN` types, so we
must check for the latter first to accurately determine the hiscore
lookup endpoint.
2018-07-20 16:45:31 -07:00
Jordan Atwood b36d6fa410 clue scroll plugin: Remove useless null check 2018-07-18 15:48:15 -07:00
Jordan Atwood f2a4d67aed Remove freeze timer on Vorkath Zombified spawn death 2018-07-18 09:19:13 -07:00
Jordan Atwood 479cd395a9 timers plugin: Reduce visibilities
Ref: runelite/runelite#3911
2018-07-17 17:30:20 -07:00
Jordan Atwood 9cf09eee79 text: Fix removeTags for isolated < and > chars
Fixes runelite/runelite#4355
2018-07-16 10:19:30 -07:00
Jordan Atwood 6c803dce03 screenshot plugin: Use separate directory for DMM
Closes runelite/runelite#2050
2018-07-14 16:51:27 -04:00
Jordan Atwood a231a7b467 agility plugin: Add pyramid end point
Fixes runelite/runelite#4075
2018-07-06 10:23:32 -07:00
Jordan Atwood b9b1315637 agility plugin: Check for endpoints only when defined
When an agility course has end points defined there is no need to check
the amount of experience gained, only that it is gained at the right
location.
2018-07-06 10:23:24 -07:00
Jordan Atwood 927238fdb3 agility plugin: Fix course spellings 2018-07-06 10:22:30 -07:00
Jordan Atwood e2bd5a1c47 agility plugin: Reduce visibility of classes
Ref: runelite/runelite#3911
2018-07-06 10:22:29 -07:00
Jordan Atwood f6937b70f3 agility plugin: Remove unused variables and imports 2018-07-06 10:21:48 -07:00
Jordan Atwood b274a25a6f xp tracker plugin: Remove WorldClient usages
The xp tracker plugin does not need to query for a list of available
worlds, it only needs to know the current world type, which can be found
using `Client.getWorldType()` instead. As such, usages of WorldClient
are substituted with this simpler method instead.

Closes runelite/runelite#4190
2018-07-05 19:16:09 -07:00
Jordan Atwood aa7f05833d xp tracker plugin: Reduce visibilities
Ref: runelite/runelite#3911
2018-07-05 19:01:12 -07:00
Jordan Atwood 817a7dd871 xp drop plugin: Move text to use hidden icon's space
Closes runelite/runelite#2265
2018-07-05 15:57:16 -07:00
Jordan Atwood 11b4575250 clues: Fix SW-of-deserted-keep hot-cold location
Fixes runelite/runelite#4189
2018-07-05 11:41:33 -07:00
Jordan Atwood 243418f8f0 clues: Fix casing of NPC names in anagram clues
Ref:
https://user-images.githubusercontent.com/2199511/42261940-3ea4b568-7f59-11e8-95bf-719ba8938ebe.png
https://user-images.githubusercontent.com/2199511/42302013-07e99c3c-8008-11e8-8a6c-d47531b2f88b.png

Fixes runelite/runelite#4164
2018-07-04 22:08:14 -07:00
Jordan Atwood 5f848a0b5e agility plugin: Add pyramid entrance obstacles
Ref:
https://user-images.githubusercontent.com/2199511/42261363-86d6fd84-7f57-11e8-8d88-d918768b7ecc.png
https://user-images.githubusercontent.com/2199511/42261366-87987144-7f57-11e8-9199-80c128e53f82.png
2018-07-03 23:57:57 -07:00
Jordan Atwood 21732c117c clues: Fix Cap'n Izzy No-Beard anagram clue
Ref:
https://user-images.githubusercontent.com/2199511/42261249-1dffec80-7f57-11e8-8dfe-11f48d144fbc.png
2018-07-03 23:55:08 -07:00
Jordan Atwood 5aa616ed76 item stats: Add negative attack bonus to wines 2018-07-03 17:35:41 -07:00
Jordan Atwood f354d3787f skill calculator: Fix combined items with decimals
Fixes runelite/runelite#3812
2018-07-02 17:30:24 -07:00
Jordan Atwood 7241d47585 item stats plugin: Fix Zamorak brew stat changes
Fixes runelite/runelite#3732
2018-07-01 20:52:33 -06:00
Jordan Atwood 1a81ab4fad item stats plugin: Fix import ordering 2018-07-01 20:52:33 -06:00
Jordan Atwood 31862e3b5c grand exchange plugin: Clear render on empty string
Before:
![Blank GE search render bug](https://user-images.githubusercontent.com/2199511/42140211-7ecfe060-7d8b-11e8-937b-66545553a42f.gif)

After:
![Blank GE search render bug fixed](https://user-images.githubusercontent.com/2199511/42140213-80a265f2-7d8b-11e8-9b29-1d558ffbcc54.gif)
2018-07-01 17:07:14 -07:00
Jordan Atwood 80657e1f52 grand exchange plugin: Fix error message typos 2018-07-01 16:59:02 -07:00
Jordan Atwood c10d4ebefb item stats plugin: Add field ration 2018-06-29 20:42:18 -07:00
Jordan Atwood 417233072b agility plugin: Add Lumbridge swamp cave shortcuts
Ref:
https://user-images.githubusercontent.com/2199511/42118989-0db03a78-7bf7-11e8-8093-133a5655f0db.png
https://user-images.githubusercontent.com/2199511/42118991-0ebf9ad0-7bf7-11e8-9603-5d4a64aae5e5.png
2018-06-29 16:51:37 -07:00
Jordan Atwood 1d242172ca fishing plugin: Add cave eel and slimy eel spots
Ref:
https://user-images.githubusercontent.com/2199511/42118923-8fe9e94a-7bf6-11e8-93b2-e51bbce4fbf6.png
https://user-images.githubusercontent.com/2199511/42118912-8c7e82c0-7bf6-11e8-9e07-d429439a73d0.png
https://user-images.githubusercontent.com/2199511/42118914-8c982446-7bf6-11e8-9df6-dab9f2b63b4e.png
https://user-images.githubusercontent.com/2199511/42118915-8cb14e62-7bf6-11e8-864f-718f48afb134.png
https://user-images.githubusercontent.com/2199511/42118916-8cca2964-7bf6-11e8-95ab-2f58d62e6e36.png
https://user-images.githubusercontent.com/2199511/42118917-8ce564e0-7bf6-11e8-800e-821c0443100d.png
https://user-images.githubusercontent.com/2199511/42118918-8d0b1f28-7bf6-11e8-9304-0149ac8ab9b9.png

Fixes runelite/runelite#4091
2018-06-29 16:46:45 -07:00
Jordan Atwood 6ca252fa86 item stats: Add missing RFD foods 2018-06-29 11:52:22 -07:00
Jordan Atwood cb2884b1ac timers plugin: Check for Vengeance Other graphic
Fixes runelite/runelite#4052
2018-06-28 23:21:28 -07:00
Jordan Atwood 31082ad85a Add Vengeance Other graphic ID 2018-06-28 23:21:28 -07:00