Runelite: Farming contract overlay

Created on 31 Jan 2019  路  31Comments  路  Source: runelite/runelite

My feature suggestion is basically an exact copy of the slayer task overlay, except for the farming contracts, I find myself always forgetting what my current task is, and feel it would be very convenient.
runelite_2019-01-31_00-07-41

feature-request

Most helpful comment

I'd prefer some other kind of indicator aside from an overlay for this. Perhaps an indicator in the time tracking plugin? It seems like showing an overlay for this would be generally fairly useless or annoying.

All 31 comments

If this is added, it should only be visible in the Farming Guild, but that's stupid since you can just right-click the guildmaster and select "Contract" and be told what your current task is.

I'd prefer some other kind of indicator aside from an overlay for this. Perhaps an indicator in the time tracking plugin? It seems like showing an overlay for this would be generally fairly useless or annoying.

My idea is to show the icon of your current assignment as a floating symbol on top of the guild master. We have that for other things as well.

Or alternatively we could add some kind of tag feature to timers in your farming timers list. Would show you when the contract was done and potentially alert like the bird house one.

I would like to pick up this feature request.

We currently have multiple suggestions:

  • Overlay Icon (ex. slayer task), only visible within the Farming Guild
  • Farming Panel indication
  • Farming patch overlay, the patch will be highlighted with the desired seed/sapling (icon + text) _-> my suggestion_

It's currently a bit unclear, which suggestion has the most potential, but I will start prototyping them and keep progress posted here. Preferences or suggestions would be appreciated.

I would like to pick up this feature request.

We currently have multiple suggestions:

  • Overlay Icon (ex. slayer task), only visible within the Farming Guild
  • Farming Panel indication
  • Farming patch overlay, the patch will be highlighted with the desired seed/sapling (icon + text) _-> my suggestion_

It's currently a bit unclear, which suggestion has the most potential, but I will start prototyping them and keep progress posted here. Preferences or suggestions would be appreciated.

I originally requested the interface overlay, but I like Nachtmerrie's idea much more.

We talked about this in Discord before (when someone else was working on this), and IMO best way to display this is in time tracking panel in Overview sections, and highlighting currently placed contract in other sections

I've started on this feature and I came around a few problems which I need some technical feedback.

To start off, I think it's very odd to implement the logic to retrieve farming contract inside the time tracking plugin. It would be better if the farming contract is a separate plugin, but this will cause some problems that need quite some work.

For instance, The farming contract plugin would like to know if the current assigned contract is still valid and for this, I need to know if the patch contains the desired seed. As well for the time tracker plugin, it would like to know what the current contract is to highlight the correct patch.

The current implementation of the farming tracking is tightly coupled to the panel and would require quite some extracting/refactoring to make it sharable logic that can be used for the time tracking and the farming contract and I don't know if this would be a something that the lead developers would sign off with, so that is something I would like to know, before all the large changes.

It can be split up into two features.
1. Refactoring Farming Tracker so the logic can be used outside the TimeTracker plugin.
2. Farming Contract plugin with Farming Tracker panel patch highlight.

@Abextm (I tagged you, since you worked a lot on the FarmingTracker in the TimeTracker plugin)

I dont see a reason why it cant be in time tracking plugin when you have all info already there. Just implement what I said, I dont think it should be that hard.

@deathbeam I forgot to reply to my own comment, I had a small discussion with Abextm and we had the same outcome. It will be part of the Time Tracking plugin.

Progress on this feature request will be posted on Trello. Feel free to leave feedback or suggestions here.
Be aware that the screenshots posted might not be final and 100% up to date.

https://trello.com/b/GJERJGnQ

I don't think you should add a new tab just for the contract, add it to the overview tab instead

I don't think you should add a new tab just for the contract, add it to the overview tab instead

Good point, thank you. Let me see what I can do. Back to the drawing board... ; )

Besides the timetracker I'd also add the overlay in the farming guild so you can be at the bank or patches without having to talk to the NPC. I think having both of these functionalities would be best.

Besides the timetracker I'd also add the overlay in the farming guild so you can be at the bank or patches without having to talk to the NPC. I think having both of these functionalities would be best.

Yea, I've already made this in another branch, but I wasn't sure if should I include that here. Will do : )

_I've to announce that this feature request is sadly not viable and I've decided to stop working on it._

