Lone Wolf Development Forums

Lone Wolf Development Forums (http://forums.wolflair.com/index.php)
-   HL - User Projects (http://forums.wolflair.com/forumdisplay.php?f=55)
-   -   Pathfinder Community Standards.... (http://forums.wolflair.com/showthread.php?t=51777)

ShadowChemosh January 2nd, 2015 11:08 AM

Pathfinder Community Standards....
 
I wanted a new thread to storing information about standards for any of the Pathfinder community packs. For full info see THIS link for details. This is a work in progress thread.

Something important that will be happening going forward is the use of Github repository for ALL packs. (For GitHub setup using SourceTree Please read THIS pdf.) This provides such a better interface for changes with multiple editors that it is just becoming mandatory. This is real source control for our XML files. :)

At the same time if a person wants to submit a single small file or change I will be happy to do it. But all major editors or new ones that plan to work with the packs allot need to learn github. I recommend also using SourceTree if you are on windows 7 or Mac. There's also Smartgit which works on pre windows 7 machines.
Update: GitHub Desktop software is VERY nice and free. Seems to be easier to work with and works perfectly with GitHub.

I will also keep links to the different GitHub repositories so that the people can find them easily. Also for anyone crazy enough to want to try out "beta" versions of the software they could download the files. Just don't expect any support for them if they don't work.

ShadowChemosh January 2nd, 2015 11:10 AM

Github Repository Links

For GitHub setup using SourceTree Please read THIS pdf.

ShadowChemosh February 15th, 2015 12:17 PM

Tips and Tricks for Community Packs

1) Dealing with the Basic Pack inside of the other Packs
I just remembered I left something out of the pdf document. The ignore list for each "Pack" above will ignore any file from the Basic Pack. But to be able to have Pathfinder load the 3PP Pack it requires the Basic Pack.

So you should setup the Basic Pack repository into its own folder. Then do sync of the latest files. Then "Copy" the COM_ files from the Basic Pack folder over to the folder holding your 3PP Local Repository.

Its one extra step but really lets us reuse allot features in multiple Packs. In example when we start to do the Psionic Bestiary the GM Pack monster things that Frumple has created are going to be very useful. I have already moved his Disease helpers into the Basic Pack for this reason.

2) Source Page Number and Source Book Information for Classes/Archetypes.
So I see editors are correctly filling in "Source Page Number" but the "Source Book Information" field does not show in the editor. You have to manually fill in "srcBookInf" value using the "Fields" blue button at the top right for each class. Without this the page number info will not display on print outs.

3) Correctly Aligning scripts?
See THIS post for details.

4) Why are Foreach loops bad and we shouldn't use them?
See THIS post for full details.

5) If you are a regular editor please setup instant notifications for this thread.
To all "Editors" please setup yourself up to get "Instant Notifications" from this thread. So that any "announcements" I do you see. So how do you do that? Do a new post to this thread and scroll down to "Notification Type:" section. And pick "Instant Email notification".

6) Which "Things" should be source marked and which ones should not be?
A: You should be Source Marking anything that is visible to be selected by a gamer. So the Things that should not be source marked are "Racial Specials" and "Class Specials". "Abilities" are sometimes source marked and sometimes no. In example if you add a new "DR" ability that should NOT be source marked and it should be in placed in the Basic Pack even. If you add an Ability to support a specific feat or Thing then you can feel free to source mark it.
NOTE: ALL THINGS must be product ID marked to the "HL Community" please. No Exception to this rule!

7) When doing a Pre-Req for validation script for Feats how do I check for level?
A: At the minimum you should be using #featlevelcount[] instead of #levelcount[]. This allows classes that "Count As" the class to select these feats still. For some of the 3PP stuff like Ultimate Psionics you should be calling a procedure like so:
Code:

var classcheck as string
var levels as number
classcheck = "Cryptic"
call PUPreReqs
validif (levels >= 6)

8) How to delete or remove a Thing from a Pack?
A: We don't ever "delete" something from a Pack. If it went live at some point with this 'Thing ID' we need to deprecate it NOT delete it. Deleting can break the Pack or guaranteed to cause someones character to toss errors about a Missing Thing. Then I have get emails, PMs, Message Posts about the error. Meaning it causes me time to "support" this. :(

What we want to do is add the Thing ID to the *HIDDEN tab and then move the XML into the file called "- Deprecated Things.user". If a Pack does not have this yet then create it new.

