Player Resource Consortium


Author Topic: Crafting Guide  (Read 6914 times)

0 Members and 1 Guest are viewing this topic.

June 09, 2009, 01:46:49 PM

This is a text dump of what was supposed to be a new manual page. This should be removed when the manual page is added. Tables don't show up here properly, but information contained in the cost and DC tables can be found in the SRD or the DMG.

This is a guide to the new crafting system, implementing PnP crafting. Feedback on errors/missing information/style/possible improvements is appreciated.

Feat Use
On the class radial of one of the base classes there should be a read recipe feat with a purple icon. This should open a subradial with 2 subfeats. The first is the original recipe based crafting system feat, used exactly like before. The second should be named "Craft Item" and is the subfeat used for the new system. It is recommended that you craft items in a distraction-free environment. Otherwise you risk disrupting the crafting conversation or ruining the magic item you are attempting to craft.
If there is a problem that prematurely aborts the conversation (eg. TMI) using the feat again should reset all the variables, as well as display a recovery message. Use the feat one more time to start again.

Crafting Non-Magical Items
To craft non-magical items, target yourself with the subfeat. Note that you will make skill checks with either the craft weapon or craft armour skills to craft your items. You must wait as a list of base items is created, after which "*Done*" will appear above the character's head and in the log. Choose "Continue" and you should see a list of weapons and shields, as well as armour, sorted alphabetically.
If you have chosen either a longbow or a shortbow, you will then see a list of Mighty values to add to the bow, representing the crafting of a composite bow. You may choose zero if you do not want to craft a composite bow.
If you have chosen to craft armour, a list of armour types (base AC 0-8) will be displayed, allowing you to choose the type of armour to craft.
You will then see a list of options, allowing you to choose to make a normal item, a masterwork item, or an item made of an applicable material (darkwood for wooden items, adamantine or mithral for metallic items, etc.). Armour with zero base AC (only available for wondrous item crafting), staffs, rings and wondrous items can only use the "normal" option. Cloaks will have their colours randomised. Note that some materials cannot be implemented in NWN (cold steel, alchemical silver, adamantine for weapons).
Afterwards you will be presented with a description of the desired item, along with a cost in gp. You will be able to choose "Confirm" if you have the required gp.
You will then make a skill check based on the item you have selected (and another one if the item is masterwork). If you succeed, the item you have chosen to craft will appear in your inventory. The crafting cost in gp will be deducted regardless of whether you succeed or not.

Crafting Magic Items
To craft magical arms and armour, you will need either a masterwork item, or an existing magical item. For other items, you will need the blank item created through non-magical crafting (see above). You must also have the required feat to craft the particular item.
Target the item to be crafted using the subfeat. You must wait as a list is created. As with non-magical crafting, "*Done*" will appear when the list is finished.
At this time, rod crafting is unavailabe, because rods as written in the SRD have been impossible to do without extra scripting.

Change Name
If you choose "Change Name" you will have about 30 seconds in which to use chat to state the exact name of your item. A visual effect will appear to indicate success.

Change Appearance
If you choose "Change Appearance" you will be given a series of numbers separated by dashes (appearance code). This code represents the appearance of your item. This is given for your information in case you make a mistake and wish to change you item's appearance to what it was when you started (it also allows you write down the appearance of an item that you really like so you can reproduce it later). To change the appearance, choose "Set new appearance code". A listener will spawn, allowing you to shout a new appearance code (in the same format) for your item (similar to changing names). Substituting an asterisk will leave a value unchanged.

    * 0 - simple appearance, eg. rings, amulets
          o Format: single number - icon
    * 1 - simple appearance + colours, helmet/cloak
          o Format: x-x-x-x-x-x-x (7 values, 1 model, 6 colour)
                + model
                + leather1
                + leather2
                + cloth1
                + cloth2
                + metal1
                + metal2
    * 2 - weapons/boots
          o Format: x-x-x-x-x-x (6 values, 3 colour, 3 model)
                + bottom colour
                + middle colour
                + top colour
                + bottom model
                + middle model
                + top model
    * 3 - armour (25 values, 19 model, 6 colour)
          o Format: x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x-x
                + right foot
                + left foot
                + right shin
                + left shin
                + left thigh
                + right thigh
                + pelvis
                + torso
                + belt
                + neck
                + right forearm
                + left forearm
                + right bicep
                + left bicep
                + right shoulder
                + left shoulder
                + right hand
                + left hand
                + robe
                + leather1
                + leather2
                + cloth1
                + cloth2
                + metal1
                + metal2

