Advanced - Parse Effect: Difference between revisions

From Wiki for The Only Sheet
Jump to navigation Jump to search
Line 54: Line 54:
What should I do when I have a Effect with a type that does not normally stack, but the description of that ability specifically says that it stacks? Simple! If it should always stack, even with the same typed bonus, use 'Unnamed' instead!
What should I do when I have a Effect with a type that does not normally stack, but the description of that ability specifically says that it stacks? Simple! If it should always stack, even with the same typed bonus, use 'Unnamed' instead!
|}
|}


== The Special Types ==
== The Special Types ==
Line 71: Line 72:
|Min Value || Similar to the Max Value above, but for the minimum value.
|Min Value || Similar to the Max Value above, but for the minimum value.
|}
|}


== How to Use Parse Effect ==
== How to Use Parse Effect ==

Revision as of 15:39, 20 July 2006

What is Parse Effect ?

Parse Effect is actually the name of a function that is available to users of the Sheet. Its goal is to allow anyone to create new content which will be compatible with the stacking Rules of D&D. Not only that, but it also permits to handle the stacking of Abilities like Animal Companion or Turn Undead. In these sections, we'll examine in more details what Parse Effect can do to help you create new content. Note that it is quite simple to use, and you do not required advance knowledge of Excel to use it!!

Stacking Rules ?

Let's begin by examining the stacking rules. In D&D, your character gains bonuses from various sources. Magical Rings, Shields, or even Class Features can give your character a bonus on something. In D&D, the makers decided to create many different 'types' of bonuses, and they also provided details so we can know if a specific type can be stacked (meaning added) to something else which provides a similar bonus (meaning of the same type). The best way to understand this is with this example: Let say Brak the barbarian (Famous Last words: "Brak? What a stupid name for a Barbarian!") owns a nice pair of Gauntlets of Ogre power. If you read the description of those, you get " a +2 enhancement bonus to his Strength score". So these Gauntlets give a +2 to Brak's Strength score in the form of an enhancement bonus. After some adventuring, Brak get hold of a Belt of giant Strength +4 and happily wears that to get more bang for the buck! The description of the belt says "The belt adds to the wearer’s Strength score in the form of an enhancement bonus of +4". One might be tempted to claim that Brak now has a +6 bonus to Strength score: +2 from his Gauntlets, and +4 from the new Belt. Alas, the stacking rules specify that enhancement bonuses do not stack. So Brak is actually getting a +4 bonus to his Strength score, instead of a +6 (the effect of the Gauntlets should be ignored)

The core mechanics of the game explain how stacking works:

Definition of Stacking

In most cases, modifiers to a given check or roll stack (combine for a cumulative effect) if they come from different sources and have different types (or no type at all), but do not stack if they have the same type or come from the same source (such as the same spell cast twice in succession). If the modifiers to a particular roll do not stack, only the best bonus or worst penalty applies. Dodge bonuses, racial bonuses, and circumstance bonuses however, do stack with one another unless otherwise specified.

So the Stacking Rule is actually quite simple: No bonuses stack, except for Dodge, Racial and Circumstance bonuses. So this is part of the Magic that the Parse Effect function handles. It will take into account the stacking rules, so whenever your character gains bonuses that should NOT stack, the Sheet will handle them accordingly!

The Bonus Types

Ok so we have seen that the stacking rules prevent bonuses of the same type (with a couple of exceptions) from being added. Now let us look at all the Types that Parse Effect can handle - you will see that a few more were added to allow some very powerful parsing! But first: What the heck does Parse Effect means anyways??

The Parse Effect name: The Parse Effect name is twofold: Parse means "To examine closely or subject to detailed analysis, especially by breaking up into components". Effect means "any condition that change a numerical value related to your Character" (like getting a +2 to your Strength score because your character is wearing Gauntlets of Ogre Power). So in essence, Parse Effect will breakdown all the Effects applied to your Character, analyze them and come up with a total result, taking into account the Stacking Rules! Simple eh?

