Tuesday, July 16, 2019

Changes to Research

More details on today's changes to the research command are below.

A new optional argument has been added to the research command. This update is aimed at providing even greater flexibility for users. The new syntax is:
!research [reward] [task] <location>
The new argument is the reward argument. The addition of this argument, among other things, makes it possible to complete a research report with a single command and no required reactions. The logic of the command now works this way:


  1. Meowth attempts to convert the first argument after `!research` to a reward object. It does this by first trying to convert to a Pokemon, then to an item. Note that in the case of item rewards, for best accuracy you will need to supply the amount of the item and wrap the argument in quotes, e.g. “3 rare candy”.
    • If Meowth fails to convert the first argument to a reward, it treats the first argument as the optional task argument.
    • If Meowth succeeds in converting the first argument to a reward, the next argument is treated as the optional task argument.
  2. Meowth attempts to convert the next argument to a Task object. This uses an updated fuzzymatching method that should more accurately get partial matches and no longer requires manual assignment of tasks to categories. The upshot of this is that sponsored and special event tasks should be much easier to report.
    • If Meowth fails in this conversion, it treats this second argument and the rest of the command as the location argument.
    • If Meowth succeeds, the rest of the command is treated as the location argument.
  3. Meowth converts anything left over after the previous two conversions to a Pokestop object as before.


These changes are powerful and can greatly improve the user experience of reporting research. Here are some examples:
!res spinda starbucks
Meowth converts ‘spinda’ to the Pokemon Spinda. Since there is only one task that gives a reward of Spinda, it doesn’t ask for the task. ‘Starbucks’ is used as the location.
!res “3 rare candy” starbucks
Meowth converts ‘3 rare candy’ to an Item Reward object. Then it searches for tasks that give 3 Rare Candy as a reward. (Currently there are 4 such tasks.) It asks the user to select from one of the 4 tasks with a reaction but also gives an “Other” option, in case there are new tasks that have not yet been added to the database. ‘Starbucks’ is used as the location.
!res “3 rare candy” “catch a ditto” starbucks
Same as the above example except that the task is supplied and no reaction prompts are necessary. Note that if a partial conversion is done on the task argument, Meowth does not currently filter out the tasks that do not grant the supplied reward.

Known oddities: `!res spin starbucks` matches Spinda as a reward rather than ‘spin’ as a task category. Keep in mind though that all arguments other than the location remain optional.

No comments:

Post a Comment

Changes to Research

More details on today's changes to the research command are below. A new optional argument has been added to the research command. Thi...