johanmodin / poe-timeless-jewel-multitool Goto Github PK
View Code? Open in Web Editor NEWA fast Path of Exile bot which allows the highly random timeless jewels to be automatically recorded, stored and presented.
License: Apache License 2.0
A fast Path of Exile bot which allows the highly random timeless jewels to be automatically recorded, stored and presented.
License: Apache License 2.0
The current site is very basic and, if it is to be used, should be polished or redone completely.
It would be nice to easily be able to upload our recorded jewels to the public database at http://poetimeless.xyz/.
Searching for 'minion' will throw error instead of returning any mod because Levenshtein's distance function will find least distance by returning the empty mod from data\filt_nonfilt_passives.json
Not sure if said empty mod {"": ""} is supposed to be in there in the first place.
_get_candidates() def needs improving at the end of the day.
Observed behavior:
Search for 'minion' returns error because empty mod. Removing empty mod from json makes def find 'farshot' (no results).
Search for 'minion damage' returns 'moredamage' (no results).
Search for 'increased minion damage' returns ('increasedminiondamage', '80% increased Minion Damage', '1') which is Slum Lord.. or rather was? (no results).
Search for 'minion increased life' returns Minions Deal % increased Damage result.
Search for 'increased minion life' returns % Increased Maximum Life result.
Need to add logic to handle corrupted jewels as they may and may not have an implicit which precedes the seed.
Some nodes that are very close to the jewel socket's radius gets included in the search, even though they are not affected by the jewel. This could probably be fixed simply by tweaking the circle radius, but could potentially be more difficult than that if the game is inconsistent.
Previously analyzed jewels can be fixed by removing unwanted nodes. As all nodes' locations are saved, this could be done by finding unwanted socket_id: location pairs.
In order to get a more complete picture of a jewel, keystone transformations should be recorded as well.
It happens, luckily infrequently, that the OCR messes up the mod value so that e.g. 42% is interpreted as 412%. This should be fixed by comparing the OCR'd value to the mod's known value range.
There have been instances of mods being read incorrectly by Tesseract. If we remove the mod value, match the mod (with e.g. levenshtein) with the available mods and then readd the value, we can be more certain that the recorded data is correct.
If all pixel locations were normalized, any 16:9 resolution could be used.
To make the application unaffected by new passive mods in jewels (if GGG decides to add such mods), the mod jsons will need to be generated on the fly.
This could be done by simply going over all mods of all jewel instances in the db and outputting new jsons as those found in the data
directory, i.e. generating data/passives.json
, data/passivesAdditions.json
, data/passivesAlternatives.json
, data/passivesVaalAdditions.json
and data/filt_nonfilt_passives.json
.
Thank you for making this awesome tool.
I got it running for mod search locally and I also found jewels that do what i want them to do.
What i struggle to figure out is which socket_num is which? How do i know what socket_5 means?
Thank you again.
A few changes have been made to the skill tree in the last patches that prevent the bot from working.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.