The following reasons make this feature request not viable:

  1. You could complete a farming contract outside the client and RuneLite has no way to know that
  2. You could already have used a certain patch/crop/produce for a previous contract and again there is no way to knowing that.
  3. Contracts are given by "unique" names that we don't have a lookup table for, which requires a lot of testing and a high chance of breaking in the future.
  4. Too many changes needed to be done in the Time Tracking plugin to get it properly integrated into the overview page.
  1. This is not an issue
  2. How is this relevant
  3. We already have all names in farming plugin? Idk what do you mean.
  4. I dont think it requires that much changes
  1. How come, the Time Tracking plugin will tell you to grow some Jangerberries, but you already completed this contract meanwhile on a different client (ex. mobile)
  2. If your assigned contract is Jangerberries, but you already checked it's health, it's not valid and needs to be regrown, but the Time Tracking plugin will tell you it's finished and ready to harvest
  3. the plugin names things different than the contract requests them and will require another lookup table that requires a lot of testing to catch all the cases (plugin: jangerberry, contract: jangerberries)
  4. This is more of a concern of me; changing existing code will result in longer review time and a higher chance to get rejected due to unwanted changes.
  1. We have this issue with slayer and with time tracking already too, we never really cared, it doesnt matter
  2. So? Check on XP drop for completion then
  3. That do not looks like an issue
  4. Then do it right

Well I guess when you gave up on this its fine. I just want to avoid your response confusing other people reading this thread.

1) This issue is so widespread over everything we track, its expected behavoir
2) The farming plugin knows grown&unchecked vs checked&unharvested
3) It probably uses the same names as geomancy, which is in the cache (enum 1238)
4) This change in theory is very simple

After some discussion, I decided to continue on this feature.

I was under the impression the first problem would make this feature not releasable.

Current states in the overview panel in the Time Tracking plugin, feedback is welcome.

Status: Unknown contract
Description: Unknown
Color: Gray
1

Status: Contract is known, but is not planted yet
Description: Snapdragon
Color: Gray
2

Status: Contract is known, but wrong produce is planted
Description: Ready
Color: Red
3

Status: The correct produce is growing
Description: Ready at 22:05
Color: Gray
4


Status: Contract is completed
Description: Ready
Color: Green
6

Overview panel looks good. For panel I would maybe highlight border, or recolor the background slightly? maybe darker/lighter gray or some gray-ish green?

you should use ColorScheme.PROGRESS_COMPLETE_COLOR, etc

Are there any preferences to indicate the patch panel that the current contract belongs to?
I've made five simple mockups with the color of the seed pack item, but that could be changed of course.
Hopely there is something the majority likes and I could start work on.

Option A
option1

Option B
option2

Option C
option3

Option D Progress bar is only visible if produce is growing
option4

Option E
option5

Option F
option6

Option G
option7

C for sure, but id make it more subtle, try to either reduce the size or darken the purple

What about using small version of farming contract icon instead of that purple corner that is mostly meaningless (if we would go with something subtle like that imo D and E are better looking).

Current states for the infobox for the farming contract, feedback is welcome.

Currently if the contract is unknown or completed the info box is hidden. This infobox is only shown upon entering the farming guild. (technical: polygon of the farming guild outline)

Status: Contract is known, but is not planted yet
Description: -
Color: Gray
04

Status: Contract is known and growing
Description: Ready at 21:25
Color: Gray
01

Status: Contract is known, but all available patches are occupied
Description: Occupied
Color: Red
02

Status: Contract is known and ready to be harvested/heath-checked
Description: Ready
Color: Green
03

For the highlight in the farming patch panels, I kept to the minimal and used option E.
It can always be upgraded in the future.

I expect to create a Pull Request which will close this feature request in a couple of days, but does require testing by others, mainly because of the contract assignment names (ex. Potato Cactus -> Potato Cacti)

If this is added, it should only be visible in the Farming Guild, but that's stupid since you can just right-click the guildmaster and select "Contract" and be told what your current task is.

What about the overlay suggesting what payment can be made to protect the crop, what seeds and whether one can use a watering can to protect the crop (e.g. flowers) from disease? Would be very useful

Current states for the infobox for the farming contract, feedback is welcome.

Currently if the contract is unknown or completed the info box is hidden. This infobox is only shown upon entering the farming guild. (technical: polygon of the farming guild outline)

Status: Contract is known, but is not planted yet
Description: -
Color: Gray
04

Status: Contract is known and growing
Description: Ready at 21:25
Color: Gray
01

Status: Contract is known, but all available patches are occupied
Description: Occupied
Color: Red
02

Status: Contract is known and ready to be harvested/heath-checked
Description: Ready
Color: Green
03

When the contract is given, can you add in the overlay item requirements? For example what seed, whether a payment can be made to protect the crop and whether one can use a watering can to mitigate the risk of the crop failing (e.g. flowers)?

Was this page helpful?
0 / 5 - 0 ratings

Related issues

tyboyd picture tyboyd  路  20Comments

MScharnagl picture MScharnagl  路  30Comments

psikoi picture psikoi  路  29Comments

Popedigoz picture Popedigoz  路  21Comments

SomeZer0 picture SomeZer0  路  28Comments