Lone Wolf Development Forums  

Go Back   Lone Wolf Development Forums > Hero Lab Forums > HL - Pathfinder Roleplaying Game
Register FAQ Community Today's Posts Search

Notices

Reply
 
Thread Tools Display Modes
risner
Senior Member
Volunteer Data File Contributor
 
Join Date: Jun 2010
Posts: 623

Old August 28th, 2013, 10:12 AM
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&apos;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>
But nothing I've tried seems to work, and I've even hardcoded the test case into the script. I have a Treesinger (only gets 4 AC's) and choose Axe Beak, but I get a code error that AddCompLis.Treesinger isn't a valid tag.
risner is offline   #1 Reply With Quote
Kaleb
Senior Member
 
Join Date: Aug 2010
Posts: 576

Old August 28th, 2013, 11:38 AM
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.
Kaleb is offline   #2 Reply With Quote
Mathias
Senior Member
Lone Wolf Staff
 
Join Date: May 2005
Posts: 13,213

Old August 28th, 2013, 11:54 AM
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.
Mathias is online now   #3 Reply With Quote
risner
Senior Member
Volunteer Data File Contributor
 
Join Date: Jun 2010
Posts: 623

Old August 28th, 2013, 02:07 PM
Quote:
Originally Posted by Mathias View Post
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.
Hmm.
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.
risner is offline   #4 Reply With Quote
Mathias
Senior Member
Lone Wolf Staff
 
Join Date: May 2005
Posts: 13,213

Old August 28th, 2013, 02:26 PM
At First/497, I doubt that the CompList tags are on the hero yet.
Mathias is online now   #5 Reply With Quote
Mathias
Senior Member
Lone Wolf Staff
 
Join Date: May 2005
Posts: 13,213

Old August 28th, 2013, 02:27 PM
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.
Mathias is online now   #6 Reply With Quote
risner
Senior Member
Volunteer Data File Contributor
 
Join Date: Jun 2010
Posts: 623

Old August 28th, 2013, 08:00 PM
Quote:
Originally Posted by Mathias View Post
Are you certain that the <before> elements that you've chosen actually apply to your script?
No but I copied it from the Beast feat that adds Mammoths etc.

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.
risner is offline   #7 Reply With Quote
Mathias
Senior Member
Lone Wolf Staff
 
Join Date: May 2005
Posts: 13,213

Old August 29th, 2013, 06:56 AM
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?
Mathias is online now   #8 Reply With Quote
risner
Senior Member
Volunteer Data File Contributor
 
Join Date: Jun 2010
Posts: 623

Old August 29th, 2013, 06:43 PM
Quote:
Originally Posted by Mathias View Post
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?
For Example:
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.
risner is offline   #9 Reply With Quote
risner
Senior Member
Volunteer Data File Contributor
 
Join Date: Jun 2010
Posts: 623

Old August 29th, 2013, 08:02 PM
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.
risner is offline   #10 Reply With Quote
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -8. The time now is 07:58 AM.


Powered by vBulletin® - Copyright ©2000 - 2024, vBulletin Solutions, Inc.
wolflair.com copyright ©1998-2016 Lone Wolf Development, Inc. View our Privacy Policy here.