9) How to use a Generic Class Ability script that works for 95% of all Class Abilities.
A: Please see THIS post.

ShadowChemosh February 15th, 2015 12:25 PM

Psionics Notes:
- ML values on the class are being set at Post-Attributes/10000: cMagicLev & cCasterLev & Hero.Manifester

ShadowChemosh February 15th, 2015 12:26 PM

I finally got sometime and setup a instruction pdf for GitHub and the community repository for Pathfinder. Please read THIS pdf. Hopefully while not perfect gets across all the important information. So please take a spin at it and let me know.

Thanks!

TCArknight February 15th, 2015 03:17 PM

Was there a list of what packages were in what repository? :)

If I wanted to work on just the Ultimate Psionics, which repository would it be?

TC

ShadowChemosh February 15th, 2015 03:53 PM

Quote:

Originally Posted by TCArknight (Post 203856)
Was there a list of what packages were in what repository? :)

If I wanted to work on just the Ultimate Psionics, which repository would it be?

TC

In this case it's the 3PP pack as it contains all the 3PP stuff now. The main sticky thread in the pathfinder forums breaks down the Packs. But I tried to be logical. :)

ShadowChemosh February 15th, 2015 04:00 PM

I just remembered I left something out of the pdf document. The ignore list for each "Pack" above will ignore any file from the Basic Pack. But to be able to have Pathfinder load the 3PP Pack it requires the Basic Pack.

So TCArknight you should setup the Basic Pack repository into its own folder. Then do sync of the latest files. Then "Copy" the COM_ files from the Basic Pack folder over to the folder holding your 3PP Local Repository.

Its one extra step but really lets us reuse allot features in multiple Packs. In example when we start to do the Psionic Bestiary the GM Pack monster things that Frumple has created are going to be very useful. I have already moved his Disease helpers into the Basic Pack for this reason.

Hopefully this all makes sense. :)

ShadowChemosh February 15th, 2015 04:03 PM

Also FYI for everyone is that the list of Known Issues/Bugs/feature requests are in GitHub on the "Issues" tab. In example the list of issues for the 3PP Pack can be found HERE. When inputting bugs I tried to make sure we put the name of the individual book it is for as the 3PP holds lots of different books now.

TCArknight February 16th, 2015 06:33 AM

One standard I would like to ask about, and this may be a general coding one.

When for example, the 7th level Enhanced Mind Blade (+3) class ability is replaced, does the next instance remain the +4, or should it become the +3 and increment from there?

nullPointer February 16th, 2015 06:37 AM

I would think (rules wise) that it would be the latter
Simply put, the 7th level ability is actually "Enhance Mind Blade +1", which would put it to +3
This way it'll work with Gestalt too, or with other classes or feats which may raise Mind Blade in the future

ShadowChemosh February 16th, 2015 10:31 AM

Quote:

Originally Posted by TCArknight (Post 203878)
One standard I would like to ask about, and this may be a general coding one.

When for example, the 7th level Enhanced Mind Blade (+3) class ability is replaced, does the next instance remain the +4, or should it become the +3 and increment from there?

So current script logic is:
Code:

<eval phase="Final" priority="10000"><![CDATA[
field[abValue].value += field[xCount].value
field[livename].text = "Enhanced Mind Blade +" & field[abValue].value
field[abSumm].text = "You can enhance your Mind Blade with a total enhancement bonus of +" & field[abValue].value & "."
field[listname].text = "Enhanced Mind Blade +" & field[xIndex].value]]></eval>

The above I never noticed is a little off as it has no stop logic. Here is the "basic" class script I always start from and it should run at Post-Levels/10000 not final. Final is WAY too late to do any testing actually. What if we need to know what "Plus" we are at from other scripts. Currently we would be running so late we couldn't do much with that Plus value.
Code:

~Set the list name
field[listname].text = field[thingname].text & " " & signed(field[xIndex].value)

~ If we're not shown, just get out now
doneif (tagis[Helper.ShowSpec] <> 1)
~ if we've been disabled, get out now
doneif (tagis[Helper.SpcDisable] <> 0)

field[abValue].value += field[xCount].value
field[livename].text = field[thingname].text & " " & signed(field[abValue].value)

With the above logic in place the the "live" version of cSknEnhMB will always be the most "current" and accurate version.

Does that answer the question?

psych777 February 16th, 2015 01:29 PM

1 Attachment(s)
so trying to follow along with the pdf to work with github, i cleared out what i had done before and created a new folder like the pdf described. i installed pathfinder in the new folder and then installed the 3PP pack. after configuring in SourceTree when i try to pull down the files in SourceTree i get the following message:

git -c diff.mnemonicprefix=false -c core.quotepath=false fetch origin
From https://github.com/shadowchemosh/HL-Pack-3PP
* [new branch] master -> origin/master

* [new tag] v1.0 -> v1.0
* [new tag] v1.1 -> v1.1
* [new tag] v1.2 -> v1.2
* [new tag] v1.4 -> v1.4

git -c diff.mnemonicprefix=false -c core.quotepath=false pull origin master
From https://github.com/shadowchemosh/HL-Pack-3PP
* branch master -> FETCH_HEAD

error: Untracked working tree file 'COM_3PPPack - Helper Things.user' would be overwritten by merge.

Completed with errors, see above.

-------
in the tab in the middle i see no branch...added screenshot...

is this because i didn't setup the basic pack and copy the COM files over as i see you just posted a couple posts ago? or did i do something else wrong?

ShadowChemosh February 16th, 2015 02:08 PM

@psych777 So please "unstage" all those objects you have staged as those are the "LW" Files which we don't want. You have 1,885 files staged to be PUSHED to GitHub.

Wwhat the message is saying is that you already have a file named "COM_3PPPack - Helper Things.user" in the local folder already. So sourcetree does not know what to do about it. Are you sure you are pointing to the new "fresh" Folder? I can't tell from the picture. Double check that your Local Repository is the new clean folder.

ShadowChemosh February 16th, 2015 02:13 PM

I hate to ask this but when you guys are doing the new scripts or making changes can we "line" up the scripts please. I spent allot of time aligning them in the XML. If you ever opened a script done by LW you will see the code is RIGHT justified like so:

Code:

    field[abValue].value += field[xCount].value
    field[livename].text = "Enhanced Mind Blade +" & field[abValue].value
    field[abSumm].text = "You can enhance your Mind Blade with a total enhancement bonus of +" & field[abValue].value & "."
    field[listname].text = "Enhanced Mind Blade +" & field[xIndex].value

The reason is so that it lines up correctly when you view it in RAW XML.

Take a look at this LINK on GitHub you can see the scripts where just changed (in green) and they are now left justified instead of where you can see the old "red" code was right justified. :(

Ok I am probably being a little "OCD" on this but it just looks so much nicer when viewed in XML. :)

psych777 February 16th, 2015 02:38 PM

1 Attachment(s)
ah ha!

yeah i had clicked on the staged trying to see if that would fix things. unchecked them. then realized my mistake from what you mentioned, i had actually installed the 3pp pack on the new folder through herolab, which downloads a set of the files. so uninstalled the third party pack and redid the pull and looks just fine now

about the right justified. is it just some spaces you put in before the code? how many?

ShadowChemosh February 16th, 2015 02:52 PM

Quote:

Originally Posted by psych777 (Post 203902)
ah ha!

yeah i had clicked on the staged trying to see if that would fix things. unchecked them. then realized my mistake from what you mentioned, i had actually installed the 3pp pack on the new folder through herolab, which downloads a set of the files. so uninstalled the third party pack and redid the pull and looks just fine now

Sweet that looks much better! :)

Quote:

Originally Posted by psych777 (Post 203902)
about the right justified. is it just some spaces you put in before the code? how many?

In the editor the first character should align with the first character for the Priority and you would add one "blank" line first.. I can get a picture/example once I get home.

In the XML it looks like this:
Code:

<eval phase="PostLevel" priority="10000"><![CDATA[
  ~ If we're disabled, do nothing
  doneif (tagis[Helper.FtDisable] <> 0)
  ~ If we have not chosen then get out now
  doneif (field[usrChosen1].ischosen <> 1)
  var iX as number
  ~ Calculate the array value which is class level minus one
  ~ as we start at zero
  iX = field[usrChosen1].chosen.field[cTotalLev].value - 1
  ~ Increase class ready number by one
  field[usrChosen1].chosen.field[cKnowTot].matrixvalue[iX,1] += 1
  ]]></eval>

The first character aligned with the "v" in the word <eval. Following LW standards indenting should always be "two" characters:

Code:

If (1 = 1) then
  ~ do something
Endif

My only thing is you will see LW use this standard where they line up the 'endif' with the indented code:
Code:

If (1 = 1) then
  ~ do something
  Endif

Personally I think that is outdated and hard to read. So I never do that unless I am giving something to LW to add officially.

