Standard Practices

From Wiki for The Only Sheet
Jump to navigation Jump to search

These standard practices will help you create content that is conform with the current content. This will help make all information have the same look & feel!


Unique Names

One of the most important aspects when creating new content, is to use names that are unique. If you fail to do so, then you will not be able to access the new item you just created. This is because when Excel searches through a table, if stops searching when the first match is found. So any other items with the same name will not be accessed.


Class Abilities

Class abilities have been defined using the Ability name and the class name to which it applies. This ensures that a custom class will be using a unique name - and that if an existing ability if used, we know from which class it is taken from. The format is: AbilityName (ClassName).

Examples:

  • Inspire Courage (Bard)
  • Damage Reduction (Barbarian)
  • Divine Inspiration (Divine Emissary)


Race Abilities

Racial abilities that can be activates (i.e. turned 'On') have been defined using the racename followed by the ability name. Examples:

  • Deep Dwarf vs Orcs/Goblinoids
  • Doppelganger Change Shape
  • Duergar vs Orcs/Goblinoids

Racial abilities that are permanent (meaning they apply their effect at all times) uses the racename followed by the word "race". If the race requires more than 6 effects, another permanent entry is created with a trailing numeral. Examples:

  • Dwarf race
  • Half-elf race
  • Half-elf race 2


Spell Names

When defining spell names, do not use any commas in the name itself. So for instance the spell Enlarge Person, Mass should actually be Enlarge Person (Mass). All the core spell included in TOS+ are using this syntax.


Furthermore, the Sheet uses the American English for words spellings like armor, instead of the armour used in European countries.


Both the above standards will become more important starting with TOS+ v1.30+, since the Spell Names are now included in the .tos file!


Listing Abilities

Sample ability list

This sample shows how to create a list of abilities that have limited uses per day. Each ability is on one line and uses the BULLET named cell to get the proper offset and bullet. When a Difficulty Class applies, is it displayed as shown for the "Suggestion" ability. Here is a sample formula for the Suggestion line:

Example for TOS+ (with image on the right):
=BULLET&"Suggestion 3/day, DC"&(13+i_CHAModif)&IF(t_CheckMark="",""," <"&REPT(t_CheckMark,3)&">")&" Description"

Example for TOS FIVE/TOS 2nd:
=BULLET&"Suggestion: 3/day"&IF(b_ShowCM,VLOOKUP(3,t_CheckMarks,2,FALSE),"")&" Description"

The newer managers have a b_ShowCM boolean to verify if the user wants to use checkmarks or not. Usually, these are useful for those using paper print-outs.

Most creators prefer to 'group' similar lists onto the same cell, using the CR separator, which is a "Carriage Return"

The CR, BULLET and the TAB family!

To help format text, you have these named cell at your disposition:

CR: Carriage Return

TAB: Three spaces

TABs: Six spaces

TABss: Nine spaces

BULLET: The • character

eBULLET: The · Character

CRT: CR + TAB

CRTs: CR + TABs

CRTss: CR + TABss

CRB: CR + BULLET

LFrame: ├────

RFrame: ────┤

LHFrame: ▬▬▬▬▬▌

RHFrame: ▐▬▬▬▬▬


Trailing Periods

It is not essential to add a period on the last phrase of an ability description. Periods will be useful if an ability description has many phrases, to seperate those.

DC and CL without spaces

When listing a DC (Difficulty Class) or a CL (Caster Level), do not add a space between that and the following numeral. For instance, write "DC12" instead of "DC 12"

Long Descriptions

Example of auto-wrapping for an ability

You should always verify that the ability you are describing 'fits' in the width of the INFO area on the BACK worksheet. Although a recent update to the sheet added auto-wrapping, it it possible for a phrase to be misaligned, thanks to an average phrase width that is larger than the norm (i.e. when using lots of large characters like 'w' or 'm'). You should verify your phrases to make sure these fit well using the default font and size settings. If not, consider using a synonym for a longer word.

Times per Day

When creating an Ability that has a "times per day" limitation, you should always add a simple formula that will display the check marks representing that number of times per day, which is very useful for those using the paper version of TOS+. Here is an example:

TOS+:
="Dimension Door (Sp): 1/day, CL7 "&IF(t_CheckMark="",""," <"&t_CheckMark)&">"

Example for TOS FIVE/TOS 2nd:
="Dimension Door (Sp): 1/day, CL7 "&IF(b_ShowCM,VLOOKUP(1,t_CheckMarks,2,FALSE),"")


