Lone Wolf Development Forums  

Go Back   Lone Wolf Development Forums > Hero Lab Forums > HL - d20 System
Register FAQ Community Today's Posts Search

Notices

Reply
 
Thread Tools Display Modes
Bluephoenix
Member
 
Join Date: Nov 2010
Posts: 70

Old December 3rd, 2010, 07:43 PM
Quote:
Originally Posted by risner View Post
Couldn't you ReplaceID something in the minion that checked a tag on the master and if so, performed the task?
still would require modifiying the minion code.

the inherent problem is that the script to add the familiar bonuses to the animal companion has to come from the PrC, but target the animal companion minion.

really all I need is a way to assign the minion a template inside a script on the master. (sort of like adding properties to a weapon pick) I cannot do anything directly on the minion because it is auto-generated from the code and not something I can modify in user files.
Bluephoenix is offline   #11 Reply With Quote
risner
Senior Member
Volunteer Data File Contributor
 
Join Date: Jun 2010
Posts: 623

Old December 3rd, 2010, 08:07 PM
Quote:
Originally Posted by Bluephoenix View Post
still would require modifiying the minion code.
It might be because I don't know what I'm doing.

But why couldn't you modify cAnimClass found in source/srd_minions.dat with a script using ReplaceID to replace cAnimClass with your script. So your script gets bootstrapped into the minion instead of cAnimClass and from there check things in the master and modify accordingly?

It appears to be loaded by the minion:
<thing
id="cAnimClass"
name="Animal Companion"
compset="CompClHelp"

Ok cAnimClass is on the hero, but cAnimComp contains the minion that is created.
I replace id on cAnimComp, and added a bootstrap to Immunity to Disease on the minion.
So when I created a badger AC, it had immunity to disease bootstrapped.

So you can make code to modify the behaviour, the only caveat is you can't do it inside the editor.
You must hand craft the xml code by making things in the editor and then copying and pasting it.

Here is the example:
http://heathers.stdio.com/~risner/Min.user

Last edited by risner; December 3rd, 2010 at 08:52 PM.
risner is offline   #12 Reply With Quote
Bluephoenix
Member
 
Join Date: Nov 2010
Posts: 70

Old December 4th, 2010, 10:04 AM
Quote:
Originally Posted by risner View Post
It might be because I don't know what I'm doing.

But why couldn't you modify cAnimClass found in source/srd_minions.dat with a script using ReplaceID to replace cAnimClass with your script. So your script gets bootstrapped into the minion instead of cAnimClass and from there check things in the master and modify accordingly?

It appears to be loaded by the minion:
<thing
id="cAnimClass"
name="Animal Companion"
compset="CompClHelp"

Ok cAnimClass is on the hero, but cAnimComp contains the minion that is created.
I replace id on cAnimComp, and added a bootstrap to Immunity to Disease on the minion.
So when I created a badger AC, it had immunity to disease bootstrapped.

So you can make code to modify the behaviour, the only caveat is you can't do it inside the editor.
You must hand craft the xml code by making things in the editor and then copying and pasting it.

Here is the example:
http://heathers.stdio.com/~risner/Min.user
the big problem is that if I modify the base minion, that cannot be pushed out as part of our datafiles.

when lonewolf created the base SRD datafiles it has a sort of "self check" to make sure that everything is as it should be with the base version, flags them as read only to the editor, and are checked on launch for changes.

also, if I add to the base minion i risk breaking much more than the single PrC I'm dealing with, and keeping the code isolated is simply good practice.
Bluephoenix is offline   #13 Reply With Quote
risner
Senior Member
Volunteer Data File Contributor
 
Join Date: Jun 2010
Posts: 623

Old December 4th, 2010, 04:33 PM
Quote:
Originally Posted by Bluephoenix View Post
the big problem is that if I modify the base minion, that cannot be pushed out as part of our datafiles.
I think I'm confused.

I worked up a ReplaceID version of the Animal Companion code, that worked. It was able to modify the minion, but didn't change any of the files in HeroLab. It only used one .user file. Like you said, that user file showed as blank when loaded into the editor. But it successfully compiled and replaced the base SRD code.

Maybe you are opposed to doing something like this. If so, that is fine and I understand it. I guess I was just suggesting a way to inject code into the minion, in a way that would work.
risner is offline   #14 Reply With Quote
Sendric
Senior Member
 
Join Date: Jul 2010
Posts: 3,147

Old December 5th, 2010, 01:56 PM
I think there's some confusion here.

BluePhoenix, he's not suggesting changing the animal companions. You can use the replace ID to change code for all the companions that would allow you to automatically add the template. This would remain in effect regardless of updates from HL.
Sendric is offline   #15 Reply With Quote
Bluephoenix
Member
 
Join Date: Nov 2010
Posts: 70

Old December 5th, 2010, 03:30 PM
Quote:
Originally Posted by Sendric View Post
I think there's some confusion here.

BluePhoenix, he's not suggesting changing the animal companions. You can use the replace ID to change code for all the companions that would allow you to automatically add the template. This would remain in effect regardless of updates from HL.
ah, I see

had to shelve this project and any other Hl stuff for the moment, rough month at work (everyone seems to have simultaneously lost their minds)
Bluephoenix is offline   #16 Reply With Quote
Lawful_g
Senior Member
Volunteer Data File Contributor
 
Join Date: Mar 2007
Posts: 1,245

Old December 5th, 2010, 10:07 PM
Sorry to hear that. While wandering through the pathfinder stuff I might have found some useful code for anyone attempting this. It is from the Favored Class Option: Half-Orc Ranger:

~ If there's no Companion, there's nothing we can do
doneif (hero.hasminion[AnimComp] = 0)

hero.minion[AnimComp].child[Totals].field[tHP].value += field[abValue].value

The important bit is the "hero.minion[AnimComp].child[]" which allows your Eval script on the hero (for example a feat or class special) to affect things on the animal companion "minion".

I think anyway, haven't tested it myself and I did find it in Pathfinder, so it might rely on something not yet added to d20. Just thought I would put it out there.
Lawful_g is offline   #17 Reply With Quote
Sendric
Senior Member
 
Join Date: Jul 2010
Posts: 3,147

Old January 9th, 2014, 10:29 AM
Quote:
Originally Posted by risner View Post
It might be because I don't know what I'm doing.

But why couldn't you modify cAnimClass found in source/srd_minions.dat with a script using ReplaceID to replace cAnimClass with your script. So your script gets bootstrapped into the minion instead of cAnimClass and from there check things in the master and modify accordingly?

It appears to be loaded by the minion:
<thing
id="cAnimClass"
name="Animal Companion"
compset="CompClHelp"

Ok cAnimClass is on the hero, but cAnimComp contains the minion that is created.
I replace id on cAnimComp, and added a bootstrap to Immunity to Disease on the minion.
So when I created a badger AC, it had immunity to disease bootstrapped.

So you can make code to modify the behaviour, the only caveat is you can't do it inside the editor.
You must hand craft the xml code by making things in the editor and then copying and pasting it.

Here is the example:
http://heathers.stdio.com/~risner/Min.user
I used your script today, Risner. Just wanted to say thanks for keeping it around.
Sendric is offline   #18 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 08:28 AM.


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