So pretty much just asking that we "try" and keep things consistent. So if you want to use three spaces to indent that is fine. But always use three spaces then. :)

I won't actually "do" code reviews but if you see me push changes to GitHub with a comment of "align scripts" you will know what I am doing. ;)

psych777 February 16th, 2015 02:58 PM

yeah the endif being indented has really made me struggle when reading some of the code examples lol

ShadowChemosh February 16th, 2015 03:52 PM

So "foreach" loops. Want to talk about them for a minute here. I would like people to consider Foreach loops the MOST EVIL thing ever invented! In other words they should be the "LAST" type of script we write instead of the first type of script we write.

The reason you ask? Good question. The amount of CPU it takes is massive. Apply this onto the iPads or a small windows tablet and it will BURN through the battery or simply cause the iPad to close. Then I get nasty grams from gamers say how the "Community" stuff broke the iPad.

In a small way they are right because we use far too many foreach loops to solve problems. :( They are everywhere in almost every script.

So here is an example. Sorry I just saw this posted to GitHub and its the perfect situation to talk about:

The ability is trying to give Mind Blades the Agile special ability.
A nimble blade of 7th level treats his mind blade as if it had the agile weapon special ability. This does not count toward the nimble blade’s mind blade’s enhancement bonus. This replaces the mind blade enhancement increase gained at 7th level.

We see the code is doing a Foreach loop to find all the mind blades.
Code:

<eval phase="PostLevel" priority="10000"><![CDATA[
  ~ If the hero doesn't have this ability, ignore the following.
  doneif (tagis[Helper.ShowSpec] = 0)

  foreach pick in hero from BaseWep where "IsWeapon.wMindBlade"
    perform eachpick.assign[DamageOpt.aDEX]
  nexteach
  ]]></eval>

In this case we have access to all the "Things" that make up the Mind Blade weapon. What we should be doing instead is setting a bootstrap of the "Agile" Item Power onto each Mind Blade weapon. Then setting a bootstrap condition that says if it finds the "MindBlade.Agile" tag on the hero then allow the bootstrap for Agile to work. So this means the "agile" text will get displayed on the Mind blade and no foreach loop required.

In matter of fact the above script simply becomes:
Code:

<eval phase="First" priority="100"><![CDATA[
  ~we're earlier than the normal test for whether we've reached the correct level, so we'll recreate that test here
  doneif (root.linkage[varies].field[cTotalLev].value + field[xExtraLev].value + field[xEffectLev].value < tagvalue[ClSpecWhen.?])

  ~ Set agile tag onto the hero
  perform hero.assign[MindBlade.Agile]
  ]]></eval>

If we don't want to deal with "Bootstrap" conditions we could instead set this script on to the Mind Blade weapon:
Code:

~ Pre-levels/10000
~ If we should have the Agile weapon property give Dex to damage
if (hero.tagis[MindBlade.Agile] = 1) then
  assign[DamageOpt.aDEX]
endif

Then the above argument could be made that we have 4 mind blade weapons so we would have to add the above script "four" times. What if something in the future changes then we have to adjust four scripts. Ah well this is why they invented Procedures. A procedure which can now easily be seen and worked with in the editor "General->*Procedures" allows you to write the script "ONE" time and call it from all the mind blades. If in the future we need to change or enhance the script we do it in one place.

You will find all current procedures for Psionics in "COM_3PPPack_UltimatePsionics - Procedures.user". If you look HERE you will see we already have a procedure designed to run at Pre-Levels/10000 called SetMindBl. So really the last script just needs to be added to the SetMindBl procedure and no "Foreach" loop needed.

Asandir February 16th, 2015 06:47 PM

Ok, I am going to ask some of the proverbial dumb questions here.

1) I got both the basic and the 3PP directories setup using new installations of Herolab. So the files I have created in another directory, can I just copy those new ones over that I have created into the new Github linked 3PP directory on my machine?

2) Since I am now adding new "books" I presume I am supposed to also edit the relevant .1st file correct?

3) Also, is there a file I should be editing to reflect the changes I have made/submitted?

4) Also on the data files, should I be adding something, checking something to denote Herolab community sets?

ShadowChemosh February 16th, 2015 07:19 PM

Another "FYI" that just came up. Make sure you have your Game Systems setup to use only the allowed official Packages the Packs can support. The allowed official licenses is listed on THIS page.

