• Please note: In an effort to ensure that all of our users feel welcome on our forums, we’ve updated our forum rules. You can review the updated rules here: http://forums.wolflair.com/showthread.php?t=5528.

    If a fellow Community member is not following the forum rules, please report the post by clicking the Report button (the red yield sign on the left) located on every post. This will notify the moderators directly. If you have any questions about these new rules, please contact support@wolflair.com.

    - The Lone Wolf Development Team

Archetype adding abilities to Eidolon

frumple

Well-known member
I have an archetype that adds abilities to an Eidolon which I cannot seem to get to work.

The text is a follows:
Code:
A pyroclast’s eidolon begins with resist fire 10 and vulnerability to cold. 
This improves to resist fire 20 when the pyroclast reaches 5th level. 
A pyroclast’s eidolon gains the fire subtype and immunity to fire when he reaches 10th level. 
This ability permanently reduces the eidolon’s evolution pool by 1 point.

I can reduce the evolution pool easily as well as apply fire resistance. It is give the eidolon vulnerability to cold and immunity to fire that is the wrinkle.

Any ideas?
 
Ok. I have gone the mechanic route, but I cannot get it to work.

First question, mechanics are automatically set on every hero, including minions, correct?

Here is my code:
Code:
~ First 200
~ if we are not on a eidolon get out
doneif (hero.hasminion[Eidolon] + hero.hasminion[EidolonUnc] = 0)
doneif (this.isminion = 0)

~ get out if our parent does not have the pyroclast archetype
doneif (hero.parent.tagis[ClassVary.arPyroclas] = 0)

perform hero.assign[Custom.PyroEido]

~ check if our parent is 10th level or higher
if (hero.parent.tagcount[Classes.Summoner] >= 10) then
  perform assign[Custom.PyroEido2]
  endif

The tags are for bootstrap conditions on abilities I have bootstrapped to the mechanic.

For example,

Vulnerability to Cold has the condition
Code:
~First/250
hero#Custom.PyroEido

and the first subtype has
Code:
~ first/250
hero#Custom.PyroEido & hero#Custom.PyroEido2


From some debugging it looks like my script on the mechanic is not getting past the checkif we have the pyroclast archetype. Is this a timing issue? If so, what timing can you recommend so I can assign the tags properly for the bootstrap conditions?
 
Why not assign the tag to the Eidolon using the minion transition? Also the hero is not the parent, the hero is the master so if you're checking from the Eidolon to the hero its master not parent.
 
Ok. I have gone the mechanic route, but I cannot get it to work.

First question, mechanics are automatically set on every hero, including minions, correct?
Yes. The mechanic is always live unless you source marked it which I have gotten some funky results in the past doing that.

Here is my code:
Code:
~ get out if our parent does not have the pyroclast archetype
doneif (hero.parent.tagis[ClassVary.arPyroclas] = 0)
From some debugging it looks like my script on the mechanic is not getting past the checkif we have the pyroclast archetype. Is this a timing issue? If so, what timing can you recommend so I can assign the tags properly for the bootstrap conditions?
I would go its a timing issue as you are really early and archetype stuff does not happen into the Pre-levels I think.

I would just try childlives[] instead so you don't have to worry about tag script timing.
Code:
~ get out if our parent does not have the pyroclast archetype
doneif (master.childlives[arPyroclas] = 0)
 
Got it working.

Moved the script to the archetype's ability that grants these abilities and made use of the minion transition. The mechanic now just has the bootstraps with their bootstrap conditions.

Here is what I came up with
Code:
~ First 200

~ if don't have an eidolon get out
doneif (hero.hasminion[Eidolon] + hero.hasminion[EidolonUnc] = 0)

~ get out if we do not have the pyroclast archetype
doneif (hero.childlives[arPyroclas] = 0)

~ get out if the pyroclast's born to fire ability is disabled 

doneif (hero.childfound[cPyrBoundF].tagis[Helper.SpcDisable] <> 0)

~ assign first tag
if (hero.hasminion[EidolonUnc] <> 0) then
  perform hero.minion[EidolonUnc].assign[Custom.PyroEido]
else
  perform hero.minion[Eidolon].assign[Custom.PyroEido]
endif

~ now for level depenand benifits

if (hero.tagcount[Classes.Summoner] >= 10) then
  if (hero.hasminion[EidolonUnc] <> 0) then
    perform hero.minion[EidolonUnc].assign[Custom.PyroEido2]
    perform hero.minion[EidolonUnc].delete[Value.?]
    hero.minion[EidolonUnc].child[xDamRsFire].field[abValue].value = 0
  else
    perform hero.minion[Eidolon].assign[Custom.PyroEido2]
    perform hero.minion[Eidolon].delete[Value.?]
    hero.minion[Eidolon].child[xDamRsFire].field[abValue].value = 0
    endif

elseif (hero.tagcount[Classes.Summoner] >= 5) then
  if (hero.hasminion[EidolonUnc] <> 0) then
    hero.minion[EidolonUnc].child[xDamRsFire].field[abValue].value = maximum(20,hero.minion[EidolonUnc].child[xDamRsFire].field[abValue].value)
  else
    hero.minion[Eidolon].child[xDamRsFire].field[abValue].value = maximum(20,hero.minion[Eidolon].child[xDamRsFire].field[abValue].value)
    endif

else
  if (hero.hasminion[EidolonUnc] <> 0) then
    hero.minion[EidolonUnc].child[xDamRsFire].field[abValue].value = maximum(10,hero.minion[EidolonUnc].child[xDamRsFire].field[abValue].value)
  else
    hero.minion[Eidolon].child[xDamRsFire].field[abValue].value = maximum(10,hero.minion[Eidolon].child[xDamRsFire].field[abValue].value)
    endif

  endif

Originally I tired to set focus to the Eidolon or unchained eidolon with perform hero.minion[XXX].setfocus, but Hero lab didn't seem to like that.
 
Focus can only be set to a pick. hero.minion[] takes you to a container (specifically, the hero context of the minion), not a pick, so you can't set a focus unless you transition from that container context to a pick context. For example

Code:
perform hero.minion[EidolonUnc].child[xDamRsFire].setfocus

should work.
 
Back
Top