Brainstorm: Thunder Rolls
I've been brainstorming some ideas and adding to the intended upgrades for dynamic grabbing and priority/rules. So far, here is what I have:
- Dynamics as text editor for advanced users
- Create and remember dynamic return types
- Append custom return types to the options menu
- Interface offers "new root" button instead of just creating child nodes you need to move up
- Interface cut and paste
- Rules can be nested
- Rules can use the following new event hooks:
- onIdentify: do something when a post is identified (or reidentified)
- onBeforeCollect: do something before collecting this post
- onAfterCollect: do something just after collecting this post
- onFailed: do something when a post collection fails
- onAccepted: do something when post is successfully accepted
- onTimeout: do something when the post times out
- onLimit: do something when the counter reaches its limit
- onStatus: on a specific status from the sidekick, do something
- Rule events can then use the following new actions:
- like: just like autolike but more specific
- clean: delete from collector window
- count: similar to how priority/limit works now
- unCount: in case you want to decrement a counter
- setColor: set the background color of a post
- pin: pin the post and prevent it from being "cleaned"
- setAsAccepted: mark it accepted without trying it
- setAsFailed: mark it failed without trying it
- processFirst: send the post to the top of the collection stack for immediate collection
- processLast: send the post to the bottom of the collection stack for late collection
- setPriority: sets the priority rank for this item
- deletePriority: remove the prior rank for this item
- deleteRule: removes this rule and all of its children
- pauseBonus: stop collecting this bonus type until unpaused or page is refreshed
- uncheckBonus: uncheck the option to collect this bonus type in the options menu
- pauseApp: stop collecting this app until unpaused or page is refreshed
- refreshPage: force an immediate refresh of the WM page
- pauseAll: stop collecting all bonuses for all apps until unpaused or page is refreshed
- resetLimit: set the limit counter to 0
- hatch: moves this rule's children up one level and then deletes the rule
- validate: a set of functions to search a field for a value and then do another function
- Rules can accept sub parameters (and some will need to)
- Rules can have eggs: eggs contain inactive child rules that activate when hatched (see hatch function above)
- Rules can point to all apps at once
- Rules can point to all bonus types in an app at once
More about eggs and that hatch function
Eggs are child nodes that are inactive. Normally a child node is activated just after the parent node is read and activated, but an egg is ignored until it becomes active. With the use of egg children, you can store future rules and priority settings under an active one.
For example: You need 50 nails to finish your "greater barn of mammal holding", but you also need to start collecting about 200 "potion of lesser mammal growth", and you also don't want to start collecting the potion until the barn is done. Now you can nest the potion rule as an egg and hatch it when the nails are all collected. The nail rule will just ceace to exist and the egg will take its place. Any nest can have multiple eggs. Eggs can be mixed with normal children and will stick around when the others hatch.
Its a very super simple process really, and an interface will be there to help people along, with help text and all that.
To Infinity and Beyond...with your help of course
You can see I am trying to give advanced users another method to do very very specific tests and automate their system in a way that suits them better. At the same time, I will keep the dynamic and priority settings similar enough to how they are now so that the common user will still be able to use any dynamics and rules they have already entered.
What I need from you guys is a list of anything you think would be useful. Don't get crazy and ask the WM to start sending you an email or anything that would require complex outside scripting. I may have specifically missed some of the features requested for the dynamic or rules consoles, so please refresh my memory.
This won't be something I work on right away, but this wiki document will be a great way for me to store my to=do list for this project.