Senior Member
Volunteer Data File Contributor
Join Date: Jun 2010
Posts: 623
|
I've looked at Ashvawg Tamer, Ooze Companion, Beast Rider, Mammoth Rider Steed for inspiration.
I need to tag Axe Beak as an allowed for all classes that get mount or animal companion instead of just Druid and Paladin, and do it in such a way that I'm not updating a list every time a new archetype allows an Animal Companion. I've tried this code: Code:
<thing id="van313ABC" name="PFS: Axe Beak Companion" description="As long as you have Chronicle sheets for all three parts of the Quest for Perfection campaign arc, you may take an axe beak as a loyal mount or companion; the Chronicle sheets need not be consecutive or in order, but all three must be present in the same character's records. If you possess a class feature which permits you to take an animal companion or a mount that progresses as an animal companion, you may add the axe beak to your list of legal and available companions. You must present a copy of Pathfinder RPG Bestiary 3 in order to use an axe beak companion as if it were allowed as an additional resource. Other than provide access to this animal as a choice of mount or companion, this boon provides no mechanical benefit.\n\n{b}This vanity represents a Chronicle Sheet for playing Scenario #3-13: Quest for Perfetion III: Defenders of Nesting Swallow with the Axe Beak Companion still available to your character.{/b}" compset="Vanity" holdable="no"> <fieldval field="usrCandid1" value="system_tag.minion"/> <usesource source="srcWeGob2"/> <tag group="User" tag="NoAutoName"/> <tag group="fShowWhat" tag="Freeform"/> <tag group="Helper" tag="ShowSpec" name="Show Spec" abbrev="Show Spec"/> <tag group="ChooseSrc1" tag="Hero"/> <eval phase="First" priority="497"><![CDATA[~ If there's no animal companion, there's nothing we can do doneif (hero.hasminion[AnimComp] = 0) perform hero.childfound[cAnimComp].setfocus doneif (state.isfocus = 0) perform focus.minion.pushtags[CompList.?,AddCompLis]]]> <before name="Companion Level Calculated"/> <before name="Multiple Companion FinalLevel Calculated"/> </eval> </thing> |
#1 |
Senior Member
Join Date: Aug 2010
Posts: 576
|
Go to the Race Animal companion tab and new copy and select axbeak and go to the minion allowed for tab and select it and a popup box appears and you can select what class or arch type the minion is availble for.
|
#2 |
Senior Member
Lone Wolf Staff
Join Date: May 2005
Posts: 13,213
|
I don't see any CompList tags on your thing, and you're not using your script to assign one before the pushtags operation. So, pushtags doesn't have a CompList tag to push there as an AddCompLis tag, so it won't add any tags.
|
#3 |
Senior Member
Volunteer Data File Contributor
Join Date: Jun 2010
Posts: 623
|
Quote:
I'm doing this from a thing, but I'm trying to make AddCompLis tags for each CompList tag on the hero. So I need to pull tags from the Hero to this thing and push then? I tried this: perform hero.pulltags[CompList.?] but it didn't behave differently. Last edited by risner; August 28th, 2013 at 02:14 PM. |
|
#4 |
Senior Member
Lone Wolf Staff
Join Date: May 2005
Posts: 13,213
|
At First/497, I doubt that the CompList tags are on the hero yet.
|
#5 |
Senior Member
Lone Wolf Staff
Join Date: May 2005
Posts: 13,213
|
Are you certain that the <before> elements that you've chosen actually apply to your script? You're not trying to alter the level of the animal companion - only the allowed list, so you shouldn't have to be that early.
|
#6 |
Senior Member
Volunteer Data File Contributor
Join Date: Jun 2010
Posts: 623
|
Quote:
I'll admit, I'm confused. I tried running it a First/1000, First/1000, Post-Levels/10000, and Render/10000 with no change. Current code: perform hero.pulltags[CompList.?] perform focus.minion.pushtags[CompList.?,AddCompLis] var t as string t = focus.tagnames[CompList.?,"/"] debug "First 10000 Hero CompList: " & t t = focus.tagnames[AddCompLis.?,"/"] debug "First 10000 Hero AddCompLis: " & t I can't seem to notice any change. It still reports not valid for Treesinger, only valid for Druid/Paladin message. If I do Hero Tags, I never see CompList or AddCompLis tags. I do see a CompList.Treesinger tag on valid races (like carnivorous vines) and on axebeak. So there doesn't appear to be a difference. Last edited by risner; August 28th, 2013 at 08:20 PM. |
|
#7 |
Senior Member
Lone Wolf Staff
Join Date: May 2005
Posts: 13,213
|
Look at the debug tags on the hero for a normal animal companion. Are the complist tags there?
Are they in the minion's hero context instead? Since you know you want to add a specific minion to all complists, doesn't that mean you know what tag you want? That you don't need to copy all the others? |
#8 |
Senior Member
Volunteer Data File Contributor
Join Date: Jun 2010
Posts: 623
|
Quote:
An Elf Druid with Treesinger Archetype has the following tags: Druid's Hero Tags: no CompList tags and no AddCompLis tags. Animal Companion (Carnivorous Vine) Tags: no AddCompLis tags CompList.Treesinger tag is present When I change the AC to an Axe Beak without my Vanity present I get exactly the same tag configuration. |
|
#9 |
Senior Member
Volunteer Data File Contributor
Join Date: Jun 2010
Posts: 623
|
Ok, after a LONG time digging into this, I now know a great deal.
I got it to work and here is the code: Code:
Render/10000 ~ If there's no animal companion, there's nothing we can do doneif (hero.hasminion[AnimComp] = 0) ~ I'm not sure this is required, but I see people doing it as a test perform hero.childfound[cAnimComp].setfocus doneif (state.isfocus = 0) var n as string ~ CompList tags are a way to indicate classes which allow this AC ~ Search through all AC's foreach pick in hero from BaseCompan where "CompIs.cAnim?" n = eachpick.minion.findchild[BaseRace].idstring ~ This is an Axe Beak if (compare(n,"anAxeBeak") = 0) then ~ The CompList on the minion is for the class that gives this AC ~ Copy that tag to this Vanity perform eachpick.minion.pulltags[CompList.?] ~ The CompList on the race of the minion is who it requires. ~ Copy the CompList that gave this AC onto the BaseRace. ~ This effectively makes this allowed. perform eachpick.minion.findchild[BaseRace].pushtags[CompList.?] endif nexteach Last edited by risner; August 29th, 2013 at 08:04 PM. |
#10 |
|
|