#tooldev-general
1 messages Β· Page 98 of 1
well, has the problem that it has no pob underlying
but if that would be merged, one could create perfect skill trees
Well, the UI for the last few alphas of PoESkillTree does have the Engine in it. Just not pretty
It works fairly well
How can you use the c# engine in a javascript app?
Blazor isn't javascript
?
Client-side Blazor uses the power of WASM to load up a small .net runtime then runs your program through that. Server-side Blazor uses server resource to keep a virtual dom of each client, and any time a user performs an action that gets sent back to the server. The action is processed, a diff computed of the virtual dom, and then the diff is sent back to the client which runs a small script to update the dom
C# in the web
Server-side Blazor is support with .NET Core 3.0+ and Client-side should be coming next year
Yeah, the one problem with Client-side is you have to send over the dlls as well as the runtime, so things can be pretty big. Although with caching, it won't be as bad
there are some issues though like the Canvas is pretty hard to use
i would still prefer building it in vue/react/angular
There is a JS Interop, but it is fairly clunky to use in my experience
you could create a DSL to describe the engine and then just a parser for that in TS
Yeah, the idea is to get the .net eco system to the web I think
Yeah, I don't really have any experience creating a DSL, nor would I want to start on that right now haha
You might also be able to use something like Bridge.net
I never build such a calculation engine, but it would be interesting to understand how it works
Yeah, @woeful sphinx did all the work on it. I haven't looked through it enough to really speak to how it works.
I am adding a skill tree implementation/converter to it right now, so it has been interesting trying to figure out what is what
what does it convert the skill tree to/from?
and how do you do that? do you parse the string of each passive node?
The converter is taking the skill tree json to a common set C# json classes
then adding a converter for the Tree/Node Definitions that are already in use by the engine
The skill tree is a massive json object
yeah, i wrote a typescript parser last year or so, that makes it into nicer more useful objects
Yeah, I have one as well.
The project with all the data is the typescript project I have been working on
This is the bulk of the converter for the C# project: https://github.com/PoESkillTree/PoESkillTree.Engine/blob/passive-skill-tree/PoESkillTree.Engine.GameModel/PassiveTree/Converters/PassiveTreeJsonConverter.cs
It can parse every tree back to 0.10.0
and puts it into a unified format
okay, but then you got the node attributes as strings or as objects that can be fed into the engine? like "+14% damage with swords"
Yep
They are just strings
The engine will take a series of strings and parse the stats out
You can see the "Matchers" here: https://github.com/PoESkillTree/PoESkillTree.Engine/blob/passive-skill-tree/PoESkillTree.Engine.Computation.Data/
at its core, it is a fairly in depth stat parser
most of the skill nodes share common stats with items (keystones being the exception most of the time)
"({DamageTypeMatchers}) damage to attacks", how does this expression work?
The ({DamageTypeMatchers}) is replaced by what's defined in https://github.com/PoESkillTree/PoESkillTree.Engine/blob/master/PoESkillTree.Engine.Computation.Data/DamageTypeMatchers.cs. It's all based on regexes.
If you have a match, you can then reference the actual damage type that was matched
What is this programming pattern called? Is {DamageTypeMatchers} a regular expression? I mean it checks the part of the string for matches, right?
I have no idea if this is a pattern. {DamageTypeMatchers} is substituted by a regular expression, yeah.
it builds one regular expression from each entry in a *Matchers file and checks those against the input string
the matchers are checked in a state machine fashion (https://github.com/PoESkillTree/PoESkillTree.Engine/blob/master/PoESkillTree.Engine.Computation.Data/Steps/Stepper.cs) and the results are used to build a modifier in a representation that can be used for calculations
@compact isle please don't put the search limits too low π¦
I've been using linear programming to find filters for (near) perfect uniques
e.g. https://www.pathofexile.com/trade/search/Standard/jWPWZZXUX contains 50 different near-perfect uniques
π€ :
@grave wren yes, near-perfect
obviously a link I share in public will be configured to all be near-perfectly bad
don't want to introduce competition now, do I π
monkamath
lord - there are so many other solutions to finding near perfect uniques which dont involve linear programming
ill be making mine public dw
I think the people who make these catch-all filters and are so very secretive about them greatly overestimate the general interest in them
agreed
or think of a way that doesnt use giant filters on the trade website π
I tried and failed
too many uniques coming in at once?
I can get all of them into 1 filter - its just impractically large
Because the obvious solution to me is to connect to the websocket for unique live search and parse the data locally for near perfects.
You're limited to 80 websockets
So I can just do 80*5
And cover most uniques
But importantly that cuts off anyone who isn't programming entirely
what is the 5 coming from.
I suspect you dont need to be anywhere near that small
The live search websockets have high throughput
Possibly, just being pessimistic
Perhaps by an order of magnitude
My throughput is already taken by rares though
Sounds like you might be one of these people stressing the website π
Which are infinitely harder to filter with server side filters
@frigid nova I stay within the API limits
and hence new api limits are instantiated π€
If that stresses the server that's not my problem :P
...
what a community-forward spirit.
I'm not intentionally trying to harm anyone
have you ever heard of tragedy of the commons?
Well, apparently, now it is your problem
it's not a story the aristocrats would tell you
also even with new limits it'll be pretty easy to get ~800+ uniques in like 15 filters
just need to restructure what you've got
Well, when it becomes my problem I'll change, just wanted to say its not just jewel filters
And I wasn't even aware big filters were stressing the server until now
"I'm not intentionally trying to harm anyone, so my negligence doesn't harm anybody else, lest myself"
How is it negligence when I have neither the tools to see what - if anything I do - has impact on server performance nor am going beyond the limits set in place by the server owners
You think the current limits were set with filters for 100+ uniques in mind?
it's probably negligence because you don't have the tools to see what impact on server performance you're having, or didn't ask
the ideal employee once said "i didn't know I was causing problems, so its not my fault"
@golden bane I'd sure hope so
you don't build APIs or webservices for a community this large without having sensible limits in place
I think the problem is that they set their limits with sensible queries in mind
hopefully the new limits are well documented
just impacts small flippers tho, big fish will still work just as effectively
I don't see why my queries aren't sensible just because they aren't handwritten - we're talking about a weighted sum of ~500 coefficients here, with FMA instructions throughput going > 1 instruction / cycle that should take < 500 instructions (not even using SIMD), assuming GGG uses 3.5GHz servers that'd be 0.14 microseconds of CPU time on one core
That was a lot of glue to get my GGPK library bare-bones wired up to the Projected File System.
@golden bane or do you disagree?
I think this whole conversation is really lost on you
rude
@worthy cape that is pretty sweet. What did you end up writing the provider in?
Related to content.ggpk - has anyone ever made a fork of PyPoE which fails quietly when the .dat sizes are incorrect?
@mortal bone Provider is in a C++ testbed, which consumes Rust over a C FFI.
jesus lol
Found it easier to prototype with than to consume projectedfs and winapi from Rust.
is this similar to linux's FUSE?
Oh, yeah. You wrote your parser in Rust
I'll want a decent C binding eventually for the library, so it's not too much wasted effort.
@lusty musk Pretty much.
It's the guts that they used to support Git LFS on Windows, made into a Windows component in recent releases.
@frigid nova typically you can just fix the issues. I don't think it has been made because the use case hasn't really come up
You host it by setting up a bunch of callbacks from a standalone exectuable, start projecting and Windows calls into your userspace process with all the threads.
@mortal bone I see, I'll probably fork and add a flag. I like to run RePoE immediately on acquisition of the content.ggpk, and going in and adding dummy entries to the spec seems like a really odd manual step.
@violet path I'd be interested in seeing your construction though
because at least how I formulated the problem (with 'near-perfect'), it's hard
my definition of 'near-perfect' is an allowable stat range per stat, individual to each unique
doing the weight stuff i think is more than needs to be done, mine's all fairly simple and done in sheets
same, but i find that's mostly just a function of how many variable mods the unique has
e.g. for chernobogs pillar I might allow [77-80] life, [47-50] fire res and [145-150] armour%
(with all other affixes being constant)
right
but for another unique I might allow another range for life, fire res and/or armour%
mhm
if you consider a unique roll to be a point in a high dimensional space
where each dimension is one stat
(and any missing stats are 0)
then we have regions that are 'good' (where all the stats are near-perfect by our previous definition)
and regions that are 'bad' (these are the regions that cover valid rolls but not near-perfect)
and our good regions with the restrictions above are hyper-rectangles, thus convex
each weighted sum is a linear inequality filter, AKA a hyperplane, and thus we get to our problem:
which is NP-hard
yeah i don't know anything about those things
but that assumes you only use weighted sums
too much for me
funnily enough, there is only 1 filter on pathofexile.com/trade that adds anything to weighted sum, and that is count
there are ways to do it that don't rely on sums though, takes a few more searches
every other filter can be expressed as a weighted sums
I also use count, but only to makes sure that I'm targetting the right uniques
I have a construction that works using only counts if... GGG added a pseudo mod that exists for every single unique or allowed count 0
right now if you use count the site always requires at least count >= 1 even if you explicitly put minimum count to 0 π¦
that's a bit of a bummer yeah
but not super necessary
you can use count though to target specific overlapping roll #s for uniques, so i just don't think weights add much as a method
@violet path the issue is
if you have a filter combining, say, 100 uniques
every single unique must 'pass' that count filter
you can't have small count filters anymore
yes
unless GGG allowed count = 0
it gets big, sure
and won't be possible with the changes
you can have the same unique pass multiple counts but just repeatedly putting in it's signature/unique mod
if you have the same mod twice in a count 2, it'll work
I know
if an item has a signature mod it's really easy to handle with weighted sums too
that is an example combining rise of the phoenix, chernobogs and redblade tramplers
which isn't too hard because they all have 'unique' mods within that group
https://www.pathofexile.com/trade/search/Standard/aLbgkQkte here's a small toy example for max energised armour and the vigils
anyways doesn't matter much, since presumably all these fancy things are rightfully being gutted
just hope it's well documented
I really hope not
I hope the limits are just something that fixes the performance issues but doesn't get rid of the fancy stuff
e.g. just a hard limit on the amount of conditions in a filter
sorta hoping for extreme stuff myself
I mean that just means people with third-party programmed post-fetch filters will get a bigger edge
will also be public
@violet path and then if people use it... we've got even more server load
because now the filtering is done client-side than server side
yes
seems counter productive but ok π
meanwhile, the stash API literally spitting out gigabytes upon gigabytes of 90% redundant JSON:
change price on 1 item in a tab? GGG: send ALL the items!
Well what if someone calls api for the first time
then you need all items not just updated ones
@hexed mesa if you want all items you need to start from the start of the river anyway
isnt some website providing like current id or w/e the name was so you dont need to go through it yourself?
yes, but then you're not getting all items
you don't need that service either if you do some work
@hexed mesa https://www.reddit.com/r/pathofexiledev/comments/7e0zdn/how_to_find_the_latest_change_id_in_reasonable/
wrote a post on that 2 years ago
whether it actually still works I don't know, haven't trie drecently, but I'd assume so
well, maybe they just should add api that just returns the current id

Anyway, if it works it works
can not disagree there
@velvet fog is third party
we know it exists
"How to find the latest change id in reasonable time without relying on third party APIs"
what's wrong with relying on third party APIs though
that they could be down, get delayed, go defunct, might be hostile against others using their services
like, using poe.ninja as a first option is good, if they're okay with that
but there should at least be a reasonable fallback that doesn't rely on third party services
api is not their high priority project, I don't think they will add anything soon
if you can convince ggg to add such a thing π
otherwise you're stuck using another third party service as your fallback
eh there's 50 different things I'd like them to add first
@deft jolt no?
read the post I linked
I described a technique that gets you the latest river id in < ~2.5 minutes
without third parties
oh you're the author of that?
yeah
nice, that's dedication
I think you can get that down to log(N) instead of 5*log(N) π
@frigid nova not in the worst case - the shard ids are not necessarily synced
(it appears for each chunk the next chunk_id only goes up if you're behind the current place in the river, otherwise it lists your input)
but you could probably be more efficient if you assume that they are all close, yeah
(so you can do binary search in parallel on all 5)
oh I see
yeah that'd work
I didn't realize you could discriminate it that way
between too high/too low
I was just looking at the stashes
I didn't notice it either incremented or just echo'd back what you sent
(my guess is it has 5 sources of items and just adds the number of items per shard in the return to increment each shard)
Also - if you have a cached shard # you can do unbounded binary search starting at that shard number to greatly reduce the number of queries.
yeah
but even in the worst case
we're only looking at ~30 ish queries
seeing the current id numbers
yep
so < 15 sec
@junior musk the reason this isn't done is that it isn't just fields being added at the end (in regards to size mismatches)
I guess you could skip the particular DAT completely and at least get the remaining ones.
(if it doesn't already do that)
@obtuse citrus I realize that there are principled reasons for not doing it, I'd just personally like an -unsafe flag which either appends unknown bytes or clobers fields at the end. That way I can run it locally and immediately extract relevant information. It shouldn't affect stability of the program considering the official branch gets updated pretty soon after content.ggpk release. Are there situations in which they remove fields from the middle of the spec? Or is it always the end
They do change or remove fields in the Middle . In what context you need that option? You can already load your own spec which can circumvent that if you use the api
Note that there is no explicit record width stored in the file, just the derived total length of the fixed-size section.
Itβs likely that it divides cleanly only into a few candidate lengths, but hey.
I'm just looking for a quick hack which will allow me to load the .dat without doing any custom spec editing. However, if the middle data fields disappear I can see how it might be hard to automate that.
Did they change something with passive tree data or am I just being dumb? Can't find a way to load it into PoB like I've done in previous patches.
After looking at reddit, it seems something did change. Big F.
yeah alright was just about to ask the same thing lol
wanted to make sure I wasn't a big IDIOT
wish the data file wasn't so hard to read so we could see if it's something we could easily fix or not
Yeah, real unfortunate. Especially after that great post you made :P. Which is how I was doing it the last couple times as well.
You can make the JSON data more readable by going to http://jsonviewer.stack.hu/ and formatting it in there.
JSON Viewer - Convert JSON Strings to a Friendly Readable Format
yeah I can't even really tell any major differences between 3.9 and 3.8's tree.lua lol
I figured the data was just completely wrong but whatever's causing the problem must be a pretty small error
Syntax errors, the actual nightmare.
is any tool already updated with the 3.9 tree?
Fairly certain there's an actual error in the tree data.
yeah see above, seems like GGG gave out a bunk file so no one can use it yet
It could just be a PoB error, but I haven't seen Emmitt putting his out either yet.
maybe he is working on it. at least he is showed online π
He's talked recently in other channels. I know he's around.
what if it's just some actual formatting change and we have to rely on openarl to reprogram PoB so people can look at how to use it
would be funny now that people are doing a lot of complaining and switching to LI's fork
Okay, so what is broken with the data then? And did someone tell GGG? Didn't see a comment in the reddit post that published it
None of us plebs know what the error is. And we're not entirely sure if it's the data or PoB. Just speculation so far.
PoB has poor error handling.
It could just be a syntax error for all we know. I've seen typo's in tree data before.
yeah pretty much all PoB's error says is that it's a problem with loading the passive tree data
which is obvious
the file seems fine though. no parse error from nodejs
Updated 3_9 data file.
Yeah all the usual tweaks work. Good news lol.
praise emmitt π
for the webpage or poeskilltree?
I will update both
need another minute to update the web site
takes a bit to upload to the vps
huh looks like we included duplicates of the ascendancy classes (I assume from 4.0.0)
damn
4.0.0
yep we should've caught that my bad
shit and now @serene belfry announced the new version
Yeah rip

and would explain why no one could see any obvious problems, because everything's there that should be, it's just there twice lol
Yeah, idk. The program launches, so I am a bit confused where the error is happening
at least in debug...
Btw, you should change that first link in your post for the assets and stuff to this @sleek nacelle https://www.pathofexile.com/forum/view-thread/2687401/
You linked to the patch notes
@quick jasper ty
wOOPS god I keep messing my post up
ty
I've been waiting all day to start planning builds, so every time I need to edit my post I haven't been giving it my full attention and keep being sloppy with it
can someone try https://web.poecdn.com/public/news/2019-12-11/390_V2PassiveSkillTree.zip and see if it's any better?
seems good, pob loaded it just fine
Yup, fixed.
neat
thank you π
default tree is almost alabama https://www.pathofexile.com/passive-skill-tree/AAAABAMAAA==
Added the new passive tree to PoB: https://github.com/Openarl/PathOfBuilding/pull/1781
just finishing the upload and the website should be good
I like that the patch notes are not that extensive this time around, lets me catch up with PoB
How do I import the new PoB skill tree that you posted, Cinnabarit? Sorry. I'm a bit new to all this
Until there is a release, you have to do it manually
@midnight bear I made a post on reddit earlier going through the process https://www.reddit.com/r/pathofexile/comments/e90ba1/ahead_of_the_patch_notes_heres_how_to_add_39s/
@midnight bear 1. Download the files in my pull request
2. In C:\ProgramData\Path of Building\, replace GameVersions.lua
3. In C:\ProgramData\Path of Building\, unpack tree-3_9.zip
Man you guys are super helpful. Thankyou!
New Skill gem comes obviously after League Start correct
Yes and no, they're data mined, so they can be imported as soon as the pre-patch torrent gets released
But usually, it takes a while
thanks
Has Shaper OR Elder
HasInfluence Shaper Elder
are there 6 influence? Shaper Elder Crusader Redeemer Hunter Warlord
Mhm
i hope map list will be added later π
i hope so too :3
any new infos on the new ratelimits?
rate limits?
querying trade listing API - 10 items / request, 60 items / minute IIRC
GGG want people to query trade offers, not bots
curl -XPOST -s -D - http://www.pathofexile.com/api/trade/search/Standard | grep -i 'x-rate-limit'
bash skills here..watch out
i always read it as brit 
I think this whole name disparity thing confuses me the most
Cinnabarit is the German name for cinnabar, the mineral that is used to make the colour vermilion
It confuses me that I have two now because of my github ^^
this was a choice you made 
never heard of cinnabarit it's always been plebian Zinnober for me
Damn, now I really wish it was me who added the vermilion ring base to PoB, missed potential...
@hazy fog sometimes there is no choice, some popular words used as nicks might be already taken
some many memes with PoE's character name already exists
just start the game sooner 
Arrogant is my character and account name 
I do also have Cinnabarit as account and character name, but I figured I use my real name on github as I started out with it for university related stuff
same for me
I have like 3 githubs and I don't remember a single one
π
I know I made one for work to ask questions about a plugin we used
I think the real question is what kind of blackmail did you get against openarl that you used to get him to approve your PRs?
Secret mistress? Hidden racist tweets? Unsubtle physical stalking?
Ooo digging through his trash and finding discarded sex toys?
Hahaha, I just kept piling up PRs until I had almost 20 or something, then a miracle happened
That said, I don't think Openarl goes over old PRs again like ever. There were a few which he gave feedback on, I've amended them since, but no merge with the current release
So if you didn't get it right the first time around, you're out of luck π€·
@golden bane pretty sure he merged a bunch of PRs into the dev branch?
Yes, but none with corrections needed
ripp
pob with localidentity fork is trying to update but failing to download one file over and over
anyone else having this issue?
Yeah, give him some time i guess he will fix soon
gotta be stressful, hahaha
Nah, you're golden π Issues are bound to happen no matter what dev thing u do.
It was the damn oils that were blocking my update, for some reason the tree file with the oils in wouldn't generate a hash for the manifest file that PoB would like, so I've pulled oils until the next update
Haha, do you plan on adding the new skill gems soon? Burning arrow isn't updated yet.
Could possibly do a version of burning arrow that's similar to the 3.9 changes, but I don't have all the data to make it 100% accurate until the torrent comes out for 3.9
Right, isnt it damn hard finding time to push that in before launch? π
If the program is written in any sane way, you should be able to generate the skills, add any new items to the parser, and be done.
Yeah i should do that, kinda new to all this pob stuf. Curious about "Now applies an additional debuff when you Ignite, dealing extra burning damage based on the magnitude of the Ignite." though π
Yeah once the torrent is there, all the skill gem data can me mined and added easily
we can use "Metamorph Sample" as item class on filter?
hello, does anyone know if it is possible to make live searches on poeapp. automatically show instead of "click to show" ?
like here
@carmine merlin did you update the fork with the skill tree? we're about to ping for PoB's update and I want to mention yours is updated too
Yep skill tree is updated, only thing not on it is the oils though
kk
What is the difference between openarl and localidentity?
the fork has a lot of stuff openarl has been too busy to add
Ah, okay! So an upgraded version more or less?
fan updated version basically
Ok, thanks!
Question it exist a pob version where you can choose the pantheon ?
LocalIdentity's fork supports it, so yes
personally I save them as custom flasks but those are also scaled by any flask effect
custom jool modifier asd
I have a big file of saved things like different aura bot setups that I can copy paste onto items, usually jewels or belt
@slim elk do you have any clever way to handle smite? Never could think of one...
Watcher's eye is a big one since if you have an aura bot giving you the aura your watcher's eye won't give stats since your character isn't running it. So you have to manually remove the benefititing from aura line on each line of the jewel
what do you mean by handle smite?
Oh - my solution for auras was to link them to an amulet which had 100% reduced mana reservation, and then scale up their aura effect through the amulet. However you can't do this with smite unless the char is wielding the appropriate weapon since it will disable the smite aura
you'd probably just calculate the raw added amounts and edit that
Yeah thats just a huge pain
for theory crafting support/carry duos
since the raw amount scales with aura effect
there used to be a website that did it for you
but it seems to be broken right now
If it doesn't fix itself soon I will probably fork it and do it myself
I suspect the easiest solution is just to make smite work for any weapon in the configs π
if you want to continue using your method for auras
I quite like the method I have settled on, it allows me to dynamically change aura effect gearing and see the impact without recalculating raw benefit from every aura
I prefer doing it manually since I can easily turn them off and on while in the item screen and trying on new gear
Ultimately a better interface would be preferred though..
Ah I figured out the issue for that aura calc. all it needed was changing the source url
@frigid nova how do you manage guardian life/mana reservation with your system? Plus other acendency support benefits?
Perhaps we should move to dms
@carmine merlin FYI, the dat files weren't included in the last few torrents. You'll most likely need to wait for the real patch.
Heyo, does anyone have a working PoeWikiDiscord bot that I could host for my Discord server? For whatever reason I'm having trouble hosting the common wiki-bot
Since last night yea, it was somewhat working in the evening
It's the wikimedia upgrade
Is it related to gamepedia transitioning their backend?
yeah
I heard that was finished tho
The timeout error at the bottom leads me to believe it is something to do with gamepedia, but I'm not great at coding so I'm not 100% sure
Hmm, it may actually be the bot needs to be updated (I'm not an expert either, but I know they were upgrading the search functionality and a few other gamepedia wiki's searches aren't working at all)
Gotcha. Well it's possible that patience is just the key here
But if there are any experienced node.js devs in here that wouldn't mind taking a look at these errors I would be super appreciative
https://www.pathofexile.com/forum/view-thread/2687767 there may be more information to come still, busy times
@compact isle thanks for the implicit change on clipboard π
pob.party updated as well
unhandled promise - means that whatever api was being called likely didn't return data or didn't return a successful response
@proper arrow
Thanks @compact isle , much appreciated
wasn't there some discord outage a few days ago that caused the search problems? probably related, haven't been able to search in that time frame for a little bit now
Well, GCS had
@fickle yew hey just noticed the Old leagues are gone on your api
is this a normal thing before new leagues?
hmm
okay
thank you
im about to head to bed.
i guess ill wait for the stuff to be put up and dev from there
ty
@earnest radish ty
Anybody know if you can / how to modify enemy accuracy and other enemy stats in PoB? I am making aura support tool and trying to get the results parsed properly in PoB
Dread Banner for example has "Nearby Enemies have X% less Accuracy Rating"
@spring harness yup the leagues disappear when the league ends.
Standard and Hardcore are still around though
@slim elk No support for enemies nearby yet, but I am going to add it once all important patch changes are implemented
Are the two PoB devs talking with each other? This starts to look like the openoffice / libreoffice or any other OSS "fight". Would be nicer to just have one PoB so people are less confused
It was pretty much like this from the start, with the difference that there is no license keeping Openarl from merging the fork upstream
I just sent him a pm here on disc. Not sure if he'll have time to respond at the moment as I'm sure he's probably pretty busy with working on stuff for GGG before the 3.9 patch comes out
@dull laurel I should have clarified that at least LI talks to Openarl
My bad if that came out wrong, if LI is in any "fight", it's the good fight
Okay, that's good. π
Didn't the pob dev get hired by ggg ? He's probably really busy
Hardly working or hard at work, impossible to tell π
Hey, I got the "Enemies have -X% to Total Physical Damage Reduction against your Hits" working
The only problem is that PoB does not have or calculate enemy armour, so that's much harder to implement
We don't have any armor values that aren't a vague estimate anyway. Until we get that it doesn't really matter much.
They are not in the .dat files?
Don't believe so
are there minion armour stats?
how do we have numbers for evasion/accuracy, then? seems weird that those would be in the files but not armour
Time to set up PyPoE I guess
godspeed
setting up armour/phys reduction for enemies in pob would probably be relatively straightforward, but without trustworthy armour values there isn't much point lol
if nothing changed then the data wasnt easily available
but that is super old info on my part
default_monster_stats.dat has evasion/accuracy, but no armor https://github.com/brather1ng/RePoE/blob/master/RePoE/data/default_monster_stats.json
armor is probably set individually per monster (type)
Yay, I'm absolved of refactoring Openarl's 2000+ LoC "functions"
@golden bane sounds good. It seems like it calculates dread banner's accuracy change when you add it as a skill so was just seeing if there was a way of adding it as an item keyword. Was going to wait for things to settle down after the patch and everything to update before working on it anyway.
The torrent is released quite early this time around
Someone going to download and confirm it has no .dats? π
Does anyone here have a crafting tool with mod groups implemented? I would love to take a look at it
no .dat
not surprise
whats in it if theres no dats? mostly audio and art assets by volume I'd guess?
just curious
Most likely
and everyone who used the torrent need to download 1.5G Data files when patch hits
didnt someone
make a diff file already
thought somone usually posted diffs on github
anyone made a code complete for item filters as a vscode extension? I see the syntax highlight ones but i didnt see code complete mentioned.
Iirc there is syntax highlighting plus some code completion on one of them
Not yet, I would suggest to contribute here if you want to add it: https://github.com/NeverSinkDev/VS-Code-PoE-Filter-Markup-Extension
ill take another look and maybe do something about it if i dont find anything
hmm
Ah misremembered it's the atom based one that has (basic) autocomplete
If anyone's still curious about a GGPK diff, I can throw one together in a bit
im just trying to remember
where the guy posted his
he usually does it every patch
do u already have the torrent?
Already downloaded, generating a diff now
ignore the bit where it says all the data files were deleted, that's because they aren't in the preload π
alternatively, https://gist.githubusercontent.com/duskwuff/d53480f2f9dde4b979b3551374d741fb/raw/6bc1e4b2c37e673f022699efe31df73351116c89/Content-390pre-new-and-deleted.diff only lists new/deleted files, not changed ones
does anyone know how often poeninja updates its pricing info for league uniques and such?
i'm new to the PoB dev scene. just got my dev env set up and ran Exports/Launch.lua, got a traceback, then worked through the code to realize the GGPK itself has no Data resource. is this typical for the torrent preload? for some reason i thought this was how we'd get gem info in PoB
Yes, that's what the conversation above is about
yeah i read that but wasn't sure if this was the case every league
so no Shrapnel Ballista in PoB until after league start? π’
Data got removed a long time ago
i suppose the earliest we can export the data is by putting the preload ggpk in place, patching as soon as the realm comes up, and then running the export while we wait for league start?
maybe an hour or two of PoB time π
Yes
Pog
I love openarl's comments sometimes
My favourite is this one: https://github.com/Openarl/PathOfBuilding/blob/master/Export/Scripts/skills.lua#L358
lmao that's a good one
or use phrases from a song
I had a fun shower thought today - what if they move to only dat64 this patch
(probably shouldn't give 'em ideas)
just dont write comments so no one can understand and everything seems to be just fine 
coming to a localidentity fork near you (assuming he's fine with it and merges the pull request I make tomorrow): elemental ailment box
although I'd like someone to tell me if I'm doing the calculation right or not lol. my thinking is: you need to do 0.4% of life to inflict the ailment, which is 1/250. so I'm multiplying the hit damage by 250 then dividing by the duration mod for the life total. seems right to me but it's also 3 am and I am getting tired so I could be very wrong
Err, do we even know how ailment thresholds work yet definitevely?
Yes, they're in the patch notes
patch notes say that in general the threshold will be their life total, but for big health bosses it'll be lower. the example it gives is that shaper's threshold will be about half of his life total
also, shock and chill now both use the same calculation
so both just require a hit of 0.4% of the enemy's life
for a 5% chill/shock
Seems to me calc for minimum chill should be .05 = (1 + increased_chill_effect/100) * 1/2 * (hit/ailment_threshold)^(.4),
You can solve for hit from that formula
Also this does not take into account mods like Now Chills enemies as though dealing 100% more Damage at gem level 1,
@sleek nacelle If you're into this calc stuff, you might want to look into supporting the new equivalent impale mod
Anyone got their datamine on yet? Interested in extracting images for new uniques and influence icons, and checking if there are any new map mods added
Or is this not possible yet with only the torrent ggpk?
not yet
@broken cloud The preload never has the Data directory, which means none of the .dat files which holds all the logical game data, it's just a duckton of assets.
You can probably look at uiimages1.txt and the textures, of course.
Models and animations are reasonably freestanding as well, so if you had a viewer and some guesswork you could probably oogle some meshes.
@broken cloud I had post these images on #1βmirage-league
I've gotten pretty much nada done during this league code-wise π
Side-tracked the last week or two with the projected FS to mount the GGPK.
they said .dat had some uses and won't remove
@sleek nacelle the ailment breakdown looks great, I'll add it in when you're done. One thing that might be useful is to somewhere have the hp numbers of certain mobs so people have a reference frame for which monsters they can and can't inflict chill/shock on
Ha nice, I understood AHK and made my own little logout macro \o/ π
Only thing that bugs me, is that the force logout (kills TCP connection) tool needs admin privileges, so the whole script is running as admin π¦
is pob updated?
@dull laurel It'd not be pure AHK, but it might be fun to write a small service which you can boop, with the sole purpose of nuking PoE?
@worthy cape i had the same idea after tinkering around with C# last week. Then it only needs to send a command to the service and no admin privileges. Just need to prevent any other user than me using the service π
You can put ACLs on named pipe objects, IIRC.
It might be another fun project. π
I'd never remotely kill your Poe promise
where are the unique jewel names in the api data?
'typeLine' only shows "Viridian Jewel"
oh
'identified': False
nvm
@foggy bone You can get the name from the icon field though
Should work for almost all items (except for a few that share art - agnerods, starforge/voidforge)
oh that is a very handy list thank you
@broken cloud how does that diary track my drops? are those in the client log?
No, it uses the character API to get your inventory https://pathofexile.com/character-window/get-items?league=&accountName=&character=
When did the multiple skill tree build thing on the official website get implemented? I don't remember reading anything about it.
a while ago
I guess I rarely end up there, ty
@hazy oracle looks like some time in 2017 lol
I added support for them in August of 2017 to PoESkillTree
Wow, I'm not sure I've ever seen a guide that utilises it!
generally it doesn't make sense to update the build but keep the tree for older version
Yeah I suppose that's a good point, but I do see loads of posts with multiple levelling trees included, you'd think it would be cleaner for the end user to only have to go to one link
pob has support for multiple trees and that's where most of the levelling trees are for guides
although some of them don't account for the passives from quests you can't get at those levels
Oh yeah I'm aware, but like just looking at the forums now there's quite a few that link to multiple trees (on the website)
Yeah, there are a lot of people that link level 25, level 45, level 65, level 95 just straight links to the trees
I think the main problem is that no tool really supports the format from the website
yeah that .build file
Yeah, like pob support multiple trees, but it is just a list of urls
so people just copy/paste them
In a future patch, you will also be able to import builds created here into the game client.
I wonder if that's been there since 2017 too
use the way back machine haha
hi all, could someone help me with poe.ninja api? question?
Easier to just ask the question
lol true. I'm trying to make self updating spread sheet with prices from poe.ninja but relic items f it up
dont know what is the handle for importJson to filter them out
currently using, 'name' 'chaosValue'. I tried 'relic' 'group' 'frameType'
im working on a tool to generate filters and i had to tackle this one sec
i think, maybe, possibly, but im not sure, that the item class being 9 means its a relic but
if 'relic' in item.get('detailsdId', '') and 'relic' not in item.get('name', '')
will also tell you if an item is a relic with reasonable certainty
relic is 9
oh i didnt realize the classes were from the stash api
yeah
i thought they were an invention of ninja, thats helpful
the item data is pretty much straight from the api iirc
I think it is itemClass in his api
progress on the tool in case anyone has any interest in generating filters from YAML w/ the ability to autogenerate text to speech sounds for each type of item etc
in that video i quickly edit my filter to only show gems work 100c+ (on standard) and regenerate it
similar to the work xeverous has been doing on filter spirit but in python w/ YAML instead of c++ and a DSL
thanks, itemClass worked
Multiple skill tree build? What is that?
http://www.pathofexile.com/passive-skill-tree click Create Build
sites down π
nice. that was something I always thought about that would be handy
yeah, I know
Out of curiosity, is there a way to find what arguments are available for given api? For example what other arguments I can use when calling item list from poe.ninja? I could not find any details on their website re this.
(I took a screenshot of the creat builds page)
yeah, i'd like to have a way to evolve the skill tree, like first 20 levels, next 20 and so on.
@astral vault frametype 3 is a regular item, relics are a different frametype
Cheers Jeff, got that working now
patch seems up
yes, this was announced in #old-game-news earlier.
Added a new skill tag any easy way to figure out what it does?
ah i have that channel muted
When I run the skills Export script i get this error: Unknown GE: "UniqueSupportGreaterVolley"
because granted is nil here: https://github.com/LocalIdentity/PathOfBuilding/blob/master/Export/Scripts/skills.lua#L133
@carmine merlin maybe Nova?
its on a heap of skills
Didn't they add a new class of skill gem? The Awakened ones?
@velvet fog I'm fully patched, is there anything I can provide somehow?
Easiest way to find out what it means is to look at what the skills have in common
yeah they're marked Plus in the dat
molten stike, Vaal Power Siphon, Pyroclast Mine, Winter Orb, Frost Blades, Lancing Steel, Lightning Strike, Vaal Lightning Strike, Shattering Steel, Wild Strike are the original skills that had the tag added
Probably something to do with projectiles
Those are all skills with secondary projectiles
Ahhh, ty
Anyone working on a spec for pypoe?
whenever @obtuse citrus gets on, he usually updates the spec
since he uses it to generate like half the wiki
I've just started trying to get it to at least not crash
@woeful sphinx as have I - please let me know if you get a stable spec
will do
bigger DefaultMonsterStats might mean armour
that'd be great
Looks like Quest.dat shrunk, only one ive found shrinking thus far
might be
@woeful sphinx anyidea what got chopped in Quest.dat ?
don't know enough about actual armor values, but seems somewhat fitting
2 quest flags removed from Quest.dat
@velvet fog Do you know what the names of them were here https://github.com/OmegaK2/PyPoE/blob/dev/PyPoE/poe/file/specification/data/stable.py#L14517-L14571
That might be armour, looks pretty close
@carmine merlin you're probably busy getting data from the update but I finished up the ele ailment box stuff https://github.com/LocalIdentity/PathOfBuilding/pull/61
didn't do the stuff with monster life. I think to do that properly there would be a lot of other things I would want to add and I don't have enough time before league start lol. plus with the numbers changing so much this patch it wouldn't make sense to just give examples until we know some of the new numbers
godspeed π
QuestState Unknown0 Unknown10]
@leaden crow Is up for me - https://zao.se/~zao/poe/PathOfExileInstaller.exe
anyone else getting "unknown granted effect" for greater volley when trying to export skills from GGPK?
edit: my bad, i see now that PoB Lua must be updated before the Export will work, e.g. https://github.com/Openarl/PathOfBuilding/commit/7885bc38153ced08eb9b469b710bdeed7ff82e17#diff-985d541d69ec89a6bc825e42770cf29a
Socketed Gems are Supported by Level {0} Awakened Fork
Socketed Gems are Supported by Level {0} Awakened Curse On Hit
stuck on MonsterVarieties.dat ..hmm
if anyone work on MonsterVarieties.dat
and AtlasNode.dat
the armour values will be on poedb then, right?
@frigid nova they probably removed the shaper quests and instead you have the new quests that can be seen in the challenges list
@velvet fog are the stats for the uniques already in or do they keep them from you until the last minute? π
you might be new here π
i am
there hasn't been an unique items file in many years
do we know the encoding on unique maps? looks like hex / binpack in the GGPK viewer
Are you looking at the symbol you get when using it to name a guild?
What file are you squinting at?
i just peeked at UniqueMaps in GGPK/Data, and i see 28 entries
poedb updated
@velvet fog you got MonsterVarieties.dat?
not yet, just skiped
ah, I'm getting PyPoE's whole palette of possible errors from trying around in the spec
Regarding MonsterVarieties, the .act and .ao columns are now lists
If that helps π
Hi BTW
yes, that should help π
@timid hemlock I know you probably can't comment, but I have to wonder how ridiculously far off we are in some of our attempts to parse dats π
!0 "Supported Skills fire a Payload Arrow into the air\nProjectiles from the Supported Skill Fire from where the Payload Arrow lands"
stat descriptions have negations now ...
rip
it seems to only be used for !0. I wonder why it's not just 1|# (at least 1). don't think those stats can be negative.
It might be because there is nothing to replace in the stat?
there isn't, but this part is just the condition
@rapid pagoda π
I bet @timid hemlock can tell you why there is negations lol
Well, any stat can be negative
It fires with a bang π
Yeah, but the ! is new
even I didn't know there were stat negations zzz
Got to keep you on your toes.
well for me it's the same as 1|# for now. we'll see what @obtuse citrus does with it later.
this is the problem with being on the other side of the office >.>
π
trans-office speaking tube
I already pushed something for that @woeful sphinx
I recommend pneumatic mail tubes, you can send kebab rolls in those.
pneumatic tubes + kebab roll == interesting thing to watch when recipient tries to catch it
OCD forces me to remain seated until i get queued, before putting kid to bed
I just need corner Mark in the break room more
Indeed
he told me about the donut yesterday
Ha, you are alive π
Oh god the donut
there were donuts, and he didn't tell u?
Oh, you don't want this particular donut
oh, grownup-humor-donut?
donut? π
Donut ask about it
Hrm, Steam version just had a wee 15.9MB update. I wonder what that was.
should people restart their standalone games too, or just for the steam version?
yes
im not getting the patch on standalone yet
Same
I think it'll be out soon
don't let them stress you π
ya I'm just close to the server admins so I hear the drama
Helpfully ask if they have tried turning it off and on again.
That's why you go serverless!
RePoE update is out
"out" is a word, certainly
Really really fast π
is going now
can you share your internet pls
Error: Failed writing received data to disk/application while downloading http://patchcdn.pathofexile.com/3.9.0.1/PathOfExile.exe
Wheeee
that patch is special...
no que
where do you live, getting those speedS?
Keeps restarting itself.
the future
oops
Its not a true league start without some server issues
realm still down tho
realm is still down but
There we go.
Yeah, worked after restart
I don't get why they don't update their servers massively so this doesn't happen, must be an inherent problem with the code or something.
Though that doesn't help much anyway
In queue now
With the realm and all
queue started ??
Queue!
I am in que
queue's up btw
yep
Good luck with the launch, lads.
Can't post a screen but yes @sleek nacelle
there is no challenge leagues yet dont worry
There it is
people are saying the league isn't there
You too, mate 
Back to coding then.
let me into SSF wtf is this
Lovely
Cool I still have to delete character lol
And I still got 8K ahead of me
League is working now
still in que 
@compact isle the duplicate ascendancy classes are in the live skill tree data right now
Yeah
zzz cheers
the character list is twice as long as it should be lol
"problem"
nothing super major
ah and has weird ascendancies
Yep
marauder elementalist sounds great
The second half of the list just doesn't populate the correct ascendancies. The first half is fine
Heh, "unnamed monster component" just dropped π
yoo anybody got a lin kfor the latest item filter?
or is it the one from 5 hours ago from neversink?
i guess thats it
i'll give it a shot
@compact isle SSF Metamorph HC is marked as timedEvent in league json.. Guessing because of Ziz event, but π
I filter those out when looking for challenge leagues, I guess others might as well. Well at least now people can find it here π
you should probably be filtering out the event property instead
only SSF HC tracks awakener kills
wonder how hard it would be to hide awakened gems from the sklil gems list lol
gonna be pretty annoying only seeing those listed since I'm assuming they won't be something I can afford to use 5 of in every build
to be fair, that's pretty tame
Had a party of 200+ people
on the day of the release
now that the party is over
I can start workon on zombpoe magain
Its dev time boiz
https://tenor.com/view/will-ferrell-old-school-gif-5531028
exited to start deving again after a stale month
oof
bed time boize
π¦
i wanna keep doing zombpoe dev
but ive been up for too long for this chili party
Good luck on drops! @ me if u get a mirror!
tbh i wonder why there is so many trade tools but no one did something that would help avoid getting scammed
Unless there is something i don't know about
I like the new fancy spline technology used in the in-game world map screen. Makes me queasy whenever I see the lines not being straight as they used to π
Is it okay to automate moving mouse and using iteminfo macro or not really?
Is there any list of rules?
Fairly sure that automating sweeps of an action across your inventory/stash falls solidly outside of the realm of acceptable stuff to do.
Rough idea is that operations should be end-user initiated and have the same effect regardless of state and shouldn't automatically alternate between modes.
Like a hideout hotkey always types /hideout, Ctrl-scroll always sends arrow keys to navigate the stash tab index, etc.
Well i guess i can just do it without moving mouse
If you're starting to have composite actions that automate sequences of input, it's starting to get sketchy.
I'm guessing that you're working on some sort of trade window validation that the items in there are the ones you wanted to trade for?
Having the user flail their mouse and have the user initiate clipboard actions on the item is more kosher than something clever that tries to sweep it.
well basically it would work like this
make some smart idea to get item info from poe.trade
during trade use poe iteminfo macro
and just compare both items
i think i found some script to get item info from poetrade some time ago because i wanted to copy items to pob
so shouldn't be hard
does poison on hit mod on weapons not work on path of building?
it doesn't change my chance to poison with toxic rain
are Metamorph Brain/etc tradeable?
they do appear in the river
yeah but I think the non-tradeable items also appear there
can multiple catalysts be applied to jewellery?
Different types on the same piece of jewelry? No
ok thanks
IIRC from the hype cycle, it scrubs the old one if you apply a new kind.
@timid hemlock able to comment on my question a few hours ago in this channel when you have a moment?
I keep getting this when I search for uniques when I use trade macro
Does anyone know of a source on whether or not Effect of non-Damaging Ailments on Enemies affects Freeze?
woops
there's no limit to amount of those jewels? very interesting. edit: just noticed its more of a donut, not the traditional circle
AllocateDisconnectedPassivesDonutUnique__1 π
Just released Zombpoe for the new League
Anyone know if trade macro is working atm?
@frigid nova am I reading/entering your formula wrong? this is giving me values like 25% higher than I'd expect based on the simple calculation of needing to hit for 0.4% of their life
I love TDRs... I'm in the exclusive camp of AMD players that crash on the league NPC appearance.
Ended up changing to a NV card just so I could do the actual league content π
I mean, obviously, having the exact calculation for this ailment duration is nice but after the devs have said "hit for 0.4% of their life" so much, I feel like doing a simple calculation for it is probably fine lol
like you said in your other comments on the pull request, this isn't very exact anyway due to the variance of average hits, it's just for a ballpark estimate kind of thing
@sleek nacelle the problem is your formula underestimates the consequences of increased effect of chill. Also not sure where they got the .4% of their life estimate, considering solving for their formula gives .316%
@sleek nacelle I'm finding the formula to give sensical numbers:
I'm not sure how lua handles typecasting, is 5/2 correctly casting to 2.5?
well, 0.316% for the threshold means the numbers make sense, yeah, that's about 20% less than I'm predicting
er, 20% lower
wait
no
Regardless, you can confirm your lua implementation is correct by using the values i supplied above.
OH
I see the problem maybe
so in your example, for the damage value, you're just using the percentage of their life you're dealing. but in PoB the life total is what I'm trying to calculate, so we can't use their life value to calculate it. the damage value I'm using is the hit damage
wait god
I'm an idiot
math
math is hard!!!
HMM
I guess it is calculating it correctly Β―_(γ)_/Β―
ok yeah the thing I thought earlier does make sense. if the threshold is about 20% lower, you'll be able to apply the elements to health values that are about 25% higher. but I didn't know the actual value was that much lower so I thought it was wrong lol
@earnest radish it is live, queries like that one won't break the limit. Currently it's:
+1 complexity per filter (includes And and Not blocks)
+10 complexity per Count / If block
+30 complexity per Weighted Sum block
with a max of 200
they may change if the site gets stressed again but currently it's all good
i think a count block with 2 things in it would be 12 points
a "block" is anything under "query.stats" in the request
i count 37?
so it's kind of weird in that "type_filters" itself costs 1
so that would currently be 41
actually "filters" and "stats" do
so 42
filters = 1
filters.type_filters = 1
filters.type_filters.filters.category = 1
status = 1
stats = 1
stats[0] = 30
stats[0].filters[0] = 1
stats[0].filters[1] = 1
stats[0].filters[2] = 1
stats[1] = 1
stats[1].filters[0] = 1
stats[1].filters[1] = 1
stats[1].filters[2] = 1
it's weird because the syntax is a lot more flexible than what is used by the trade site
well... I just ran the one above on my development realm and got 39
"40-ish"
... what sorts of queries were people running to end up over 200?! fully evaluating the effects of an item on their build in a search?
minmaxing character, minmaxing loot filter, now minmaxing trade searches
there are some extreme searches you can do to specifically show large numbers of well or perfectly-rolled uniques
I'll see if I can find one
@lusty musk posted one a few days ago when this was talked about, https://www.pathofexile.com/trade/search/Standard/eRm6n04hL "this is an example combining rise of the phoenix, chernobogs and redblade tramplers. which isn't too hard because they all have 'unique' mods within that group"
it's very tame because it's only 3 items, imagine 50+
max roll uniques
huh Elasticsearch takes 64ms on the one Jeff posted
hey I was pinged
the trade complexity update, scroll up to read
@compact isle that looks like one of mine
I've improved mine (prior to the new limits) to be a lot more efficient since that one
but that would just get eaten up by combining more uniques in 1 search
actually I'm pretty sure that's one of my searches
@compact isle I wanted to be even more efficient, unfortunately making optimally small filters is NP-hard https://cstheory.stackexchange.com/questions/45981/minimal-number-of-hyperplanes-needed-to-separate-sets-of-points-from-one-other-s
itll make it more effecient for you to run, but it is defenitly worse for the server
huh?
I'm talking efficient in terms of the size of the output filter
it's the exact opposite of what you say
what I attempted means it would take more time for me to construct my filters but have them be smaller and more efficient for the site
It is interesting to note that if both the dimension of the space and the number k are fixed then the k-polyhedral separability problem is solvable in polynomial time.
Doesn't seem like you were quite in the NP-complete realm. Also are you working under the assumption serverload is purely a function of the number of weighted searches and not the number of entries in the weighted search? Because this theory of polyhedral separability will only minimize the former
yes, that is an issue, the true minimization problem is even harder
that comment is not relevant though @frigid nova, the dimensionality is > 600 and k > 50
the proposed 'polynomial' time algorithms would have the shape of n^600 or n^50 which is still intractable
within one weighted sum it's relatively easy to minimize though
I doubt minimizing in the domain where you believe you need 50 weighted searches will help much with server load.
oh no, my bad, k is of the order ~5-10
I was confused with the number of uniques
but either way, I'm working on more efficient approaches now that fit within the limits
@frigid nova and it helps a ton, if naively applied we'd be talking 2^num_affixes weighted sums per unique, so many hundreds if you'd include 50 uniques into 1 search
which shrinks down to only 5 to 10 weighted searches with smarter combining of constraints
but maybe even less if you could do it optimally
My comment was conditioned on the number 50, I don't doubt it helps in the smaller territory
@compact isle Is it possible to get private league ladder from official api?
but I can't get the id from https://www.pathofexile.com/developer/docs/api-resource-leagues with type=league