But you say you own more than those licenses. Hey no problem there is actually an easy way to setup a Pack so that it only uses specific licenses. Start your 3PP Pack pathfinder game and go to "Develop->Choose Supplement Packages...". Then on the new window you get to select which books are allowed. For the 3PP Pack you would only check mark: Advanced Players Guide, Ultimate Combat, and Ultimate Magic. HL will ask you to restart and you say "yes". And now this game system will only have those Three Licenses running. So you won't see anything else. :)

ShadowChemosh February 16th, 2015 07:37 PM

Quote:

Originally Posted by Asandir (Post 203917)
Ok, I am going to ask some of the proverbial dumb questions here.

No dumb questions. I am happy to answer them all as the more info I can give you guys the easier this all becomes for us all. ;)

Quote:

Originally Posted by Asandir (Post 203917)
1) I got both the basic and the 3PP directories setup using new installations of Herolab. So the files I have created in another directory, can I just copy those new ones over that I have created into the new Github linked 3PP directory on my machine?

If the files are "brand" new and do not exist in GitHub then yes simply copy the files over. Make sure they are in the new naming convention and SoureTree will detect them as "new" files.

If these files already exist you have to be careful as you could "wipe" out others work. In example if I added a FeatA to the .user file and your .user file does not have FeatA and you drop in your file FeatA will be detected as being deleted. :(

Quote:

Originally Posted by Asandir (Post 203917)
2) Since I am now adding new "books" I presume I am supposed to also edit the relevant .1st file correct?

Assuming these are SGG/RGG books then yes you will need to add the new book as a source in the COM_Source_210 - Rogue Genius Games.1st file. Simply copy an existing one and make the changes to the name and the Unique ID. Going forward I would really like to have the Source IDs start with "src" all lower case. In example like THIS one. I love I can just point to the exact line of a file on github. :)

Quote:

Originally Posted by Asandir (Post 203917)
3) Also, is there a file I should be editing to reflect the changes I have made/submitted?

Yes each Pack has a "release notes" file setup. For the 3PP Pack it is named "COM_3PPPack - Release Notes.user". The layout is actually in HTML so please duplicate the format exactly please. It allows me to easily update all the places I need to.

If you don't feel comfortable updating HTML then simply make sure your "Commit Notes" that you must enter into SourceTree are complete and accurate. I can easily grab those notes from GitHub from all the commits done and build the Release Notes from that. I am good with either method.

Quote:

Originally Posted by Asandir (Post 203917)
4) Also on the data files, should I be adding something, checking something to denote Herolab community sets?

Please make sure all the "Thing ID's" have a two digit extra character. I think for the SGG/RGG we had started to use "SG". But we also update the "Product Identity For..." with "Hero Lab Community". This is especially true for Class Specials and Racial Specials as those Things should never have Sources attached to them. This allows others to reuse those Specials if we need to.

psych777 February 17th, 2015 04:04 AM

okay...a lil confused now. so after i removed the 3PP with manage third party addons, and did the sourcetree pull, i launch herolab now pointing at that alternate folder and get these errors:

The data files could not be loaded due to errors. Hero Lab will now attempt to load them in recovery mode. Once loaded, you can access the editor as normal to correct any errors.

The following errors occurred:

Syntax error in 'eval' script for Thing 'cPUUncPatt' (Eval Script '#1') on line 3
-> Non-existent thing 'xPwrRes' used by script
Syntax error in 'eval' script for Thing 'cPwrResist' (Eval Script '#1') on line 11
-> Non-existent thing 'xPwrRes' used by script
'pre-requisite rule' script for Thing 'fMAlrmFld' calls a non-existent procedure for the active script context
'pre-requisite rule' script for Thing 'fMAnchrdFl' calls a non-existent procedure for the active script context
'pre-requisite rule' script for Thing 'fMAntiSpec' calls a non-existent procedure for the active script context
'pre-requisite rule' script for Thing 'fMArcMssle' calls a non-existent procedure for the active script context
'pre-requisite rule' script for Thing 'fMBlndMssl' calls a non-existent procedure for the active script context
'pre-requisite rule' script for Thing 'fMCmtStrke' calls a non-existent procedure for the active script context
'pre-requisite rule' script for Thing 'fMCndFld' calls a non-existent procedure for the active script context
'pre-requisite rule' script for Thing 'fMCvrShld' calls a non-existent procedure for the active script context
'pre-requisite rule' script for Thing 'fMDeflArmr' calls a non-existent procedure for the active script context
'pre-requisite rule' script for Thing 'fMElmntlSh' calls a non-existent procedure for the active script context
'pre-requisite rule' script for Thing 'fMEnvEffct' calls a non-existent procedure for the active script context
'pre-requisite rule' script for Thing 'fMFerryman' calls a non-existent procedure for the active script context
'pre-requisite rule' script for Thing 'fMFrcShldn' calls a non-existent procedure for the active script context
'pre-requisite rule' script for Thing 'fMFryWrth' calls a non-existent procedure for the active script context
'pre-requisite rule' script for Thing 'fMHaloStar' calls a non-existent procedure for the active script context
'pre-requisite rule' script for Thing 'fMHgMgArm' calls a non-existent procedure for the active script context
'pre-requisite rule' script for Thing 'fMImbdFrce' calls a non-existent procedure for the active script context
'pre-requisite rule' script for Thing 'fMImplsn' calls a non-existent procedure for the active script context
'pre-requisite rule' script for Thing 'fMLgndMssl' calls a non-existent procedure for the active script context
'pre-requisite rule' script for Thing 'fMLorePale' calls a non-existent procedure for the active script context
'pre-requisite rule' script for Thing 'fMMArmProp' calls a non-existent procedure for the active script context
'pre-requisite rule' script for Thing 'fMPrsrMssl' calls a non-existent procedure for the active script context
'pre-requisite rule' script for Thing 'fMRctvShld' calls a non-existent procedure for the active script context
'pre-requisite rule' script for Thing 'fMRebirth' calls a non-existent procedure for the active script context
'pre-requisite rule' script for Thing 'fMShSpBsh' calls a non-existent procedure for the active script context
'pre-requisite rule' script for Thing 'fMShkwve' calls a non-existent procedure for the active script context
'pre-requisite rule' script for Thing 'fMShldProp' calls a non-existent procedure for the active script context
'pre-requisite rule' script for Thing 'fMShpMArm' calls a non-existent procedure for the active script context
'pre-requisite rule' script for Thing 'fMSlckArm' calls a non-existent procedure for the active script context
'pre-requisite rule' script for Thing 'fMSlflsRes' calls a non-existent procedure for the active script context
'pre-requisite rule' script for Thing 'fMSpndFld' calls a non-existent procedure for the active script context
'pre-requisite rule' script for Thing 'fMSummArm' calls a non-existent procedure for the active script context
'pre-requisite rule' script for Thing 'fMTrgMssl' calls a non-existent procedure for the active script context
'pre-requisite rule' script for Thing 'fMTwrShSp' calls a non-existent procedure for the active script context
'pre-requisite rule' script for Thing 'fMWllEmnt' calls a non-existent procedure for the active script context
'pre-requisite rule' script for Thing 'fMWtchArm' calls a non-existent procedure for the active script context
'pre-requisite rule' script for Thing 'fSWFLrgSp' calls a non-existent procedure for the active script context
'pre-requisite rule' script for Thing 'fSWFSpArc' calls a non-existent procedure for the active script context
'pre-requisite rule' script for Thing 'fSWFSpArsn' calls a non-existent procedure for the active script context
'pre-requisite rule' script for Thing 'fSWFSpArsn' calls a non-existent procedure for the active script context
'pre-requisite rule' script for Thing 'fSWFSpShth' calls a non-existent procedure for the active script context
'pre-requisite rule' script for Thing 'fSWFSpSpec' calls a non-existent procedure for the active script context
'pre-requisite rule' script for Thing 'fSWF2SpFgt' calls a non-existent procedure for the active script context
Syntax error in 'eval' script for Thing 'ioPUCrnCry' (Eval Script '#1') on line 8
-> Non-existent thing 'xPwrRes' used by script
Syntax error in 'eval' script for Thing 'raPUPwrRes' (Eval Script '#1') on line 11

Asandir February 17th, 2015 05:28 AM

Quote:

Originally Posted by ShadowChemosh (Post 203921)
No dumb questions. I am happy to answer them all as the more info I can give you guys the easier this all becomes for us all. ;)

Please make sure all the "Thing ID's" have a two digit extra character. I think for the SGG/RGG we had started to use "SG". But we also update the "Product Identity For..." with "Hero Lab Community". This is especially true for Class Specials and Racial Specials as those Things should never have Sources attached to them. This allows others to reuse those Specials if we need to.

Ok. I think I have made all the changes discussed, so I am going to try to push up just one file this morning. I'm not yet comfortable with the Release notes file, so I will leave that to you if you don't mind. But I think I have everything else covered. So here goes....

