4e Documentation Review
4e Guide Sections
Class Creation
- Original Entry: Andrew Maitland
Greetings, this is the Basic Character Class and Monster Creation Guide guided towards 4th edition rules.
This section will illustrate what you'll need to make characters based upon the 4th edition rules.
If you've read our basic class section, then most of this will be a refresher.
This section will demonstrate making a Class using a sample Class called the Monkey Warrior (King of the Data Monkeys). This class will have several possible combinations of tags you could need to make your own classes.
(Removed Commentary -AM) (Do we need commentary on text editors here and issues like 'smart quotes' and using a dumb text editor? - TP) (It would be better to such information on the Intor page. It will apply across all of these pages. - ES)
Once you have opened the file with a text editor, you will need to enter the basic and advanced class information. PCGen requires the use of 'Tags' to achieve this. (You may also see 'Tags' referred to as 'Tokens' - this is simply a semantic difference. There is no difference between the two terms in context to PCGen) This section will help you become familiar with important tags.
NOTE: This symbol '<>' is used in this guide to indicate a TAB. (For easiest reading of the LST files distributed with PCGen, you should use a Tab spacing of 6.)
- Class LST files are parsed in groups of lines, meaning that a single Class (or Class Level) may take up more than one line.
There are two types of functional lines in a Class LST file. (There are also comment lines that start with the # character)
- Class lines start with 'CLASS:' followed by the Class name.
- Class Level lines start with a positive integer. A level line must ALWAYS come after a CLASS line (That way the program knows which class gets what at each level).
After the identifier (the CLASS: entry or level number), tab characters are used to separate tokens
Example of Class line
- CLASS:Monkey Warrior <> BONUS:CHECKS|Fortitude|3|TYPE=Class
Example of Level Line
- 1 <> BONUS:CHECKS|Fortitude|3|TYPE=Class
The following tokens may be used on a class line: (a reminder that the first entry, such as 'CLASS:Monkey Warrior' is the identifier and not technically a token, but is used to identify the name of the class)
OUTPUTNAME:Warrior
- Optional, but allows customization of the name of the class as it appears on character sheets and other output. In this case, a character sheet would only show 'Warrior', even though the name of the class is still Monkey Warrior.
HD:2
- This tag sets the size of the Hit Dice for the Class. At each level this is the die that will be rolled, max or averaged, in this case 1d2. Additional intricacies of Hit Points in the 4th ed environment are covered later on...
TYPE:Base.PC
- Gives the 'Monkey Warrior' two types: Base and PC. TYPE can be used to group objects. In the case of Classes, TYPE also sets certain global characteristics, like the Challenge Rating and potential multi-classing XP Penalty (if any) associated with the Class. Other significant TYPE Choices are Monster and NPC. 4e is unlikely to require use of the NPC type.
BONUS:CHECKS|Fortitude|3|TYPE=Class
- This grants +3 to the Monkey Warrior's Fortitude Save (or Defense, based upon the system you are playing).
A TYPE is again provided to give the ability to "group" this BONUS. This allows the BONUS to be tracked properly on the OS - Output Sheet. (It's always good to follow standards). A BONUS that is always applied to a Class can be placed on the CLASS: line or the Class Level 1 line, the two are functionally equivalent in a system like 4e. It is possible to have more than one BONUS tag per line. Additional BONUS tags can be placed on other class level lines, and will only be applied when a PC reaches the appropriate class level.
PREMULT:1,[PRECLASS:1,Monkey Warrior=1],[!PRECLASS:1,ANY]
- This limits the class progression of a Monkey Warrior. This limits a PC to taking a Monkey Warrior level only if the PC already has a Monkey Warrior level AND ...
(stopped editing due to logic issue)
take this character class 'Monkey Warrior', and nothing else. This prevents me from taking any class except Monkey Warrior ONCE I take it.
(No it doesn't! This actually means you can't START with Monkey Warrior, but have to cross-class INTO it.) (My Reply - Incorrect. I have tested this and as long as the other classes have been set up likewise, you cannot multiclass. Also, this does NOT prevent me from taking the initial class. I have just tested to make sure I'm not mistaken. The Premult say you must meet one or the other. So, I must either A) Have a level in the class, or B) I can't have any other classes. -AM)
Until then I may choose another class.
The rest will go on Class Level lines.
1 <> ABILITY:Special Ability|AUTOMATIC|Monkey Warrior Proficiencies
- at first level the character will recieve the Monkey Warrior Proficiencies ability (which is part of the Special Ability Category. We cover abilities in another class. PCGen is modular, so things will reference other files.)
My Monkey warrior has 20 + his con score for starting HP and then every level beyond first he gains 10 hp So in order to make that work I would use 1 <> BONUS:HP|CURRENTMAX|20+CONSCORE Monkey Warrior will gain 20 plus his Constitution Score at first level
and
2 <> BONUS:HP|CURRENTMAX|(CL-1)*10 This will grant 10 hp per level except for first level (CL = Class Level - 1, so at 1st level this would be 0). I put it on the 2nd level line just to keep a clean look.
1 <> TEMPLATE:ClassGrantedTotalLevels
- I like names that I understand what the purpose is, in this case we know that this template deals with Class Granted Total Levels, which is that stuff which happens regardless of my class.
A template is a very useful tool. It can change your racetype or bestow certain hitdice. And many other uses. You could very easily make this an ability by using 1 <> ABILITY:Special Ability|ClassGrantedTotalLevels But if you do that you will need to create that in an ability file, instead of the Template file. (This is an example of PCGen's flexibility and possible confusion when things become complex.)
1 <> BONUS:VAR|HealingSurges|20+CON|TYPE=Class This game system uses the variable called "HealingSurges" to be consistent, we have to actually use that name. Monkey Warrior gets 20 plus his Constitution Bonus of that power. Cool... (I suspect Monkey Warrior is a One Monkey Wrecking Ball).
1 <> BONUS:ABILITYPOOL|Monkey Warrior Class Skills|1
- When we set up Skills, this will make sense, monkey warrior only gets one skill to choose from. :(
1 <> ABILITY:FEAT|AUTOMATIC|Skill Training (Monkey Lore)
- Monkey Warrior is granted the Feat - 'Skill Training (Monkey Lore)' automatically.
You can also use AUTO:FEAT|Skill Training (Monkey Lore) to accomplish the same thing in this case.
1 <> ABILITY:Special Ability|AUTOMATIC|Monkey Warrior Weapon Proficiencies|Monkey Warrior Armor Proficiencies
- These tell pcgen to grab those abilities... Which we will setup which proficiencies the Monkey Warrior knows.
1 <> ABILITY:Special Ability|AUTOMATIC|Monkey Warrior Fu|Monkey Warrior Percent Chance to find Fleas|Monkey Warrior Banana Fling
- I like keeping the proficiencies separate, but here is Monkey Warrior's Class Abilities. (Not powers, let's keep that distinction clear).
Finally some advanced people will like to track class based things, as an example. At 1st - 10th level Monkey Warrior can fling bananas that can do an extra 1d10 damage (Hey, he has big bananas!). at 11th to 20th his bananas do 2d10 damage, and finally he's mastered the banana flinging so well that 21st to 30th level he does 4d10 damage. So we want to track his damage. You can either note that damage in his ability, or PCGen can calculate that damage for you. We need two tags. DEFINE and BONUS:VAR. For the class level line, we only need to place the BONUS:VAR, but the DEFINE tag will need to be done in his ability.
So we add this 1 <> BONUS:VAR|BanannaFlingDamage|1 will add 1 to the variable name called BanannaFlingDamage. (Since our DEFINE tag is set to 0, it will be 1) 11 <> BONUS:VAR|BanannaFlingDamage|1 Adds another 1 to the same variable name. (0+1+1 =2) 21 <> BONUS:VAR|BanannaFlingDamage|2 Adds 2 to the variable name (0+1+1+2=4)
Here is my final Monkey Warrior with all the completed stuff, does yours look the same?
CLASS:Monkey Warrior <> HD:1 <> TYPE:Base.PC <> BONUS:CHECKS|Fortitude|3|TYPE=Class <> PREMULT:1,[PRECLASS:1,Monkey Warrior=1],[!PRETYPE:1,PC] 1 <> BONUS:HP|CURRENTMAX|20+CONSCORE 2 <> BONUS:HP|CURRENTMAX|(CL-1)*10 1 <> BONUS:VAR|HealingSurges|10+CON|TYPE=Class 1 <> BONUS:ABILITYPOOL|Monkey Warrior Class Skills|3 1 <> ABILITY:FEAT|AUTOMATIC|Skill Training (Monkey Lore) 1 <> TEMPLATE:ClassGrantedTotalLevels 1 <> ABILITY:Special Ability|AUTOMATIC|Monkey Warrior Weapon Proficiencies|Monkey Warrior Armor Proficiencies 1 <> ABILITY:Special Ability|AUTOMATIC|Monkey Warrior Fu|Monkey Warrior Percent Chance to find Fleas|Monkey Warrior Bananna Fling 1 <> BONUS:VAR|BanannaFlingDamage|1 11 <> BONUS:VAR|BanannaFlingDamage|1 21 <> BONUS:VAR|BanannaFlingDamage|2
That concludes Monkey Warrior. I won't be able to use Monkey Warrior until we finalize a few more files, so you'll need to be patient.
If you made it to this point, congratulations, you've completed the Basic Class for Character Creation.
Making monsters is not hard, in fact they are fairly easy once you get to
- Andrew Maitland.
---
Abilities
In this lesson we will learn how Abilitycategory and Abilities interact and how to create abilities using abilitycategories.
The Basis for grouping abilities are the ABILITYCATEGORY.
These are the foundation upon which the abilities are used. There are TWO types - Superset or Parent and Subset or Child.
For an Ability Category file you require the following tags ABILITYCATEGORY This is the name of the ability category - which can be either a 'superset' or otherwise known as 'parent', or 'subset' or otherwise known as 'child'. -NOTE: This is the first tag on every line in the abilitycategory file
CATEGORY This will determine whether this Abilitycategory is a Superset or Subset. If the AbilityCategory and Category names match then it's a superset, anything else will result in a subset. NOTE: A Subset also requires a TYPE tag, in a Superset do not use a TYPE tag.
- At this time it is unknown how few tags are required for just a Superset
TYPE - This is a required tag for a subset. It determines which abilities will in the superset will be listed. The Type can have multiples in one tag using periods to separate. NOTE: In code we use '.' or periods to denote 'AND'. TYPE:Monkey.General is the equivalent of This object is both Monkey and General.
VISIBLE - Determines whether or not it is visible in the GUI. Choices are 'YES' default, 'NO' and 'QUALIFY'. Setting QUALIFY will mean it will only display if the point pool has 1 or greater, or you have abilities selected in it.
EDITABLE - Determines whether you can add entries (For some reason even if set to no, you can still remove abilities, but will not be able to add anything) - GUI - You will still see the right hand pane, but the left pane disappears
EDITPOOL - Allow you to alter the points in the pool. Choices are Yes or No.
FRACTIONALPOOL - Determines whether a pool can have fractions instead of whole numbers. Only works if you set your abilities to have a COST with a fraction.
DISPLAYLOCATION - Either sets the superset or subset to appear in a certain group. e.g. Feats would make it display under the Feats Tab. Class Abilities would show it under Class Abilities. NOTE: Even a VISIBLE:NO ABILITYCATEGORY will show up as a tab if the DISPLAYLOCATION is either one that does not currently exist or you don't have one set up. In the absence of this tag it defaults to the name of abilitycategory.
PLURAL - How does the name appear in the drop down list. Normally you add a 's' at the end to indicate multiples or "plural". e.g. ABILITYCATEGORY:Monkey Fu Choice <> PLURAL:Monkey Fu Choices
Examples:
ABILITYCATEGORY:Special Ability
VISIBLE:NO
EDITABLE:NO
EDITPOOL:YES
FRACTIONALPOOL:NO
CATEGORY:Special Ability
That is a Parent or Superset - So defined because the ABILITYCATEGORY and CATEGORY Match. You do not need TYPE, DISPLAYLOCATION or PLURAL for a Superset. This sets up 'Special Ability' as a Superset.
ABILITYCATEGORY:Cleric Class Skills
VISIBLE:QUALIFY
EDITABLE:YES
EDITPOOL:NO
FRACTIONALPOOL:NO
CATEGORY:Skill Training
TYPE:Cleric
DISPLAYLOCATION:1st Level Skill Training
This is a subset or child. The Abilitycategory name is different from the Category. So this is a Child of the SKill Training Category. You'll see that a Child also REQUIRES a valid Type. Without a TYPE you'll have an empty list and PCGEn will report an error. This TYPE is used as an identifier to determine which Abilities from the parent set (defined by the CATEGORY token) are part of the subset defined by this child abilitycategory. Any Ability that is part of the parent category and has all of the types listed in the TYPE token of the AbilityCategory is part of this child abilitycategory.
Now that we understand how to set up a basic Parent / Child Abilitycategory we need to be able to both populate the list and allow people to make choices in them (In some cases we don't need player guidance)
Using our existing Child Abilitycategory lets say I want my Cleric to have one choice. So, I'll use the following tag BONUS:ABILITYPOOL|Cleric Class Skills|1
This will grant 1 choice to the Cleric Class Skills pool. However, the list is blissfully empty. In order to populate the list we need actual abilities. Simply having an ability with the Category of Skill Training will accomplish nothing. We need to tell it what abilities go in the Cleric Class Skills pool.
So we see TYPE:Cleric as the TYPE that will populate our pool. This is oposite from basic feats in that without a TYPE it will not display anything, a feat will automatically display. So TYPE is a filter to allow things in.
TYPE in an Ability, like in most other files, is simply a characteristic of the object (an Object can have more than one type). Generally TYPE can be used to refer to objects in groups. However, in Abilities, TYPE is used to create the sets of objects that appear in an ability category or in a subset ability category
Dummy Object TYPE:Cleric CATEGORY:Skill Training
"Dummy Object" is part of the Skill Training abilitycategory and could be purchased with the point in that pool. We just repeat this until all the abilities we want are part of the abilitycategory. Also, you may have more than one TYPE in an ability. To give an ability more than one type, you separate the types using a period '.'
So Dummy Object TYPE:Cleric.Monkey Fu CATEGORY:Skill Training
Has both Cleric and Monkey Fu types, and can be pulled into any 'pool' using either of those types. However, a Ability may not have more than one category. You may have abilities with the same name but different CATEGORY and you won't have a problem.
Category with the Ability name make the unique key, this is demonstrated when we want to .MOD (Modify) an ability. Let's say we have Monkey Fu for Special Ability, Fighter and FEAT. This would be shown as:
CATEGORY=Special Ability|Monkey Fu CATEGORY=Fighter|Monkey Fu CATEGORY=FEAT|Monkey Fu
add the .MOD or .COPY= to the end, but as you can see we can have the same name but no overlap or ambigiutity.
We have several groupings of Abilities: Datasets from 3e typically use multiple ability categories, including
Special Abilities - These will be where you place MOST of your abilities - In order to group anything, you will use the 'CATEGORY:' tag.
CATEGORY:Special Ability Denotes the ability belongs to the Special Ability category.
CATEGORY:FEAT Is how a Feat would be displayed in an ABILITY file, otherwise in a basic feat file it's assumed and is not required.
we tend to name these the same as what appears in the rule book for clarity --
I would suggest the following ABILITYCATEGORIES: Special Ability (This will be in the Gamemode) First Level (This is optional) Skill Training (A suggested spot for your class skills)
Class Skills (One for each Class)
Class Choices (One for each class that has a choice inside their begining abilities)
Powers (I would break those up into How often they can be used and the different Tiers)
- Class Feat - Uncertain at this time
AS you progress you may find you need more. But this should get your mind in the right spot.
Now Onto Ability Examples:
One of the more complex things to code for beginers would be Skill Training. So we will use the example built in the class instruction for 4e.
How do I indicate I am trained in certain skills?
I'll use an ability File (I can also use a Feat file, but they are essentially the same thing, and you'll see this makes more sense as we progress. Normally we place FEATS in a Feat file so you can use PREFEAT, but these next couple of feats are special cases.)
Skill Training CATEGORY:FEAT TYPE:General.HeroicMonkey MULT:YES CHOOSE:SKILLSNAMED|ALL BONUS:SKILL|LIST|1
- NOTE: CATEGORY is only required if you place this in an ability file. FEAT is an automatic given in a Feat File.
Wow, that is simple yes? So whenever I need my Monkey Warrior to become trained in a skill he takes this feat.
Well, lets add upon this... Monkey Warrior has a base set of skills he learns, so... Let's say he has a Skill he can take called Monkey Vine Swinging. (Hey Chimps love to swing!)
So in an ability file we would create this: (This next one must be an ability file to work correctly!)
Trained Class Skill (Monkey Vine Swinging) CATEGORY:Skill Training TYPE:MonkeyWarrior ABILITY:FEAT|AUTOMATIC|Skill Training(Monkey Vine Swinging) (This last part is key... It tells PCGen that we've taken the Skill Training and assigned Monkey Vine Swinging. So if you take Skill Training again, Monkey Vine Swinging will not be a choice)
You must do this for each skill you have in your skill list. Also, TYPE is a very KEY factor here. it's important because TYPE is used to place thigns into ability categories. You want your TYPE to have the Class that gets this particular class skill. If Healing Monkey and Warrior Monkey get the same skill then use the period to put both in the TYPE. Like so TYPE:Monkey Warrior.Healing Monkey Remember the earlier lesson how a TYPE assigns it to a pool? Well, if you set up your abilitycategories correctly and have Healing Monkey Skills using TYPE:Healing Monkey and also a Warrior Monkey with TYPE:Warrior Monkey. Then this one skill will show up in both pools or lists.
Onto the next part...
OKay, My Monkey Warrior loves Vine Swinging so much he wants to focus more feats to become better (Cause really, want monkey doesn't focus on simple pleasures?)
Skill Focus TYPE:General.HeroicMonkey PREABILITY:1,CATEGORY=FEAT,Skill Training (If doing all in a feat file then this becomes 'PREFEAT:1,Skill Training') MULT:YES CHOOSE:FEAT=Skill Training BONUS:SKILL|LIST|1
Okay, that covers the more difficult aspects of Monkey Skills.
NOTE: Depending on the type of file you use will factor into how you use the PRExxx tags.
A Feat File works with PREFEAT, where a ABILITY File works with PREABILITY. Though they should be interchangeable you should be aware of the subtle differences. Also, any ABILITY with a category other than FEAT will NOT take PREFEAT.
So, PREFEAT:1,Dodge and PREABILITY:1,CATEGORY=FEAT,Dodge should work just fine... But try to keep this in mind. If all your feats are created in an ABILITY file, then restrict yourself to using PREABILITY:x,CATEGORY=y,z format. (See Tag Index Docs for specific tag usage).
Now, Class Abilities...
Monkey Warrior has a Special Class Feature which Allows him to use 'Monkey Warrior Fu' and 'Monkey Warrior Banana Fling'
In order for that to work we need to create those abilities here. Recap of how the class is calling them: ABILITY:Special Ability|AUTOMATIC|Monkey Warrior Fu|Monkey Warrior Banana Fling
So, to break that tag into basic pieces, first it tells pcgen this is an ability located in an ability file, next it tells pcgen the abilitycategory of the ability. That is KEY to understanding where the program looks for the ability, finally we tell pcgen how this ability will appear on the character. The Nature is very important. We have three Natures NORMAL = It charges a pool point and also will NOT add the ability if you do not meet the Prereqs. AUTOMATIC = No charge to the pool, this will automatically appear on the character (Yellow unless you changed your preferences) VIRTUAL = Bypasses any Requirements and will not charge the pool. (Appears purple by default)
And Finally we tell PCGen what the Ability Name is. In this case Monkey Warrior Fu and Monkey Warrior Banana Fling.
NOTE: That each ability is separated by a '|' pipe. Do not use periods '.' or commas ',' or you will have issues.
Okay, so now we know how the ability is called, now we must make the ability.
Making an ability is not hard, inside the ability we can use any global tag. (See docs for global tags). So what we need to know is what the ability should do.
Monkey Warrior Fu grants our monkey warrior weapon proficiencies, armor and shield proficiencies and the ability to Shout each time he gets into a fight but only once.
Each Line indented indicates a tab for ease of flow.
Monkey Warrior Fu TYPE:CLass Ability CATEGORY:Special Ability AUTO:WEAPONPROF|Monkey Claws|Monkey Bite|Monkey Fists AUTO:ARMORPROF|Monkey Jacket AUTO:SHIELDPROF|Bananna Buckler SAB:Monkey Warrior Shout ~ Once per fight you can instill the fear of the monkey. At 12th level this Shout deals 1d10 bad breath damage
At 1st - 10th level Monkey Warrior can fling bananas that can do an extra 1d10 damage (Hey, he has big bananas!). at 11th to 20th his Bananas deal 2d10 damage, and finally he's mastered the Banana flinging so well that 21st to 30th level he does 4d10 damage. So we want to track his damage. You can either note that damage in his ability, or PCGen can calculate that damage for you. We need two tags. DEFINE and BONUS:VAR. For the class level line, we only need to place the BONUS:VAR, but the DEFINE tag will need to be done in his ability.
Monkey Warrior Banana Fling TYPE:Class Ability.SpecialAttack CATEGORY:Special Ability SAB:Monkey Fling Banana ~ fling Banana 30 ft and deals %d% damage|MonkeyBananaDamage|MonkeyBananaDie DEFINE:MonkeyBananaDamage|0 DEFINE:MonkeyBananaDie|10
NOTE: DESC tag should be enabled on the NEW Output Sheet and PDF. In that case using special TYPES will make it appear in different places. In this SpecialAttack will appear in the SPecial Attack section. However, DESC uses a slightly different wildcard. Instead of just '%' for each variable in a row, it uses a slightly more intelligent mechanic of '%' followed by the number that the variable appears in.
e.g. DESC: I throw %1 rocks per round plus %2d%3+%1 damage for %4 rounds|Example1|Example2|Example3|Example4
Now lets say example 1 = 5 example 2 = 1 example 3 = 4 example 4 = 8
So that would appear as DESC: I throw 5 rocks per round plus 1d4+5 for 8 rounds|Example1|Example2|Example3|Example4
Okay, that is the basics of creating class abilities, which can also be racial abilities.
We've covered the basics of creating ABILITYCATEGORY tags to create pools, learned how to make the abilities so they are put in those pools.
I think this covers the basics for abilities. If we come across more advanced techniques to be explained they will covered in an advanced series.
Equipment
Greetings,
This lesson is divided into two sections - Part 1 will be an explanation of the tags, Part 2 will
be the 4e specific uses.
Our standard method is the first part is the name of the item in question. So, if I were to code up
a Longsword I'd place Longsword as the first part in the line
Example: Longsword <>
TYPE - Determines what 'type' of item this is to be categorized. Common types are - Weapon, Armor,
Shield, Natural, Heavy, Light, Medium, Melee, Ranged, Slashing, Piercing, Bludgeoning, Ring, Glove,
Bracer, Headgear, Eyewear, Amulet, etc.
Certain types will show up in different locations on the character sheet, or determine whether an
item can just be "equipped" or goes in a specific location.
The rest of the tags are optional
ACCHECK - Used for Armor or Shields, determines what the penalty of the item bestows for certain skills,
and other formulas dependent upon the penalty. (number is done '-x')
ALTCRITMULT - USeful for double weapons. Determines what the alternate head has for it's critical multiplier.
'-' is none, otherwise 'xy' with 'y' being the number is common.
ALTCRITRANGE - What is the die range for criticals on the alternate head of a double weapon. 1 = 20, 2 = 19 &
20, etc.
ALTEQMOD - What equipment modifiers are applied to the alternate head of a double weapon
ALTTYPE - Determines the 'types' for the alternate head
CRITMULT - Same function as ALTCRITMULT only it is used for either the primary head or non-double weapons
CRITRANGE - Determines the critical die range for the primary weapon
DAMAGE - Displays the damage this item can do. (Normally used for Weapons)
FUMBLERANGE (TODO rest of tags)
Using this in a 4th Edition Style Game
Now that we have a simple grasp of items let's make something, I'll do a Weapon, a piece of armor and a Shield
Monkey War Hammer (Of Luck) OUTPUTNAME:Monkey War Hammer of Luck +2 PROFICIENCY:WEAPON|War Hammer
TYPE:Weapon.Melee.Ranged.Thrown.Bludgeoning.Hammer.Warhammer.AdvancedMelee.MeleeBludgeoning.RangedB
ludgeoning DAMAGE:2d6 CRITRANGE:1 BONUS:WEAPON|TOHIT,DAMAGE|3|TYPE=Enhancement NOTE: You can obtain the same result using eqmods, example EQMOD:PLUS3W.SpecialArtifactFooBar NOTE: You can also place special unseen abilities on items not available to players as choices.
Useful if you want an artifact or a special item. RANGE:10 REACH:10 SIZE:L WIELD:OneHanded WT:25 SPROP:Monkey War Hammer of Luck +2 imbues great coding skill as you bash the computer into
submission.
- Okay Class, This is a nasty weapon, it deals 2d6 on a hit, plus an enhancement bonus of plus 3.
It has an eqmod that is either granting it something else (we don't know unless we look at it or it
has an SPROP tag), we can throw it in increments of 10, it has a reach of 10 ft, and it's a
OneHanded weapon for a Large Creature, weighing in at an impressive 25 pounds.
Armor Sample Monkey Dream Armor TYPE:Armor.Heavy.Suit.Unique PROFICIENCY:ARMOR|Heavy BONUS:COMBAT|AC|8|TYPE=Armor.REPLACE BONUS:MOVEADD|TYPE.Walk|-1 ACCHECK:-2 COST:50 WT:50
Shield Sample
Banana Shield
PROFICIENCY:SHIELD|Light Shield
TYPE:Shield.Light
COST:1
WT:10
BONUS:COMBAT|AC|1|TYPE=Shield
When coding items, we tend to only use bonus tags for constant bonuses, for non-constant or
changing bonuses we leave those out or place them in the SPROP tag, however, you may also apply
those bonuses using the PREAPPLY tag, allowing it as a temporary modifier.
Remember, the Proficiency name used must have a corresponding name in the correct file (Armor Prof,
Weapon Prof or Shield Prof file).