TOS+: The named cell t_CheckMark represent the Character (by default, the capital 'O' character) that will be used to denote each 'check mark'. The times per day for an ability should always be displayed as part of the description (in this case as 1/day). For an ability that is used more than once per day, the REPT() excel function can be used to repeat the number of desired check marks, as shown here:


="Dimension Door (Sp): 3/day "&IF(t_CheckMark="",""," <"&REPT(t_CheckMark,3)&">"


Evidently, a formula returning an Integer can be used for times per day that can change according to some other factor.

TOS FIVE/TOS 2nd: Use the b_ShowCM named cell to check if the user wants to show Check Marks or not. If the user want to use Check Marks, then you can VLOOKUP() the number to use within the t_CheckMarks table, which can be found on the Tables worksheet.


It is possible to 'turn off' the display of the Check Marks; go to the Customize worksheet and click on the 'CheckMarks' link found in the "Other" section. One of the option there represent the character used for check marks: If that character is deleted (i.e. empty), then all check marks will disappear (at least, those coded as shown in the standard guide!!)

Displaying Errors

Sometimes, the user needs to enter his choices for specific abilities, feats or else. In this case, we use the ► and ◄ to highlight the missing information, to make sure it is visible in the INFO section of the Back sheet. Since these characters cannot be saved in a simple text file, we have two named cells to handle them: ErrStart (►) and ErrEnd (◄). Try to be specific as to where the use needs to go to enter the missing information. Here is an example:

=IF(lvl_Hierophant=0,"n/a","Special Ability: "&IF(tSel_Custom_HierophantSpecial3="",ErrStart&" Not selected on Customize Sheet! "&ErrEnd,tSel_Custom_HierophantSpecial3))

Bonus Feats

When a Class (or race) receives bonus feats, there are several things to do.

  1. First, you need to take into account all 'bonus' feats, and increase the total number of feats accordingly, using the Bonus Feats effect. For example of this, refer to the AbilityData worksheet, and scroll down to the existing Bonus Feat (class_name).
  2. Second, you need to tell the user about this bonus feat. This is done through the features.
  3. Third, you have to check if the use has indeed selected that free feat in the feat area on the BACK worksheet. For example, this formula will check to see if the Track feat has been selected for a Ranger: =IF(COUNTIF(tSel_Feats,"Track")=0,"Track feat missing from the Feats section {Ranger}",""). For a Class, this code would appear in the Class Status section. For a race, a similar check would be placed in the Race Status section.
  4. Finally, you have to consider that the prerequisites for a feat might be overruled by a class receiving a bonus feat. For example, a Monk may select Deflect Arrows as a bonus feat at 2nd level, even if he does not meet the prerequisites. Simply use the feat_name Prereqs Met effect to tell TOS+ that this class is authorized to take that feat, irrelevant of prerequisites:
Table: Applying the Prerequisite Met Effect
Permanent Effect Name Effect Type Effect Modifier
Yes Deflect Arrows Prereqs Met Unnamed 1


ORDINAL(): Adds st, nd, rd or th to values

ORDINAL
Appends a trailing st, nd, rd or th to numbers.
Syntax
ORDINAL(value)
Remarks
Use only with Values
Negative values will work
Example
="Cast spell as a "&ORDINAL(SUM(i_CHAModif,i_CharacterLevel))&" level character"
Note
If the value you are using is fixed, use the named cells ST, ND, RD or TH instead of this function.

Computing Efficiency

When creating an Ability that has a complex formula, try, if possible, to avoid having excel compute that formula when it does NOT apply to the current Character. For example, this Racial Trait for the Nixie race:


=IF(tSel_Race="Nixie","Charm Person (Sp): 3/day, CL 4, DC"&11+i_CHAModif&" Will "&IF(t_CheckMark="",""," <"&REPT(t_CheckMark,3)&">"),"Inactive")


As you can see, the first thing that this formula checks is IF the current race is a "Nixie". (tSel_Race contains the race that has been selected on the Front Worksheet). Only if the current race is a "Nixie", will the Charm Person ability be computed and displayed. If the current race is not a Nixie, then this will evaluate to "Inactive", just to note this formula is not currently needed.


Miscellaneous Tips

  • When giving a distance in feet, use either ft. or the single quote
  • Avoid the use of the [ and ] (brackets) characters as they are used as the delimiters for .tos files
  • There should always be 2 white spaces in front of the < symbol used to start check marks in TOS+


BACK to the Advanced User Guide