PDA

View Full Version : How Does the Tracker Match Ancestry Feats to Ancestries?



MaxAstro
January 30th, 2024, 22:36
This is related to the issue with ancestries with spaces in their names I posted in the R19 thread. I'm working on converting the Battlezoo Intelligent Weapon ancestry, and I cannot get it to see its ancestry feats in the tracker. I know the initial issue is caused by the space in the name, so I tried renaming both the trait and the ancestry to "IntelligentWeapon" or "Intelligent_Weapon" - but neither of those causes feats with the trait of the same name to show up in the tracker when the ancestry feats button is clicked.

Trenloe
January 31st, 2024, 19:20
It's all based on traits. The traits for the PC will be used to filter using the feat traits.

MaxAstro
February 1st, 2024, 06:06
It's all based on traits. The traits for the PC will be used to filter using the feat traits.

...Ah, I see the problem, then: The Intelligent Weapon ancestry, as written, only has the Construct trait.

Actually, isn't that going to also be a problem then for the Poppet ancestry from Grand Bazaar, which does not have the Poppet trait?

No, no, I just tested it and poppets seem to see their ancestry feats just fine in the tracker, despite not having the Poppet trait. So... how does that work and can I copy it?

Trenloe
February 1st, 2024, 18:26
No, no, I just tested it and poppets seem to see their ancestry feats just fine in the tracker, despite not having the Poppet trait. So... how does that work and can I copy it?
Poppet and fleshwarp are hard coded in the ruleset code. I'd need to modify that code to allow changes from outside of the code - but that would require an extension to make that change.

MaxAstro
February 1st, 2024, 20:32
Gotcha - adding a trait it is.

I'm somewhat surprised you don't go the route of matching the ancestry name to the trait instead, though, since that would avoid the problem for needing to hardcode anything.

Trenloe
February 1st, 2024, 20:37
I'm somewhat surprised you don't go the route of matching the ancestry name to the trait instead, though, since that would avoid the problem for needing to hardcode anything.
Because that doesn't work for versatile heritages.

And, of course, the first few releases from Paizo worked perfectly with using traits - until they decided to not add traits for poppet and fleshwarp.

MaxAstro
February 1st, 2024, 20:51
Is there any reason not to match both name and traits, as a failsafe?

...Okay, aside from that though, now I'm driving myself up a wall trying to figure out why heritages aren't working for this ancestry all the sudden. How are those matched? I renamed the ancestry to IntelligentWeapon, I gave it the IntelligentWeapon trait, I put the heritage into the IntelligentWeapon category, and it is still not giving any heritage popup when the ancestry is added. I am so confused.

Trenloe
February 2nd, 2024, 15:12
Is there any reason not to match both name and traits, as a failsafe?
Maybe. I'll investigate a possible solution.


...Okay, aside from that though, now I'm driving myself up a wall trying to figure out why heritages aren't working for this ancestry all the sudden. How are those matched? I renamed the ancestry to IntelligentWeapon, I gave it the IntelligentWeapon trait, I put the heritage into the IntelligentWeapon category, and it is still not giving any heritage popup when the ancestry is added. I am so confused.
Ancestry features/abilities are driven by the "Ancestry Entries" in the Other tab of the ancestry record. To offer heritage selection, there needs to be an ancestry entry with a name ending in " Heritages" - refer to the core races for examples.

MaxAstro
February 3rd, 2024, 01:53
That was what my impression was, but it doesn't seem to be working. I've attached a picture of the ancestry and the heritage; can you see anything obvious I am missing? When I use the tracker to add the IntelligentWeapon ancestry to a character, no heritages prompt appears.

Trenloe
February 3rd, 2024, 04:27
That was what my impression was, but it doesn't seem to be working. I've attached a picture of the ancestry and the heritage; can you see anything obvious I am missing? When I use the tracker to add the IntelligentWeapon ancestry to a character, no heritages prompt appears.
It works fine for me and I can't see an issue with the data in your screenshot - one thing, make sure you don't have a space on the end of "IntelligentWeapon Heritages"

MaxAstro
February 3rd, 2024, 23:51
It works fine for me and I can't see an issue with the data in your screenshot - one thing, make sure you don't have a space on the end of "IntelligentWeapon Heritages"

OMFG I finally figured out what was causing the issue. I wonder if you can look at that picture and guess? It was right in front of my face and I didn't even think of it because the problem was in a different ancestry ability than I thought...

So: Turns out if an ancestry has two different abilities that could both be parsed as "heritages", something will collide and prevent the heritage screen from being displayed at all. The "SIZE" ability was causing the problem.

MaxAstro
February 3rd, 2024, 23:59
Woah! Also: You are apparently wrong about how heritages are parsed.

After doing some more testing, it seems like the code looks for an ancestry ability that contains the word "heritages"... and once it finds it, it looks for heritages that match the name of the ancestry, completely ignoring the contents or name of the feature. See the attached picture for an example: I renamed the feature to "Dwarf Heritages", but when the heritage menu pops up it offers the IntelligentWeapon heritages instead of dwarf heritages. But if I rename the ancestry to "Intelligent Weapon" with a space, then it no longer sees the associated heritages in the popup, regardless of what the ancestry feature is called.

Trenloe
February 4th, 2024, 00:16
You are apparently wrong about how heritages are parsed...
Am I now... I gave very little information on exactly how heritages are presented, all I said was: "Ancestry features/abilities are driven by the "Ancestry Entries" in the Other tab of the ancestry record. To offer heritage selection, there needs to be an ancestry entry with a name ending in " Heritages" - refer to the core races for examples." That statement is correct - all I was doing was giving you information regarding what is needed to present the heritage selection window, I never gave any information on "how heritages are parsed" - it appears you made an incorrect assumption regarding how the heritage lookup data record is matched, which is indeed against the ancestry name.

MaxAstro
February 4th, 2024, 14:47
Hah, fair - looking back I see that I made an assumption there.

In my defense, the specifics of how heritages are matched was my original question. :)