Model numbers are numbers corresponding to the relevant .mdl files (will work with additional models added through haks). Colour numbers are numbers corresponding to different colours on the palette.
At this time (NWN patch 1.68), attempting to change the model of a cloak will instead destroy it (CopyItemAndModify() doesn't work for cloak models yet)
Admittedly, this system is powerful, yet hard to use. However, in the future, appearance changes through conversation (providing a front-end for the underlying code) may be implemented.
One way to get the exact appearance you want is to first make the item in the toolset and save it. Then use a program (eg. Leto's advanced editor, nwnexplorer, etc.) to open the saved blueprint in the temp directory used by the toolset. For most items (except weapons and boots) model/colour numbers will be shown in the order given above. Weapons and boots are shown in a similar order (bottom, middle, top) as digits, with the last digit being the colour and first (one or more) being the model.
As much as I would like to implement it, there is currently no way to change the description of the item. It will likely work in the same way as changing the name if I ever get it to work.

Craft Magic Arms and Armour: Adding a special ability
If the item you are crafting is a weapon, armour or shield, you will be given the option of adding enhancement or special abilities. Enhancement or special abilities added will replace similar types, and downgrading is not possible.
If you have chosen to add Bane or Dread to a weapon, you must wait as a list of available races is created. You will then be able to choose which race is affected by the bane property. The Bane/Dread properties also depend on the current level of enhancment, so it is recommended that it be added after any changes to the enhancement.
If you have chosen a property to add to your item, A description of the property will appear, along with the crafting cost in gp, xp and time (if applicable). If you have the gp and xp required (you are not allowed to spend enough xp to lose a level) you will be able to choose the "Confirm" option.
If the time delay scale is set to instantaneous, your item will be upgraded and the costs deducted, as well as any required spell uses decreased. Otherwise, there will be a delay, with floating text messages indicating the number of rounds left. You must not do anything strenuous such as fighting, casting spells or anything else that disrupts concentration. Otherwise, you will have to begin the crafting process again. At the end of the delay, your item will be upgraded and the costs deducted, as well as required spell uses decreased.

Ring/Wondrous Item Crafting
Unlike magic weapons/armour/shields, you may only craft specific items. A list of items will appear if you are crafting with a blank item (created through non-magical crafting, see above), otherwise you will only see the name and appearance changing options. In all other respects it is the same as crafting weapons/armour/shields.

Staff Crafting
Staff crafting works like wand crafting, where you cast a spell on the base item (obtainable through non-magical crafting, see above). However, unlike wand crafting, you may add multiple spells to the staff by casting more spells on it (up to 8), provided you can meet the gp/xp cost. Since real epic staffs are not possible (unless level 10+ spell slots are added to the game), metamagic can only be applied to staffs if the caster possesses the Craft Epic Staff feat (an artificial limitation).

Crafting DC
Item DCArmour/Weapons/Shields 10 + Base AC
Crossbows 15Bows 12
Composite Bows 15 + 2 x Mighty valueSimple melee weapons 12
Martial melee weapons 15Exotic melee weapons 18
Masterwork 20 (separate roll)

Crafting Cost
Costs in gp (market price) unless noted.
Type Light Armour Medium Armour Heavy Armour Shields Weapons Ammunition (99 units)
Masterwork 150 150 150 150 300 594
Adamantine 5,000 10,000 15,000 N/A N/A N/ADarkwood N/A N/A N/A 10/lb of weight N/A
Dragonhide Double total cost (base + masterwork) N/A N/A
Mithral 1,000 4,000 9,000 1,000 500/lb of weight N/A
Crafting cost is 1/3 market price.
Market Price = (Non-Magical Price) + (Enhancement Cost) + (Additional Cost)
Non-Magical Price is price from previous section.
Enhancement Cost = (Base Enhancement Cost) x (Effective Enhancement)2
Additional Cost from properties adds linearly.
Base Enhancement Cost is 1,000gp for armour/shields, 2,000gp for weapons
Effective Enhancement = Enhancement + Enhancement values on properties (eg. +5 for vorpal weapons)
For epic items, the enhancement cost is x10 what it is for non-epic items, eg. non-epic, +5 vorpal sword is 2000x(10)2 (+5, +5 for vorpal) = 200,000gp, epic, +10 sword is 2000x(10)2x10 (for being epic) = 2,000,000gp
Crafting cost is 1/2 market price in gp, 1/25 market price in xp if non-epic, 10,000 + 1/100 market price if epic. Upgrading items costs the difference in cost of the old and the new item according to the rules presented here.
Time cost is 1 game hour/1,000gp market price by default.

Arbitrary (non-PnP) Crafting
If a particular switch is set (see switches below), Most of the information above relating to magic item crafting may be ignored. Instead of choosing special abilites or making specific items, you instead choose particular itemproperties.
You will be presented with a list of itemproperty types to choose from. If applicable, you will then be able to choose the subtype, costtablevalue and param1value. Cost will be the difference in cost between the old and the new item according to NWN, with gp/xp/time costs calculated according to the rules in the section above.

Crafting Facilities
You can provide facilities to player for crafting, either through a npc or placeable. To create a facility, find the item named "PRC_CRAFT_TOKEN" and put it in the inventory of the npc or placeable, taking care to make sure the object is plot, the item cannot be pickpocketed, the placeable is locked, etc.
Players within 10m of the object will be able to craft without the normal restrictions, for market price in gp and zero xp.

These are all "int" type switches
Switch Description Default
PRC_DISABLE_CRAFT Disables the crafting system altogether FALSE
PRC_AREA_DISABLE_CRAFTING Set in area, disables crafting in that area. FALSE
PRC_CRAFT_TIMER_MULTIPLIER Scales the time cost for crafting by this value/100 100
PRC_CRAFT_STAFF_CASTER_LEVEL Crafted staffs have the casterlevel of the creator. FALSE
X2_CI_CRAFTSTAFF_COSTMODIFIER Cost modifier of spells crafted into staffs 750
PRC_CRAFTING_ARBITRARY Disables PnP crafting and instead allows all NWN itemproperties (subject to cost) FALSE
PRC_CRAFTING_COST_SCALE Scales the gp cost for crafting by this value/100 100
PRC_CRAFTING_TIME_SCALE Sets crafting time per 1000gp in market price:

   1. off, no time required
   2. round
   3. turn
   4. game hour
   5. game day

To disable a specific item/special ability in PnP crafting, set a switch with this name:
PRC_CRAFT_DISABLE_<name of crafting 2da file>_<line number of property>

When adding lines to 2das used, modify prc_inc_fileend.nss to allow the scripts to read the required number of lines.
Used to store items/special abilities and their prerequisites
Column Name Description Format
Name Name TLK entry
Label Just a label String
PropertyType Crafting type, "M" for magic, "P" for psionic (not implemented yet), blank for any Character
Level Level (caster, manifester, etc.) prerequisite Integer
Race Race prerequisite, line in racialtypes.2da (evaluated using MyPRCGetRacialType()) Integer
Feat Feat prerequisite, line in feat.2da Integer
Skill Skill prerequisite, line in skills.2da Integer
SkillRanks Number of ranks for skill prerequiste Integer
SpellPattern Bitfield, tells the scripts which of the following columns to check Integer
Spell1 Spell prerequisite, line in spells.2da Integer
Spell2 Spell prerequisite, line in spells.2da Integer
Spell3 Spell prerequisite, line in spells.2da Integer
SpellOR1 Spell prerequisite, crafter must have one of SpellOR1 or SpellOR2, line in spells.2da Integer
SpellOR2 Spell prerequisite, crafter must have one of SpellOR1 or SpellOR2, line in spells.2da Integer
AlignGE Alignment prerequisite, "G" for good, "E" for evil, "N" for neutral, blank for any Character
AlignLC Alignment prerequisite, "L" for lawful, "C" for chaotic, "N" for neutral, blank for any Character
Enhancement Enhancement value for cost calculations IntegerAdditionalCost Additional cost for cost calculations Integer
ReplaceLast Property will disable this number of the preceding lines, for weapon/armour/shield crafting Integer
BaseItem Base item filter for wondrous item crafting, line in baseitems.2da, ignored for craft_ring.2da IntegerTypeN Type of the Nth itemproperty to add (up to 6) Integer
SubTypeN SubType of the Nth itemproperty to add (up to 6) Integer
CostTableValueN CostTableValue of the Nth itemproperty to add (up to 6) Integer
Param1ValueN Param1Value of the Nth itemproperty to add (up to 6) Integer
Epic Epic prerequisite, whether the creator needs the epic crafting feat Integer
Special Determines whether the property needs special handling by the scripts Integer

Used for non-magical crafting, lines must match baseitems.2da
Column Name Description Format
Name Name of base item TLK entry
label A label String
Blueprint Resref of blank/generic item to create when crafting String
Type Identifies the type of base item for the crafting scripts:



Scripting - Adding New Items/Special Abilities
To add properties, add lines to the relevant crafting 2das, then add code to the functions below (in prc_craft_inc.nss), using existing code as a guide. You must be proficient in 2da editing and NWScript.
Weapon/armour/shield crafting, uses an itemproperty to find what special abilities have been added to an item. Hardcoded to avoid having to search through the 2das for every itemproperty on an item.
Weapon/armour/shield crafting, disallows special abilities that are similar to existing properties (for items being upgraded that were not created using this system).
Extra rules for handling prerequisites.
Section near the beginning of this function handles spell prerequisites.
A portion of this function disables some special abilities for ranged weapons, listed here.


        int nBase = GetBaseItemType(oItem);
        int bRangedType = StringToInt(Get2DACache("baseitems", "RangedWeapon", nBase));
        if(bRangedType && (bRangedType != nBase))
        { //disallowed because ranged weapons can't have onhit
        array_set_int(oPC, PRC_CRAFT_ITEMPROP_ARRAY, 22, 0);
        array_set_int(oPC, PRC_CRAFT_ITEMPROP_ARRAY, 24, 0);
        array_set_int(oPC, PRC_CRAFT_ITEMPROP_ARRAY, 26, 0);
        array_set_int(oPC, PRC_CRAFT_ITEMPROP_ARRAY, 34, 0);
        array_set_int(oPC, PRC_CRAFT_ITEMPROP_ARRAY, 40, 0);
        array_set_int(oPC, PRC_CRAFT_ITEMPROP_ARRAY, 42, 0);


EDIT: info that should've been in tables keep losing their newline formatting
That is not dead which can eternal lie.
And with strange aeons even death may die.