#tooldev-general
1 messages Β· Page 19 of 1
poeninja/poeninja2 use the stash river api
Within TOS at least
Interesting that no one has tried to automate the currency exchange data pulling.
Yeah its not allowed but im sure someone would have tried by now haha
@strong patio people def have, just have to be violating tos to do so
oh people have done it yeah
someone posted a graph a few days ago in here
Is poe2 data in the oauth'd public stash api yet? I didn't think it was
and he deleted all comments about how he had done it
no
not yet
so poeninja2 has to also just be based on the trade site
i dont think hes bothering a rewrite right? Just gonna wait for oauth
right
No clue tho that would just be my assumption
Has there been any confirmation of oauth for poe2 existing and/or timelines?
none
A concept of a plan
a concept of a plan indeed
Hmm, why are foreign row references 128 bit values in the tables and array data. future tables longer than 2^64 rows? Gonna need a bigger hard drive
I'd definitely be interested, otherwise I'm gonna roll one myself
In RePoE there are some .json files, are those constructed by the project by linking a lot of files, or are they exportable from poe-dat-viewer from a specific file/table?
Def some are aggregated from other table data
item_mods_somethingsomething iirc def is
Ah kk, so its better if I just grab their json files manually
If you want the prejoined data; yeah. If you want to not be dependent on their exact methodology, better to join it up yourself
That sounds like a lot more work π
Its still alot of work trying to assemble and link the json together but still better
Still trying to make sense of it, the docs will an update on the repo to reflect the new changes since its showing stuff for poe1
Putting together skill gems right now:
Get skill from skills.json using `grants_skills` array
Get metadata from base_items.json using `base_item.id` string
Get skill gem image filename from the metadata```
Will prolly make a pull request when I sorted everything out brain wise
Just wait until you get frustrated with having dependencies in other languages and start using the dat files yourself
Still sane, exile?
NARP
He already uploaded other languages
I've said it before re linking dat files from snosme's lib but people are welcome to pinch my sqlite implementation used in chromatic
I have a method that turns a JSON file into a table automatically, it just needs a name. you can just pinch it and feed all the tables you want into it and write queries https://github.com/jchantrell/chromatic-poe/blob/main/packages/data/dat.ts#L97-L182
e.g., the ${Table.NAME}.Field syntax, Field is the column name in the shared schema/dat viewer
the data is obviously sql-like so imo it's the easiest way to work wth it
How much coffee though
nervously laughs in frontend dev
I considered doing that with duckdb or sqlite but types not being fully natively representable bugged me
just pull it and run the ./ci/setup.sh
e.g. arrays of foreign keys not actually being foreign key types
it'll make a local DB in the root dir called chromatic.db, you can just write queries in the same file, it's nothing complicated, just a glorified script v
Sqlite?
that's the missing ingredient yeah, array types is no dice
you can technically map them to json fields then do sqlite json syntax for joins but the performance is just absolutely bin tier
yep
probably postgres is the better choice if you want to handle the array stuff
hint for people using that sqlite implementation, AI is very good at working with json files and SQL π
No sqlite is fine
Ive been tring cursor editor and it's basically able to auto fill entire queries
Cant just believe some one else is using it
I was just reading this blog about sqlite the other day https://avi.im/blag/2024/sqlite-facts/
small and reliable, can put in source, can send it around easily and can easily query it
also amazing for tests
Where you get the poe2 data from though? Doesnt look like repoe data
e.g. if your prod db is a sql and you want to do unit or intergration tests you can just sub in a prebuilt sqlite db for those tests and do the real thinng (over mocking or something else dumb)
Dont forget to add indeces tho
And transactions for inserts
Ig for this app its not necessary
chromatic db gets built in like 2 or 3 seconds if the patch data is cached
Made a trading site for gw2 and without optimization tricks sqlite was painfully slow
it's using snosme's lib
Will have a look ty
that's the config of what I am pulling for poe2 right now
Thats how I got all my images so far. Is there a way to pull all files from a directory instead of listing them all individually?
like I said you can just pull the src and run ci/setup.sh and work through the errors, you just need rust + node 18+
Didnt see much documentation on it
there isnt that I found, I asked snosme about it and ended up porting some of the lib's code to my own code base to do it
in retrospect I could have also just wrote the config.json again in CI with the known list of files and reran snosme's tool, eventually Id like it all to be code driven though. probably pivot it entirely to rust to learn a bit more later down the line
that dat.ts file is an abomination imo but it works 
Would it be an unsigned long long long or an unsigned long long long long?
Are longs increased or more?
(I now have semantic satiation typing that message out, thanks for that π )
I am so ok with rust calling everything by size basically
I can never remember any of the greybeard names for types and their sizes
@zao bit magnitude
Considering the horrors of LP64 vs. LLP64; numerically sized types are a good thing.
Why are there no exponent modifiers on poe2. For when more isn't enough
I had to look up LP64 vs LLP64 and that is truly horrific

Something that consumes stacks and doubles per stack consumed could be an exponent that was useful I guess, as long as there was some sort of cap
added sound mangement ui thing, that was a royal pain in the ass to get working with web+desktop
Can you control MTX sounds with that?
Or is that just for loot
filters can only interact with ground loot
hey guys, is someone here who can help me with the graphic settings? i have a new computer since yesterday and i think that my graphic settings are not ideal and im not sure what the problem is
Shadows always on medium
Hmm, has anyone noticed, on occasion, a trade message doesn't appear in Client.txt? They are otherwise visible just fine in the game, and the item is highlighted correctly, fwiw... 
https://www.reddit.com/r/pathofexile/comments/c93tvs/bug_important_korean_whispers_not_being_logged_in/ could be related to this. Due to legal reasons these messages aren't logged
Well shoot, that seems relevant! It would be lovely if they could still log what they can, at least some anonymized indicator that a trade happened. But, thank you for this π
Kakao redaction has indeed been around since a long long time.
You might get better help in one of the poe 2 help channels, not #tooldev-general.
if im going to be using Art, which route would u suggest is the easiest, storing it in my own git, linking it from someone else's like eg /repoe or directly linking to poecdn links. and has anyone stored the art for hotlinking?
Yesterday I exported the images for all the skill gems in the public folder of my NextJS project. I don't know if that's the easiest way, but it gave me all the images with proper names to link from other data that I'll need
since im only using a few images, like about 50, preferable to store in my own git folder ?
I don't know how "available" linking to the images on RePoE will be, and the CDN uses lots of random pathnames (and I don't even know if you'll run in to CORS issues)
yea true
I'd say so, keeping them in your repo or hosting them on your own CDN
Do you know how to export the images with poe-dat-viewer?
cos i saw another guy's project, hotlinking directly to a poecdn url, and was wondering, if that is not a bit unethical
nope, lol im just doing a simple js project, im a console player, dont have pc resources for poe client
how would i go about it though, i need some dat files from the pc client?
poe-dat-viewer is a Node package you use globally, it gets the PC client files from its own CDN
You just specify which files to export as images
Check this out https://github.com/SnosMe/poe-dat-viewer/tree/master/lib
so publicly available dat? i dont need poe installed on pc?
Nope
But you can configure it to use your local POE files if you had them
And yes to your first question haha
Exporting a few hundred images took a few seconds
And make sure you install ImageMagick like the readme says
what version do i input in this screen...
is this for the dds to png etc ?
That's the web interface, the link I have you has instructions for the CLI tool
ohk i'll read thru now
You can still get the images from that web interface, but there will be a lot of clicks, and if you have to do it again or update the CLI tool will be better imo
Either one will convert the .dds files to .png
Bet
thanks for the assistance
And the versions are listed in that image you screenshotted, POE1 is 3.25.3.4 and POE2 is 4.1.0.11.2
ohkk lol yea i was wondering why it was there but ...
that helped quite a bit, it dl's the stuff straight to my folder
but i'll have to learn the subdirectory structures to use in the json
thanks a lot bro
this is the second time you post here and again it's the wrong place
Do something about it
"What are you going to do, ban me?", he says
Anyone know if Distilled Emotion recipes are currently in any of the RePoE data exports?
BlightCraftingRecipes
Did anyone else have these inconsistencies with the DPS Calculation of the Webpage with lightning & fire damage?
Lightning seems to be bit less than calculated
Fire seems a bit more than calculated
There was at least one convo in the past about dps numbers on the trade site
iirc it came down to when to round and what parts of the calculation were int32s generally
yeah so the values of webpage are not rounded?
Some real fast revisionist history right there
@wheat temple From my light experimentation some of the numbers in the poe2 UI may have both ends of a calculation derived from one of the raw numbers (e.g. cast rate vs casts per second don't line up with one being calculated from teh other, they line up with both being calculated from a pre-rounding one of them)
the joke is that Cold damage has 100% match with my calculations
Oh thats weird
I went from "lets calculate the dps from the base mods" to "can I reliably calculate the cast rate or casts per second from eachother" and the answer was "ehhhh"
And they're literally both displayed in the UI next to eachother and representing the same fundamental stat
If you collect enough data changing every part of every calculation you can probably reverse engineer where the rounding and flooring is happening
π¬

I already tried to find out, but its jo use, every part of my calculations where and when I do them, seem correct whereas there has to be a weird database float rounded somewhere that makes it missmatch
@worthy cape has the bliss of being able to look and the terror of being unable to scream (publicly)
I need to have base database access of ggg to find out how the value is miscalculated
@wheat temple Easy! All you gotta do is at a minimum violate TOS, and at a maximum violate federal law!
Alternately get a job and an NDA
It's awesome all the way down.

lol
I can't even see 1/8th down and it looks not awesome from here... And I work in marketing

@zao just to be clear, I actually do look for a job as a fullstack developer, but I am not finished with my degree
Video game programming is like normal programming but there's people whipping the people whipping the people whipping you
And you can't delete anything out of the git repo because that's the patina and taking it off ruins the resale value
so basically I can apply as an intern web dev, fix your webpage issue, and go back grinding t15 maps ? π
If you're a webby person, the first page has the listing IIRC.
It's all been done
A [visual] glitch with my build got fixed yesterday, does that count?
@worthy cape Was your "build" rollback-crashing servers for profit?
Anyway, quitting is overrated; I aim to be here for a long while and fix all the things.
Thankfully not, my bumbling spark sorc has no such powers.
If I apply, its fully remote, or do I have to move to ggg headquarters?
Hey, I have one of those! I don't know what game these 1%ers are playing but when the balance guys nerf that, if they could leave us mid people alone that'd be great
Most positions are on-site, as noted at the top of the page.
Don't worry @wheat temple, the dropbears are disgusted by fear and seek more nourishing prey
well then, no ggg job for me. If you reside to take 100% remote jobbers, you can dm me
Until they figure out remote whipping, remote isn't going to work
well it does work. Ever heard of electrocuting collars?
I mean you only get one electrocution; how are people supposed to learn
if they are usb charged, you might get more than one
Well now I am done with that and start rounding too π
this was the findings... integer might be the discrepancy: #tooldev-general message
Big oof
and APS possibly not rounded to the nearest, in trade site calc
But it can't be that it almost has a difference of 2-3dps at times
That's just too much for rounded values
yea i thought so too, but i just stuck with the conventional method of Integers for the flats and the given aps of a weapon base
I already started digging way deeper 
cos it aligns with the ingame numbers, whilst trade number at lowermost looks off
Game has Hex values stored in Memory for every Item Damage Calculation. I found the same stuff you sent me
But it only really has that issue with lightning and fire damage
Chaos, Cold etc are fine.
Yeah
but , i wouldnt be too worried if its off by 1-3 dps, cos u get a fair estimate either way
Yes that is true but it bothers me 
lol but yea endgame % increases will make u feel like u are being nerfed or something
Yes
are u applying quality increase to the flats before the APS multiplier
Yes
My table at the top of chat has the programmed calculation in Excel format
Human readable
π
@velvet fog
This might be dumb, but is there something equivalent to this functionality on poe2db? I wrote this console script to search for Distilled Emotion recipes based on the emotions I have available. I run this script in browser console on https://poe2db.tw/us/Distilled_Emotions
var ownedEmotions = {
greed: 1,
guilt: 1,
ire: 1,
paranoia: 2,
};
var recipes = [...document.querySelectorAll("td > div.implicitMod")];
var counter = 0;
new Set(recipes).forEach(function(el) {
var owned = {...ownedEmotions};
var row = el.parentNode.parentNode;
var emotions = [...row.querySelectorAll(".item_currency")]
.map(el => el.textContent.replace("Distilled ", "").toLowerCase())
.filter(function (emotion) {
var include = false;
if (owned[emotion] && owned[emotion] > 0) {
owned[emotion] = owned[emotion] - 1;
include = true;
}
return include;
});
if (emotions.length === 3) {
++counter;
row.style.display = 'block';
} else {
row.style.display = 'none';
}
});
console.log(`Showing ${counter} Notable Passives.`);
Are you trying to find all the combinations based on the emotions you have? + amount?
Yeah, exactly.
Are you looking for https://625th.github.io/poe2-emotion/?
Yep, good to know this exists hah. Thanks very much
I have a poe1 question--for items retrieved as json objects from the api, are icon urls pointing to https://web.poecdn.com persistent, or do they expire like trade hashes?
-
The api is currently returning items with icon urls that remind me of the trade site: https://web.poecdn.com/gen/image/WzI1LDE0LHsiZiI6IjJESXRlbXMvRGl2aW5hdGlvbi9JbnZlbnRvcnlJY29uIiwidyI6MSwiaCI6MSwic2NhbGUiOjF9XQ/f34bf8cbb5/InventoryIcon.png
-
However, acquisition has a test dataset captured sometime in 2018 where the "icon" fields look like this: http://webcdn.pathofexile.com/image/Art/2DItems/Armours/Helmets/HelmetStrDex10.png?scale=1&w=2&h=2&v=0a540f285248cdb64d4607186e348e3d3
Asking because I'm redoing acquisition's broken test suites in advance of a rewrite for poe2, and I just noticed the change.
They'll expire. Was changed a while back to stop people from hotlinking everything. #tooldev-general message
Thanks, I was guessing that, but I'm not a web guy.
I'm sure this tool probably already exists, but I threw this together in like 15-20 minutes last night for my guild, but thought others might find it useful.
you guys sure do chat a lot over the holidays π
they don't expire
you guys have holidays? D:
Ok, whew. I was thinking about what Iβd have to implement if they did.
thankfully yes, a much welcome holiday
and now I have to remember how to do my job again
Yayyy, welcome back π
Is getting back to work like the community meme where the room is on fire?
Will there be total rework of poe website for release of poe2? I mean current website is kinda old technology and very bad for accessibility like screen readers etc
as I catch up this certainly seems to be more and more the case π
the PoE2 site should be an example of the sorts of things we're moving to
rewrite in zig
the speed at which some community people whip up some wasm'd sites with all the languages has me feeling like an old slow man 
That surprises me, do they not get rebuilt if the assets change? Aren't people able to just hotlink to that URL instead of the old one?
being able to hotlink URLs that we've provided is intended. Randomly grabbing any image out of the GGPK via the website is not
We're in new zealand and it's definitely the 8th here.
Guys who are deploying patches will come back 13 or they are in office already?
Ya live search died about a week ago. Before it stopped working it was semi-working. Only seeing about 10% of item changes.
live search doesn't scale so that doesn't surprise me
What kind of solution is there for that. Doesnβt sound like you can βjust add more serversβ
New Zealand isn't even a real country?
Nice try
Also not sure this has been flagged here yet, but PoE 1 website forces me to log in... pretty much constantly
Very much noticeable when dealing with trade
(Also not even the correct place to flag it, woops)
i think someone mentioned some time ago that it passes remember me parameter twice/incorrectly or something like that
this
Ah nice
though @compact isle was away so pinging just in case he missed it
Weird that the backend doesn't handle that correctly (aka using the last value)
Although the RFC for URL params is... weird to begin with
Aren't duplicates treated as an array classically
I think that's non-standard behavior
But 
Been a while since I delved deep into that
Oh the login page definitely does it as post data and is definitely sending an array
not having remember me just means that the cookie in your browser is session based
which shouldn't expire unless you close your browser or something
Weird, it DEFINITELY expires even when not closing the browser
Def happening more than than on browser close for me
iirc before when I glanced into it the session cookie was being sent but rejected by the server, didn't dig that deep though
'cause I couldn't reliably reproduce it
I def always have like 10 random trade urls open in the background so I'm not even closing all windows
yeah I know there is an issue just having a very hard time reproducing it with dev tools open
it's definitely nothing to do with the cookie / remember me stuff though
I'll try to get a detailed example
@compact isle burp suite free can be really helpful for stuff like that - You can generate a ca cert and set a proxy in a browser profile and have it man in the middle all traffic, record it, and let you look at exact bytes sent/received later
Also top left, my account stuff is missing?
Not sure if that's an intended thing or not, but the logout issues started happening since that disappeared
that's intended
Gotcha
I think something around that change might have broken things
From my anecdotal experience at least
The key with burp is that it is always on; doesn't require having dev tools open or anything
(it is more generically a penetration testing proxy that can let you basically breakpoint requests and edit what is sent or received)
Has anyone figured out all the math behind how to draw the passive tree? Particularly the connection lines and arcs. There's this "orbit modifier" value that is part of each connection, and I haven't quite figured out how it relates the connection geometry. This is my current truth table I've come up with so far:
if node1.group == node2.group && node1.orbit == node2.orbit && orbitModifier == 0, draw the shortest distance arc between them along their shared orbitelse if orbitModifier == 0, draw a straight line between the nodeselse, draw the shortest distance arc between them along the orbit with orbit radius indexed byorbitModifier
This looks all mostly correct, except in some cases when the else is reached, the arc angle is correct but the direction of the arc is not (bowing in vs. bowing out). orbitModifier can be negative, and I assume that has some correlation with how to determine which direction the arc should bow. But it's not as simple as positive bows one way and negative bows the other.
I noticed that whenever I have to sign in again it shows me the "cloudflare - please wait" screen for like 2-3 sec. before the "You must sign in to your Path of Exile account to access this page" page loads.
Youβre right but currently that bug is preventing you from getting a non-session cookie. Not that it matters because it looks like cloudflare or something is forcing a relog every hour anyways.
which happens after like ~2 hours of not interacting with the trade site from my experience
Youβre right. I wrote a script that would strip out the extra remember me and it works in getting a non session cookie. But then I still have to relog an hour later.
it doesn't prevent you from getting a non-session cookie, at least in firefox
*hides*
https://shouldiblamecaching.com/
Jira so full you need a second Jira
Do you have to mention jira? I need to eat soon
π» Rumors has it, if you say Jira 3 times in front of a mirror, a project manager will come along and ask you to update your estimates
I thought that caused someone who doesn't know what they are doing to edit the base level definitions of fields, adding them to every type of ticket all at once instead of the one type they meant
I feel so blessed, having only ever been exposed to RT, Redmine and GH issues, if you count those.
RT's primary drawback is that it's very mail-oriented and if you bottompost or interleave messages like normal nerds do, many mail clients hide the response completely below the "oh, this is just the quoted reply" ellipsis fold.
It made me a top poster.
GH issues are great due to being lightweight, but not great when the soc2 evidence guy wants a list of every issue related to a thing and people aren't consistent
Oh right, Trac and Trello too; I've repressed those.
Trello aint too bad
Used Linear a fair bit which is a more... modern alternative I guess? Surprisignly enjoyed that a lot
My old boss installed a plugin that made old cards have a wilted and aged look. Shotgunned the whole board π

Linear looks kind of neat at first website glance; but not exactly the most Bing:able name.
feel like it's more of a jira alternative than a trello alternative
Yeah sorry, definitely meant to specify Jira alternative
some example (yeah lua code) from pob
perfect, thank you!
Linear was great when I used it at a previous job. Love it
Although I looked at it recently again and I felt like it's become more opinionated which isn't really a good thing
The curse of all software
@compact isle I was able to look at the error with devtools open, and seems the POESESSID is expiring sooner than expected on the server side
Last week, I heard someone mention that the login form has two remember_me. Could that be the reason I get kicked out after an hour?
Well i try another browser but still kick me out too.
yep I also caught it doing this
If you still need, here's one I hack together pretty quickly.
https://poe2emotions.pages.dev/
Many similarities to the ones already available, so I added a shareable track list. Which help you track how much distilled is needed for your target list. I've play around with it and haven't experience any bug yet so it's pretty good to go.
trade session login is not working on chrome and brave, even using normal email or steam login method
One thing I've noticed that most such calculators doesn't do is show the upgrade sequence; at best being implied in the visual ordering of the items.
This seems fun too with the new alternate skill tree starts - seems like some anoints are on notables that are subject to replacement: https://www.reddit.com/r/PathOfExile2/comments/1hljz2q/distilled_emotion_does_nothing/
I wonder if you could warn on anointing one of those that it might not get the player what they thought, however they work?
hi all
i'm new here (and in poe in general). i found a funny placeholder art in the game files and i'm wondering if i can share it here?
i looked it up and it seems it hans't been shared before so i'm not sure if it's not allowed or if nobody else has seen it yet
among us art?


I think someone showed the art shortly after EA launch, it's still amazing.
cool haha
i'm planning on coding a discord rpc integration that gets the artworks from the game files directly, so this was a fun surprise :)
Probably planted by Zao

honestly, I haven't even try distilled crafting in-game yet... lul
All the cool kids are still in acts <_<
I see what you meant, Witch/Raw Destruction & Sorc/Raw Power. I assume there's more stuff like this? I got it.
I'll add some notes and alert and ship out tmr.
Lemme guess; cloudflare cache on death effects were doing more damage than intended, so cached item expiration was one-shotting nearby cookies
:)
art was extracted from game files and cropped programmatically + map IDs/names and class names retrieved from poe2db (couldn't find them locally) so i don't have to keep updating much manually
Is the level there supposed to indicate the area level or player level?
player level!!
great feature
What information do you base that off?
I know that things like ExileKit had a hard time tracking that in the past as I don't think you can necessarily tell which character the player is on and their level?
X (Y) is now level Z messages from Client.txt?
where X is character name, Y is class and Z is the level?
yeah thats all im doing right now, if you switch to another character the rich presence will be outdated
I needed the info once too. I wish the client would just log it into the file when logging in with said character
Do party members get logged that way too, assuming one has friends?
if there are logs for switching characters that could be easily fixed. i only have 1 character rn so i don't really care tbh :p
no idea
I think so, since it's a message in your chat when u r in a party with someone and that person levels up
only if your friend doesn't level in korean
Neat project tho, does Discord have any noticeable rate limits there?
One crucial feature would be to somehow track how many mirrors I've dropped in the current map
Only ever briefly looked at integrating Discord SDKs for my own code.
It's hard to keep track otherwise
not noticeable, no. this is very light usage of their api, i suppose
Does ggg have plan to implement 2FA? or other security login
anyone have that diagram link for how mods and baseTypes relate?
for poe1?
for both games, really
If I could go back in my career and successfully advocate harder for auth-flow improvement tickets that I had made I would have had a /much/ easier time
Security shit is always low priority until it's the only priority
Then some asshole lawyers and specialists make more money in like three weeks than you make in a year
in poe1:
BaseItemTypes.TagKeys + BaseItemTypes.InheritsFrom.TagKeys
intersection
Mods.SpawnWeight_TagsKeys + Mods.SpawnWeight_Values
in poe2:
BaseItemTypes.TagKeys + BaseItemTypes.InheritsFrom.TagKeys
intersection
Mods.ID
intersection
GoldModPrices.SpawnWeight_TagKeys +GoldModPrices.SpawnWeight_Values
@lone ingot note that for PoE 2, the gold mod prices only shows the spawn tags for normal mods on gear and misses a bunch of bases like flasks, charms, jewels and corruption mods
why did we name it gold mod prices π
cause it's meant to be a table for selling / buying items from vendors
I'm almost certain it is not meant to show the spawn weights in the file and it was a oversight. GGG made a very consious choice to try and remove all info from the game files that shows the spawn location and weights for mods
possibly yeah, there are some other weight tables as well though e.g. UncutGemAdditionalTiers
I dont mind about the weighting, just need a list of names by base/class/etc
Yeah same, I can understand about removing weights but removing base spawn location is just annoying
Forces you to scrape the trade site to find where the mods can spawn
yeah, I mean the only alternative is a structured dump made available by GGG
querying trade API just feels dirty, it's so inefficient
that would be bliss
but how about a designated tooling API that just has all the values needed?
that would be too easy
right?
dumps have a low cost as it can just be put on github or similar, downside of APIs is cost and complexity
patch data doesnt change so static is completely fine
hmm true
If any GGG employee reads this, is dumping the system memory greyzone or against TOS?
cause that would basically make devs scrape for the correct pointers in the dump, so it can be accessed without them having to do a structured one. We can just build a structure above it
against tos from memory, same as packet inspection
yeah but its not memory directly. its a snapshot
ofc its against TOS to access memory, because there is the chance of manipulation. but you cant manipulate the game of a snap
like once I have 2 sets of dumps with all values I need changed on both, I can do scans, pinpoint the correct values, do a pointermap and there I have all info
would be interesting to know if ggg allowed that
if yes, I am willing to build this instant
i think that similarly as discord custom clients are against tos but discord doesn't ban you unless you abuse them, it should also be fine to read the game's memory as long as you don't write/abuse it...
i'm not familiar with how ggg operates, but this is what makes sense to me idk
for example, it should be pretty easy to get the current character's name, level, class and map by reading into the game's memory to build a discord rich presence integration. this wouldn't be harmful, but it's against tos so... 
For a concrete answer you would have to ask support.
From my past as a community tooldev, no form of memory access has been allowed historically, regardless of how indirect and sneaky it is.
support will answer no for every dev request
imo it just gets too tricky to rule right and wrong with dumping memory
true
especially if networked stuff makes it way into memory
which pretty likely has stuff that's purposefully hidden
@worthy cape if I register as Tool Dev and agree to some kind of non harmful development, I should be fine?
that's why for me it's basically this: it is against the rules, but you know you're not doing anything harmful, so proceed at your own discretion 
technically yeah, I just wouldnt encourage it
it's networked game, if they wanted to know if it's getting dumped they'd be able to figure it out
no idea how it works to be a tool dev
Tool dev role is assigned by discord mods, not ggg

It's def getting dumped; I ain't linking here but there's very public forum posts of people using CE by having poe as an unprivileged user. Maphacks, bots, auto flasks/logout, atlas fog of war removal. I hope ggg realizes that with their newfound success comes a tremendous increase in the quality of groups attempting to exploit/sell cheats/bot
oh well
I can't speculate on any way to legitimise it, but I'd personally recommend that you stay within the limits that tooldevs has had historically.
speaking of, can I get the tool dev role? π
Me too, me too π
had a few msgs from people on discord already inquiring about chromatic, figures it probably helps
has there ever been impersonation problems in the past?
i wonder if there's a list of poe 2 tools somewhere? i'ld like to take a look at what everyone is doing
It requires some amount of notability and is up to server operators to decide, as it's their place.
poe2db has one under tools
Staying inside the limits is boring though. Why not write the history new and allow ToolDevs to write new cool things that only benefit all?
nice thanks
https://grinding.zone/ has many tools listed
Path of Exile info hub and loot filter editor
I might do a few more releases and then give them a poke about it, is it just the mod team that I ask?
@modest path
I will not continue this discussion.
Might end up rewriting the history of your account existing, eh
Hm ok, in that case I will write a support ticket questioning about this. Might be denied, but might be officially stated what is allowed here
If you have poe2 tools, you can @ me URL and description to be added https://poe2db.tw/us/Tools
Probably modmail at that point, yeah.
@velvet fog I play poe and have been called a tool numerous times; does that count?
lol
url required
Fine, I'll finally make an account on onlyzizarans.com
I'm just thankful GGG doesn't shove a kernel AC into our faces so let's don't punish them for it π
you'll likely just have to link your tool(s) to the mod bot and ask nicely to get the role here but its still a fan discord
so nothing much to gain for it but cool green name
Oh well
poe2scout https://poe2scout.com/ . Unique and currency item price history for poe 2.
added
Hello, whatβs the Class for Uncut Skill Gem, Uncut Spirit Gem and Uncut Spirit Gem? I canβt find them on poe2db
Do they not have Class?
at the moment, no
Ahh. Are there any other drops that donβt have Class?
and Meta Skill Gem
Hello, I am curious if anyone here knows the folder and file structure of the internal game files, specifically the OBJs. As I understand it, I need that to access the specific model I want via the model viewer
And I wanna see/rip a certain model from the game
https://poedb.tw/model?id=Queen Hyrri Ngamaku does this help? made by @velvet fog
This is the model viewer, yes, but I need to know where the file is I am looking for
You can see the virtual path in the panel on the right hand side
/Art/Models/MONSTERS/HyrrisSister/rig_fc39650b.obj for Queen Hyrri Ngamaku for example
But it does not work for every item
ζ΅δΊ‘η·¨εΉ΄ε²ζδΎε ¨ι’ηη©εοΌε³ε₯οΌε―Άη³θ³ζοΌζζ°ηιζ²ζΆζ―οΌζε ¨ι’ηεΊη€η₯θγ
I would like to see what the path to this is, for example
version 6
SkinnedMeshData "Art/Models/Pet/CurrencyOrbCompainion/rig_ee9f1034.smd"
Materials 1
"Art/Models/Items/Currency/textures/ExaltedOrbc.mat" 1
BoundingBox -32.4605 -33.0763 -82.6294 32.4604 33.0763 0.0820859
BoneGroups 0
It's this one I think
May I ask how you figured this out?
I used https://snosme.github.io/poe-dat-viewer/ and just looked through the model directories
The game itself uses very custom and evolving file formats for geometry, animations, and materials. This doesn't map overly well to any common interchange or rendering formats.
As you've noticed there's some online viewers for assets but they're based on an approximation of the source data; in Chuan's case it was cooked into OBJ files and materials.
Thanks
How u get data?
But the undocumented one on the trade site
https://poedb.tw/us/API%3ATrade
it's not hard
No but I assumed it's some official api
Even poe1 doesnβt have an official trading API, so donβt look forward to poe2.
@velvet fog if able can you update url for Exiled Exchange 2 to :
https://kvan7.github.io/Exiled-Exchange-2/download
And description to:
Path of Exile 2 overlay program for price checking items, among many other loved features.
Fork of Awakened PoE Trade.
App for price-checking items in Path of Exile 2
updated
Thank you!
@velvet fog
Hi and thanks for your work since many years.
Bouncing back to your message, you can add this tool aswell on both poedb and poe2db.
Category: Trade Tool
URL: https://github.com/maxensas/xiletrade
Description: Customizable price checker and helper tool, works in all languages ββsupported by Path of Exile 1 and 2.
@velvet fog may I also request adding Acquisition to poedb tools for poe1? It has been around since 2014. I have been maintaining it since 2023 and I will add poe2 support when the official API is released.
Category: Trading and Economy
URL: https://github.com/gerwaric/acquisition
Description: Offline character inventory and stash tab search tool, with forum thread shop management.
Hey all, looking for feedback from more experienced players on this reworked Gear Quick Filter design for poe2filter.com, before I start implementing and testing. Is this clear, does this make sense, did I forget something?
does anyone know how the hashes are generated for item searching? i quickly looked around but couldnt really find much. like I need to know how a specific search turns into the query that becomes part of the URL
iirc you submit a search and then get the semi permanent hash/id returned
thanks
@velvet fog poe2db seems to be down, in case you don't know already
You sure it's not a region problem? Works fine in Australia
I think it goes down semi-regularly for a db backup
I'm still baffled to this day that Steam has weekly maintenance and almost no-one notices.
The perks of failover 
Always fun when someone in chat shouts about Steam being down and you look at the watch - "yep, it's Tuesday".
I'm lucky my DBs are small so there hasn't been an issue yet 
it's daily maintain, take about 10 mins
Am I crazy or do the "BaseItemTypes.InheritsFrom" not exist in BaseItemTypes.Ids? Specifically like AbstractRing for example
Metadata/Items/Rings/AbstractRing point to ggpk file system metadata/items/rings/abstractring.it
version 2
abstract
extends "Metadata/Items/Equipment"
Base
{
x_size = 1
y_size = 1
tag = "ring"
}
Mods
{
inventory_type = "Ring"
}
and recursive Metadata/Items/Equipment.it to get tag = "ring, default"
Anybody know what .it stands for in those file names?
item template? "I made up this formaT"?
"utf-16 Is the besT"?
One of those questions I often asked myself while digging through the wealth of extensions back in the day π
And now, since you have access to the holy grail of information at GGG, do you have an answer? π
Not for mortal eyes.
So it stand's for "It's zao's faulT"
More likely it's "InTern" format because clearly some intern thought it was a good idea to make a markup format from scratch


.et- Especially Textual.it- Intentionally Texty.ot- Organic Text (no.gmo!)
(make something up and get the community to agree on it π )
p sure that was the same idea the original creators had, but "the community" was the rest of ggg
And by "rest", I mean the ones that weren't on their 90 day probationary period
NZ probationary period is very different than Australian probationary period
In the past I've just assumed something like "item type", "object type", "entity type". Not much point in referring to them by anything but extension really.
If it's lost or mostly lost internally I'm laughing
We had a service at my previous job called "gbc"
turns out it was short for "gooeybuttercakes"
I haven't had any need to find out, enough other cool stuff to find.
There are really two schools of naming shit
The "we should name it something relevant" crowd, and the "we should name it random bullshit" people
the relevant crowd are correct in the short-run
the random people are correct later, because no service named after a ghostbusters character is wrong
but services named after what they do are always eventually wrong
l was going to say that .it files are older than nz's 90-day trials but google says they introduced them in 2009 so l guess my timeline is out of whack
After my move, I can't keep track of which server of mine is in which country and what it does.
Where'd you move from?
i'm going to india in a couple days (from oregon) for a temp visit due to my company being acquired and /that/ seems extreme to me
A quick bing says trial periods are up to 90 days and cannot be used for these work visas, while probationary periods are more flexible.

also itfiles were only added in 3.20 so l'm double wrong
I forget when, but in recent history the wiki/PoB had to be fixed to read from the correct file type as the extensions reconciled.
Few years ago, maybe?
Overview
===============================================================================
+----------+------------------------------------------------------------------+
| Path | PyPoE/poe/file/it.py |
+----------+------------------------------------------------------------------+
| Version | 1.0.0a0 |
+----------+------------------------------------------------------------------+
| Revision | $Id: 7a5298970325b6a84c2aa71ac7110ed058bf51f0 $ |
+----------+------------------------------------------------------------------+
| Author | Omega_K2 |
+----------+------------------------------------------------------------------+
Description
===============================================================================
Support for .it file format.
Starting with version 3.20.0 of the game items use .it files instead of .ot
et phone home?
I remember once when someone was asking me why a thing was named the acronym it was, and we had to dig into it in the git history for a while, only to find out that I had named it
I think my deepest delve found the answer in something like revision 22.
Niko intensifies
I wonder what algorithm GGG uses to generate the endgame atlas.
If it's similar to how the Delve chart in PoE1 is generated.
Some sort of graph I'd guess
@compact isle is there a formula behind the relative value of divine orbs? It used to be 800 and now it's like 116930. Why so large?
This got changed? yay!!
guessing this was a way to fix the trade site putting items listed for a div before items listed at 10 exalts, I think the ratio was something like a div was worth 7.5 exalts
For the upcoming PoB for PoE2, the calculates are based on observed testing in the game or actual game code?
no game code
publically available information, tested mechanics and just game knowledge
Does anyone know if anywhere in the ggpk bundle is the game version?
Steve, is that you?
Hi !
Category: Trading and Economy
URL: https://github.com/LorenzoDv/poe2-trade-discord-notification
Description :I just developed a browser extension that adds a button to the trading site, allowing users to share an item with their friends on Discord using webhooks. Instead of taking screenshots, you can now share directly. The extension can be installed via the store or manually.
Many people are hesitant to install extensions due to concerns about hacking account with keylogger, which is why Iβm making the code public to show that itβs safe. What do you think? Could this be useful?
It's not, unfortunately. The only way I know of to get it is checking the .exe file, if you have it.
hmm, I guess that works...
If you just need the latest version, you can contact the patch server directly and ask it for it: https://github.com/poe-tool-dev/poe-patch-update/tree/master
Relevant code is
public async Task<string> GetPatchNumberAsync()
{
using TcpClient client = new TcpClient();
await client.ConnectAsync("patch.pathofexile.com", 12995);
using NetworkStream stream = client.GetStream();
await stream.WriteAsync(new byte[] { 1, 6 });
byte[] bytes = new byte[1024];
await stream.ReadAsync(bytes, 0, bytes.Length);
string str = Encoding.Unicode.GetString(bytes[35..(35 + (bytes[34] * 2))]);
client.Client.Close(100);
string patch = str.Split("/", StringSplitOptions.RemoveEmptyEntries).Last();
return patch;
}
sadly not, I need the specific version of the specific game runtime
but ig scraping the EXE will work for now
AFAIK the exe doesn't contain the "real" patch number (idk if there's a better description)
What even are versions?
exe probably only contains the client patch version, whereas the server can be wildly different? i assume
the client is what I'm after
I found out the fun way for the Hideout Editor that the game data doesn't have enough information to identify it.
What I mean is that the exe contains a version like poe2_production tags/4.1.0f where as the "unique" patch number is 4.1.0.12.3 - idk which one you need
actually where in the exe do you see the version?
hexeditor
or a sophisticated equivalent
damn my disassembly skills are rusty, can't even find a version in the binary
although it doesn't seem to be in any of the usual spots, and searching for it found nothing
Am using steam version, don't know if it makes a difference
string is stored as ASCII, not utf-16
omfg I am an idiot I was searching for 3.18 (version I'm targetting) on the latest version of the game
https://poe-versions.obsoleet.org/ returns the version string for the current poe and poe2 cdn stuff
It's just a cached hit to the socket endpoint in the screenshot posted a bit ago
I need to get the version of the data that I have rather than latest, I want to remove one more step from my data extractor
note that exe version and cdn version are not the same
yes, small changes sometimes don't change the exe version but do change the cdn version
that's what i meant with this
meaning it's possible that there are multiple cdn versions that correspond to 4.1.0f
Fo sho
I added imports to chromatic, which is experimental at the moment but working for a good majority of cases (tested on cdr + filterblade lite)
so many little edge cases with parsing existing filters, the filter spec on the website isn't entirely accurate
e.g. operators are mostly optional and pretty much all string rules work like a fuzzy match a lot of the time
had no idea
also the colour picker is less UI gore now π
if you're using it and find a bug give me a poke
I'll have to give it a shot soon! What's the ETA on PoE 1 support?
I know you had it on your TODO
very soon
I wanna go back and play my ssf guy in poe1 so probably one of the next things I do lol
Yeah that's where I would have needed this as well, did a small private SSF League with my brothers, had to tweak the filter a lot to spot certain div cards/bases etc., Filterblade is great but having it like this would be even better
Im working with poeladder dev for a unique completion/holy grail rule
that'll be going in also
filterblade can do local saves if that was the issue, little known feature
filterblade can technically also build around the stuff poeladder is exposing for unique completion, might be worth a chat
Yup, aware! How I used it for the longest time. I just really like the UI of Chromatic and the instant feedback
also hi cdr big fan
what do you mean by instant feedback?
ah thought it would preview correctly here :(
desktop has auto in game reloading and keybind to export
work flow is very fast when you are making edits
filterblade can do that, other than a hotkey to reload the filter, but you can just /reload in console
if you configured filterblade to do local exports it would work with a keybind for the reload
by local saves I mean local filesystem, you can save directly to the filter directory instantly
you can make the keybind with awakened poe trade
oh interesting, that specific feature i haven't explored
i still like the UI of Chromatic 
(much love to Filterblade as well)
I basically just wanted full local tool and little abstractions, the trade tiering that happens in filterblade isnt useful for ssf either
I remember mid settlers I logged in one day and changed some stuff and a bunch of uniques got moved around haha, even though I was on stable settings
mega useful for anyone in trade but Im way too picky to have things changed for me
that is a blessing and a curse of filterblade yeah, you are always on the current version, and sometimes the core of the filter does get changed
you can use locks to mitigate it somewhat if it matters to you
I only ever noticed it on uniques really, Im sure there was some minor things I missed though
think it's good for everyone in trade really, though it does have the "filterblade" effect where it ends up unintentionally raising prices of hidden uniques π
I remember a few leagues ago there was a reasonably common unique that was getting corrupted a lot that the market exhausted and it was hidden (or in a lower tier rule that commonly get turned off by people?) on filterblade strict+ or something and it was like 20c per haha
full text search for rules (by their name or contained bases right now) https://gyazo.com/daf48cbd6cdb90f1b2884c9cd5f8048e
Hey fellow Oregonian!
wooo! finally got tiers working! tbh this was such a pain to get running
pretty please let me copy advanced item descriptions soon please :)
Do you just not show a tier when it's ambiguous? I see Evasion rating doesn't have one
ditto
doesn't show if it isn't T1 or T2, since it isn't close to the top tier of a mod, you can see the tiers by enabling the "mods" toggle and hovering over the filters
the note there as a "hey this one is kinda good" sort of thing
@somber mortar you're deciding to use the old poe1 tier ordering?
yeah, it makes a lot of things easier in the code(like way easier), and also imo it makes more sense(T1 is best always and I don't need to go to DB to check if a tier is the best one)
I don't suppose you're planning to provide an option to use the tier system that matches the game π
I could probably, but at the moment it isn't worth the dev time. most of the stuff i just wrote for this will get ripped out the second we can copy advanced item descriptions, so it is difficult to choose between dedicating time to stuff that will become obsolete or actually just playing the game instead :)
I just imagine over time we'll all just get used to what the game is showing for various mods. It'd be nice if EE2 could still visualize this. I mean... I understand the confusion (I don't love it either) but it's also confusing seeing it stated different in EE2 than the game
can copy advanced item descriptions
this is confirmed coming?
no word as far as i know but I would assume it is (hoping it is)
or actually just playing the game
and yeah, i definitely get this. π I actually was thinking about what to do about highlighting the top tier in my own tool (... vs just playing the game)
for me that's a big feature, not having to lookup the max tier for mods
yeah my hope is we get a setting to use legacy tiers and hopefully that would also change advanced copy text too
I think what I'm going to do is just have a giant basetype affix lookup table to know the best tier. This won't work on some items where the affix name is the same for multiple tiers but I'm okay with that
that is actually what i am doing i think. I basically just tripled the file size of my stats file. and added to every line, what mods available to each base type which is a ton of data
would've been better if they used the rank terminology
in poe 1 the bench crafts are 'ranks' where R1 is the worst
aka poe2 tiers
sweet - I can't wait to yoink., lmfao ----- THANK YOU!
I assume that's just broken for hybrid mods?
feel free to, there are some problems with it, mainly hybrid stats and stats with multiple values like adds # to # phys to attacks
yep they just don't exist in it
do you get the mod names from the ctrl+c?
oh, sorry. I forgot we're talking about advanced item description. I was thinking of my trade tool (which does get itemized affixes)
depends on what "mod names" means, the refs is are my keys for lookup, matchers are the in game text, there are "names" for the tiers but I dont use that at all
π¦ Yeah, sorry. Yeah, you've got it a lot rougher @somber mortar. The lookup table I need is muchhhhh more straight forward.
"mods": {
"explicit": [
{
"name": "Fletching",
"tier": "P0",
"level": 1,
"magnitudes": [
{
"hash": "explicit.stat_1200678966",
"min": "5",
"max": "15"
}
]
},
{
"name": "of Sequencing",
"tier": "S0",
"level": 1,
"magnitudes": [
{
"hash": "explicit.stat_3283482523",
"min": "2",
"max": "4"
}
]
}
]
},
imagine the advanced item descriptions providing you name, tier, range, and hash π deep sigh
yeah i would probably not get the hash from them but it would save a lot of time.
although I would unfortunately still need my tables since I wouldn't be able to trust the tiers from the text
unless they add some way for me to know if it rolled top tier based on something in the advanced text
Soon π
Once I have the parser working the plan is to make components like this for PoE 2 like I have working for PoE 1 for all major frameworks (and vanilla html)
Building the frontend component is not hard, doing the backend stuff is what annoys me atm
Mind sharing how you parsed and formatted data? Will probably use repoe for this but understanding what I need from the tables is a bit tiresome
Itβs just using the CTRL C item from ingame, no fancy parsing outside regex
I already have the frontend component 100% working with poe 1 items just need to tweak it a bit
Iβm making everything open source once itβs done
The higher, the better tier make more sense imho. If they want to introduce more so what they should do make -1, -2 lol?
no its for you
Oh nice
Then yeah it's just super simple regex parsing and a bit of logic to manage the cursor index to read data, the input from CTRL C looks like this:
Item Class: Wands
Rarity: Rare
Storm Needle
Siphoning Wand
--------
Requirements:
Level: 78
--------
Item Level: 81
--------
104% increased [Spell] Damage
101% increased [Lightning] Damage
+175 to maximum Mana
+5 to Level of all [Lightning|Lightning] [Spell|Spell] Skills
34% increased Cast Speed
+33 to [Intelligence|Intelligence]
Whole thing is no more than 100 LoC right now, but missing a few crucial things (implicits, requirements etc.)
yes but how do you get all automatically
I like to have a database with all items you know
with images and stuff
where are you getting that from ctrl + c, normally it doesn't have the brackets right?
can only use repoe for that unless I do some autoit scripting and parsing ingame
i dont get anything automatically, the idea is that the user should put in one of their copied items from ingame
oh interesting, maybe that changed then
this is an older copy
currently the brackets are from items in chat, items in inventory don't have them anymore
Ah yeah makes sense, this is from something someone sent me in chat
I need to build a small DB of test cases from various sources
hopefully that doesn't break stuff too much for you :)
cool cool
protected parseAffix(affix: string): string {
let indexLBrace = affix.indexOf('[')
while(indexLBrace !== -1) {
const indexRBrace = affix.indexOf(']', indexLBrace + 1);
if(indexRBrace === -1) {
return affix;
}
const property = affix.slice(indexLBrace + 1, indexRBrace);
const splitProperty = property.split("|");
affix = affix.replace(`[${property}]`, splitProperty[0]);
indexLBrace = affix.indexOf('[', indexLBrace + 1);
}
return affix;
}
This is the logic, pretty simple
yeah, i'm just using regex for my version not terrible at all
i always wanted to do a discord bot where you just paste the item into a channel and the bot parses that and turns it into an image of that item
except it goes Sanity CMS -> webhook -> screenshot -> Discord
but plan is to make it fully generated without having to use headless chrome
i then imagined some links below that like "open item in craftofexile"
got that working too.. but it's too complicated, i had to hook into the js of coe to make it work ;)
if you want to do this for poe1 too, i suggest looking at https://github.com/meta-is-beta/horadric-helper and https://github.com/klayveR/poe-itemtext-parser. those handle all the edge cases (fractured, corrupted, scourge etc pp) pretty well
already done for poe 1
using klavyeRs parser under the hood
but writing my own from scratch for PoE 2 items (and eventually for PoE 1 items because there's a lot of still uncaught edge cases with those parsers)
Writing the parser for PoE 2 is much more simple tho because it doesn't have to deal with legacy enchants, crucible items etc. 
for now ;)

how are you doing the screenshot?
Rough TL;DR is:
Sanity sends webhook payload to the backend
Backend grabs the item from the payload
Spins up a puppeteer instance
Navigates to URl containing ONLY that item
Takes screenshot
Sends to Discord
SUPER dirty but does the job
heh, kinda funny cause i it it the same way
but basically spinning up chrome for this sounds heavy
Yeah it's way overkill 
would be cool to create item images in some bitmap lib
Yeah indeed, that's what I want to do
Just haven't gotten that far
Too many things on the TODO
there was some open source python tool that is able to do tit, but it was pretty outdated
I'll try to find the time for it soon, probably before the new PoE 1 League starts
For reference I help manage a mirror shop, so x-posting new items to a Discord really helps for visibility
that's nice. i'll follow you on gh to keep up to date with this
ah cool. i looked at sushis shop website to figure out how it's done there too
Trying to make as much as possible of this open source
But gotta clean up a lot of the code first
FWIW the sushi shop uses the above GH repo for the rendering
good to know. when i started looking into this, i thought there might be some lib every popular poe community tool used
but it seems everyone reimplements it and there's 20 solutions to the same problem
Solving problems is half the fun 
indeed
Who maintains RePOE atm?
This is all my own personal thoughts.
I'm not sure if it's a good thing to introduce a different ranking system that actively conflicts with the game, as that may lead to players communicating the "tiers" to each other with either confusion or having to qualify what tiering system is in use every time.
Maybe call it something distinct from Tier, like the suggested Rank that has historical precedent or a new word all-together?
The bet on things becoming obsolete is something I understand from past dev, but what if the new ways are intended to stay?
Again, this is my own thoughts, no indication of future to come.
hi zao big fan π π
Oh, by the way, you still have Snos' Discord ID hardcoded in the source code π
oh oops
idk, I'm probably leaving it as tiers for right now right now. from my limited hearing of other players talk about it, they still call the best tier T1. I 100% agree that having a naming convention that is different from the game will lead to some confusion.
The absolute easiest thing for me would probably be to add a setting "use legacy tiers" which would be disabled by default and when enabled switch from new tiers to old tiers (I would argue there should be a setting for in game too).
I think the comment about Rank was that the game could have potentially used Ranks to be more clear that higher is better instead of Tiers, since tiers have the notion that lower is better and 1 is best.
There's definitely a schism between the old guard that are used to their ways and everyone that sees the current tiering in-game and on trade2. π
yeah, overall naming stuff and changing conventions are both difficult :)
I never looked at this before, how do you determine what the "T1" of a mod is; is it possible to always do so in the presence of unobtainable mods and unique mods?
The bet on things becoming obsolete is something I understand from past dev
This was mainly in reference that a lot of the stuff I'm doing right now is hacky since I'm assuming i will be able to rip it out if I am able to copy advanced item descriptions
I'm thinking of things like Elevated mods in the past that you'd consider being outside of the regular tiering, for example.
In any way, it's nice to see you on Discord and talking about your project.
currently the regex is still matching mods like matching this seems to be fine?LifeRegeneration11____ so it has some caveats
yeah, I usually don't join game discords, but I thought I should since I'm actually making something for the game
Ah, name-based.
Honestly this community reminds me of the 3rd party dev Riot community back in the days
Love to see it
Should ones with underscores be ignored? they are listed on DB and look like they exist based on the trade site
The tier itself is actually calculated on the frontend, based on how many mods are higher values for a stat that still are valid for the current item class
Sounds similar to how I solved it for a few outliers in the PoE 1 data
Outliers are a pain in the ass. I always hated adding hardcoded fixes for edge cases that got invalidated by a new patch in path of pathing.
Underscores in IDs were historically introduced to avoid hash collisions.
That reminds me, not sure I ever showed this tool here, but I did make one to see all Synthesis modifiers at a glance https://synth.pathoftools.com/
Re: inverse tiers, maybe display the maximum if known instead of reversing them? Hell, the game should display the maximum or have the info available in the ultra hidden alt hover that gives you the name of the mod
Leaves open the possibility of omitting the max if you can't figure out what it is
Agreed, keep consistent with the game and enhance the information: T1/5 or T4 (7) etc.
And we can all hope GGG either does the same enhancement or reverses things back to T1 = best
"outlier" xD apparently normal % phys damage is missing in my data sources
well did end up finding that one, description file was just ordered wierdly
it's just me. and sometimes not even me
You, yourself and lvyrΓ©ne.
does anyone want admin on the repoe repo btw?
the repoe repo peepo?
we could say "top tier mod" in place of t1, etc
my intution says GGG didnt make t1 best to allow for design space above t1
if you think about it, if +100 hp is tier 1, how do you release something better than that? do you make 120 hp the new tier 1 then downgrade the rest? how does that work for all the things tied to it like weightings, 3rd party tools etc
it sucks for right now but I think it makes thing easier long term
Let Ghazzy ask this question in the interview
Worked fine for years in poe1
Since the tiers are just a visual label (presumably calculated and cached once per game build), when they introduced new T1 mods, the underlying IDs of the existing mods ensured nothing broke. They all just changed their tier label.
why show tier numbers at all? just show the number that actually matters: level requirement
because people want to know if theres an upgrade available, and poe2 has the issue alot less (I assume because of how tiered rares work?), but poe1 has some mods that are BIS that have very low level requirements relative to the rest of the mods (eg life)
so level requirement runs into a similar issue as the current tiering
in that people need to use third party resources or memorise the info
but I am sure certain tech billionares would prefer level req
does anyone knows someone from support? , my account was blocked and i really wanna play
Write an email to support@grindinggear.com, include your account name.
This isn't a support channel, we're not GGG employees.
2:30 am is not a good time to get support to help you is my assumption
i know this isn't a support channer, i sent it like 4 days ago and i can't log in, i guess i'll wait more days, thanks anyway
That sucks but we can't do anything to help you sadly. Support will eventually get back to you, rest assured.
After seeing some recent videos, I think being able to click items on the ground without dragging them to your inventory is robbing us of feeling their weight, lowering their perceived value.
this is something that I hope is addressed in the interview/patch info on sunday
Should slow the cursor down and vary it based on the items weight too
man I really wish we were allowed to read at least some parts of process memory
I want to add rich presence to this game without it being hacky as hell
I also just really despise poe2overlay
Is there a site for poe2 like poe.ninja that is ready for/accepting api queries? i know poe2scout.com and orbwatch.trade both are doing stuff like poe.ninja but I dont think either have an available api yet.
There isnβt an official poe 2 api yet. So itβs difficult for tools like that to offer an api that doesnβt have official support themselves.
I'm working on one
Plan is to ONLY be a b2c API middleman for PoE 2 stuff
Ie. no own frontend, just API for other tool developers
Also working on like 3 other things, damn you side project scope creep 
My node_modules footprint on my machine is growing ever larger
poe2scout has a usable api, at least from what the author said
I've just been doing my own trade queries
yeah, looked at them with f12, plan would be to just transform whatever one i use to follow the poe.ninja schema since that is what ee2 already uses. just wanting to double check with devs before using
Getting there π Would people want requirements that doesn't exist to be returned as undefined, 0, or key missing?
Next step is parsing mod tiers from the above values as well
under "Registering your Application"
We are currently unable to process new applications.
does that mean that I can't create a new app?
Just means any applications wanting to use Oauth/stash/official api won't be processed right now
So yeah
how long has it been like that and are they ever restoring it?
Since PoE 2 launch ish, a bit before
And yeah I guess they will once there's less load internally
I just spent hours setting up a dev environment only to find that line as I was starting to go through the docs
If you're planning to develop and app for PoE 2 you're not missing out, there's no official APIs yet
I would probably support PoE2 also but I am just sick of the tab search tools for PoE1
regex is a lackluster solution, especially with how clunky the map tab UI is
I wouldn't hold my breath, there's probably still a ton of things to do with regards to PoE 2, but hopefully they open applications up again soon 
And rendering almost there! Soon ready to release everything
hey you guys might appreciate this, it's a starting character planner/sharer I worked on last year for some of the older fallout games
Oh shit love the UI
no images were used in that
that's all procedural svg trickery and css
I was originally planning on adding full level plans but have been out of the fallout mood for a bit
it looks good but it's performance is terrible on some machines and browsers
poe2.ninja is wip
oh, awesome! I thought I had heard somewhere that it wasn't getting updated but if it is then this works!
yes
Okay I'm pretty happy with this
yours is slightly less crammed
yeah there's some very minor things left
yeah i like the slight extra spacing
i think i'll keep it like that honestly
Couple edge cases left with items, need a larger sample size for testing parsing
Sadly the copied items doesn't contain which elemental damage it is, so will just have to render them like this
I think I might have a huge edge case with corrupted items
But for now time to deal with magic and unique items
The application process was re-opened for a bit near the holidays to work through pending and new applications for the current PoE1 scopes for use in PoE1 projects.
As you've noticed, it's closed for new applications again.
Less edge cases than I thought, more than I would have liked 
looks great IMO
was a pita to handle flavor text + corrupted without breaking all the other items
but worked
it looks amazing!
That's not what either of you are gonna say when I open source the parser 
parseFlavorText() {
if (!this.corrupted) {
this.corrupted = this.parseCorrupted();
}
const rarity = this.parseRarity();
if (rarity !== "Unique") {
return undefined;
}
const indexesOfDashes = this.getIndexesOf("--------");
let indexFrom = -1;
if(this.corrupted) {
indexFrom = indexesOfDashes[indexesOfDashes.length - 2];
} else {
indexFrom = indexesOfDashes[indexesOfDashes.length - 1];
}
const nextLineBreak = this.input.indexOf("\n", indexFrom);
const nextDash = this.input.indexOf("-", nextLineBreak);
return this.input.slice(nextLineBreak, nextDash).trim();
}

absolutely filthy but it does the job
control + c parser?
I would've done it dirtier in terms of memory probably
hey if it works it works!
.split("------------")
[1.22ms] Parse
Not bad
Can probably get that sub-ms
1.7ms in ts-node, 1.22ms in bun
Never worked with any APIs, what am i doing wrong here?
def search_items(query):
url = f'https://www.pathofexile.com/api/trade2/search/'
response = requests.get(url, headers=headers, params=query)
if response.status_code == 200:
formatted_json = json.dumps(response.json(), indent=4)
print(formatted_json)
else:
print(f"Error: {response.status_code}")
query = {
"query": {
"name": "Fate Call",
}
}
search_items(query)
> Error: 404
Two things I can see immediately:
URL should be
https://www.pathofexile.com/api/trade2/search/poe2/Standard
Method should be POST
And my Python is rusty, but I think you have to send it as json=query
def search_items(query):
url = f'https://www.pathofexile.com/api/trade2/search/poe2/Standard'
response = requests.post(url, headers=headers, json=query)
if response.status_code == 200:
formatted_json = json.dumps(response.json(), indent=4)
print(formatted_json)
else:
print(f"Error: {response.status_code}")
query = {
"query": {
"term": "Fate Call",
}
}
search_items(query)
This should be correct, at least works for me
You also need a user agent in the header of the request
headers = {
'Content-Type': 'application/json',
'Cookie': 'POESSID=YOUR_SSID;',
'User-Agent': 'Google Chrome";v="131", "Chromium";v="131", "Not_A Brand";v="24',
}
For what it's worth: I wouldn't recomend the PoE tradesite API if it's the first API you ever work with, primarily because it's technically unsupported, and difficult to work with if you're new.
Not trying to discourage you or anything
Cookie is POESESSID and you should use your contact in User-Agent
Woops forgot that last part π¬
thanks a lot! how you understood that correct to use "term" and not "name". maybe you have some sort of template for filters?
You can check the network tab of your browser to see what request the browser is sending
ah, i see, thanks! as far i can understand i cant get more then 100 items with same filtered stats, if so, is there other method to get all items? the final goal of this exercise is collecting database of items for ml project
IIRC those are not 100 items, but 100 result sets which you can make another request for to get the actual items
I want to say it's 10 items per result set but I could be wrong
i think thats right from what I've seen
although I haven't messed with that too much apart from bug fixes
don't forget to rate-limit
and include contact details etc in the user-agent https://www.pathofexile.com/developer/docs/index#guidelines
this api just isn't meant for getting all the items for trade. for that in poe1 we have public stashes api aka psapi or the river, however it's not a thing for poe2 atm.
wow, these are really cool, which project is that?
do you have a link to more information about all of your projects/tools?
Question: apparently Filterblade can sync filters to PoE2, does that mean GGG enabled their API's?
Developer docs still mention they don't accept new applications, maybe they opened it up for existing users?
Open source item parser/renderer Iβm working on - for context I help with a few mirror shops where rendering items are important, so decided to just open source the whole thing
I really need to do thisβ¦
I would presume Filterblade is just using the existing project they have
mirror shops?
but he's able to access a poe2 api? i thought poe2 didn't have any of their api's enabled atm?
The API for item filters isn't specific to PoE 2 I think. You can pass the realm as parameter.
similar to what you can do when you create an online filter manually
oh wow, interesting. any idea whom i should contact to get access to that API? I sent a mail to support but they told me they couldn't help me.
Currently you can't if you don't have access already. https://www.pathofexile.com/developer/docs
We are currently unable to process new applications.
yea that's what i read. not really equal playing field then if someone who already had access, can use that even for poe2... sucks :/
as per docs realm is pc, xbox, or sony. so no idea whether it works for poe2. as far as I know both novynn and scopey said that there are no poe2 apis so wouldn't be surprised if it's just for neversink
could be that docs are just not updated, i think account-wide stuff is supposed to work with PoE 2
though there's a chance that docs are just outdated and lower priority atm
Is there a trade api for poe2
The unofficial one still works yes
Not even that
I received 0 replies or communication
The online filters were just back
And the old oauth started supporting poe2 as a platform
Actually tried getting a reply from a GGG guy about it regarding consoles, but complete radio silence
Maybe they're still on vacation, but they're in discord, so idk
Things have been suuuuuper busy here so there hasn't been much capacity to spare. I'm doing my best to help out, though I'm still quite new so if anyone ends up getting incorrect information from me, then.. uh.. sorry? π
Ah congrats on your red name!
Thanks! Definitely stoked to be here
Don't worry it was a private conversation with one of your colleagues, none of it is your fault
Now I'm confused.
For Poe1 i could get item data in a big json file, is there such a thing for poe2?
https://github.com/repoe-fork/repoe-fork.github.io should have a lot of this data
thank you
https://github.com/repoe-fork/repoe-fork.github.io/tree/master/RePoE/data/poe2 here specifically for PoE 2
Me as well
I'm confused again, what are you apologizing for?
in that case let's hope it's not by accident because it would be kinda awkward if they randomly turned it off later π
I've changed my nick to alwaysfloat instead of neversink
I thought it'd part of confusion
I was wondering why you replied after Alwaysfloat was pinged haha
Okay now I'm less confused. The name wasn't part of the confusion, I knew who you were 
The reason I posted was because I'm going to be starting to help out with oauth applications so we may be able to open those up again soon. Hopefully.
Ah well, the OAUTH API we had for POE1 already supports POE2 and the lootfilter ladder/profile filters went live unannounced: https://www.pathofexile.com/item-filter/ladder/follower/type/PoE2
I need to hurry up and get a filter out so I can at least beat Sides
online filters don't work for console yet, so we were waiting for that before announcing anything
Probably not a question for you but the game team, but do you know if there's any plan for CTRL C ingame to return implicits for weapons that grants skills? Ie. this one
I don't know what's happening with Ctrl+C stuff
I feel like there are some cases here I've forgotten, anyone with a second eye?
I could also add parsing for things like life flasks and waystones
Quest items?
Corrupt implicits?
I've seen items with 2 of the enchant looking texts on em anyway, think it's that
Yep I believe so!
Seems to work, thanks!
Didn't have any corrupted items, had to corrupt a random rare π
May I ask how you know the exact color of the mods? The light blue of enchant etc. Just pipette the pixels?
I think the colour codes are in the game files somewhere
I just did the good ol' color grab, but yeah I think they're also in the game files
Not sure if these are for text
metadata/ui/uisettings.xml
MVP
Need to clean up the code a bit then I'm ready to release v1.0 at least
I wonder if I should separate the packages or not (parser and renderer)
Probably makes the most sense
Is there a good way to find the roll ranges for uniques' mods? The base+goldvalues+mod tables doesn't seem to work since uniques sell at a fixed cost. With the changes to uniques in new patch, I would like to actually write a real way to get the info if possible, since my previous solution was manually entering the roll ranges from poe2db
Roll ranges come from the stat files in the game files
https://github.com/Path-of-Tools/poe-item-parser
First version pushed!
Next: Set up tests properly, publish to npm, more docs
Also: clean up the code 
is PoB for poe 2 expected to release this week?
Looks great! Have fun with tests and edge cases!
Already dealt with a lot of edge cases, but plan is to have about 100 or so test cases for different types of items
But I might hold off a tiny bit in case the CTRL C changes in the near future
adding tests for the parser i'm using is something i have been putting off doing for a while now π
also awaiting the copy advanced text addition at some point hopefully :)
Sorry if this is obvious, once I have the rolls is there a way to link them back to the unique they came from?
I'm not sure I understand the question but stats aren't unique to items.
An item can have multiple mods and each mod can have multiple stats.
There can be multiple different sources of the same stat. For example, the base_maximum_life stat could come from a mod on an item, from a passive skill, from a temporary buff etc.
the dat files don't tell us which mods spawn on which unique items, that part needs to be done manually.
I just took at look at the poe2 data and I knew that the spawn weights were removed, but I didn't expect the spawn tags to be removed as well. So currently the only way to know what spawns where is to go through gold prices? It feels like that probably wasn't intended by GGG and may be limited in terms of what information it provides, so if I want to figure out what can spawn where, the actual best way is scraping the trade site (or poe2db / craftofexile who already did this)?
yes
to both questions
Thanks! Trade api here i come... sad
thanks for this, will you push it to npm?
Alright thanks for the help!
Yep, just want to fix a few test cases then it's going there!
