Lone Wolf Development Forums

Lone Wolf Development Forums (http://forums.wolflair.com/index.php)
-   HL - Authoring Kit (http://forums.wolflair.com/forumdisplay.php?f=58)
-   -   AD&D 2e (http://forums.wolflair.com/showthread.php?t=45876)

RavenX September 17th, 2013 04:18 PM

AD&D 2e
 
Mathias,

I've started working on some 2e core mechanic files. I am using the 2.5 update (or the most recent re-released core rulebooks) for this data. I need to set up a validation report for attribute scores where the compiler checks the Unmodified ability score against the racial minimums / maximums required for each race. (I am not setting up bounding options intentionally in case a DM allows a member of a race that has an ability score outside the normal boundries the books require, but I'd like a validation error to show up saying the race doesn't meet the ability score requirements.) I created a field called trtNatural to store the unmodified version of the ability score for validation purposes. Each race has a set of Min/Max fields to store the minimal and maximal values of the ability scores for that race. I set each field to have a default value of 3 or 18 respectively. For some reason my code is only registering the default values instead of the ones stored on the race when I go to debug output, how can I get the compiler to test against the actual value stored on the race?

Code:

  <!-- Validate facets of the race -->
  <thing
    id="valRace"
    name="Race"
    compset="Race"
    isunique="yes">
    <tag group="Helper" tag="Bootstrap"/>

    <!-- Make sure that we have a race selected -->
    <evalrule index="1" phase="Validate" priority="8000" message="Must be selected"><![CDATA[
      ~if we have a race selected, we're good
      validif (hero.tagis[Race.?] <> 0)
      ]]></evalrule>

    <!-- Make sure that our ability scores meet the requirements -->
    <evalrule index="2" phase="Validate" priority="10000" message="Ability Score requirements not met"><![CDATA[
      ~if our ability score is equal to or greater than the minimum requirement, we're good
      var foo as number
      var fii as number

      foo = hero.child[attrStr].field[trtNatural].value
      fii = field[minStr].value
      debug "Nat Str = " & foo & " Tested against min str " & fii

      if (hero.child[attrStr].field[trtNatural].value >= field[minStr].value) then
        @valid = 1
      else
        @valid = 0
      endif

      ~mark associated tabs as invalid
      container.panelvalid[basics] = 0
      ]]></evalrule>

    </thing>


For those reading this thread: I am looking for volunteers willing to enter spells, psionic powers, skills, etc. once I have the core mechanics built for the datafiles. I am only planning to add enough spells, powers, and skills to test the actual data. I won't be adding the full range of data to these files as I simply don't have enough time to do so.

ChrisRevocateur September 17th, 2013 10:58 PM

As I said before, I've got a few hours a week I can put into this. Not much, but something. A few spells a week will add up.

RavenX September 17th, 2013 11:21 PM

Quote:

Originally Posted by ChrisRevocateur (Post 165944)
As I said before, I've got a few hours a week I can put into this. Not much, but something. A few spells a week will add up.

I'll be very forward with you, The core mechanics could take me months to build. I don't expect this to go quickly. If you could start with the descriptions of spells or psionic powers, that would be a huge help. I'm currently working on races, which I hope to get implemented first since they're going to be the easiest parts to do. It's going to be a lot of work to do this, but I've started working on it for now.

Mathias September 18th, 2013 07:26 AM

I recommend re-writing this as an evalrule in the Race component, not as a separate pick.

ChrisRevocateur September 18th, 2013 11:28 AM

What can I do to start the descriptions of the spells and psionic powers? Would making a text file that I could copy/paste the descriptions from easily once we have the core rules working be good enough, or should it be in XML or something, as I don't have any experience with that... yet.

RavenX September 18th, 2013 12:36 PM

Quote:

Originally Posted by Mathias (Post 165958)
I recommend re-writing this as an evalrule in the Race component, not as a separate pick.

So you're basically saying move the eval rule to the race component instead of putting in the validation component?

RavenX September 18th, 2013 12:38 PM

Quote:

Originally Posted by ChrisRevocateur (Post 165978)
What can I do to start the descriptions of the spells and psionic powers? Would making a text file that I could copy/paste the descriptions from easily once we have the core rules working be good enough, or should it be in XML or something, as I don't have any experience with that... yet.

Text file, Word file, either way it doesn't matter much to me, as typing out the descriptions takes the longest time to do and there are a lot of spells and psionic powers. My personal preference would be for someone to start with psionic powers so that I could put Dark Sun functionality into the mechanics but we need a lot of things from the Player's Handbook.

Let me amend this by saying you should use the skills & powers book to do psionic powers as a guide, since that was the latest updated tome.

I'm working on the race component and background tab right now. Not sure how long it will take to finish but I've gotten a handle on things pretty well.

RavenX September 18th, 2013 12:45 PM

Mathias, thanks it seems to work fine now that I've moved it.

ChrisRevocateur September 19th, 2013 07:18 AM

Quote:

Originally Posted by RavenX (Post 165879)
I am using the 2.5 update (or the most recent re-released core rulebooks)

Just for clarity as to what we're working on, do you mean 2.5 as in Skills & Powers, Combat & Tactics, Spells & Magic, and High Level Campaigns, or do you just mean the 1995 'revised' reprints of the PHB and DMG?

RavenX September 19th, 2013 12:18 PM

Quote:

Originally Posted by ChrisRevocateur (Post 166031)
Just for clarity as to what we're working on, do you mean 2.5 as in Skills & Powers, Combat & Tactics, Spells & Magic, and High Level Campaigns, or do you just mean the 1995 'revised' reprints of the PHB and DMG?

I'm using the reprints from 97 / 2013 rereleased. The books were originally black, with Advanved Dungeons and Dragons on red lettering on them. Skills & Powers is from that set.

RavenX September 19th, 2013 12:54 PM

I'm also planning to add an optional rule for Hit Dice at all levels.

I used to allow people to keep gaining hit dice instead of the constant hit points after 9th or 10th and apparently I wasn't the only person doing it. It was also what encouraged players to multiclass, as they could gain hit dice in both classes instead of constant hit points.



Mathias,

Do I need two language components or one?

Mathias September 19th, 2013 01:16 PM

RavenX, all of my 2ed books are stored in the attic, and I have not looked at them in years. I have no memory of how languages worked back in 2ed.

Also, please make your questions for me more obvious. If they're mixed into posts that are unrelated to the question you're asking me, I'm going to end up missing some of them.

RavenX September 19th, 2013 01:27 PM

Mathias,

Languages in 2e work the same way they do in Pathfinder, but no Automatic languages. The user has a list of languages they can choose from, outlined in the race descriptions.

As a player gains levels, they gain non-weapon proficiency slots, which may be used to purchase more language slots or skills.

Mathias September 19th, 2013 01:35 PM

Sounds like languages are more like in Shadowrun, then, where they're one of the categories of skills that you can choose from.

RavenX September 19th, 2013 01:41 PM

Quote:

Originally Posted by Mathias (Post 166054)
Sounds like languages are more like in Shadowrun, then, where they're one of the categories of skills that you can choose from.

They are.

You can choose: language, ancient as a proficiency, and the add a language from that category.

The only time you'd have to add an additional slot to the slot cost is for literacy if the optional rules are used.

RavenX September 19th, 2013 02:40 PM

Quote:

Originally Posted by Mathias (Post 166054)
Sounds like languages are more like in Shadowrun, then, where they're one of the categories of skills that you can choose from.

Based on what you've said I might only need on component for languages then.

Mathias September 19th, 2013 02:53 PM

My suggestion was intended to point you towards something similar, so that you could study that, and decide for yourself which way was best to handle this. You haven't told me what the difference between the two components would be if there were two components, so I don't know enough yet to answer the original question.

RavenX September 19th, 2013 03:10 PM

The only difference would be starting languages added at creation, and those added afterwards. But I could rig the skill to add language slots instead and let the user just add languages via the background tab.

Mathias September 19th, 2013 03:24 PM

That sounds like a difference in tags, not a difference in components.

RavenX September 19th, 2013 03:33 PM

How can I have Hero Lab assign tags saying languages added through the background portal gets Helper.StartLang while languages added via the personal tab get Helper.LearnLang?

I'm not sure how I can get the tag assigned based on which portal the language is added under.

RavenX September 19th, 2013 03:34 PM

1 Attachment(s)
This is what I've come up with so far for the background tab...

Mathias September 19th, 2013 03:41 PM

I'd recommend re-reading the Savage Worlds walkthrough to refresh your memory on how the elements of the authoring kit are used. The question you're asking is very similar to something brought up in the page named "Weird Science Gizmos", in the "Managing Shared Gizmos" section on that page - look there for the solution.

It's also something you can find by studying the wiki page about table_dynamic.

RavenX September 19th, 2013 03:44 PM

Quote:

Originally Posted by Mathias (Post 166094)
I'd recommend re-reading the Savage Worlds walkthrough to refresh your memory on how the elements of the authoring kit are used. The question you're asking is very similar to something brought up in the page named "Weird Science Gizmos", in the "Managing Shared Gizmos" section on that page - look there for the solution.

It's also something you can find by studying the wiki page about table_dynamic.

Will do. I'll start with table_dynamic on the wiki first. Thanks for the hints.

RavenX September 19th, 2013 03:47 PM

Mathias,

Is this what I am looking for?

Code:

  xacttag="Helper.StartLang"

Mathias September 19th, 2013 03:54 PM

Transactions are only used for gear, so you don't just want a tag that exists during the transaction.

RavenX September 19th, 2013 04:06 PM

hmmmm looking at this more closely, I think this is what you're referencing.

Code:


  <autotag group="Helper" tag="StartLang"/>


RavenX September 19th, 2013 04:24 PM

Ok added that and its working correctly.

So now I can just have the skill add slots to the ExtLang resource when the user selects the skill and puts points into it.

RavenX September 19th, 2013 07:42 PM

Language parts are implemented. Looks like those are working correctly now.

RavenX September 19th, 2013 09:24 PM

Mathias,

How do you get the languages in Pathfinder to show up in different colors with the Black ones being choices allowed and the grey ones not being allowed because of the character's background? Is this just an Exprreq?

And another question, I was working on adding the attribute tables. What is your recommendation for the Strength Table? I'm asking because the value of 18 had that additional breakdown of 01-50, 51-75, 76-90, 91-99, 100 of which some races got to roll on. Should I set up a second incrementer that appears if you put an 18 in Strength and then have the index tables reference that value? Halflings do not get to roll on this and take the base 18 on the table.

RavenX September 20th, 2013 02:54 AM

1 Attachment(s)
Progress Shot on the Editor. I am still debating changing a few things to tag pull down menus, when I have time to look at the spells in more depth I'll make that determination.

Mathias September 20th, 2013 07:47 AM

There's a prereq on the component for languages that processes the language allowed tags that are added to the hero by the race.

RavenX, I cannot help you without details. I do not remember how the 18/XX ssytem worked back in 2ed, so until I have details on how that functions, I can't help you figure out the correct way to code that.

RavenX September 20th, 2013 12:59 PM

On the Strength table, there are additional rows of values for things like Bend Bars/Lift Gates, Melee Hit Probability modifier, etc. that correspond to the 01-100 value the player generates on a d% roll if they roll an 18 for Strength. I know how to send the Strength Score through the .arrayvalue[] to look up the appropriate index, but I'm not sure how to account for the additional 18 values.

RavenX September 20th, 2013 01:02 PM

1 Attachment(s)
Attached is a copy of said table.

Mathias September 20th, 2013 01:04 PM

I also need details about how this is added to a character, and how it can change during play.

How do you know if you'll get the /XX? Can the original score be improved by leveling up? Are there magic items or spells that can alter the value?

RavenX September 20th, 2013 01:19 PM

Only warrior classes (fighter, paladin, or ranger, and gladiator) roll on the Exceptional Strength range, anything short of a limited wish spell won't increase an ability score in this edition, and it's at the discretion of the DM. Magic items, only one I know of the increases strength score is the Girdle of Giant strength, which you roll a d% on and get a new Strength Score between 19 and 25.

RavenX September 20th, 2013 03:15 PM

Mathias,

I'm working on the language prereq. Do I need a Match item in the component?

This is what I've got so far, and it's working like I wanted it to for the languages added on the background portal. But now how to get it to validate for languages added via the Personal tab?

Code:

    <prereq message="Your background does not allow you to learn this language as a starting language.">

      <match><![CDATA[
        LangAllow.?
        ]]></match>

      <validate><![CDATA[
        ~if we have the right LangAllow tag, we're valid
        validif (altthing.intersect[Language,LangAllow] <> 0)
        ]]></validate>
      </prereq>


RavenX September 20th, 2013 04:30 PM

Do I need a special tag for languages added via the personal tab to skip the prerequisite validation?

ChrisRevocateur September 20th, 2013 05:32 PM

Quote:

Originally Posted by RavenX (Post 166152)
Only warrior classes (fighter, paladin, or ranger, and gladiator) roll on the Exceptional Strength range, anything short of a limited wish spell won't increase an ability score in this edition, and it's at the discretion of the DM. Magic items, only one I know of the increases strength score is the Girdle of Giant strength, which you roll a d% on and get a new Strength Score between 19 and 25.

Gauntlets of Ogre Power confer an 18/00 strength.

Within the Skills & Powers rules there are ways to increase a warriors 18/xx to the next 10% up with character points if I remember correctly.

Ability damage also brings down by increment on the table.

I'd think the best way (if possible) would be for the strength stat to actually be treated as a single number, but displaying them in the 18/xx format. As in

18 = 18
19 = 18/01-50
20 = 18/51-75
etc....

Is that possible? It'd simplify it. Actually, now that I think about it, that doesn't work, because non-warriors can still get strength scores of 19 and up.

RavenX September 20th, 2013 06:03 PM

Quote:

Originally Posted by ChrisRevocateur (Post 166169)
Gauntlets of Ogre Power confer an 18/00 strength.

Within the Skills & Powers rules there are ways to increase a warriors 18/xx to the next 10% up with character points if I remember correctly.

Ability damage also brings down by increment on the table.

I'd think the best way (if possible) would be for the strength stat to actually be treated as a single number, but displaying them in the 18/xx format. As in

18 = 18
19 = 18/01-50
20 = 18/51-75
etc....

Is that possible? It'd simplify it. Actually, now that I think about it, that doesn't work, because non-warriors can still get strength scores of 19 and up.

Chris,

Non-Warriors go from 18 to 19 usually which I never agreed with. The 2nd edition could have been organized a bit better than it was as well. I'll check on the guantlets later. I'm trying to finish up the language mechanics and get some of these table mechanics in place. This is going to take a while to get implemented.

Edit: I'd also like to say this: Right now I want to get the basic system implemented from the core rulebooks. Skills & Powers were Optional rulesets that could be used, but were not required. That is why the title said "Player's Option" in them. I will keep the character point mechanic in the datafiles and alter it to work correctly later on. But for now, I'm planning on sticking with rolled ability score implementation. Once the PHB and DMG are implemented we can worry about the optional elements. One thing at a time is my approach to coding, this is not as simple as it looks to build. The only reason I have a few things done right now quickly is my experiences from coding up Deathwatch.

Your idea could work, but we'd need to get it displayed correctly too. I may have to pop a second incrementer in to handle the 01-100 part. That will still have to display correctly for the 18. The incrementers are set to integer values. Your idea could work for the table indices though. I just need to get things working correctly.

RavenX September 23rd, 2013 05:17 PM

Editor Progress on Race Tab
 
1 Attachment(s)
Here is the Race Tab in the editor for 2e so far. It supports the elements of each race, such as ability score modifiers, racial minimums and maximums, and the age, height and weight randomization mechanics. I haven't added these into the personal tab just yet, but the tags and fields are there for hero lab to access when I do get to it.


All times are GMT -8. The time now is 09: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.