The Available Types: There are basically three types used within Parse Effect. The stackable Types, the non-stackable types and the special types. The Let's look at the first two types that Parse Effect can handle.

Table: The stackable and non-stackable Types
Available Types Does it Stack? Available Types Does it Stack?
Alchemical No Luck No
Armor No Morale No
Circumstance Yes Natural Armor No
Competence No Profane No
Deflection No Racial Yes
Dexterity No Resistance No
Dodge Yes Sacred No
Enhancement No Shield No
Inherent No Size No
Insight No Unnamed Yes

So as you can see, most types do not stack, with the four exceptions listed above.


What should I do when I have a Effect with a type that does not normally stack, but the description of that ability specifically says that it stacks? Simple! If it should always stack, even with the same typed bonus, use 'Unnamed' instead!


The Special Types

There is something else Parse Effect can be used for. Certainly adding bonuses is very powerful - it would allow you to add effects to any Item or Ability (or spell or power or condition etc.) For instance, you could define [we will see later how to do this in more detail] a new magical Longsword +1 that also gives a +2 enhancement bonus to Strength AND a +5 Inherent bonus to your Bluff skill! (yeah, it's one ugly-looking sword!). Once this Longsword is defined and equipped, these bonuses would automatically be integrated in the Sheet! (That's the power of Parse Effect at work!). And recall that the you would not need to worry about the stacking rule!

But with the help of a few special types, Parse Effect can be expanded to handle more complex Effects:

Table: The special Types
Special Types Description
Haste Although the bonuses granted by the Haste spell are Unnamed (as in they stack), multiple Haste effects do not stack! So if you wish to create an Effect similar to Haste, but that does not stack with other Haste effects, you can use this special type.
Max Value Certain effects provide benefits that aren’t really bonuses or penalties to an existing ability, but that give a value where an ordinary character wouldn’t have one. For instance, Spell Resistance. SR is not a bonus per se, but an ability gained by a character. SR does not [usually] stack (but you could define an Effect that would stack it!): If you have multiple sources of Spell Resistance, you use the higher number. This is where Max Value comes into play. Since all SR are defined as Max Values, you are sure that only the highest source will be used.
Min Value Similar to the Max Value above, but for the minimum value.

How to Use Parse Effect

Now that we know what Parse Effect does, we need to look on HOW to use if within TOS!! But before we jump into that, let's make sure we are all on the same page. So let's define some terms:

EFFECT: An Effect is a condition that affects your Character. For instance a "+1 Racial Bonus to Saving Throws" is an effect.

An Effect is composed of 3 parts: The Effect Target (what characteristic is affected), the Effect Type (which type should be applied) and finally an Effect Modifier (what value to apply to this characteristic). For the example above, the three parts are:

Table: The three parts of an Effect
Effect Target Effect Type Effect Modifier
Saving Throw Racial Bonus +1


Effect Target

Almost anything that is a value can be made into a target. The worksheet called "IntegrationData" [we will get into that on the next page] contains multiple lists of targets. Some targets are more obvious than others. For instance, the 'CON' target means the Character's Constitution score. Other are class features that have been turned into target to allow future custom classes to 'add' to them! For example, the 'Lay on Hands (Su)' target (or ability) is available to allow you to increase the level of a Paladin (like from a prestige class, which adds its level to that of the Paladin! Other targets affect many characteristics at once. For instance, the 'ALL Saves' target will affect all three save values.

Effect Type

We have already discussed in the previous page the available Types that Parse Effect can handle, and the stacking rules applied to them.

Effect Modifier

The effect modifier is simply the value (number) to apply to the effect target.

USING ParseEffect()

The prototype to use Parse Effect is:

=ParseEffect( Main Target, Table to Search, Specific Type [optional], Second Target [optional], Third Target [optional], Fourth Target [optional], Fifth Target [optional] )

Ok this seems a bit complex at first, but this is only an illusion (cast by the evil gnome!). Lets review the parameters to the function. Only the first 2 parameters are required, the rest are optional.