#tooldev-general
1 messages · Page 125 of 1
is there something screwed up with websockets since yesterday?
unpriced items won't show up at all through websockets, but show up if you manually refresh the trade page and click the button to sort by recent
as an example
who dev's CraftofExile.com ?
nebuchenazarr, he's on TFT but I don't think here
Is the poemap.live dev here?
man it's punishing to misprice something with a 30min delay
poemap has a discord, don't think I've noticed the dev chat here
Anybody here good enough to dev a companion overlap app that'll connect to a 3rd party site API, and interested in helping / getting paid?
@compact isle could you read my msg here: #tooldev-general message
seems to be the case ~36 hrs later, apparently nobody is noticing the issue as i can't seem to find anyone else complaining about it or any information about what happened
it's weekend my dudes
Aaw, thanks for reminding me it's soon over 😄
I'm still struggling to untangle the mess of materials and parsing the first part of declarations and fragments.
I'm kind of needing to write a preprocessor now 😦
And I still waiting for new category item filters developers 😉 someone make this ?
no
FRAGMENT can have macro x, DECLARATIONS can have #define x y, they all can have #ifdef, #else, #endif etc. Their code payloads can also use the preprocessor. There's also include x.
or channel more accurate...
So I guess I'm going to have to topologically sort the nodes, pull in things they depend on recursively but ensure that they're not duplicated, gather uniform and handle macros as I go, and pray that the resulting source code is remotely legal HLSL...
Guess who didn't pay much attention in parser class and didn't get to take compilers?
Maybe I should parse fmt/smd/etc. for a while and let the brain rest for some day when I have spare cycles.
don't undersand ok I off....
@lean phoenix I'm talking about the reading and rendering the materials and effects for the game assets. I don't have any opinion on your filter stuff and haven't you already gotten a statement on it?
any admin about to help someone join?
help someone join what?
lmao
@prime wasp probably this answers your Question ? #tooldev-general message
unless they changed that for websockets too specifically like 2 days ago, no
idk
it wasn't a problem until 2 days ago
his post is on the 17th
I see
yeah even if i generate a new trade identifier with sale type: any
the unpriced items won't show up
only listed ones 
If I have 0 saviour drop in 78 Sirus kills, is it possible to calculate an upper bound on the saviour drop rate?
I have a vague memory of this from statistics class, but I forget what it's called
nope, because the drops are all uncorrelated
also fwiw there was a bug for a while which made sirus not drop items under some conditions
anyone knows working method to bypass cloudflare bot protection?
yes, by changing IP 🙂 (or complete captcha every 10 min)
Na, hes putting me into the javascript challenge.. but puppeteer and so on does not solve it
the "checking your browser" thing
Are you trying to run a full browser headless, or are you writing a standalone tool?
i try to write a standalone tool
Make sure you're providing an user agent identifying your tool with contact information.
Any syntax to fulfill?
Don't think so, just something like tool/version (by @handle) or something so that it can be identified and they can reach you if there's some reason to.
Anything not the standard user-agent from your HTTP library is probably going to be an improvement, but it has been requested that if you make a tool you should avoid obfuscating it and provide some info.
@vague aurora you’ll find yourself IP banned if you don’t fix your user agent and keep failing JS challenges.
Does live searching unpriced items work for anyone here? It was working like 2-3 days ago and I suddenly get 0 results for live alerts, however if I do a static search I can see there are TONS of results that is present since I started the live search
ah okay, so im not the only one who has noticed this
Anyone have any experience doing analysis on the dmp files caught during crashes?
I can't play the game on my laptop without using second monitor 😦 - I have to plug in second monitor just to play the game for some weird reason
Not too much use without symbols.
man, the official trade site is behind at least 4 minutes
Anybody interested in helping/getting paid for dev'ing a very small overlay? pm me
4 minutes is pretty good
I'd agree if it were the weekend
but things usually get fixed when GGG gets back in the office
except they haven't been fixed
yeah, this has got to be the worst league in recent memory regarding trade site interactions
need a live search for currency trades now because just doing a search is worthless. Everything sold already
for poe ninja api is sparkline the last 7 day trend?
yes
thx
am I missing something or is pathofexile.com/trade not able to resolve fractions of chaos < 0.5?
it seems the bulk trade screen is able to figure it out, but if i search for orb of alteration, i get results in stacks that are priced at 0 chaos
i figured it was just the website rounding down, but it comes across in the json as "~b/o chaos"
something is really wrong w/ trade again, getting msgs for things i sold like 30mins ago
exalts rounded to 0.1, everything other to 0.5, "x/y" note format must be used for bulk
ya, but that's what's missing
the x/y format isn't getting sent over the json
only bulk page seems to be able to see it
"note": "~price chaos"
"price": {
"type": "~price",
"amount": 0,
"currency": "chaos"
}
yes it's bulk only
I think originally to discourage fraction wars with trade pricing
seems like a mistake in hindsight
admittedly it's only a problem when the trade site is delayed, making the bulk page unusable
Don't think you want to get whispers buying 1 Divine, when you want to sell at least 5 in bulk
that's only an issue with the whisper button
they could easily have had the whisper button round down to 0 like it does today but maintained the original data in the json
but instead they just omitted it entirely from the json and had the button treat "blank" as a 0
gonna go out on a limb and assume javascript has a math.round function
Will the stash API still be available for 'private use' after OAuth is implemented? E.g. in the past I've done market analysis on PoE from the stash river, and I'm interested in attempting another such project. However if the API goes approve-only and my use (which isn't for a community tool, at least not initially) isn't approved, the effort would be wasted if the public API then goes dark.
Could someone check? https://poedb.tw/Flickershade seems to show me in Thai Lang
流亡編年史提供全面的物品,傳奇,寶石資料,最新的遊戲消息,最全面的基礎知識。
You probably want the URL that includes /us/
PoEDB provides new things come out each league, as well as unreleased skills or MTX, as all of the information is directly datamined from the game itself.
ahhh thanks xD
just another reminder, live search for unpriced items is still broken 😦
does Novynn or any of the other GGG folks check here?
It’s been a long weekend, and there’s been responses to similar types of reports before on the forums, so maybe try there too?
Looking for someone who can dev a small companion overlay (For 💰 or 👍 , your choice). PM me!
wooooooo the unpriced items livesearch bug got fixed
praise toucan
How did we find the damage numbers for The Black Cane/Phantasmal Might? I can't find it anywhere in the GGPK, but somehow the wiki has numbers
either shows ingame or we tested it iirc
GET /nap
Good work!
TGM parser is getting somewhere 😄
When will you provide hideout printouts in 3d?
2025
It's kind of odd, the tail of the file has a separate square-ish mesh for the ground with a different vertex format.
As for 3D printing, given how unwatertight these meshes are, it's going to need some preprocessing 😄
Only really figured out most of version 6 too, current is probably 7.
It doesn’t help that my 010 keeps crashing on my templates and scripts.
Regular vertices have three floats (pos) and twelve bytes that I have not figured out what they are yet. Squinting they may be groups of three bytes encoding TBN and a colour, but can't quite tell.
Not sure if the inputoutput fragment can help there.
Right now I've got a TGM.bt template for parsing TGMs, and a 010 script to write an .obj file right out from the template variables, to load into the Windows "3D Viewer" ^_^
Hey, can someone tell me if I understood the public stash api correctly? My understanding would be: "/api/public-stash-tabs shows latest changes made to stashes. Only changes are listed.
?id=123 will show changes on Point A, ?id=456 will show changes on Point B, but will contain no stashes of Point A. next_change_id of Point B points to Point C.
If one of the stashes of Point A changes in Point D, stashes in Point A will be updated and the next_stash_id in Point A points to Point D."
Note that there's no changes, there's just full stash tabs with the current state.
If you follow the chain of next_change_id you may not see the same sequence of stash contents as someone else would, as future changes to the contents of a stash may obsolete earlier occurences of it.
Yes, I think that would be my last sentence, right?
I don't think I follow, so does it show all current stashes?
Depends on how one interprets your last message.
An old change ID will not contain future state, it only contains state that was valid at that point.
Some of which may not be obtainable anymore, as there's future change that obsoletes it.
That is, if you're following the river to the end, you'll have an accurate image of the state of stashes, but you may not have seen all the intermediary changes along the way.
Hmm... okay. Only question would be the definition of state. Like I request the "newest" change id. What data will I get, a list of all stashes, a list of all changes to the stash id before or what exactly?
Stash tabs will appear in the river if they have had a change happen to them, like an item move, item alteration, price change, etc.
A stash tab appears as a whole with all its contents, there's no change information.
Given a change ID, you get the next set of stash tabs in the river.
If you're at the very front, that set is empty.
If you're behind the front, you get some and may use the next_change_id to iterate from there.
Yea, I did not expect change information, with change I meant the stash will appear in the river again if it has been altered in any way and it will be removed from the old change id.
Yep.
Great. I know it's not very complex but I actually never saw such a data flow ^^.
Anybody here either interested in helping/getting paid to build a small companion overlay or can point me in the direction of some documentation on how?
you could take a look at how existing overlays work if you want to try DIY, if you know js I'd suggest Electron/CEF, PoE Overlay Community or Awakened PoE Trade for examples of Electron
thanks
Anybody here work with Joomla Regularly?
guys i dunno if it is correct chat to ask this
but i play wc3 reforged and what i like most of it is map making
coz i have ideas for great maps
i was wondering
is it possible to make something like the hideout tools
but for maps
where people can create maps
and best maps
are actually integrated in the game
🙂
there's nothing like that for poe, no, and I don't think ggg has moved or said they plan to move to player-generated layouts or designs for any areas
they did player designed maps waaaay back when, that's what most of the older unique maps are
but I don't think it was something they wanted to do again in the future
i think those were much less player designed with some map creation tool, and more based on player requests like most unique items, yeah?
but same point anyway, not lookin' like a thing
there are hideout showcases, im not sure how intense the desire in the community is for some kind of hideout wars thing to happen. should try it
The best you’re going to get is probably cool external tools like what I’m hacking on to make regular hideouts, but less painful.
Not sure what a “hideout war” is.
Good news btw, my TGM parser gets the structure of all existing current TGMs right it seems.
Haven’t checked if I’m missing some tailing data but it doesn’t explode getting all that I expect at least.
Smells kind of like a FMT but with a bit of ground cover mesh at the bottom, not quite sure why it’s separate.
Vertex format for the tail is larger with v7 of the format, making it as big as the regular vertices.
Remind me to document this some day 😉
amusing discovery of the now: Adiyah is internally identified as the "Driver"
makes sense
Wanted to thank the dev team for sending me this! Probably going to frame it on the wall over my screen.
It is a little hard to make out on the picture, but I am pretty sure someone spilled coffee on it - tough it smells funny... kidding
why hasn't there been any update on the trade site delay? It's been over a week and nothing has been communicated.
asking rhetorically, don't expect anyone to know the answer to that
There are no delays in Ba Sing Se.
What? Is there something left still not supporting utf8
Global chat whenever I try copying things from poedb 😄
the real Apostrophe, what actually must be used by everyone, not a pseudo single quote 🙂
If anyone is curious, anecdotal evidence all seems to match up with the phantasm_minimum_added_physical_damage_to_grant and phantasm_maximum_added_physical_damage_to_grant stats from the grantedEffect itself.
anyone have idea what did they changed on site today? i mean none of scripts which i was using with tampermonkey for trade works anymore after years, this one for example:
https://github.com/ghostscript3r/poe-trade-official-site-enhancer
i checked CSS code with inspector but every classes and ids seems still same 
UserScript that adds tons of usefull features to www.pathofexile.com/trade - ghostscript3r/poe-trade-official-site-enhancer
Maybe there's a change in how lazy things are loaded, or maybe there's been a change in the TamperMonkey implementation or underlying browser?
i think theres a default map builder in wc3 Warcraft III World Editor
hello there. I am searching for data that tell what the odds of a prefix/suffix are.
Are the JSON files of brather1ng/RePoE such a thing? If yes, where is the data? I can't find it.
poedb has the values so it's assumedly obtainable in some table somewhere, but I've got no idea which nor if RePoE has it.
you mean I can access (e.g. via API) or get a database dump from poedb ?
I mean that if PoEDB (and Craft of Exile) has them, they are probably in DAT files in the game packs.
They seem to be in data/mods.json in RePoE.
https://github.com/brather1ng/RePoE/blob/master/RePoE/docs/mods.md read about spawn_weights
See the spawn_weights array.
Me: *clicking through every JSON file reading it while there is a docs folder.
Me dumdum
There's docs? 😄
is there any way to differentiate hybrid mods from single stat mods in the item data you get from CTRL-C in-game?
not 100% of the time afaik
sending off my hourly email asking ggg to implement it
yeah the first few rares i looked at with hybrid/double stat mods were all edge cases where you couldn't tell, all depends on the iLvl and mod ranges, which is annoying for what i want to do
people have been asking as long as the ctrl+c functionality has existed yeah
there's no reason why it shouldn't copy the extended mod info, no one actually uses the ctrl+c as human-readable info
is there / where's the documentation on interacting with the client?
There is no way of interacting with the client.
specifically w/ copying/pasting to chat
You may read client.txt, you may perform one specific server action per user-initiated action.
You may not inject overlays or anything into the executable.
just trying to have an overlay paste & send a formatted response
pretty sure other overlays / apps do this already
Which is why most acceptable tools are running as separate windows in windowed mode, obscuring parts of the window and being invoked on user-initiated actions.
Listening globally for hotkeys.
Send an Enter, send a Ctrl-V, send an Enter.
Pray the user is in the right modality 😄
so, only by keystroke, no api
kk
lame but figures
is that how all the trade reply enabled overlays do it?
Pretty much.
kk
would I use /api/data/CurrencyOverview (poe.ninja) endpoint to get the relative cost of Exalteds in Chaos?
anybody know the type string identifier for exalted orbs? (poe.ninja API)
how come 'Exalted Orb' gets network error in swagger?
what's the type you are using for that request?
looks like the start of 'Currency'
would it be possible to just paste the endpoint and parameters you are using to generate that JSON?
nvm i htink i got it
yeah i got the endpoint working in postman
i think there's something wrong w/ the swagger page
Hi ! I'm currently starting an desktop app to track the currency farming during a league.
The idea is to get the currency premium stash of a player, and analyse day by day how many currency has been used / farm to generate graphs.
As the application needs to access to the player stash i would like to know if they're is an OAuth2 available on pathofexile.com ? I've seen that poemap used an OAuth2 authentication but i can't find any documentation about it.
@summer grove Hi! There's a pin here about how to contact someone for oauth stuff.
You could probably look at Exilence Next source to see how they deal with the auth and stash access, but I would assume they're using the same old API as everyone else once authed.
General rollout of oauth is on the horizon and currently stuck in a bit of a necessary legal mire to ensure that all the data processing junk is done right.
Sure, this is one of my main purpose, I dont need/want to access user informations or credentials (even if its a desktop app), thats why using OAuth could allow me to abstract this layer of informations while dedicated this to pathofexile.com.
I'll check to Exilence Next source code to see of they handle that part.
Hey, so I've wondered how the "Weapon filters - Damage" value is calculated on the official PoE trading website. It's pretty straightforward for only physical damage. The Damage value just needs to be in-between the max and min. But if the weapon also has elemental damage, I don't really understand how the search is calculated there. For example, 53-98 pDamage, 1-600 eDamage, search for 391 damage you still get that item, search for 392 damage you will not get it. Does someone have a clue on this? (I'm asking because I'm currently also making a item search for a different tool and want to calculate those values accurately, DPS and others are also pretty easy.)
Stat filters for ranges in general match against the average value, not sure how that one is in particular.
Hmm, yea I tried something like ((1+600)/2)+ ((53+93)/2) like it is for DPS but I get nowhere close to that value.
I guess that will be a "I have no clue - let's see later" issue then.
Head's up for anyone working with .hideout files, the default ones from the pack and new exports are now UTF-8 with BOM, while old ones were UTF-16LE with BOM.
Not only that, but it's now gosh-darn versioned JSON.
This is fun, it closely maps to the old line-oriented format, but merges Flip and Variant into a single fv key, encoding flip as 128.
There's also non-unique keys in the doodads object, so things like nlohmann::json won't work out of the box.
@earnest radish So poe.trade does just do physical damage average no matter what elemental damage is on the damage field. I went with that. Don't know what the official one does. That's the query btw https://www.pathofexile.com/trade/search/Ritual/6ERRvobsG (increase damage from 411 to 412, BenzzeR item will disappear)
don't forget that trade adds quality to 20% if item is not corrupted and quality <20%, quality affects physical damage https://github.com/SnosMe/awakened-poe-trade/blob/master/src/web/price-check/filters/pseudo/calc-q20.ts
Ah, so the official site does take the average of both (including quality) for the search parameter. That answers my question. poe.trade just does physical damage average apparently.
There we go, got a somewhat OK parse out of nlohmann's SAX parsing functionality, but damn it's ugly.
I think trade is over 1.5hrs delayed now
items still haven't shown up in searches that I priced that long ago
ya I'm worried what's going to happen once my items finally do list
can't recommend you to underprice an item, you will have fun for some time
ya I'd have to spend the next 3 hours on DND
woooo wall of messages just hit
looks like delay is at 1hr 50min
Just wait until people quit and it'll solve itself 
$Curl->setUserAgent('PoEDB/0.0.1 (+https://poedb.tw)');
random q; where does poe.ninja source its' data from for stuff like character passives/equipped gear?
is there a public api for stuff? all i can find is resources on the stash and characters api
right, what is the uri to lookup a characters items/gear ?
i couldnt find that, sorry
gotcha, so you need to parse xml or whatever from each players url
theres no like public api they provide
i figured but i wanted to make sure; i assume thats how poe ninja gets their stuff
nvm i see whats going on
@compact isle I think there might be some wording issue with the following trade-site stat:
stat_2810286377 on the trade site reads Area contains an additional pack with a Rare monster
The resulting stat displayed on the actual items read: Areas contain an additional pack with a Rare monster
(Note the Area vs Areas )
Search link: https://www.pathofexile.com/trade/search/Ritual/pw0jv35t0
Love it when my users rage at me for the trade API being delayed.
Simply fire your users.
$cannon_tool is pretty bad lately i heard, lots of delay!
You know it’s bad when trade tool devs are telling their users to play SSF.
dont you enjoy getting pmed for the same item for hours on end?
I wonder how hard people could exploit my hideout parser... https://gist.github.com/zao/cdc4ee4e49c86b2d6dc6ebaf56f593d8
Thing, Doodad... 
Thing is me at 10 PM not being arsed naming the parser state, Doodad is an official term 🙂
Anybody here w/ Electron experience have a few minutes to chat about implementation?
Don't ask to ask! Post your question here so that people actually know if they can help. It's also better to discuss your question publicly so more people can chime in or learn! That's why these channels are here!
that's not quite what that auto reply is for
not a bug, stat has different translation based on item type and trade site shows stats by loading them in some order, so canonical_line can be overwritten by other translation file
Having never done any overlay stuff, should I look at just trying to do JS Electron implementation myself or find someone that can do a py/cpp build?
tried reading about both, but i don't work on node, so a lot of both were Greek
@primal schooner I'm sure you can just use @civic crane 's awakened poe trade as a reference
and barring that, there are hundreds of much simpler tutorials for simple electron apps online. then all you have to do is take a look at how APoET manages overlaying and you're off to the races.
i'll just start working through https://www.electronjs.org/docs/tutorial/quick-start
see if it gets me where i'm trying to go
anecdotally electron (or similar js framework) is by far the most popular way to make overlays now
python (or etc) has no advantage unless you already know it
You could totally do Electron with the backend in a different language if you're more comfortable with it or need some specific library
.Net 5 + Electron
quick question; do you have any plans to add exerted attacks option to pob/configuration?
i couldnt find it unless i miss something
There's something with how web pages are rendered that makes FPS suffer in some situations. If that's a problem for you, could be a good idea to weigh your options a bit more than yoloing electron, unless you fancy just learning something for the shits and giggles
CreateWindowExW is all one needs 😛
win32 all the way
i haven't really figured out what it is, but it has something to do with the hardware acceleration of website rendering engines
(haven't really dug into it either, to be frank)
Imagine a world where PoE tools wouldn't be overlays forcing you to play in windowed mode, but showing up in a determinate place on another screen or computer and controllable without leaving the game.
I always play in Windowed mode ¯_(ツ)_/¯
@simple ravine Running in windowed mode to begin with is bad unless you're sufficiently sized and unobscured to be considered for the DWM to give you a go at proper flipping.
Things like G-Sync can easily latch onto slow-presenting software as well.
PoE mobile companion app when?
eyyy, you're on to something
I'm having enough perf pitfalls to not quite want to play the game.
one rpi for the trade macro, one for buying stuff, one to run pob 
I... actually have one lying around which I lost interest in very quickly
and I have a couple of spare monitors
mqtt protocol 😄
i also have a spare pi4 lying, never got around to swap out my pi2
if you make one of those trade macros though
it'll be a bit difficult to kind of have a UI like awakened poe
you will have to switch between primary mouse/keyboard to another device, be it touch or whatever
brain computer infterface when
Elon Musk might know
Logitech has a solution for sharing mouse/keyboard between computers with a shared clipboard, called Flow, but the supported devices are quite limited
OCR item Scanning
You have to hover over an item, make a picture with your phone and you will see the price etc
When you're in a player's hideout, they create a QR code on the floor, you scan it and it takes you to their forum shop page, aka trade improvements
@worthy cape Automagical QR hideouts when? Jokes aside, if this could be automated, it would probably be the easiest way to link to a static URL in game
Astley or hello.jpg, eh?
Of course, as it is customary
I've been thinking about ways to make my tool more resilient when things change in the bundles.
Right now I work directly against an installed game location (standalone or Steam) and burn horribly if the DAT spec is off or some assets have become incompatible.
I wonder if it's worth hacking up something that digests the game data into a local cache in case of accidents, or otherwise has some sort of graceful fallback.
I kind of need room definitions, meshes and decoration tables, but things like materials and textures are a bit optional.
Hi, I took an update of the pob community fork a few hours ago and now I cant launch pob...is this the right place to ask about it?
Nope, the primary place is the GitHub issues for the project.
ok thanks
try running as admin, can fix some patching issues
i ended up deleting and downloading it again, I didnt see any issues posted, and the update was made over 24hrs ago, so probably something local got messed up, it works now (copied my builds directory over first)
Path of Building will never delete your builds
i deleted the entire directory before downloading it again from github
@golden bane I accidentally did when installing over a standalone directory and clicking through the "remove directory contents" dialogue 😄
Oof, that's not PoB's doing then. I assume you had a backup?
Nope, I had cleared out my ZFS snapshots like a week before.
Well, it was the PoB installer, but I see your point.
I have no-one to blame but my reflex click on a popup.
Well, most old builds aren't viable anymore anyways
I'm so off-meta with my SRS and whatnot that most probably would work still, but yeah, at least I didn't make them myself.
"yadda yadda [Yes]"
I see, I'd recommend having your builds in %DOCUMENTS% instead
This was back when I had multiple PCs for PoE and ran PoB from a network share, a portable installation was the perfect fit then.
I foolishly installed the installer over it not remembering that it was actually a standalone.
In any way, Fun Times Were had.
Regarding this, I think having a "last-known-good" version of every file would be a great idea
Hopefully it'd be small enough to fit comfortably in a cache directory somewhere, not sure how many assets would be pulled in if you had all hideouts and all decorations, with all their related files.
puts it on the list
Related topic: How would you go about CI testing a GGPK viewer? One one hand you shouldn't test against live data, on the other hand it's not useful if it breaks on real data. Kinda hard to keep around a 40 GiB Docker image
Less of a problem if you run CI on more local hardware, but if you're on some hosted solution it's indeed a bit hefty.
My bulk testing has mostly been a local thing as I've worked on parsers, would probably be handy to rig something that procs on manifest changes.
Maybe slice out most records that don't cover additional test cases? But then you either need to decompress to full size or do offset offsets, making the whole testing less reliable
Maybe there just isn't a good solution
Anything caching would be a bit moot too if doing CI, as you typically only one-pass everything.
Otherwise it'd be fun to explode the pack onto CVMFS and let its natural caching do its thing.
(or simpler, a regular web server and a caching proxy)
Would this be the place to see if anyone wants to sanity check my filter customization interface? Just a clipped screenshot, not a whole app. Working on affix filtering and want to know what people think
anybody know if body armor enchants have weight values attached to them?
k
if it's any indicator there are only 3 vaal regalias, of any ilvl, that have the 15% def modifiers enchant
gotta be weighted
a ton of 8% enchants though
Hey, everytime i open my PoE it immediatly closes, does anyone of you have an idea what it could be?
Is our data mining tool still krangled? I’d like to determine if these weights have changed. https://www.reddit.com/r/pathofexile/comments/859itk/datamined_list_of_legendary_beast_spawn/
285 votes and 224 comments so far on Reddit
Did OP ever mention what DAT file it was?
I don’t think so. I DMed him in hopes that he remembered.
All specs for Bestiary*.dat are good
(and no, I don't have export functionality in my janky prober 😄 )
Thanks. Looks like the weights have indeed changed.
I was looking into how exactly the “rarer of two varieties” mod would impact farming for any given beast, and when I saw the great number of ties in the old data, I was concerned. This screenshot at least places things like the 6L beast at a lower weight so that it works with the mod instead of being a 50/50 shot in case of a 100-weight tie.
Gonna close my DAT viewer now before I spot more bugs <_<
Thanks again.
If you know which table it is I can export it.
PyPoE's CLI exporter probably works if you can trick it into using the correct syntax too.
(I'm using PyPoE stable.py specs as-is)
here https://www.pathofexile.com/forum/view-forum/bug-reports , but first open "PC Known Issues"
I was under the impression that some part of the ggpk format had changed such that pypoe stable wasn’t working as of right now. Never tried pulling latest and testing for myself, just something I thought I remembered reading.
@subtle gyro The tech patch in early September hosed everything so that we needed to figure out bundles and their compression from scratch.
PyPoE itself at the core has been adapted somewhat soon afterward, needing an external decompression DLL/EXE; but the UI has been a bit hosed (and may still be).
But it has since been resolved?
Things like the CLI export still works, and the bits that RePoE needs are fixed now I think.
Interesting okay.
Cutting from some other advice I've given:
pip install -e[cli-full]'
pypoe_exporter dat json --files=MonsterVarieties.dat MV.json
pypoe_exporter dat json --files=SpectreOverrides.dat SO.json
I never managed to get the syntax right to export multiple files at once 😄
Other question that was on my mind: has anyone here scratched the itch I know we all have felt and written a script to enhance poedb with filtering by tag/influence, perhaps support for weight summations?
I just poke Chuan with suggestions.
I started on a little tampermonkey script last night but thought it worth asking before I continue.
Do you know if he hosts a public repository? I’d be happy to submit a patch.
@velvet fog
Unlikely.
Well, I’m still happy to manually create and send over a git patch @velvet fog if you’d welcome it.
can you place filter sound files in a subfolder?
huh, litearlly tried that
i'll check again
thought it was weird that it wasn't working
must be a sntax error on my end
oh right
you have to change it for each one
there's no way to do it all at once
well other htan export ot a word processors and find/replace
there's no way, code wise, to do it all at once
yeah, nvm i forgot I figured out that's what I had t odo
Odd, DelveWeaponDamageOnFullLife2h1 was a mod that could technically spawn on weapons in Delve, but there aren't any for sale in Standard. It's almost like GGG subbed it with DelveWeaponDamageOnFullLife1h1__ instead, as there are at least 90 of those items in Standard. Is there any way to tell when a mod is drop-disabled like this?
What tools are people using today for tracking net worth?
Currency cop is not updated to my knowledge, and i forgot what i used a few leagues ago.
Exilence Next
Sweet thanks!
The odd thing is, that mod does have spawn weights, but doesn't show up on trade
Thanks for finding it, that's kind of what I suspected, since it seems unlikely that no one would put one up for trade, otherwise. Unfortunate that I might have to hack something in to exclude that mod, though
spawn weights are kind of a weird thing for delve mods though, since they don't spawn naturally (not anymore at least). even if the weights are used when choosing a mod in one of the delve encounters which spawns special items, it could be that no encounters have that type of mod in their pool
@subtle gyro https://poedb.tw/us/Bestiary#LegendaryBestiary
PoEDB provides new things come out each league, as well as unreleased skills or MTX, as all of the information is directly datamined from the game itself.
Anyone know if the addon EnhancePoEApp is ok to use?
if that's the chaos recipe overlay, yes it's fine
As with any software you download, it may do naughty things to your computer and your PoE account.
but it's open source and used a bunch
On the tin this one seems to be doing acceptable things, even if their attitude toward rate-limiting seems a bit crude.
so very unlikely
@frank drift Instructions recommend grabbing a binary of uncertain heritage, but yeah.
DO NOT download the whole github repository, since it may include some new experimental features.
Heh.
clones repo
Dont know if im in the wrong channel, but is there a tool with that i can make the life and mana hud transparent?
I play hc and it often is just in the way....
There is no legal way of altering the game's rendering.
Oh thats sad
you could try window mode and then simulate a wider screen to see more though
i have a clone of it specifically so I can hhave this:
minified ui for it, but also has item counters
A weekly dinner schedule, how very German of you 😄
@fickle yew is there something up with poe.ninja? The buy price of a mirror is listed as 217ex, but if you search for one there's nothing under 269ex. That's a really big discrepancy.
part of its the update delay, and part of that is to try and prevent "gaming" poe ninja
No, that's not it. It's just completely wrong.
Take a look at nearly any high price item
Replica Farrul's, ninja says 50ex, should be 54ex.
Replica shoud, ninja says 22ex, it's been 20ex for almost 2 days now.
Headhunter, ninja says 92ex, should be 90ex
Replica baited breath, ninja says 208ex, but there's been one listed at 180ex all day
it's like it got stuck a couple of days ago and stopped updating
I could accept that all those are just normal differences though. But mirror being off by more than 20% is not normal.
@wind garden Thanks for the heads up. That does seem like a bigger than normal difference.. I'll investigate.
The data ingest was running slow so was further behind. I've tweaked a few things and it seems to keep up now. I'll give it a bit more optimization love tonight though. Lots of easy things to fix.
Thanks a bunch
yo what trade program is everyone using as of now? last time i played i used trademacro
the autohotkey thing
generally Awakened PoE Trade or PoE Overlay Community
do people actually buy replica bated breath for 180 ex?
how is that relevant to a tooldev channel?
its not actually
im a tool dev and i bought one for way more than that, but i wouldn't want to talk about it here or anywhere else
@fickle yew Just noticed the Invitations category, much appreciated
It seems to be listing magic ones too though? "Hexwarded Maven's Invitation: Tirn's End of Toughness"
Also, the correct (base item) listings have a bunch of irrelevant explicitModifiers
Oh that looks like a bug..
@fickle yew have you thought about ignoring quality for alt quality gem prices? they drop with quality, so quality barely affects price and it makes it so poeninja data is inaccurate
Don't they just get rolled into the one without quality if they're below 20? Is there some other factor?
I meant to say level and quality... they also drop at level 16
and that's probably the bigger issue
since you only look at level 1 or level 20 gems
you miss 99% of alt quality gems as far as I can tell
a quick fix would be to add a level 16 category for alt quality maybe
Yeah I see what you mean. Quality with awakened gems actually also looks strange. I'll take a look at that.
yeah awakened gems also drop with random quality iirc
content also drops normal gems with quality by the truckload now
so it would probably make sense to treat 0-19 quality as the same
generally
Yeah I think I might just do that. Was also what I was thinking. Maybe also level 1-19
As a group
Does anyone have a stash update id for me from just before the start of heist league
i am running out of memory on my servers so gotta prune some data
There's some mentioned in here if you search for public-stash-tabs, but this one is a few days after launch: #tooldev-general message
Another one mentioned like two weeks before the league.
I must have fucked something up, unique stash db grew like 400% since a couple weeks ago
finally a free moment to work through these OAuth client requests 😄
@compact isle QQ How do I request oAuth request for an app?
send an email to roryv@grindinggear.com with your app details
@compact isle Would like to get in on this too... sent email as well. Thanks 
what new apis are useable after users have oauthed, just the item filters?
@fickle yew Hey Rasmus, I'd like to suggest a section for Cluster Jewels: their prices change quite a bit depending on itemlevel, type and node count. I think there's be some interest for that (+ I'd totally love to automate it in my filter D: )
I just looked at this last week. Working on it 🙂
awesome, thanks!
def __init__(self, rawsource='', *children, **attributes):
any python gurus? First arg I pass will be catched by rawsource but I want that it to goes into *args
what's the easiest way to get unique item data in json form? ie. mods with their possible value ranges
Python 3.8 supposedly has improvements there.
@civic crane Probably best to create a new dict out of children and update rawsource into it
@civic crane https://stackoverflow.com/a/57819001/87969 ?
Yeah you could do positional-only parameters, but that changes the signature. Not sure if that's desired
That is, apparently, def __init__(self, *args, rawsource='', **kws):
this is an extension for Sphinx, so can't change anything. will pass ugly empty string then 😦
does poedb have an api?
I'm querying wiki pages for mods and then combine with mod info from dat. I'm parsing {{Item template because have some requirements to mods that can be found only in source text
think this is what I'm looking for
https://pathofexile.gamepedia.com/api.php?action=cargoquery&tables=items&fields=name,stat_text&where=rarity=%22Unique%22&group_by=name&format=json
not bad at all, I'm running validation script and fix some wrong mods for unique items on wiki every league 🙂
where can i find documentation on the structure of GGPK files? so far i've been reading the code of LibGGPK and PyPoE but would greatly prefer some written documentation on formats, records, byte offsets, etc.
For the GGPK itself: https://gitlab.com/zao/poe-rs/-/blob/master/spec/ggpk.md
thanks, this is great!
@wise forge My early writeups on some of the formats: https://zao.github.io/poe-doc/
My current codebase isn't public, but poe-rs and gggtools should probably have a fair bit.
Stupid questions also welcome 😉
great, thanks! these are the most helpful docs i've seen so far
i'm toying around with a high-level ggpk parser in go (and then rust after) just to have something to do
I probably need to refactor it to make it use the io/fs interface though...
nice! looks a bit like my test code but i'm intrigued by the 128-byte 'node' reads, nice approach.
i also noticed the river package; you might be interested in this Go API client I made a couple years ago: https://github.com/willroberts/poeapi
yeah, I never really finished river, it was mostly an experiment in writing a schema
@velvet fog I think some corruptions in mods are outdated, or at least they don't exist in ritual league (https://www.pathofexile.com/trade/search/Ritual/po4lOoJc0, only one in std is 8 months old). this one in particular (one handed axe), but I suspect several others that are similar
@violet path The client data may be inconsistent with the server
is there a place that has better quality sound files of all the loot filter sounds than neversink ?
CDN or game banks maybe? Never looked much into the audio.
Stock FMOD extractors got upset with the ones I sliced out so didn't bother much more.
Someone know what I must to do ? I have received this message according to My filter SimpleFilter ? :
Hi! If you wish to advertise your tool, please open a modmail by DM'ing our "DM 4 Help" bot
the bot is listed on the right -->> you can send it a DM
You may want to read rule 3 of the Discord closely and if you have questions, contact server moderation via the mentioned bot as this has nothing to do with tool development.
DM 4 Help is another discord server
Dear ImGui's drawlists are nice, gonna suck to have to hand-roll things: https://i.imgur.com/6P0ses1.png
Still don't know what I should to do with this but thx
@lean phoenix You have apparently violated the rules of one of your Discord servers and a bot has helpfully informed you of this, and told you the method to contact that server's moderation team for discussion or information on what you did.
Assuming that the spelling of that user name is correct, smells like TFT.
hymm ok
Oof. Dear ImGui columns limited to 64.
Are you sure? Seems like it was removed?
https://github.com/ocornut/imgui/issues/3037
At least the assert isn’t in master anymore. Maybe it’s something completely different, I never used 64 columns 😄
Oh
I use the tables for my DAT tool, and it's a lot of work to replicate myself and I don't want to branch the library again.
Probably going to go for filtering the number of columns instead.
can you make virtual table based on scroll pos like we web folks do 😅
This is way too convenient 😄
There’s a Finnish patch from December that expands it but not production grade.
Underlying reason seems to mostly be bitmasks for enabled columns and whatnot.
Ctrl+H int64_t int128_t
WorldAreas.dat has like 111 fields.
You had right. All is explained now.
“Solved” two problems at once, checkboxes for what columns to show, makes reading off rows easier.
Could adapt it into a schema editor like PoB has too.
Two questions, A) Are we still allowed to call the live trade api, and B) does anyone have a recent python example of how to connect with a websocket? I'm just getting 403 on my slightly older script.
Yes I'm setting POESESSID and __cfuid
So I assume something has changed again
User-Agent, got it
Hello -- how are people parsing GGPK files now? with PyPoe broken, I'm curious how people are doing this consistently?
PyPoe isn't broken, it's just specs that you may need to update. PoB has own exporter, I'm using my own exporter too, more exporters here https://github.com/poe-tool-dev/ggpk.discussion/wiki/Implementations
Depends on what you mean by "parsing", but GGPK itself and the bundles are completely solved, the state of the assorted other formats is the same as it has always been, and the specs for interpreting DAT files constantly needs little tweaks to apply.
Thanks Zao. I guess my follow up question would be regarding updating the specification. How do you determine what the new structure is? Do folks typically use a hex editor and take guesses? That is, RE the new stuff?
Correct, there's no metadata describing the fields of the tables.
The changes tend to be adding columns or possibly changing the data type of one, but you might get a decent idea by comparing against the previous contents of a table, or guessing that it's either a bunch of ints or bools added. If they look like list or string offsets, try those.
Some people have considered tools that can tell you the probability that a byte slice of the rows is likely to be some particular type, or considered using the differences/similarities between the different languages, but not sure if there's much done there.
There's also the possiblity to infer things by looking at the 32-bit and 64-bit tables, as field widths differ there.
Appreciate the additional info. I'll spend some time understanding the .dat structure a little better based on the GGPK book you referenced above.. and by doing some manual inspection. Hopefully I'll come away with a better understanding. Fun. 😄
Not sure if I've documented the fundamentals of DAT there, but the structure is fully mapped out, it's just the particular specs for each table that are unknowable.
@wooden burrow Outlined some of the DAT stuff at https://zao.github.io/poe-doc/dat.html
Is the best way to get large amounts of trade searches/data just hitting the pathofexile.com/trade API? I do not need the most up to date results, just a lot of them
I see that it's roughly limited to 100 items per call without a way to index
Follow the river with the last_change_id, indeed.
^
Oh, I see, is there a community library most people are using? I saw https://github.com/ajs/poefixer but it hasn't been updated in 3 years
edit: Found plenty of examples in the community libraries around, and some powerful full on indexers, really cool stuff. I'll put together my own thing based on that
so this is OT for poe but it seems kinda weird to read those complaints about c# as a java dev: https://www.ultimate-adom.com/index.php/2021/02/19/ultimate-adom-load-save-clarification/
Load & Save is coming soon. If we hadn’t stumbled upon a serious internal bug it would have been part of the EA release. We are working on it and expect to provide ASAP.
So what happened? Why are we going to EA without such an important feature, knowing full well people usually don't like
First thought, .ot is a PoE file format 😄
Woah, ADOM - I was playing this as a kid last millennium
I think this is the fourth try at releasing a sequel 
Regardless of platform, not building load/save/reproducibility into it from the start sounds like a horrible idea.
Was just about to say that - seems very odd to leave savegame functionality to the very end
its also very odd to implement it in java and assume it will work just fine in c#
I'm a bit surprised that they're able to do it with naive s11n to begin with, is there much support for versioning and downlevel support there?
pretty sure java handles adding and removing fields automatically as long as you do it in specific boundaries and keep the serialVersionUID the same
e.g. if you add a new boolean and it has to downgrade it'll discard it; if you have to upgrade an old object it'll initialize with the default
On the subject of fun C# stuff that keeps on biting you in the butt if you're used to other object models - https://twitter.com/AeornFlippout/status/1361815200475865094
what on earth is he doing? why on earth is he doing it that way?
unless you needed to downcast it or something
and yeah, that looks more like Java than C#, looking at the naming conventions
@simple ravine Properties return copies of value types (structs).
Attempting to assign to a member of a property compiles transparently but has no effect on the original, as it assigns to the temporary.
I'm glad I skipped java...
This is C#.
funny thing though
(in Unity, but it's the language itself at work)
if you re-assign position.y it will create a defensive copy
unsure where you saw java naming conventions in the post
Any sufficiently large project will certainly have their own homebrew conventions. Assumptions are fun.
Unless the language hard-enforces it, anything goes.
not really, i havent seen anyone breaking java conventions in our work project
and i'd not merge shit not conforming
well, looking back at my programming career, I have seen extremely few code bases where properties were names with camelCase or lowercase.
Let me rephrase it. Anything that has a legacy.
Well, I started with .NET 1.1 in 2001 🙂
if you rephrase it to: there were some people breaking the conventions sure
but homebrew conventions? ain't nobody got time for that
It's a good thing that my current poe-cpp is not public, I have all the conventions 😄
📉
May I interest you in a poe::format::TSIFile, right next to a poe::io::file_handle?
Member variables end in _, except when they don't.
why are you like this 
Hadn't written C++ in ages, had to start with something and slowly figured out that it was unreadable.
Ah, that's why.
of course.
It's evident I spend more time in PowerPoint than Visual Studio nowadays
he could've just done this though:
w.Position = new Vector3(w.Position.X, 100f, w.Position.Z);
Lots of ways to do things, still requires awareness of the underlying trap.
then its not a cool hack
also is there an idiots guide to permissions on azure graph api, it seems very convoluted if you never used it
gut feeling says that's actually less jitted IL code, but oh well
faust, well there's delegated permissions and then there are application permissions
application permissions require admin consent
i guess that's the 101 introduction 😄
lets say i wanna write a bot for teams and create an app, so i add the application permissions for teams to lets say schedule a meeting for a person. I give that thing the app permission read user, read/write onlinemeeting and i'd have expected it to work while all i get is unauthorized
the whole thing feels like a minefield
then when you see a guide its for c# with inbuilt nice integrations and you're just like 
I think you need Calendar.ReadWrite.All
hm interesting, i've gone with what this said: https://docs.microsoft.com/de-de/graph/api/application-post-onlinemeetings?view=graph-rest-1.0&tabs=http
got baited by the english toggle
so do you have OnlineMeetings.ReadWrite.All added and admin-consented?
yep
u get 401 or 403?
403 so seems permission related
I'd have to see more to figure it out
You are getting a bearer token using the app id and secret, right?
i'm using the java lib MS provides but i can access the user-data just fine using the ClientCredentialProvider (client id, scope, secret, tenant)
these are the permissions
funnily enough i had to provide this as scope: https://graph.microsoft.com/.default and i am still unsure why
it's just one of those things you have to accept and move on heh
debug ur jwt token
spit it into https://jwt.io and check it out
I'll probably have to just do it manually once to do that, thanks
and disregard the wrapper until i figure that issue out
i have very bad skype api flashbacks when interacting with teams so far
file a github issue if you're up for it
discord is a dream compared to either skype or teams so far
graph api is a dumpster fire
isnt that the hot new shit?
im just not a fan of the M365 stuff in general
same, it all feels very half baked, i assumed its better if you use it via their c# libs
just like sap stuff
oh dont get me started on the SAP .NET connector
good to bearable in the expected env and horrible dumpsterfire elsewhere
The people who taught, hired and did not fire the people who wrote that library, should be fired without severance
lets say my hope is that we dont pick teams as alternative to s4b
just from the api alone for integrating
what is s4b?
at least that 😄
This specific one or don’t you like it in general?
in general
well I hate the calendar stuff the most of the ones I've encountered, which is to be fair more to do with the underlying Exchange/Office bullshit that's utter utter garbage
@rapid pagoda Heard you're getting generics in Go and that the community is a bit split 😄
I haven't looked into it enough personally but most of the opinions I've heard about Go generics have been pretty positive
but yeah -- It's Happening ™️
Is there a way to get old versions of reworked skill gems?
Unique items on the wiki have a list of stat diffs between versions, but skill gems don't
Obtain old DATs and do whatever the process is to export them?
Not exactly trivial of course 🙂
OT Question: If you were interviewing for a position and the applicant had no proficiency in any modern IDE but was extremely proficient with Vim. What would be your first thoughts? and secondarily would you hire ?
Depends on if you want them to bore your ears off with how "as good" Vim is with the right extensions, despite not actually knowing the true power of an IDE 🙂
I've been that guy, but I grew up. Vim competence is nice if you've got a bit of sysadm work, especially on shared remote machines.
But you have to look hard to consider it equivalent for anything fancier than C IMO.
despite not actually knowing the true power of an IDE
this is the kicker isnt it
It is nice a lot of the old tools have the common vim-like interface
fwiw, I am (more or less) such a developer 🙂 I've used application-specific IDEs for some projects but most of my work is in vim as a matter of habit
Those are some interesting viewpoints. I've dabbled in AVR/Atmel Studio and other vendor specific IDE's but I usually run the backend IDE tools and toolchains direct on the command line anyway. So i've never really needed to learn an IDE in depth. I've just been wondering if I'll encounter issues with only beginner IDE knowledge
yocto/openEmbedded stuff, so yeah headless linux environment. touched QtCreator very briefly for some GUI apps but never in any great detail
Some basic familiarity with VS and Jetbrains IDEs won't hurt even if you prefer vim for editing code
lets be honest noone is going to make you prove your knowledge of an ide you can just say you use vs
heck my current job wanted vs knowledge but it wasn't until months into it that I actually had to use VS, probably a unique case though, most of what I do isn't 'real' programming its glorified data entry lol
I'd make you proof that you can use a debugger if you're an editor only guy. Just to make sure there's no surprise coming our way
@fickle yew @chrome topaz @earnest radish @silent vapor
I'm pinging you on behalf of Path Of Building Community, as I believe all of you depend on Path Of Building in your own projects.
We're planning to release version 2.0.0 of Path of Building soon, with some breaking changes for third-party developers.
- All functions in
HeadlessWrapper.luabecome global, andHeadlessWrapper.luaitself becomes stable. - The file structure changes, like this:
Assets/->src/Assets/
Classes/->src/Classes/
Data/->src/Data/
Export/->src/Export/
Modules/->src/Modules/
TreeData/->src/TreeData/
GameVersions.lua->src/GameVersions.lua
HeadlessWrapper.lua->src/Headlesswrapper.lua
Launch.lua->src/Launch.lua
LaunchInstall.lua->src/LaunchInstall.lua
UpdateApply.lua->src/UpdateApply.lua
UpdateCheck.lua->src/UpdateCheck.lua
changelog.txt->src/changelog.txt
manifest.xml->src/manifest.xml
runtime-win32.zip-> extracted toruntime/
tree-2_6.zip-> removed
tree-3_6.zip-> removed
tree-3_7.zip-> removed
tree-3_8.zip-> removed
tree-3_9.zip-> removed
tree-3_10.zip-> removed
tree-3_11.zip-> removed
tree-3_12.zip-> removed
tree-3_13.zip-> removed
In turn, these changes enable us to add automatic testing to Path of Building. We hope we're able to ship with fewer bugs and become more confident for larger refactors in the future.
Also we're switching to SemVer, withHeadlessWrapper.luaas official API.
If you need help with migrating, please let me know.
Thanks for the heads-up. I'm already on the PoB Discord but it's very nice to see you planning for integration too. I should probably try to get my modifications to HeadlessWrapper integrated as we currently have to use a modified copy.
Yeah I know, I just didn't want to post this twice 😉 I'm curious what your modifications are!
@idle cloud 4 1
The one we're using is here: https://github.com/VolatilePulse/PoB-Item-Tester/blob/master/ItemTester/mockui.lua
We also make most of the entries global, define some aliases like t_insert, provide implementations for Get.*Path that use env vars, add in DownloadPage so build updates work, provide a saveBuildToXml... and some other stuff like HTML tooltips that shouldn't be in the main HeadLessWrapper.
I don't know anything about your project, but have you looked into https://github.com/scoder/lupa ?@earnest radish
Ah, some of this we might very well be able to integrate into our HeadlessWrapper
If you want to talk anything Python, just DM me 🙂
Yes, I'll send you an invite
Bots are everywhere 😬
Thanks for the heads-up. Do you have an estimated timeline?
Somewhere around next week most likely
who's coldino what's he do why isn't he a tooldev
Major contributor to https://github.com/VolatilePulse/PoB-Item-Tester and contributor to https://github.com/PathOfBuildingCommunity/PathOfBuilding

applying tooldev to @silent vapor a
Major contributor to https://github.com/VolatilePulse/PoB-Item-Tester and contributor to https://github.com/PathOfBuildingCommunity/PathOfBuilding
AHK and Lua script to automate comparing PoE items from in game or trade sites against your current build with the power of PoB - VolatilePulse/PoB-Item-Tester
done
ty ty ty
👍
who's ferret and why is he tooldev :^)
Heh, look away from the game for a league or two and they invent two new ARM file versions.
farewell poeapp
@velvet fog The next update to PoB will add support for Garena/Tencent realms, with a caveat: For now, you'll need a modified SimpleGraphic.dll (you'll likely know better than I what I mean here) for PoB to render hanzi https://github.com/PathOfBuildingCommunity/PathOfBuilding/pull/2243
can someone generate diff of added dat file names in 3.13
Probably should've excluded the language subdirs, but hey.
Diff is against manifest 2585743494052913961 from Jan 11th.
On mid-league DAT schema changes btw, #wiki found a change in ItemClasses.dat size at some point during this league now.
Yeah, I saw that. Interesting. Any idea what patch it coincided with? I wonder if you could guess at the function of the new bool from patch notes
I've been behind on downloading all the things since the tech patch, but should probably get that going again soon.
does anyone have reason to believe that timeless jewel passive tree effects can (or cannot) be computed from code in the client?
Lots of network activity when you socket one but not when you unsocket it
aw, well that is very suggestive evidence
About as much that is possible to gather within ToS as decoding traffic and reversing the executable is not allowed.
yep verified, client receives 2x bytes than normal jewel (entered random chat room + tested delta of bytes for placing/removing jewel 10 times)
also wtf poe uses tcp
Logout macro does a graceful TCP shutdown, the fastest way to signal the server.
Shouldn't this make no difference anyways if you're playing on lockstep?
The server still waits for the full disconnect period of no traffic.
Oh, meant to reply to @civic crane
predictive & lockstep (also restarted client just in case/entered map/tested on low latency and high australia) kinda strange that predictive uses tcp
there have been attempts, but so far (afaik) they've been unfruitful
iirc there was somone in here who posted somthing about debug strings left in the .exe thinking its mersenne twister
but I dont know how much further he got than that, and dont know how many other people have risked trying to reverse engineer the .exe
its almost certainly not in there based on the data the client receives from the server
MT is easy to implement, so that would be plausible
or at least: it doesn't need to be in there. I've seen game with shared client/server codebases that inadvertently disclosed server-only code (or even data) to the client
i mean there is (or was) apparently debug strings in the client .exe according to somone in here
so maybe?
0 votes and 0 comments so far on Reddit
repeat affixes
anyone know why there are repeat affixes --> two implicit "projectiles pierce # additional targets"
https://imgur.com/a/m23Gdw2
@finite cypress Make a post on the Bug Reports forum, tagged "Trade Website", as this doesn't pertain to tool development.
ok. wasn't sure if this was something expected that the tool developers have come across already.
i asked here since I'm developing something looking at affixes and came across it
Are you looking at the trade website as the source for these, or consulting data files or poedb?
I took the data from https://www.pathofexile.com/api/trade/data/stats
do any of you have experience with sufficiently fast recognition of text in game screenshots? tried easy OCR for python but its pretty slow with 2560x1440 when not using the gpu acceleration. Trying to quickly capture gems in gheists to price check
does anybody know what the rate limit is for the character-window, there does not seem to be any rate limit in the response header
Which specific endpoint?
character-window/get-passive-skills
Seems so indeed, but other endpoints have policies.
i found those poking around, don't want to lock myself out as i am playing around with the different end points
Looks like https://github.com/esge/PoE-HarvestVendor uses https://sourceforge.net/projects/capture2text/. Don't know if that works for you, but it's not that slow.
Tool for getting the list of crafts out of Horticrafting station in Path of exile - esge/PoE-HarvestVendor
thanks going to check that out
I used Tesseract for some projects. You could just use their dll as lib, there are probably multiple wrappers for every language
Does https://www.pathofexile.com/character-window/get-stash-items allow access to unique stash tabs, or is it the same situation as map tabs?
Can't check it myself as I don't have one
@broken cloud https://www.pathofexile.com/account/view-profile/accountName/stashes and parse html
Cheers, thank you... seems like a pain though, if no API access yet I'll just leave it unsupported for now
What's gggs stance on scraping the website?
Probably touches §7.c and definitely §7.f of the TOS - https://www.pathofexile.com/legal/terms-of-use-and-privacy-policy
Hey I'm not sure if this is the place to ask, but is there a way to pipe guild chat API into some output, possibly as a webhook to a discord bot?
or vice versa
Because in our guild, most players leave after 1.5 months or so, but it would be great for them to interact with players who are still playing
but since they don't just open the client just to chat, I was wondering if such a functionality exist
There is no guild chat API
feelsbadman
I'm pretty sure some struggling guild members could use some retired members help for bosses and stuff but I guess that won't be happening soon
You would be able to broadcast the guild chat by reading from the client log, but writing messages to the guild chat with automation would be against the ToS
Hi, does anyone know about how mods on the new unique watchstones are generated?
Poedb.tw and wiki say they're fixed, but as far as I can tell it's "4 random metallic_watchstone mods"
Are there any other conditions on which mods can appear on them?
@broken cloud https://poedb.tw/us/UniqueWatchstone#ModBase 4 random mods
PoEDB provides new things come out each league, as well as unreleased skills or MTX, as all of the information is directly datamined from the game itself.
Ah, no restriction on corresponding base type? Cheers, thank you
hi everyone, does anyone know what "Position Proxy" nodes correspond to in the tree json data?
The proxy nodes are the ones from Cluster Jewels
@carmine merlin aha ok, thanks!
also is there any logic in how nodes are assigned to the in field vs the out field?
im trying to make sense of it and sometimes nodes seemed to be assigned to one or the other without any rhyme or reason I can see
isnt it order in tree json?
Anyone of you fine folks hosted with OVH? https://twitter.com/olesovhcom/status/1369478732247932929?s=21
We have a major incident on SBG2. The fire declared in the building. Firefighters were immediately on the scene but could not control the fire in SBG2. The whole site has been isolated which impacts all services in SGB1-4. We recommend to activate your Disaster Recovery Plan.
297
463
huh
SBG-1 to 4 all down due to SBG-2 fire
Non, les données contenues dans les serveurs de SBG2 ne seront vraisemblablement pas récupérables.
Mais si vous utilisez le Backup FTP #OVH, vos sauvegardes sont dans un autre datacenter. (Les photos sont des pompiers) https://t.co/tRonks8qIw
378
672
big F in chat for all those poor overworked seedboxes
GGGs OAuth API seems to be semi-down right now: https://www.pathofexile.com/api/profile
Only like 50% of requests are answered, the others get error code 7, Temporarily Unavailable, Http 503.
Anyone know more about this? Is this some kind of oddly planned Saturday maintenance or an actual error GGG needs to handle?
game servers have been down a while ago and trade is also down
oh, right. thanks
didnt think to check those, usually they dont affect the oauth api
trying to remember how to work with json objects cause its been a while and a half.
Namely pieces like this:
{"result":[{"id":"b85f9524f6f0c3d45050c26a95b463731dfdad8d7ec2f35343361dccb5f1dc21","item":{"typeLine":"Blighted Ghetto Map","properties":[{"name":"Map Tier","values":[["15",0]],"displayMode":0,"type":1},{"name":"Atlas Region","values":[["Valdo's Rest",0]],"displayMode":0}]}}]}```
Wanting to turn the properties into a Dictionary where say...
```cs
Console.WriteLine($"Region: {result[0].properties["Atlas Region"]}, Tier: {result[0].properties["Map Tier"]}");
/*Result:
Region: Valdo's Rest, Tier: 15
*/```
result={"result":[{"id":"b85f9524f6f0c3d45050c26a95b463731dfdad8d7ec2f35343361dccb5f1dc21","item":{"typeLine":"Blighted Ghetto Map","properties":[{"name":"Map Tier","values":[["15",0]],"displayMode":0,"type":1},{"name":"Atlas Region","values":[["Valdo's Rest",0]],"displayMode":0}]}}]}
result['result'][0]['item']['properties'][1]['values'][0][0]
>> "Valdo's Rest"
looks like c# so maybe someone can help language specific
yea its c#
been using Newtonsoft.Json.JsonConvert.DeserializeObject
to grab what I need into an object class or w/e
dunno typically you'd either pick out the parts like above or map it to classes and have nice objects to work with, never did that in c# tho
the mapping bit is what im trying to do 😄
@silent tree come here c# nerd
who summons me
the c# gods
wait, Faust. You did the summoning, so wouldn't that imply you're a C# god?
Why can't you answer then 😄
make an object for the map with properties region, tier, w/e else
then do JsonConvert.DeserializeObject<MapObject>
might also be able to do DeserializeObject<List<MapObject>> if u need a collection
disclaimer the only json i've used in a while was some fucked up stuff from sonarqube a while back
for the other stuff its been as straightforward as doing that, but properties for that json is
"properties": [{"name":"Value I want as a Key", "values":[["Value I want as a Value","0"]]
if it's only got 2 attributes u might be able to do it by deserializing to Dictionary<string, int>
i don't use a lot of dictionaries in my stuff so i'm a bit rusty on how they're meant to work
https://www.newtonsoft.com/json/help/html/DeserializeDictionary.htm k newtonsoft docs says it should be possible
right, but that sample is just a straight key value pairing
this would be say....
key = properties.name
value = properties.values[0]
to get it to a point where:
result[0].properties["Atlas Region"] returns "Valdo's Rest"
gonna go back to tinkering
how much of the json for the map are u going to use
cus if ur using several properties it would be much more useful to use an ienumerable of an object instead of a dictionary
wouldnt that just be:
class 1: string Name, List<List<String>> values
@stoic locust if you don't figure it out I'll help you later tonight
just need to make dinner and feed le kid
was curious so i tested it (vscode is ass):
@stoic locust
using System;
using System.Collections.Generic;
using Newtonsoft.Json;
namespace csharp_tst
{
class Property{
[JsonProperty("name")]
String Name { get; set; }
[JsonProperty("values")]
List<List<String>> Values { get; set; }
}
class Item
{
[JsonProperty("typeLine")]
String TypeLine { get; set; }
[JsonProperty("properties")]
List<Property> Properties { get; set; }
}
class Result
{
[JsonProperty("id")]
String Id { get; set; }
[JsonProperty("item")]
Item Item { get; set; }
}
class XResponse
{
[JsonProperty("result")]
List<Result> Result { get; set; }
}
class Program
{
static void Main(string[] args)
{
String json = "{\"result\":[{\"id\":\"b85f9524f6f0c3d45050c26a95b463731dfdad8d7ec2f35343361dccb5f1dc21\",\"item\":{\"typeLine\":\"Blighted Ghetto Map\",\"properties\":[{\"name\":\"Map Tier\",\"values\":[[\"15\",0]],\"displayMode\":0,\"type\":1},{\"name\":\"Atlas Region\",\"values\":[[\"Valdo's Rest\",0]],\"displayMode\":0}]}}]}";
var result=JsonConvert.DeserializeObject<XResponse>(json);
var result2=JsonConvert.DeserializeObject(json);
Console.WriteLine(result);
}
}
}
result2 seems to be the dict you worked with, result 1 is translating it into objects as you wanted it
using System;
using System.Collections.Generic;
using Newtonsoft.Json.Linq;
public class Program
{
class res
{
public string id;
public Dictionary<string, string> properties;
public res (string id, Dictionary<string, string> properties){
this.id = id;
this.properties = properties;
}
}
public static void Main()
{
var json = "{\"result\":[{\"id\":\"b85f9524f6f0c3d45050c26a95b463731dfdad8d7ec2f35343361dccb5f1dc21\",\"item\":{\"typeLine\":\"Blighted Ghetto Map\",\"properties\":[{\"name\":\"Map Tier\",\"values\":[[\"15\",0]],\"displayMode\":0,\"type\":1},{\"name\":\"Atlas Region\",\"values\":[[\"Valdo's Rest\",0]],\"displayMode\":0}]}}]}";
var result = new List<res>();
var parsed_json = JObject.Parse(json);
foreach(var item in parsed_json["result"]){
var properties = new Dictionary<string, string>();
foreach(var prop in item["item"]["properties"]){
properties.Add(prop["name"].ToString(), prop["values"][0][0].ToString());
}
result.Add(new res((string)item["id"], properties));
}
Console.WriteLine($"Region: {result[0].properties["Atlas Region"]}, Tier: {result[0].properties["Map Tier"]}");
}
}
If know how you want the mapping is there any reason to not do "by hand"?
seems like more effort than just mapping it, idk
guess it'd hahve to be a bit of a custom deserializing to get it specifically that way.
Though, I did manage to get some additions to help avoid hitting the ratelimit.
Context: Blight Maps, with Chaos price between 1 and 9, and Map Tier between 10 and 16
Though... still hitting the rate limit sometimes.
Ip Limit Reached | Delaying for 4500 ms
Account Limit Reached | Delaying for 4500 ms
Showing 60 out of 60
Showing 83 out of 83
Ip Limit Reached | Delaying for 4500 ms
Account Limit Reached | Delaying for 4500 ms
Showing 100 out of 484
Ip Limit Reached | Delaying for 4500 ms
Showing 100 out of 634
Requests Blocked | Delaying for 301000 ms```
@compact isle garena online api broken
poked server admins
The pre-3.14 engine patch in the next few weeks will add support for M1 through Rosetta.
Pre-league engine patch sounds scary, any bets on what will break? 😄
running a game through Rosetta sounds kinda impressive but I dunno anything about Macs
It's supposedly stupid effective.
Guess they've found "all" the AVX usage now 🙂
@frank drift Running anything on macs sounds like a fool's errand, judging by the experiences of most of the masochists in #mac-os🍎
I mean, kind of of ran on my stupidly overpowered Hackintosh, but most macs are very much not of the type of hardware that would run PoE on any platform, and based on the reports of people who bootcamp it on decent x86_64 machines, the port is not exactly equivalent in perf.
I wonder if there's some ancient promise that "sure, we'll be on mac" or if the scope of it was just so underestimated based on how development has fared on PoE Mobile.
Not sure where to post this but I'm pretty sure these calculations are wrong in the community version of pob.
The total pool for each type should be scaled by the % taken as from each type. In this case half half.
@tacit birch look for and file GitHub issues in the PathOfBuilding repository.
oo yeah thanks, will do!
Seems the issue is already posted https://github.com/PathOfBuildingCommunity/PathOfBuilding/issues/2264
With a much more in depth explanation and additional problems ^^
yeah its my doing that its wrong, its on purpose to fix IMO a worse issue, I have a planned rework at some point but been busy
https://www.anandtech.com/show/16252/mac-mini-apple-m1-tested/6 rosetta2 is pretty good, yeah 🙂
~70-80% of native performance on CPU benchmarks, and the native performance is really good
does anyone know if there have been any updates/improvements to js implementations of the skill tree drawing?
ie. upgrades to https://gitlab.com/jmis/exilecraft
Whatever poeskilltree uses seems reasonably solid, apart from being a bit crusty on my DPI.
anyone have a clever way to parse the map name for magic maps? it's easy enough to remove suffixes by splitting at " Map" but prefixes are a bitch.
can't split at spaces because some map names are multiple words long
only way i can think of is to check a list of all possible prefixes and remove whatever is present but that seems inelegant
where you get map name from? clipboard or stash api?
clipboard
use https://raw.githubusercontent.com/brather1ng/RePoE/master/RePoE/data/base_items.json with "item_class": "Map"
any asyncio python wizards around? curious if there is some canonical way to reduce this boilerplate:
async def main():
await asyncio.gather(*queries)
asyncio.run(main())
no like i'm doing a ctrl+c on the map item, and then trying to get the map name from that text
@swift shell this one is really fun:
Rarity: Magic
Vaal Temple Map
Rarity: Normal
Vaal Temple Map
(vaal is a prefix name, so its an ambiguous collision)
oh thats awful
would probably have to make an edge case just for that one
unless there are more edge cases 🙃
yeah i think you can determine by using tier this league, since temple maps arent t16 this league
iirc, when i did this a few leagues ago that was the only collision i found
I also used the strategy @velvet fog is suggesting, using RePoE to get a list of all map base names, and extracting from that
doing it by magic vs normal seems easier since it works all the time
no, i think they can both have suffixes
although there arent many magic vaal temple maps 🙂
filtering out suffixes is easy though, you can just split at " Map" and take the first half
If it has a suffix you'd have no way of knowing if Vaal is a prefix or not unless you checked the tier or something.
eugh im already going to have a csv with all the map names in it anyways, might as well search that
to be clear, i mean to say Vaal Temple Map of Rust
is an actual collision
both can be magic
ohh shit i see
there happen to be zero magic vaal temple maps on the server right now
so i wouldnt worry too much about it
yeah probably safe to assume actual vaal temple is always rare
anyways is there somewhere i can get like a list of all map names in a csv or something of the sort
plan is to have a tool that lets you store notes for each map, and you can press the hotkey on a map to access/edit the notes
so i can remember which maps have bosses that i dont want maven on
from RePoE import base_items
[base_item["name"] for base_item in base_items.values() if base_item["item_class"] == "Map"]
that spits out all the map names for me
cool cool ty
wait stupid question about repoe: do i have to manually pull from the repository again to get the latest data?
yeah, @woeful sphinx updates RePoE near the beginning of every league start, if you pip install -e then you can just git pull to get fresh data
conversely you can use a past git commit to pull data from previous iterations of the ggpk
i see thanks
Yep, found that one too while making a guild stash snitching tool for who failed to adhere to the rules 😄
When the FMT file parses just right 👌
is anyone currently using these things from GET /character-window/get-passive-skills?
visual_overrides
items[].type
items[].jewelRadius
items[].jewelMinRadius
https://www.pathofexile.com/forum/view-thread/3074491 in case this interests you peeps
^ related 😉
v nice
@fickle yew cluster jewel support in version 5
hoooooly shit i am turbo disabled
why doesnt
filename.pydo anything even on a one line test file
forgot that its supposed to bepython filename.py

I'm not using any of those properties 🙂
If you add a shebang it works
E.g.
#!/usr/bin/python3
print("hello")
Will work with just executing the file @jwfiredragon#6969 (if the path to python is correct for your machine)
no this is in command prompt
Write a batch or powershell script and call that
#!
Woops correct although typing on a phone isn't fun either way :D
I finally got the block structure of FMT mapped out the other day, decided to naively draw the hideout decorations wireframe with D2D lines. Good <1 FPS 😄
Not made for many hundreds of thousands of edges, strangely enough ^_^
Huh, there was a client update 11h ago, touched mostly Data and stat-desc bundles.
About the SIN bot, it's this one right ? https://github.com/poediscord/poediscordbot
is there a way to get it on my server without having to actually host it somewhere ?
ok I got my answers in the search result. Damn I don't want to modify my dedicated serv and I don't want to pay 5€ for a VPS...
I'll try to do that thanks

it was primarily for the website, though some client translations got updated too
updated poe-api https://poedb.tw/poe-api
i think i had some outdate info in my docs, i doubt /api/pvp-matches is used anymore
i documented that months ago
i believe this was integrated in /api/seasons, it now has a pvp parameter that takes a bool
might be wrong though. i cant remember what pvp-matches was used for or where i found it
it isn't very useful right now but will be updated with the OAuth release
any news for OAuth?
getting a patch for it next week sorted but not sure how much we can enable until the ToS update (still pre-3.14 hopefully)
may I add /oauth/token and online status into poe-api document?
part of next week's update will be better documentation so it may not be required
wow
online status will stay private and we aren't accepting any more requests to use it so best to leave that out imo
okay
Has anyone written a c# library? I am not finding anything after a quick google search. No problem committing any changes or additions back to the community.
For what aspects of PoE tools?
zensei did a bit or wrapping around the filesystem bits I believe, aianlinb's software are on .NET as well I think.
Going to start with local stuff in the logs then add api calls later on as I get the hang of it. Appreciate the insight.
Ah, that kind of tooldev. Don't really know there, might be something in the channel history.
C# doesn't seem to be the go to 🙂 Whatever I do I'll end up making available and post back here. Will check the history first.
filterblade tools are C#, people pretty much use whatever they already know
Oh yea I'm not worried.
python question: is there a method that will either let me synchronously send keyboard input, or wait for an asynchronous keyboard input send
keyboard.send runs in a separate thread and consistently runs too late for my purposes
ok pynput's keyboard input seems to be synchronous rad
just wanted to say thank you for https://poedb.tw/poe-api @velvet fog !
Anybody know where to find the code PoB uses to calculate skeleton life? Doesn't seem to be on the skill gem. I was thinking of copy/pasting it to create a variable on Dark Pact to auto-calculate skeleton life with gem level in the config screen.
Actually, is there any kind of documentation on where to find variables, functions, etc. used in Path of Building?
Not much past the whirlwhind tour in CONTRIBUTING.md I believe.
Thanks!
Export tooling populates Data, UI is mostly in Classes, Modules deals with logic.
It might be educational to look at some current and past PRs to see what parts of the codebase they tend to touch to achieve something.
Oh, good idea. Thanks!
I'm super new to Git, so I didn't even think of that. I've only ever really dabbled in code for personal projects.
@sharp monolith Oh hey, https://github.com/PathOfBuildingCommunity/PathOfBuilding/blob/dev/docs/rundown.md
Knew I'd seen something like this before 😄
Lol
Yeah, I just found a link to that from contributing, lol.
Thanks so much for helping me find that. 🙂
I feel like there are a lot of things that can be very easily achieved once I'm familiar enough with the code.
It took about 30 seconds to see the full shotgun-effect damage on my dark pact.
is there a way to get some sort of unique id for an item without having to access the stash api? ctrl+c just copies the stat text
for your own items or what exactly are you trying to do?
yeah for your own items
idea is to hotkey on the item, which opens a note page for that item specifically
so that you can store harvest crafting notes
you could use https://poedb.tw/poe-api#/Characters/get_character_window_get_items and cross reference item names and stats i guess
but if its in your stash you're probably out of luck
hm does that require some kind of authentication though?
wait is that only equipped items? or also items in inventory
only equipment
rip
For the user yes, for you/your script not really
stat translation question: beachhead has the stat:
Area contains 6 additional Harbingers
which i believe is from the stat:
map_num_extra_harbingers
which has a stat translation in RePoE
"Area contains {0} extra Harbingers"
does anyone know why this discrepancy exists?
it was extra Harbingers in 3.13.0.2
3.13.0.2
description
1 map_num_extra_harbingers
2
1 "Area contains an extra Harbinger"
2|# "Area contains {0} extra Harbingers"
ah - maybe RePoE just needs a refresher, thanks @velvet fog
OAuth stuff patch soon, let me know if anything breaks pls 
today? document?
yeah documentation and some stuff that is disabled until we release the new ToS
and hopefully no backwards incompatibilities :x
ToS soon™ I'm sure
Chris is telling me before 3.14