ShadowChemosh February 17th, 2015 10:22 AM

Quote:

Originally Posted by psych777 (Post 203932)
okay...a lil confused now. so after i removed the 3PP with manage third party addons, and did the sourcetree pull, i launch herolab now pointing at that alternate folder and get these errors:

The data files could not be loaded due to errors. Hero Lab will now attempt to load them in recovery mode. Once loaded, you can access the editor as normal to correct any errors.

So my bad if I was not very clear. But all other "Packs" are "built" upon the logic that is in the Basic Pack. But in GitHub I have the data files separated.

So you need to make sure you setup the "Basic Pack" also in it's own "fresh" folder in SourceTree. Then after you pull down the "latest" Basic files you have to open up the data folder and copy all the "COM_" files over to the folder holding the 3PP Pack.

I know this one step sucks but it really makes things easier to manage on my end. I am looking into a thing on GitHub about "shared" repository where SourceTree maybe able to keep the files from the Basic Pack merged in on its own but won't allow you to change any of the files from the Basic Pack. But I have not gotten this figured out yet.

Assuming "windows" environment as I don't know Macs. You end up with two folders:
C:\ProgramData\HeroLab\data\Pathfinder_Pack_Basic
and
C:\ProgramData\HeroLab\data\Pathfinder_Pack_3PP
So you copy the COM_*.* files from the Pathfinder_Pack_Basic folder to the Pathfinder_Pack_3PP folders. SourceTree is setup to Ignore the Basic Pack files so it will NOT ask you to push these files to GitHub.

So you need to "manually" copy over the latest Basic Files. For myself I setup in windows a short cut in the "Send To" feature so I can just highlight all the files and then "Send To" the 3PP Pack.

ShadowChemosh February 17th, 2015 10:23 AM

Quote:

Originally Posted by Asandir (Post 203935)
Ok. I think I have made all the changes discussed, so I am going to try to push up just one file this morning. I'm not yet comfortable with the Release notes file, so I will leave that to you if you don't mind. But I think I have everything else covered. So here goes....

That all works! Its a little different at first if you are not use to use a Source Code repository but I am confident everyone will get the hang of it in short order. And it SO makes things easier and better to work with then trying to do this in Dropbox. :)

psych777 February 17th, 2015 11:58 AM

excellent. the manual copy over of the files worked. :)

psych777 February 17th, 2015 12:37 PM

now i'm just frustrated...now i'm getting this error:

The data files could not be loaded due to errors. Hero Lab will now attempt to load them in recovery mode. Once loaded, you can access the editor as normal to correct any errors.

The following errors occurred:

Thing 'cPUNBPirSt' - Bootstrap thing 'fPiranStr' does not exist

---------

i'm positive i skimmed a post by shadow recently about exactly this but now i can't find it....

ShadowChemosh February 17th, 2015 02:32 PM

Quote:

Originally Posted by psych777 (Post 203960)
now i'm just frustrated...now i'm getting this error:

The data files could not be loaded due to errors. Hero Lab will now attempt to load them in recovery mode. Once loaded, you can access the editor as normal to correct any errors.

The following errors occurred:

Thing 'cPUNBPirSt' - Bootstrap thing 'fPiranStr' does not exist

---------

i'm positive i skimmed a post by shadow recently about exactly this but now i can't find it....

TCArknight pushed a change to 3PP last night that uses the wrong Piranha Strike feat. So I fixed it and pushed the fix last night to GitHub. So sourcetree should be telling you that you are behind and you need to do a Pull. If not simply do a "Pull" with a merge and you should be good.

HERE is the original push and HERE is my fix.

psych777 February 17th, 2015 02:44 PM

Quote:

Originally Posted by ShadowChemosh (Post 203963)
TCArknight pushed a change to 3PP last night that uses the wrong Piranha Strike feat. So I fixed it and pushed the fix last night to GitHub. So sourcetree should be telling you that you are behind and you need to do a Pull. If not simply do a "Pull" with a merge and you should be good.

ahhhh. thats why i couldn't find it. i was searching the forum boards cuz i didn't remember it was on the github discussion!
sourcetree wasn't telling me a pull was needed so i thought the post might have been telling me what to change manually as a workaround. just did a pull though and that has fixed it.

ShadowChemosh February 17th, 2015 04:44 PM

All I just found an important step in GitHub I missed. Its easy to fix but my bad! :o

To be allowed to "push" to github repository you must be added as a Collaborator. So simply email or PM me your GitHub user ID and which Repository and I can get you setup. :)

ShadowChemosh February 18th, 2015 02:57 PM

Just FYI I have setup on GitHub the following people: Bodrin, Shatterjack, TCArknight, psych777, and Asandir.

Asandir February 18th, 2015 07:40 PM

And I am busy plugging away at the remains of my Rogue Genius Games files.

ShadowChemosh February 19th, 2015 10:07 AM

So just an FYI. It appears SourceTree has some delay in checking for "new" updates from the different Repositories. So to force this I found you can click on "Repository->Refresh Remote Status" or short cut key of Shift-Alt-R. So I found its worth starting SourceTree and doing this to check for anything "new" to pull down before you start working.

TCArknight February 19th, 2015 01:54 PM

Quote:

Originally Posted by ShadowChemosh (Post 203963)
TCArknight pushed a change to 3PP last night that uses the wrong Piranha Strike feat. So I fixed it and pushed the fix last night to GitHub. So sourcetree should be telling you that you are behind and you need to do a Pull. If not simply do a "Pull" with a merge and you should be good.

HERE is the original push and HERE is my fix.

That's odd. :(

I swear I used the one that was part of ULtimate psionics.. I did see one with a different source....

ShadowChemosh February 19th, 2015 03:43 PM

Quote:

Originally Posted by TCArknight (Post 204065)
That's odd. :(

I swear I used the one that was part of ULtimate psionics.. I did see one with a different source....

Shrug. It happens. It was a simple miss click is all. Not a huge deal. :)

psych777 February 20th, 2015 02:27 AM

just had a thought. i did a pull for my basic pack repository and then wondered if i need to recopy the basic pack COM files over to the 3PP repository folder? will we need to do this after each pull to basic pack?

psych777 February 20th, 2015 02:42 AM

and of course another error...i did a pull on both 3pp and basic packs to update my repository. now when launching the pathfinder program from the 3pp folder i get the following errors:

The data files could not be loaded due to errors. Hero Lab will now attempt to load them in recovery mode. Once loaded, you can access the editor as normal to correct any errors.

The following errors occurred:

File: COM_3PPPack_C7E - Tome of Secrets Classes.user (line 401) - Thing 'cHelpPst' (dynamic tag) - Group 'PackHelper' not defined
File: COM_3PPPack_C7E - Tome of Secrets Classes.user (line 594) - Thing 'cHelpSwa' (dynamic tag) - Group 'PackHelper' not defined
File: COM_3PPPack_C7E - Tome of Secrets Classes.user (line 711) - Thing 'cHelpWaL' (dynamic tag) - Group 'PackHelper' not defined
File: COM_3PPPack_C7E - Tome of Secrets Classes.user (line 915) - Thing 'cHelpKnt' (dynamic tag) - Group 'PackHelper' not defined

i don't know what PackHelper is....

psych777 February 20th, 2015 02:58 AM

guess i answered my first question with solving my second question...haha

i suppose i'd only really need to copy the basic files that actually changed, but just copied all the COM files from basic to 3pp and errors all gone. just have to remember to copy over each time basic is updated

ShadowChemosh February 20th, 2015 10:34 AM

Quote:

Originally Posted by psych777 (Post 204105)
guess i answered my first question with solving my second question...haha

i suppose i'd only really need to copy the basic files that actually changed, but just copied all the COM files from basic to 3pp and errors all gone. just have to remember to copy over each time basic is updated

So yea its the "one" bad thing with the current setup. So whenever you update the "Basic Pack" (ie do a new pull) you need to manually "copy" over all the files (currently 88) to any of other the Packs. I "think" I can have github do this automatically somehow but to be honest I have not had time to research it yet. Only so many hours in a day you know. :)

So FYI "PackHelper.?" is a new global tag group I added as a Misc group. Similar to LW's "Helper.?" tags. I also moved over the "DR" abilities that where added specific for "Path of War" over to the "Basic Pack" so other Packs have access to them. We don't need multiple copies of specific DR type so by moving them into the "Basic Pack" anyone doing work on any Pack can gain access to them.

I also tried to mimic LW's "playtest" tag. So playtest classes have the wording "[Playtest]" in the class list but lose [Playtest] when it gets added to a character. I wanted to do the same thing for specific classes like "Tome of Secrets" that adds [ToS]. I sort of having it work but not as nice as I would have wanted.


All times are GMT -8. The time now is 11:55 AM.

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