Updated Release Archive

Updated Release Archive.  Fixed Mage-killer prereqs.  Removed old LETO & ConvoCC related files.  Added organized spell scroll store.  Fixed Gloura spellbook. Various TLK fixes.  Reorganized Repo.  Removed invalid user folders. Added DocGen back in.
This commit is contained in:
Jaysyn904 2023-08-22 10:00:21 -04:00
parent 3acda03f30
commit 5914ed2ab5
22853 changed files with 57524 additions and 47307 deletions

Binary file not shown.

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry excluding="2da/|Tools/|codegen_example/|manual/|manual/english/|manual/english/content/|manual/english/content/base_classes/|manual/english/content/class_epic_feats/|manual/english/content/class_feats/|manual/english/content/domains/|manual/english/content/epic_feats/|manual/english/content/epic_spells/|manual/english/content/feats/|manual/english/content/installation/|manual/english/content/itemcrafting/|manual/english/content/master_feats/|manual/english/content/modulebuilding/|manual/english/content/prcmaking/|manual/english/content/prestige_classes/|manual/english/content/psionic_powers/|manual/english/content/races/|manual/english/content/skills/|manual/english/content/spells/|manual/english/menus/|manual/french/|manual/french/content/|manual/french/content/installation/|manual/french/content/itemcrafting/|manual/french/content/modulebuilding/|manual/french/content/prcmaking/|manual/french/menus/|manual/german/|manual/german/content/|manual/german/content/installation/|manual/german/content/itemcrafting/|manual/german/content/modulebuilding/|manual/german/content/prcmaking/|manual/german/menus/|manual/images/|manual/italian/|manual/italian/content/|manual/italian/content/installation/|manual/italian/content/itemcrafting/|manual/italian/content/modulebuilding/|manual/italian/content/prcmaking/|manual/italian/menus/|manual/scripts/|manual/spanish/|manual/spanish/content/|manual/spanish/content/installation/|manual/spanish/content/itemcrafting/|manual/spanish/content/modulebuilding/|manual/spanish/content/prcmaking/|manual/spanish/menus/|manual/styles/|rawicons/|templates/|templates/english/|tlk/|prc/utils/CVS/|com/realityinteractive/imageio/tga/" kind="src" path=""/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry exported="true" kind="lib" path="imageio_tga_1.1.0.jar"/>
<classpathentry kind="output" path=""/>
</classpath>

View File

@ -0,0 +1,19 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>DocGen</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.jem.workbench.JavaEMFNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.jem.beaninfo.BeanInfoNature</nature>
</natures>
</projectDescription>

Binary file not shown.

View File

@ -0,0 +1,16 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Player Resource Consortium :: Manual</title>
<link type="text/css" href="styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="styles/manual_index.css" rel="stylesheet">
</head>
<frameset cols="172, *, 182" frameborder="no" border="0">
<frame src="german/menus/manual_menus_main.html" name="mainmenu" frameborder="no" border="0" noresize >
<frame src="german/content/manual_content_main.html" name="content" frameborder="no" border="0" noresize>
<frame src="german/content/manual_content_blank.html" name="contentmenu" frameborder="no" border="0" noresize >
</frameset>
</body>
</html>

View File

@ -0,0 +1,63 @@
<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
<html><head><title>Player Resource Consortium :: ACP Installation Instructions</title>
<link type="text/css" href="../../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../../styles/manual_content_common.css" rel="stylesheet"></head><body scroll="auto">
<br>
<div><h1>:: ACP Installation Instructions ::</h1></div>
<br>
<div class="div_paddedcontent">
<br>ACP is the Alternate Combat animations Pack by Ragnarok of DLA. It is avaliable on the NWvault <a href="https://neverwintervault.org/project/nwn1/hakpak/original-hakpak/alternate-combat-animations-pack-acp-v40">here</a>.
<br>
<ol>
<li>Extract the ACP haks to your NWN hak dir.
</li><li>Open the toolset.
</li><li>Load the module you wish to add ACP to. It should already have PRC 2.3 installed via the PRC module updater. You should <b>not</b> have run the module updater to install the ACP on it.
</li><li>You should get a dialog box that says: "Warning: This file uses one or more haks". Press Yes.
</li><li>Edit -&gt; Module Properties -&gt; Advanced tab -&gt; Variables.
<br>You should see a screen like this:
<br><img src="../../../images/switches.jpg">
</li><li>In the name box, enter "PRC_ACP_MANUAL"
</li><li>In the type box, select int
</li><li>In the value box, enter "1"
</li><li>Press Add. It should be added to the list above.
</li><li>Press OK.
<br>If you want to save the module at this point, you can do so. If
your having trouble canceling the build, this may be a good idea at
this point.
</li><li>Select the Custom Content tab in Module Properties
</li><li>From the drop down menu, select "acp_core". Press Add.
</li><li>From the drop down menu, select "acp_kensai". Press Add.
</li><li>From the drop down menu, select "acp_assassin". Press Add.
</li><li>From the drop down menu, select "acp_heavy". Press Add.
</li><li>From the drop down menu, select "acp_fencing". Press Add.
</li><li>From the drop down menu, select "acp_pheno5_hr". Press Add.
</li><li>From the drop down menu, select "acp_pheno6_hr". Press Add.
</li><li>From the drop down menu, select "acp_pheno7_hr". Press Add.
</li><li>From the drop down menu, select "acp_pheno8_hr". Press Add.
</li><li>Make sure you <b>do not</b> add the "acp_2da" hak as it is already integrated into the PRC.
</li><li>You will get a warning message. Press Yes.
</li><li>It will now start compiling. As soon as the Cancel button
becomes clickable, click on it. This picture should help, this is the
sort of thing you should see when you should click the cancel button:
<br><img src="../../../images/cancelbuild.jpg">
<br>Don't worry if you miss it a few times or it takes a while to
appear. It does depend on the speed of your maching and the size of the
module your adding it to.
</li><li>File -&gt; Save As.. and enter a new name
</li><li>Start up NWN and Start a New Game and select the module you
just created. You will see the ACP feat on your class radials and can
use it to change combat animations.
</li></ol>
<br>Note I: If you want to have PCs automatically change animation
based on class/equipment rather than having to tell it to do so, enter
PRC_ACP_AUTOMATIC instead of PRC_ACP_MANUAL in the module variable
name.
<br>
<br>Note II: If you want NPCs using the PRC NPC script wrappers to
change animations, set the PRC_ACP_NPC_AUTOMATIC variable either on the
module or on specific NPCs.
</div></body></html>

View File

@ -0,0 +1,37 @@
<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
<html><head><title>Player Resource Consortium :: CEP PRC Merge Instructions</title>
<link type="text/css" href="../../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../../styles/manual_content_common.css" rel="stylesheet"></head><body scroll="auto">
<br>
<div><h1>:: CEP PRC Merge Instructions ::</h1></div>
<br>
<div class="div_paddedcontent">
<br>
<br>The PRC can work with CEP, but there are some minor issues. All of
these can be resolved by using a merge hak and tlk file.
The merge hak sits above both PRC and CEP in the module custom content
list and contains the 2da files that both CEP and PRC change.
The merge tlk is used instead of either individual tlk file.
<br>
<br>To make a set of merged files, start by creating a new clean module in the toolset.
<br>Then add all the CEP content as per the CEP instructions.
<br>Save the module and exit the toolset. Then run the PRC Module Updater on the module.
<br>This will complain about some conflicts, but should sort most of them out.
<br>It should produce a new hak and tlk file naed after the module in your hak and tlk
directories. To make it easier for future reference, I would rename those files into something
recognisable, such as CEPxxxPRCxxx. You can also delete the module as it is no longer needed.
<br>
<br>At this point, the merge files created will work on a basic level, but will have a few bugs. The main files
that has problems is baseitems.2da so I suggest you extract that from the merge hak and from prc_2das.hak making
sure that they go to different directories so they dont overwrite each other. Then use a plain text editor to copy
the lines 0-112 from the prc version over the same lines in the merge version. After than, put the modified merge
version of the 2da back into the merge hak.
<br>
<br>Now your merge hak should be complete and free from any issues. One more think to remember though, when
changing a PRC-enabled modules custom content from the toolset, press cancel as soon as possible
once the toolset starts recompiling. If you dont, the toolset will crash when it tries to recompile the
PRC scripts.
</div></body></html>

View File

@ -0,0 +1,183 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head>
<meta http-equiv="Content-Language" content="en-gb">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"><title>Player Resource Consortium :: Manual :: Installation :: Guide</title>
<link type="text/css" href="../../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../../styles/manual_content_common.css" rel="stylesheet"></head><body scroll="auto">
<br>
<div><h1>:: Installation :: Guide :: FAQ ::</h1></div>
<br>
<div class="div_paddedcontent">
<center>
<a href="jcc_pg06.htm">Previous Page</a>
</center>
<ol type="I">
<li><a href="#Installer">PRC Installer</a> </li>
<li><a href="#Updater">PRC Module Updater</a> </li>
<li><a href="#Java%20CC">java Character Creator</a> </li>
<li><a href="#Java%20CC">General Questions</a> </li>
</ol>
<br><br>
<a name="Installer">
<div><h2>PRC Installer</h2></div>
</a>
<br>
<b>Q:</b> I get a message that the installer cant find NWN, HotU or
SoU.
<br><br><b>A:</b> The installer reads your registry entries, so if they are
wrong the installer wont work. The best bet is to uninstall and re-install NWN
and both expansions, that should restore the registry entries as well.
<br><br><b>Q:</b> I get a message that I need the Microsoft .NET framework
<br><br><b>A:</b> The installer uses Microsoft .NET which you can get it <a href="https://www.microsoft.com/en-us/download/details.aspx?id=21">here</a>
<br><br><b>Q:</b> I use linux and/or mac and can't use the installer
<br><br><b>A:</b> You can get the .rar version from the vault and extract it
by hand
<br><br>
<br><br>
<a name="Updater">
<div><h2>PRC Module Updater</h2></div>
</a>
<br>
<b>Q:</b> Why cant I update Bioware premium modules?
<br><br><b>A:</b> Bioware has encrypted these, so the updater cannot read
them. Sorry, but there is nothing the PRC can do about it.
<br><br><b>Q:</b> Why does the PRC not work with module "X"?
<br><br><b>A:</b> We cannot guarantee that the PRC is compatible with any
module. In general most modules can cope with the PRC being added with little or
no side effects, in particular we have tried to be as compatible as possible
with the Bioware original campaigns. Some known problems include any module with
Hardcore Rule set, arQon's EMS, Old Man Beards OHS, Spellman Project, as well as
some specific modules, such as Demon.
<br><br><b>Q:</b> I get a message that I need the Microsoft .NET framework
<br><br><b>A:</b> The installer uses Microsoft .NET which you can get it <a href="https://www.microsoft.com/en-us/download/details.aspx?id=21">here</a>
<br><br><b>Q:</b> I use linux and/or mac and can't use the module updater
<br><br><b>A:</b> Unfortunately, you will have to install it by hand into
modules. See the <a href="http://www.athasreborn.com/prc/">PRC Forums</a> and ask for more information
and assistance.
<br><br><b>Q:</b> I get an warning message during the merge saying "...."
<br><br><b>A:</b> Most error messages warn about overridden scripts or 2da
conflicts, but a lot of the time the module will work anyway, even if there may
be one or two minor glitches in specific circumstances. If it is an error
message because of CEP, see the next question.
<br><br><b>Q:</b> Does the PRC update modules with CEP added?
<br><br><b>A:</b> Yes, but there is an additional problem. After the module
updater has finished, you need to use the nwhak utility in the utilis folder of
your NWN install to extract a copy of baseitems.2da from the prc_2da.hak file,
and extract baseitems.2da from the merge file. Using a plain text editor (such
as notepad) you need to copy the first 112 lines (starting with "0&nbsp;&nbsp;
106&nbsp; shortsword ....." down to "112&nbsp;&nbsp; 83664&nbsp; craftbase
......" inclusive) from the PRC version over the same lines in the merge hak
version. Then you need to use nwhak to reinsert it into the merge hak.
Alternatively, you could try downloading one of the unofficial merge haks from
the vault and using that instead.
<br><br><b>Q:</b> This is an excellent utility. Can I use it for my own hak?
<br><br><b>A:</b> Yes, the .hif files are use to tell it what files to put
where and can be opened with a plain text editor (such as notepad). <br><br>
<br><br>
<a name="Java CC">
<div><h2>Java Character Creator</h2></div>
</a>
<br><b>Q:</b> It says it cant find the portrait directory.
<br><br><b>A:</b> You need a folder named "portraits" in your NWN directory,
though it doesn't need any files in it. It it doesn't exist, you'll need to
create it.
<br><br><b>Q:</b> I am having problems using packages to select feats,
skills, spells etc.
<br><br><b>A:</b> There are some known bugs involving packages and the CC,
also almost all of the PRC classes do not have any packages. It is better to
hand-pick all your feats etc.
<br><br><b>Q:</b> None of the new PRC races and/or classes are showing up.
<br><br><b>A:</b> Make sure you have the .hak files associated correctly in
the "Settings" screen.
<br><br><b>Q:</b> I get weird lines of text instead of names.
<br><br><b>A:</b> Make sure you have the .tlk file associates correctly in
the "Settings" screen.
<br><br><b>Q:</b> I cant see any buttons or anything.
<br><br><b>A:</b> There have been reports of issues with ATI catalyst drivers
If you them update to 5.7 or later this problem should be fixed.
<br><br><b>Q:</b> I don't know what head number corresponds to which head.
<br><br><b>A:</b> Use the toolset to place a creature and change its
appearance to your desire. Then note down the head number from the properties
and use that in the CC. This picture should help clarify it:
<center> <img src="../../../images/CCParts.jpg" border="0"> </center>
<br><br><b>Q:</b> I want to use CEP for my appearance.
<br><br><b>A:</b> Add CEP and a CEP &amp; PRC merge to the list of haks in the
"Settings" screen, and set the custom tlk file to a CEP &amp; PRC merged tlk file.
<br><br><b>Q:</b> I get an error message XYZ
<br><br><b>Q:</b> The java CC disapperes while loading
<br><br><b>A:</b> Try uninstalling java and WinRAR and following the exact
steps described in this document. If that still doesn't work you could try
making a batch file. To do so open notepad and type:
<br><br>java -Xmx150M -Xms150M -jar CC.jar
<br><br>Then save it as "cc.bat" (including the quote marks) in the
same directory as cc.jar and then run the batch file by double-clicking on it.
<br><br>
<br><br>
<a name="General Questions">
<div><h2>General Questions</h2></div>
</a>
<br><br><b>Q:</b> Why doesn't racial Spell Resistance show on the character sheet?
<br><br><b>A:</b> Because the PRC has a scripted SR system, to allow for various features.
You should see "X was affected by the spell." or similar messages.
<br><br><b>Q:</b> Why doesn't X show on the character sheet?
<br><br><b>A:</b> Because the character sheet is rather buggy. Additional attacks for example,
often do not show. However, the combat logs will be correct, so you can use those numbers to
measure your character against.
</div>
</body></html>

View File

@ -0,0 +1,80 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head>
<meta http-equiv="Content-Language" content="en-gb">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"><title>Player Resource Consortium :: Manual :: Installation :: Guide</title>
<link type="text/css" href="../../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../../styles/manual_content_common.css" rel="stylesheet"></head><body scroll="auto">
<br>
<div><h1>:: Installation :: Guide ::</h1></div>
<br>
<div class="div_paddedcontent">
Setup:
<ol>
<li>Download the file and extract the contents in a convenient location</li>
<li>If you have not already done so, install the java runtime executables (found <a href="http://www.oracle.com/technetwork/java/javase/downloads/jre8-downloads-2133155.html" target="_blank">here</a>)</li>
<li>Check to see if there is a directory named "portraits" in your NWN directory. If one does not exist, create it.</li>
<li><big style="color: rgb(255, 0, 0);"><b><u>Run the batch file</u></b></big> in the directory to start the character creator. You should end up with a screen similar to this:
<p>
<img src="../../../images/45%20javacc%20start.jpg">
</p></li><li>Select "Settings" and you should end up with a screen similar to this:
<p>
<img src="../../../images/46%20javacc%20settings.jpg">
</p></li><li>
<ul>
<li>Select the correct installation folder for NWN - on windows it will probably find this for you from the registry.</li>
<li>Select the haks as shown. The + key will give you a standard file
browser with multi select (ctrl or shift + click) capability. Order
isn't important.</li>
<li>Select the prc_consortium custom TLK.</li>
<li>Don't change the default TLK.</li>
</ul>
</li>
<li>Click OK and you should be ready to create your first character.</li>
</ol>
Using the java character creator:
<ol>
<li><big style="color: rgb(255, 0, 0);"><b><u>Run the batch file</u></b></big> in the directory to start the character creator. You should end up with a screen similar to this:
<p>
<img src="../../../images/45%20javacc%20start.jpg">
</p></li><li>Select "Create Character" to create a level 1 character
for use in modules with the PRC installed. You should end up with a
screen similar to this:
<p>
<img src="../../../images/47%20javacc%20main.jpg">
</p></li><li>Go through the different stages like you would when using
the character creator within NWN, though there is a difference at the
portrait stage:
<p>
<img src="../../../images/48%20javacc%20portrait.jpg">
</p><p>Here there are two checkboxes on the left of the screen. These
restrict which portraits are displayed, based on gender or race. If you
are using a new PRC race, you will have to deselect "Lock to Race" in
order to see any portraits.
</p></li><li>When you get to the appearance stage, and want to know
what all the options look like, open the toolset and edit a creature to
look like what you want, then note the numbers:
<p>
<img src="../../../images/CCParts.jpg">
</p></li><li>Once you have reached the end of the process, press "Finalize" to create the character.</li>
</ol>
You can select your characterin-game by pressing "Use a pre-made character" and selecting it from the list that appears.
</div>
</body></html>

View File

@ -0,0 +1,94 @@
<!DOCTYPE html PUBLIC "-//w3c//dtd html 4.0 transitional//en">
<html><head><title>Player Resource Consortium :: Manual :: Installation :: Instructions</title>
<link type="text/css" href="../../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../../styles/manual_content_common.css" rel="stylesheet"></head><body scroll="auto">
<br>
<div><h1>:: Installation :: Manual Installation Instructions ::</h1></div>
<br>
<div class="div_paddedcontent">
<div><h2>Installation Notes</h2></div>
<br>
<div><h2>Manual Installation (RAR)</h2></div>
<br>
For those that need/want to do a manual install of the prc pack into a module here are the steps:
<br>Note: It is assumed you are familiar with basic scripting and the
various file formats involved. Windows users should use the automatic
installer where possible.
<br><br>
<ol>
<li>If downloading the rar version, place the hak and hif files in the
hak folder, place prc_consortium.erf in the erf folder,
prc_consortium.tlk in the tlk folder, and the module updater wherever
you want (or delete it if you are not running windows).<br><br></li>
<li>Import prc_consortium.erf into the module using the toolset or neveredit.<br><br></li>
<li>Add the haks to the module using the toolset or neveredit. The haks should be listed in the following order (top to bottom):
<br>
<br>prc_include.hak
<br>prc_2das.hak
<br>prc_scripts.hak
<br>prc_spells.hak
<br>prc_epicspells.hak
<br>prc_race.hak
<br>prc_textures.hak
<br>prc_misc.hak
<br>prc_craft2das.hak
<br>prc_psionics.hak
<br>prc_newspellbook.hak
<br><br></li>
<li>If the module already contains haks then you will need to check to
see if the haks change any of the 2da's in prc_2da's.hak, and if so,
merge the changes into a 3rd hak, placing that hak above the prc haks
in the hak list. If you skip this step then the module may not play
correctly.</li>
<br>
<li>Add the following scripts to the module events using the toolset or neveredit:
<br>
<br>OnAcquireItem : prc_onaquire
<br>OnActivateItem : prc_onactivate
<br>OnClientEnter : prc_onenter
<br>OnClientLeave : prc_onleave
<br>OnCutsceneAbort : prc_oncutabort
<br>OnHeartbeat : prc_onheartbeat
<br>OnModuleLoad : prc_onmodload
<br>OnPlayerDeath : prc_ondeath
<br>OnPlayerDying : prc_ondying
<br>OnPlayerEquipItem : prc_equip
<br>OnPlayerLevelUp : prc_levelup
<br>OnPlayerRest : prc_rest
<br>OnPlayerRespawn : prc_onrespawn
<br>OnUnaquireItem : prc_onunaquire
<br>OnPlayerUnequipItem : prc_unequip
<br>OnUserDefined : prc_onuserdef
<br><br></li>
<li>If the module already has scripts attached to events (and it
probably does) then you will either need to edit those scripts and add
ExecuteScript("prc_xxx"); at the top of each one or make a new script
that calls ExecuteScript() for both the prc script and the old event
script.<br><br></li>
<li>Now you need to add prc_consortium.tlk to the module, in the
toolset this is easy, just set the custom tlk to it. If the module
already contains a custom tlk then you will have to merge the entries
from both tlk files together using your favorite tlk editor into a new
tlk and use that instead. If you are running on the Mac or Linux this
step is more difficult, neveredit currently does not have any
functionality to set the custom tlk for a module. I recommend using
ewald's erf/mod/gff/tlk/2da editor, available on the vault. It's java
based and will run on the mac (not sure about Linux). To set the custom
tlk, open the module, then open the "module.ifo" file and set the
"Mod_CustomTlk" property to "prc_consortium" (no .tlk at the end).
At this point if you have done everything correctly you should be all
set to play the module.</li>
</ol>
<br>
</div>
</body></html>

View File

@ -0,0 +1,225 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head>
<meta http-equiv="Content-Language" content="en-gb">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"><title>Player Resource Consortium :: Manual :: Installation :: Guide</title>
<link type="text/css" href="../../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../../styles/manual_content_common.css" rel="stylesheet"></head><body scroll="auto">
<br>
<div><h1>:: Installation :: Guide ::</h1></div>
<br>
<div class="div_paddedcontent">
You will need:
<ul>
<li>Neverwinter Nights with both expansions and the latest patch</li>
<li><a href="https://www.microsoft.com/en-us/download/details.aspx?id=21">Microsoft .NET Framework Redistributable Package</a> (Windows only)</li>
<li>The PRC (<a href="https://neverwintervault.org/sites/all/modules/pubdlcnt/pubdlcnt.php?file=https://neverwintervault.org/sites/neverwintervault.org/files/project/648/files/setup3.5.exe&amp;nid=648" target="_blank">exe version</a> or <a href="https://neverwintervault.org/sites/all/modules/pubdlcnt/pubdlcnt.php?file=https://neverwintervault.org/sites/neverwintervault.org/files/project/648/files/prc35.rar&amp;nid=648">rar version</a>)</li>
<li><a href="https://neverwintervault.org/project/nwn1/other/tool/prc-character-creator-18-linux-and-mac-compatible" target="_blank">Java Character Creator</a> (see <a href="jcc.htm">relevant section</a>)</li>
</ul>
You may want:
<br>
<ul>
<li><a href="https://neverwintervault.org/sites/all/modules/pubdlcnt/pubdlcnt.php?file=https://neverwintervault.org/sites/neverwintervault.org/files/project/648/files/prc_manual35.7z&amp;nid=648" target="_blank">Downloadable version of this manual</a></li>
<li><a href="https://neverwintervault.org/sites/all/modules/pubdlcnt/pubdlcnt.php?file=https://neverwintervault.org/sites/neverwintervault.org/files/project/648/files/prccep2_merge.rar&amp;nid=648" target="_blank">CEP merge hak</a> (if you are using CEP, see <a href="cep_merge_instructions.html">relevant section</a>)</li>
<li><a href="https://neverwintervault.org/sites/all/modules/pubdlcnt/pubdlcnt.php?file=https://neverwintervault.org/sites/neverwintervault.org/files/project/648/files/serverpack1_8_3.rar&amp;nid=648" target="_blank">PRC Server Pack</a> (for those who want to run a server, see <a href="prc_server.html">relevant section</a>)</li>
<li><a href="https://neverwintervault.org/project/nwn1/hakpak/original-hakpak/alternate-combat-animations-pack-acp-v40" target="_blank">ACP</a> (Alternate Combat Animations Pack, see <a href="acp_installation_instructions.html">relevant section</a>)</li>
</ul>
<hr>
<p>
<b>EXE Installation Instructions</b>
</p><p>Run the executable. This will only work if you are using
windows. Otherwise download the rar version and follow the instructions
below.
</p><p>
</p><hr>
<b>RAR Installation Instructions</b>
<p>Extract the contents into the correct directories in the directory
in which Neverwinter Nights is installed (the module updater can be put
anywhere):
</p><p>
<table class="table_contenttable" align="center" border="1" cellpadding="0" cellspacing="0">
<tbody><tr>
<td><b>Extension</b></td>
<td><b>Directory</b></td>
</tr>
<tr>
<td>hak</td>
<td>hak</td>
</tr>
<tr>
<td>hif</td>
<td>hak</td>
</tr>
<tr>
<td>erf</td>
<td>erf</td>
</tr>
<tr>
<td>tlk</td>
<td>tlk</td>
</tr>
<tr>
<td>cdx</td>
<td>database</td>
</tr>
<tr>
<td>dbf</td>
<td>database</td>
</tr>
<tr>
<td>fpt</td>
<td>database</td>
</tr>
</tbody></table>
</p><p>
</p><hr>
<p>
<b>Installing PRC into modules</b>
</p><p>Before installation, back up your modules. Something may go
wrong or you may need the originals for patching as is the case for the
Bioware campaigns.
</p><p>
Using the module updater:
</p><p>
<img src="../../../images/content_installer.jpg">
</p><p>
<table class="table_contenttable" align="center" border="1" cellpadding="0" cellspacing="0">
<tbody><tr>
<td><b>Option</b></td>
<td><b>Notes</b></td>
</tr>
<tr>
<td>PRC Pack</td>
<td>Install PRC into a module</td>
</tr>
<tr>
<td>prc_ocfix</td>
<td>Installs extra fixes for the Bioware campaigns</td>
</tr>
<tr>
<td>PRC OC</td>
<td>Installs both of the above (should only be used for Bioware campaigns)</td>
</tr>
<tr>
<td>prcc2</td>
<td>Example of a merge hak, installs PRC and CEP</td>
</tr>
</tbody></table>
</p><p>These options are contained within the relevant .hif files. You
may also create your own .hif file for installing other content (they
are plain text, see an existing one for an example).
</p><p>
Manual installation:
</p><ol>
<li>Open the module using the toolset (or other software, if not using windows).</li>
<li>
Add these haks (on top of any existing haks):
<p>
</p><ul>
<li>prc_2das.hak</li>
<li>prc_scripts.hak</li>
<li>prc_newspellbook.hak</li>
<li>prc_spells.hak</li>
<li>prc_epicspells.hak</li>
<li>prc_psionics.hak</li>
<li>prc_race.hak</li>
<li>prc_textures.hak</li>
<li>prc_misc.hak</li>
<li>prc_craft2das.hak</li>
</ul>
<p>If the existing haks contain conflicting content, you must merge the
contents in a new hak using the application of your choice (to be
placed on top of the list).
</p><p>At some point the toolset (if you are using it) will attempt to
build the module. Click cancel as fast as you can, or the toolset may
crash.
</p><p>
<img src="../../../images/cancelbuild.jpg">
</p></li><li>Set the Custom Tlk to prc_consortium.tlk. If there already
is a file there, you must merge the contents in a new tlk using the
application of your choice.</li>
<li>Import prc_consortium.erf (and prc_ocfix.erf if this is a Bioware campaign modue)</li>
<li>Add the following module event scripts:
<p>
<table class="table_contenttable" align="center" border="1" cellpadding="0" cellspacing="0">
<tbody><tr><td><b>Event</b></td><td><b>Script</b></td></tr>
<tr><td>OnAcquireItem</td><td>prc_onaquire</td></tr>
<tr><td>OnActivateItem</td><td>prc_onactivate</td></tr>
<tr><td>OnClientEnter</td><td>prc_onenter</td></tr>
<tr><td>OnClientLeave</td><td>prc_onleave</td></tr>
<tr><td>OnCutsceneAbort</td><td>prc_oncutabort</td></tr>
<tr><td>OnHeartbeat</td><td>prc_onheartbeat</td></tr>
<tr><td>OnModuleLoad</td><td>prc_onmodload</td></tr>
<tr><td>OnPlayerDeath</td><td>prc_ondeath</td></tr>
<tr><td>OnPlayerDying</td><td>prc_ondying</td></tr>
<tr><td>OnPlayerEquipItem</td><td>prc_equip</td></tr>
<tr><td>OnPlayerLevelUp</td><td>prc_levelup</td></tr>
<tr><td>OnPlayerRest</td><td>prc_rest</td></tr>
<tr><td>OnPlayerRespawn</td><td>prc_onrespawn</td></tr>
<tr><td>OnUnaquireItem</td><td>prc_onunaquire</td></tr>
<tr><td>OnPlayerUnequipItem</td><td>prc_unequip</td></tr>
<tr><td>OnUserDefined</td><td>prc_onuserdef</td></tr>
</tbody></table>
</p><p>
If the module already has scripts attached to events (and it probably
does) then you will either need to edit those scripts and add
ExecuteScript("prc_xxx"); at the top of each one or make a new script
that calls ExecuteScript() for both the prc script and the old event
script.
</p></li><li>Cache these scripts:
<p>
</p><ul>
<li>prc_onaquire</li>
<li>prc_onactivate</li>
<li>prc_onenter</li>
<li>prc_onleave</li>
<li>prc_oncutabort</li>
<li>prc_onheartbeat</li>
<li>prc_onmodload</li>
<li>prc_ondeath</li>
<li>prc_ondying</li>
<li>prc_equip</li>
<li>prc_levelup</li>
<li>prc_rest</li>
<li>prc_onrespawn</li>
<li>prc_onunaquire</li>
<li>prc_unequip</li>
<li>prc_onuserdef</li>
<li>prc_hitcast</li>
<li>nw_ch_ac5</li>
<li>nw_ch_ace</li>
<li>nw_ch_ac3</li>
<li>nw_ch_ac4</li>
<li>nw_ch_ac6</li>
<li>nw_ch_ac7</li>
<li>nw_ch_ac8</li>
<li>nw_ch_ac1</li>
<li>nw_ch_ac2</li>
<li>nw_ch_aca</li>
<li>nw_ch_summon_9</li>
<li>nw_ch_acb</li>
<li>nw_ch_acd</li>
</ul>
</li>
<li>Save the module</li>
</ol>
</div>
</body></html>

View File

@ -0,0 +1,135 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head>
<meta http-equiv="Content-Language" content="en-gb">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"><title>Player Resource Consortium :: Manual :: Installation :: PRC Server Pack</title>
<link type="text/css" href="../../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../../styles/manual_content_common.css" rel="stylesheet"></head><body scroll="auto">
<br>
<div><h1>:: Installation :: PRC Server Pack ::</h1></div>
<br>
<div class="div_paddedcontent">
<br>
<br><h4>NOTE: This document pertains to NWN1 v1.69 only, not NWN:Enhanced Edition! Please understand this before continuing.<br>
</h4>
<h4>The ConvoCC is still a work-in-progress. Please report any bugs and
issues you might have, after first checking that you have followed this
guide, that the issues have not already been fixed, and that it is a
reporoducable bug. Make sure you include as much information as
possible in reports, including at least what OS and database you are
running, where you got the ConvoCC from, what haks you are using, how
you precached the 2das, what character you are building, and exactly
what steps you take to expose the bug. A screenshot of the bug as well
as both the serverlog and NWNX-ODBC log files is also very helpful.
Without reliable feedback and reports, I cannot improve the ConvoCC.
Thank you for your cooperation.</h4>
<br>
<br>This is a step-by-step guide on how to install the PRC Server Pack.
<br>The PRC Server Pack is needed if you want to do any of the following:
<ul><li>Use the Conversation Character Creator. This allows the creation of
characters with new races, new classes or other custom content at level 1.
</li><li>Use the Letoscript enhancements for things such as permanent stat adjustments, etc.
</li><li>Use a database other than biowares to cache 2da information in.</li></ul>
<br>The system is composed of several components. Firstly, there is <a href="http:%5C%5Cwww.nwnx.org">NWNX2</a>.
This is an application that hooks into memory locations of the NWServer in order to pass information
into and out of the game. It relies on plugins to provide functionallity.
<br>
<br>Two plugins are included in the PRC Server Pack:
<br>One is a database plugin, <a href="http://www.nwnx.org/index.php?id=doc_odbc2">NWNX-ODBC2</a>, which is used
to access a <a href="http://www.sqlite.org/">SQLite database</a>.
<br>The other is the <a href="http://weathersong.infopop.cc/groupee/forums/a/frm/f/9616039431">NWNX-Letoscript</a> plugin <a href="http://sourceforge.net/project/showfiles.php?group_id=92983&amp;package_id=111517">build 24</a>.
<br>
<br>There is also a prechacher tool build-into prc.jar and a stand-alone SQLite commandline tool.
These are used to insert the 2da files into the database where they can be accessed quicker.
<br>
<br>Many servers may already have NWNX setup, possibly already using
NWNX-ODBC2 to provide database functionallity. Some servers use MySQL
instead of SQLite as a database. In these cases, the precacher can be
set to provide MySQL compatible syntax. (NOTE: I know little about
non-SQLite databases, so I dont know how well this works or any details
of it. If you have more information, please contact the PRC team so
this manual can be updated)
<br>
<br>
<br>The first step is to download the PRC Server Pack from
<a href="http://nwvault.ign.com/View.php?view=Hakpaks.Detail&amp;id=7870">here</a>.
If your using windows, you should get the .exe installer.
<br>To install the PRC Server Pack, simply run the exe. It should automatically
detect your NWN directory. After it has installed itself, it will offer to precache
the 2das for you straght away.
<br>
<br>If you are using another OS there is a .rar version as well, which
should be extracted to your NWN directoy. Then you will need to
manually start the precaching by running the "precache sqlite.bat" file
(NOTE: I dont know anything about non-windows OS, so I dont know if a
batch file applies or not. If you have more information, please contact
the PRC team so this manual can be updated).
<br>
<br>If you are looking to add the ConvoCC to an existing server, then
you should use the method above (after making a full backup of course).
If your existing server uses MySQL, then you will have to use the rar
distribution and run "precache mysql.bat" instead. This will produce a
file named "out.sql" which you should then run through your database
tools. A command like "mysql -u USER -p DATABASENAME &lt; out.sql &gt;
out.log" (replace USER and DATABASENAME with the values you use) should
work. You may have to copy the out.sql file to wherever MySQL is
installed. (NOTE: I know little about non-SQLite databases, so I dont
know how well this works or any details of it. If you have more
information, please contact the PRC team so this manual can be updated)
<br>
<br>Once the precacher has finished, you should have a ready populated
database with all the 2da information in it. This is needed so that
SQL-queries can be used to retrieve lists of feats etc, rather than
lengthy loops over all the rows in the 2das.
<br>
<br>If you need to precache the 2da files again in the future, for
example a new PRC version is released, run the "precache sqlite.bat"
file (or "precache mysql.bat" if using MySQL and then process the
out.sql file as before) in your NWN directory. This will remove the
tables that the precacher previously added, so it should preserve any
other existing data. However, it is probably a good idea to make a
backup before you update, just to be save!
<br>
<br>Now that you have a populated database, you can go about setting up the ConvoCC
<br>This is done mainly through the switch system. The minimum switches that should
be set are:
<br><br><table class="table_contenttable" align="center" border="1" bordercolor="#6c6c6c" cellpadding="0" cellspacing="0">
<tbody><tr><td>PRC_CONVOCC_ENABLE</td><td>This enables the ConvoCC via the OnClientEnter event.</td></tr>
<tr><td>PRC_CONVOCC_USE_XP_FOR_NEW_CHAR</td><td>This uses zero XP on a character to mark them as new.</td></tr>
<tr><td>PRC_USE_DATABASE</td><td>Turn on database useage.</td></tr>
<tr><td>PRC_DB_SQLLITE or PRC_DB_MYSQL</td><td>Set it to the correct SQL syntax.</td></tr>
<tr><td>PRC_USE_LETOSCRIPT</td><td>Turn on Letoscript.</td></tr>
<tr><td>PRC_LETOSCRIPT_NWN_DIR</td><td>A string pointing to your NWN installation directory.</td></tr></tbody></table>
<br>If you want further information on switches, see the prc_inc_switch script.
<br>
<br>
<br><h2>Symptom: Letoscript fails to find the NWN directory.</h2>
<br>Check the PRC_LETOSCRIPT_NWN_DIR switch. Try different slash options, / // \ \\ as well as having a trailing slash or not.
<br>Check you are using NWNX-Letoscipt <a href="http://sourceforge.net/project/showfiles.php?group_id=92983&amp;package_id=111517">build 24</a>
<br>
<br>
<br><h2>Symptom: Not all options are displayed on occasion</h2>
<br>This appears to be lag-related. Try selecting an option and then
responding "no" to the confirmation. This should re-generate the list
with all the options present, though it may take a few attempts.
<br>
<br>
<br><h2>Symptom: No options are present and the conversation cannot be aborted.</h2>
<br>This is usually the result of a bug, you can use Alt-F4 to quit NWN without using Ctr-Alt-Delete.
<br>Please report this including what OS and database you are running,
where you got the ConvoCC from, what haks you are using, how you
precached the 2das, what character you are building, and exactly what
steps you take to expose the bug.
<br>
<br>
<br>
</div>
</body></html>

View File

@ -0,0 +1,29 @@
<html>
<head>
<meta http-equiv="Content-Language" content="en-gb">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Player Resource Consortium :: Manual :: Installation :: Guide</title>
<link type="text/css" href="../../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../../styles/manual_content_common.css" rel="stylesheet">
</head>
<body scroll="auto">
<br>
<div><h1>:: Installation :: Guide ::</h1></div>
<br>
<div class="div_paddedcontent">
<a href="pg02.htm">Next Page</a>
<br><br>
</div>
</body>
</html>

View File

@ -0,0 +1,9 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Player Resource Consortium :: Manual :: Content :: Blank</title>
<link type="text/css" href="../../styles/manual_common.css" rel="stylesheet">
</head>
<body scroll="no">
</body>
</html>

View File

@ -0,0 +1,142 @@
<html>
<head>
<title> Player Resource Consortium </title>
<title>Player Resource Consortium :: Manual :: Content :: Epic Spells</title>
<link type="text/css" href="../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../styles/manual_content_common.css" rel="stylesheet">
<link type="text/css" href="../../styles/manual_content_main.css" rel="stylesheet">
</head>
<body>
<br>
<div><h1>:: Epic Spellcasting ::</h1></div>
<br>
<div class="div_paddedcontent">
Epic characters with spellcasting capabilities are often capable of casting epic spells. You must have over 24 ranks in Spellcraft and Lore and be able to cast 9-th level arcane or divine spells. In order to use the Epic Spellcasting system, one must open up the radial menu (right-click), go to the class icon (any base class) and select the 'PRC options icon'.
<br><br>
A dialog will appear. It has several options, mostly self-explanitory - choose "Manage Epic Spells" option now. Here you can "memorize" epic spells. This will put spells that you know onto the radial, or remove them. Due to a bioware bug, you can only have 6 epic spells ready to cast at any time. You can change spells on the radial at any point, you do not have to rest, and the radial changes instantly. You can also learn Epic Spells by using "Research an Epic Spell" option.
<br><br>
<div><h1>:: Learning Epic Spells ::</h1></div>
<br>
Every epic spell requires several things to learn:
<br><br>
<ol>
<li> High enough Spellcraft skill to successfully learn it. The DC varies. Range from 25 to 100, approx. Spell focus feats reduce this DC. </li>
<li> Excess experience. The XP cost varies. You can not lose a level, so any XP must be above the minimum for that level. The XP is equal to GP divided by 25, so between 9,000 and 36,000.</li>
<li> Gold. The price varies. The gold cost is equal to the DC multiplied by 9,000, so between 225,000 and 900,000 GP.</li>
<li> Proper seed(s). Some spells also require other epic spells to have been researched first.</li>
</ol>
To determine the requirements of an epic spell, you can use the spellbook.i.e. Use the uniqe power ability of the spell book you wish to learn. This will also show you what that spells effect are, and what is required to cast as some spells burn XP and/or cause backlash damage.
<br><br>
The seeds are available as spellbooks from the shop in PRC options menu (if it is enabled). These basically teach your character 'secrets' which are needed to learn to spell. For example, an "Seed of Armor" is required to cast "Epic Mage Armor." To acquire the knowledge of a spell seed, simply use the book. This does not cost anything. It has a chance to disintegrate, which is good for controlling the availability of seeds in persistent worlds.
<br><br>
Once you have all the required things, learning a spell can be attempted. You simply place the book of the epic spell in the inventory of the container summoned when selecting "Research an Epic Spell" option. You will be automatically successful if you have the components and your Spellcraft skill + 10 is equal to or higher than the required Spellcraft. Otherwise, you will do a skill check to see if learning it succeeds. If you suceed the check, the GP and XP is removed. If you fail, no XP is lost, but you do loose half the GP cost. If you cannot do the research becuase you dont know the right seeds or cant pay the cost, you suffer no penalty.
<br><br>
<div><h1>:: Casting Epic Spells ::</h1></div>
<br>
Once you've learned an epic spell, it needs to be added to your radial menu. To do this, go back to the "PRC Options" icon on your radial menu. One of the options should be to manage your epic spells. Here you can add/remove spells from your radial menu. There is also a handy, "Identify all items" option.
<br><br>
Once you have the spell added to your radial menu, I recommend you add it to the hotbar at the bottom of the screen. This ensures it is easy to access.
<br><br>
You have a limit per day of how many epic spells you can cast. You can gain these back if you rest. It is determined by your Lore skill. It is equal to lore/10 and includes skill focus feats.
<br><br>
Some epic spells can cost XP/Gold each time you cast them. In order to cast a spell you must again pass a spellcraft check. The "Spellcraft + 10 >= Required Skill" rule still applies, but if your spellcraft isn't that good you might fail and lose your slot and whatever XP/Gold components are required by that spell.
<br><br>
<div><h1>:: Other Information ::</h1></div>
<br>
This replaces the bioware spells, so they are no longer avaliable as feats. Characters that already have the bioware epic spells may experience bugs.
<br><br>
Boneshank put a lot of toggle switches into the scripts, check "inc_epicspells" for details. Here, you can also change costs, DC for any spells, prerequsiites for any spells and attatch research cutscenes.
<br><br>
<center>
<table class="table_contenttable">
<tr><th>Epic Spell </th> <th>Default DC</th> <th>XP Casting Cost</th> <th>Backlash</th> </tr>
<tr><td>Audience of Stone</td> <td>41</td> <td></td> <td></td></tr>
<tr><td>Achilles Heel </td> <td>54</td> <td></td> <td></td></tr>
<tr><td>Allied Martyr </td> <td>47</td> <td></td> <td></td></tr>
<tr><td>All Hope Lost </td> <td>29</td> <td></td> <td></td></tr>
<tr><td>Anarchy's Call </td> <td>43</td> <td></td> <td></td></tr>
<tr><td>Animus Blast </td> <td>30</td> <td></td> <td></td></tr>
<tr><td>Animus Blizzard </td> <td>58</td> <td></td> <td></td></tr>
<tr><td>Army Unfallen </td> <td>66</td> <td></td> <td>d6/per ally</td></tr>
<tr><td>Battle Bounding </td> <td>41</td> <td></td> <td></td></tr>
<tr><td>Celestial Council</td> <td>27</td> <td></td> <td></td></tr>
<tr><td>Champion's Valor </td> <td>45</td> <td>200</td> <td></td></tr>
<tr><td>Contingent Resurrection </td> <td>52</td> <td></td> <td></td></tr>
<tr><td>Contingent Reunion </td> <td>44</td> <td></td> <td></td></tr>
<tr><td>Deadeye Sense </td> <td>47</td> <td>400</td> <td></td></tr>
<tr><td>Dire Winter </td> <td>99</td> <td>2000</td> <td></td></tr>
<tr><td>Dreamscape </td> <td>29</td> <td></td> <td></td></tr>
<tr><td>Dragon Knight </td> <td>48</td> <td></td> <td></td></tr>
<tr><td>Deathmark </td> <td>59</td> <td></td> <td></td></tr>
<tr><td>Dullblades </td> <td>54</td> <td></td> <td>10d6</td></tr>
<tr><td>Dweomer Thief </td> <td>65</td> <td></td> <td></td></tr>
<tr><td>Enslave </td> <td>60</td> <td>3500</td> <td></td></tr>
<tr><td>Epic Mage Armor </td> <td>46</td> <td></td> <td></td></tr>
<tr><td>Epic Repulsion </td> <td>34</td> <td></td> <td></td></tr>
<tr><td>Epic Spell Reflection </td> <td>52</td> <td>10000</td> <td></td></tr>
<tr><td>Epic Warding </td> <td>68</td> <td></td> <td></td></tr>
<tr><td>Eternal Freedom </td> <td>101</td> <td>10000</td> <td></td></tr>
<tr><td>Fiendish Words </td> <td>27</td> <td></td> <td></td></tr>
<tr><td>Fleetness of Foot </td> <td>32</td> <td></td> <td></td></tr>
<tr><td>Gem Cage </td> <td>48</td> <td></td> <td></td></tr>
<tr><td>Godsmite </td> <td>63</td> <td></td> <td>d4/per level</td></tr>
<tr><td>Greater Ruin </td> <td>59</td> <td></td> <td></td></tr>
<tr><td>Greater Spell Resistance </td> <td>67</td> <td></td> <td></td></tr>
<tr><td>Greater Timestop </td> <td>27</td> <td></td> <td></td></tr>
<tr><td>Hellball </td> <td>70</td> <td>400</td> <td>10d6</td></tr>
<tr><td>Hell Send </td> <td>34</td> <td></td> <td></td></tr>
<tr><td>Herculean Alliance </td> <td>61</td> <td></td> <td></td></tr>
<tr><td>Herculean Empowerment </td> <td>51</td> <td></td> <td></td></tr>
<tr><td>Impenetrability </td> <td>54</td> <td></td> <td>10d6</td></tr>
<tr><td>Leech Field </td> <td>64</td> <td></td> <td></td></tr>
<tr><td>Legendary Artisan </td> <td>78</td> <td></td> <td></td></tr>
<tr><td>Life Force Transfer</td> <td>0</td> <td></td> <td></td></tr>
<tr><td>Magma Burst </td> <td>80</td> <td></td> <td></td></tr>
<tr><td>Mass Penguin </td> <td>35</td> <td></td> <td></td></tr>
<tr><td>Momento Mori </td> <td>78</td> <td></td> <td></td></tr>
<tr><td>Mummy Dust </td> <td>35</td> <td></td> <td></td></tr>
<tr><td>Nailed to the Sky </td> <td>42</td> <td>1000</td> <td></td></tr>
<tr><td>Night's Undoing </td> <td>24</td> <td></td> <td></td></tr>
<tr><td>Order Restored </td> <td>43</td> <td></td> <td></td></tr>
<tr><td>Paths Become Known </td> <td>36</td> <td></td> <td></td></tr>
<tr><td>Peerless Penitence </td> <td>68</td> <td>1000</td> <td></td></tr>
<tr><td>Pestilence </td> <td>44</td> <td>600</td> <td></td></tr>
<tr><td>Pious Parley </td> <td>36</td> <td></td> <td></td></tr>
<tr><td>Planar Cell </td> <td>51</td> <td></td> <td></td></tr>
<tr><td>Psionic Salvo </td> <td>74</td> <td></td> <td></td></tr>
<tr><td>Rain of Fire </td> <td>75</td> <td>500</td> <td></td></tr>
<tr><td>Risen Reunited </td> <td>67</td> <td></td> <td></td></tr>
<tr><td>Ruin </td> <td>29</td> <td></td> <td></td></tr>
<tr><td>Singular Sunder </td> <td>58</td> <td></td> <td></td></tr>
<tr><td>Spell Worm </td> <td>25</td> <td></td> <td></td></tr>
<tr><td>Storm Mantle </td> <td>74</td> <td></td> <td></td></tr>
<tr><td>Summon Aberration </td> <td>42</td> <td></td> <td></td></tr>
<tr><td>Superb Dispelling </td> <td>59</td> <td></td> <td>10d6</td></tr>
<tr><td>Symrustar's Spellbinding</td> <td>0</td> <td></td> <td></td></tr>
<tr><td>The Withering </td> <td>69</td> <td>300</td> <td></td></tr>
<tr><td>Tolodine's Killing Wind </td> <td>91</td> <td>400</td> <td></td></tr>
<tr><td>Transcendent Vitality </td> <td>101</td> <td>10000</td> <td></td></tr>
<tr><td>Twinfiend </td> <td>64</td> <td></td> <td></td></tr>
<tr><td>Unholy Disciple </td> <td>47</td> <td>300</td> <td></td></tr>
<tr><td>Unimpinged </td> <td>54</td> <td></td> <td>10d6</td></tr>
<tr><td>Unseen Wanderer </td> <td>101</td> <td>10000</td> <td></td></tr>
<tr><td>Whip of Shar </td> <td>73</td> <td></td> <td></td></tr>
</table>
</div>
</body>
</html>

View File

@ -0,0 +1,37 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Player Resource Consortium :: Manual :: Content :: Main</title>
<link type="text/css" href="../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../styles/manual_content_common.css" rel="stylesheet">
<link type="text/css" href="../../styles/manual_content_main.css" rel="stylesheet">
</head>
<body scroll="auto">
<br>
<center> <img src="../../images/manual_prclogo.jpg"> </center>
<br>
<br>
<div><h1>:: PRC v4.1.10 ::</h1></div>
<br>
<div class="div_paddedcontent">
<center><b>Welcome to the Player Resource Consortium manual!</b>
<br><br><U>Binding. Is. HERE!</U>
<br><br>
Yes, that's right, BINDING. The most popular of all the magics systems from the Tome of Magic has finally graced NWN, and with it comes a whole heaping pile of vestiges! 40, count em, 40 vestiges included. That's vestiges from not only Tome of Magic, but Dragon Magic, Mind's Eye, Cityscape, Design and Development, and Class Chronicles - every single Wizards of the Coast vestige ever released.
<br><br>
Coming along for the ride are the eponymous Binder, the Anima Mage, the Knight of the Sacred Seal, the Scion of Dantalion, and the Tenebrous Apostate, along with a fully functional Bind Vestige feat that lets ANYONE use Binding!
<br><br>
As a further bonus, we have 11 new weapons, courtesy of DM Heatstroke, including the famous Falchion and Light and Heavy Picks, along with the Varag race, Favored of the Zulkir feat, and the Gaseous Form spell.
<br><br>
We hope you enjoy!
<br><br>
<a href="http://nwnprc.com/index.php?topic=13346.0">4.1 Full Changelist</a>
<br><br>
The PRC is the largest ever custom content release for Neverwinter Nights, with over 235 classes, 1500 feats, 1500 spells, 130 races, Psionics, the Tome of Battle, Magic of Incarnum, Binding, Weapons of Legacy, Truenaming, Shadowcasting, Invocations, Templates, Epic Spellcasting, Crafting and so much more, all taken directly from official Dungeons and Dragons material published by Wizards of the Coast.
<br>
<br>If you need further assistance, you may find it on our <a href="https://discord.gg/3N6mQQX8Vs">Discord</a>.
<br>
<br>If you want to support the PRC, we have a <a href="https://www.patreon.com/nwnprc">Patreon!</a>.</center>
</div>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

View File

@ -0,0 +1,305 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Player Resource Consortium :: Manual :: Item Crafting :: System</title>
<link type="text/css" href="../../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../../styles/manual_content_common.css" rel="stylesheet">
</head>
<body scroll="auto">
<br>
<div><h1>:: Item Crafting :: System ::</h1></div>
<br>
<div class="div_paddedcontent">
<center><b><big><big>PRC Crafting System v2.0</big></big></b><br><br>
by CRV§ADER//KY<br>
v1.0 by RabbitHail<br></center>
<br><div align="justify">
<a href="#intro">Introduction</a><br>
<a href="#reqs">Requirements</a><br>
<a href="#setup">Setup</a><br>
<a href="#recipes">Writing Recipes</a><br>
<a href="#script">SCRIPT and SCRIPTOR ReqTypes and scripted RESULT</a><br>
<a href="#faq">FAQ</a><br>
<br>
<br>
<a name="intro"><b>Introduction</b></a><br>
<br>
The PRC Crafting System is a highly configurable engine for item creation. Out of the box, it gives the caster classes the ability to create magic items from recipe scrolls, books, or any item with the proper TAG. It also allows users to create recipes from already existing items. This allows modules and persistent worlds to have full control over what items the users can have and create. If you want to introduce a dynamic economy, don't let magic items drop from monster kills or crates. Only allow kills to drop money, gems and crafting components. Have merchants only sell recipe scrolls - or keep very high prices - and then your magic users will have to spend gold and XP to create magic items. For every crafted item, the system requires 1/2 of its market value in GP and 1/25 of it in XP. This creates a money and XP sink, which will help your PW from having an inflationary economy. The fighters will have to pay the wizards and clerics to make magical items. The wizards will use spells, feats, money and XP to make items. This will push the wizards to work with the fighters in order to get the XP and spells they need to make the items they need to advance to higher levels. This also helps separate the reward system from your areas (in many cases I have seen new areas always giving away better stuff, just to attract players to that area).<br>
<br>
Use the "Examine item or recipe" feat on any inventory item. If the item is listed in the item_to_ireq.2da file, a recipe scroll will be created. Use the "Craft Item" feat on the scroll to start the item creation process. "Examine item or recipe" can be used on a recipe scroll to display what item will be created and the requirements needed to make that item. Some recipes for very powerful items may require a level 20 wizard or cleric! <br>
<br>
Creating custom recipes, or modifying the existing ones, is very straightforward and offers nearly unlimited possibilities: you may separate the crafting process into semi-processed items, i.e. iron bars or wooden sticks. You may create recipes for very powerful items that don't require an exceedingly amount of money, but require an ingredient that can only be found in a very dangerous area. For example, a Red Dragon Scalemail could require Red Dragon Scales, which usually dragons don't give away willingly. You may require that the player uses a mystical anvil that can only be found at the end of a particular dungeon, or require very high skill checks (i.e. DC40 for a plate mail) and then give the players a +20 bonus to the appropriate skill when they're near an anvil - this will prevent PCs from crafting broadswords in the middle of a wood. You may also use this system for artifacts that must be assembled from separated parts and that can be later empowered by other components, just like in Baldur's Gate II. As you can see, what you can do is (almost) only limited by your fantasy.<br>
<br>
For those who don't want to write recipes, however, there are nearly 700 pre-made recipes for various magical items. The Crafting System can also be used in the single player Official Campaign, too: you'll just have to use "Examine item or recipe" on any of those 700 objects and a recipe will be immediately created.<br>
<br>
<br>
<a name="reqs"><b>Requirements</b></a>
<ul>
<li>None, but activating the PRC 2DA Caching System will greatly improve performance.</li>
</ul>
<br>
<a name="setup"><b>Setup</b></a><br>
<br>
The PRC Crafting System v2.0 is controlled by the following module variables:<br>
<br>
<table border="1" style="color: #c0c0c0">
<tr>
<td><b>Name</b></td>
<td><b>Type</b></td>
<td><b>Description</b></td>
</tr>
<tr>
<td>PRC_DISABLE_CRAFT</td>
<td>int</td>
<td align="justify">Completely disable the PRC Crafting System. (default: enabled)</td>
</tr>
<tr>
<td>PRC_CraftTimerMultiplier</td>
<td>float</td>
<td align="justify">Multiply the delay (in seconds) after the creation of an item in which a PC can't craft anything. Normally, it's set to the market price of the item. Set it to less than 1 to reduce it instead. (default: 1.0).<td>
</tr>
<tr>
<td>PRC_CraftTimerMax</td>
<td>int</td>
<td align="justify">Absolute maximum delay (in seconds) where crafting is disabled for a PC, regardless of the item's market price. By default it's 0 (meaning that there's no delay at all).</td>
</tr>
<tr>
<td>PRC_CraftTimerMin</td>
<td>int</td>
<td align="justify">Absolute minimum delay (in seconds) in which crafting is disabled, regardless of the item's market price. (default: 0)</td>
</tr>
</table>
<br>
<br>
The following variables were used by the PRC Crafting System v1.0 and are now obsolete:<pre>
nICHoursInDayCycle
fICMinDays
fICMaxDays</pre>
<br>
<a name="recipes"><b>Writing Recipes</b></a><br>
<br>
Recipes are contained within the <b>prc_craft2das.hak</b> file. Each recipe corresponds to a 2DA file, similar to those used for prestige classes requisites:
<pre>
2DA V2.0
LABEL ReqType ReqParam1 ReqParam2
0 row_title TYPE PARAM1 PARAM2
1 row_title TYPE PARAM1 PARAM2
</pre>
ReqParam2 must be replaced by **** if not existing.<br>
The fields shall not contain any spaces or tabs.<br>
<br>
These are all the supported ReqTypes. "AND" means that you absolutely need that component, or the creation process will fail; "OR" means that you just need to have at least one of the requirements <i>of the same type.</i><br>
<br>
<table border=1 style="color: #c0c0c0">
<tr>
<td><b>ReqType</b></td>
<td><b>ReqParam1</b></td>
<td><b>ReqParam2</b></td>
<td><b>AND/OR</b></td>
<td><b>Description</b></td>
</tr><tr>
<td>RESULT</td>
<td>ResRef<hr>script name</td>
<td>stack size<hr>arguments</td>
<td>-</td>
<td align="justify">Creation result. For every recipe there must be <b>one and only one</b> result. ReqParam1 may be the ResRef of any item, placeable or creature, or the name of a script (see section <a href="#script"><i>SCRIPT and SCRIPTOR ReqTypes and scripted RESULT</i></a>). ReqParam2 (if any) must be the number of objects to create (note that it will work for stackable items only; default is 1, NOT the default item stack size) or the argument of the script.<br><b>NOTE:</b> if the RESULT is not an item, it will have zero GP and XP cost. You should set EXTRAGOLD and EXTRAXP accordingly.</td>
</tr><tr>
<td>CASTERLVL</td>
<td>n</td>
<td>****</td>
<td>AND</td>
<td>Minimum caster level (any).</td>
</tr><tr>
<td>ARCCASTERLVL</td>
<td>n</td>
<td>****</td>
<td>AND</td>
<td>Minimum caster level (arcane).</td>
</tr><tr>
<td>DIVCASTERLVL</td>
<td>n</td>
<td>****</td>
<td>AND</td>
<td>Minimum caster level (divine).</td>
</tr><tr>
<td>PSICASTERLVL</td>
<td>n</td>
<td>****</td>
<td>AND</td>
<td>Minimum caster level (psionic).</td>
</tr><tr>
<td>EXTRAGOLD</td>
<td>GP</td>
<td>****</td>
<td>AND</td>
<td>Additional GP required for creation.<br>It will <b>not</b> increase the XP cost as well.</td>
</tr><tr>
<td>EXTRAXP</td>
<td>XP</td>
<td>****</td>
<td>AND</td>
<td>Additional XP required for creation.</td>
</tr><tr>
<td>FEAT<br>FEATOR</td>
<td>ID</td>
<td>****</td>
<td>AND<br>OR</td>
<td>Required feat. ID is the corresponding row in feat.2da.<br></td>
</tr><tr>
<td>SPELL<br>SPELLOR</td>
<td>ID</td>
<td>****</td>
<td>AND</td>
<td align="justify">Spell needed. ID is the corresponding row in spells.2da. It can either be a prepared spell (it will be consumed) or a spell that has been previously cast on the recipe.<br>Note that all SPELL requirements will be consumed, while only the first SPELLOR one will.</td>
</tr><tr>
<td>ITEM<br>ITEMOR</td>
<td>ResRef</td>
<td>stack size</td>
<td>AND<br>OR</td>
<td align="justify">Required item(s). Half of their market price will be detracted from the GP creation cost (while the XP cost will remain unchanged); the item cost cannot drop below 0. The stack size can be used for non-stackable items, too (**** means 1).<br>Using ITEMOR you should note that, for example, if you require 5x ItemA or 20x ItemB, every ItemA will be worth 4 ItemB (i.e. 3x ItemA + 8x ItemB will be enough).</td>
</tr><tr>
<td>SKILL<br>SKILLOR</td>
<td>ID</td>
<td>score</td>
<td>AND<br>OR</td>
<td>Minimum skill requirement. ID is the corresponding row in skills.2da.</td>
</tr><tr>
<td>SKILLDC</td>
<td>ID</td>
<td>DC</td>
<td>AND</td>
<td>Skill check. All components (GP, XP, items and scripted requirements) will be lost in case of failure. ID is the corresponding row in skills.2da.</td>
</tr><tr>
<td>LEVEL<br>LEVELOR</td>
<td>class ID</td>
<td>level</td>
<td>AND<br>OR</td>
<td>Minimum level in a given class. ID is the corresponding row in classes.2da.</td>
</tr><tr>
<td>HELPER<br>HELPEROR</td>
<td>TAG</td>
<td>distance</td>
<td>AND<br>OR</td>
<td align="justify">TAG of an object (of any type) that must be near the PC or in the PC's inventory (it will not be consumed). If not specified, the maximum distance is 5.0.</td>
</tr><tr>
<td>SCRIPT<br>SCRIPTOR</td>
<td>ResRef</td>
<td>arguments</td>
<td>AND<br>OR</td>
<td align="justify">User-defined script. ReqParam2 will be passed to it as is. Read the <a href="#script">dedicated help section</a> for further details.</td>
</tr><tr>
<td>RACE</td>
<td>ID</td>
<td>subrace</td>
<td>OR</td>
<td>PC's race. ID is the corresponding row in racialtypes.2da. If ReqParam2 is left ****, subrace will be ignored.</td>
</tr><tr>
<td>ALIGN</td>
<td>alignement</td>
<td>****</td>
<td>OR</td>
<td>LG, LN, LE, NG, N, NE, CG, CN or CE.</td>
</tr><tr>
<td>AREA</td>
<td>partial tag</td>
<td>reference tag</td>
<td>OR</td>
<td align="justify">TAG substring, or the whole TAG, of the area in which the PC must be.<br>ReqParam2 is the complete TAG of an area to use to display the area name.</td>
</tr><tr>
<td>DEITY</td>
<td>name</td>
<td>****</td>
<td>OR</td>
<td>Name of the PC's deity.</td>
</tr>
</table>
<br>
<br>
For example, this is the recipe for "White Robe of the Archmagi". We will call it "<b>ireq_robearcw.2da</b>":<br><pre>
2DA V2.0
LABEL ReqType ReqParam1 ReqParam2
0 Robe_of_the_Archmagi_White RESULT nw_mcloth002 ****
1 CasterLevel14th CASTERLVL 14 ****
2 Craft_Wondrous_Item_Feat FEAT 2925 ****
3 Mage_Armor SPELL 102 ****
4 Bless SPELL 6 ****
5 Spell_Resistance SPELL 168 ****
6 Lawful_Good ALIGN LG ****
7 Neutral_Good ALIGN NG ****
8 Chaotic_Good ALIGN CG ****
</pre>
<br>
The <b>item_to_ireq.2da</b> file is "the glue that binds". This file is used to do a reverse binding between a magic item and a recipe. If the recipe and the item exist you can place both anywhere into this file, so the users of the Crafting System can use "Examine item or recipe" on the item to make a recipe. This allows users in single player modules to make recipes for items they come across. This can also be used by a dynamic machine that could create a dialog with all the items in the file and the user would get a recipe from the selection.<br>
<b>item_to_ireq.2da</b> is used by the 2DA Caching System, too, so it's very important that there's an entry in it for every recipe you write.<br>
<br>
For example, this is the entry for "White Robe of the Archmagi":<pre>
2DA V2.0
LABEL L_RESREF RECIPE_TAG
...
...
133 Robe_of_the_Archmagi_White nw_mcloth002 IREQ_ROBEARCW
</pre>
<br>
<a name="script"><b>SCRIPT and SCRIPTOR ReqTypes and scripted RESULT</b></a><br>
<br>
You may write custom requirement scripts for some items. Also, you may not want to create an object as the result of the crafting process, but call a script instead.<br>
OBJECT_SELF is the PC that is trying to craft the item.<br>
These are the functions you should use to interface with the PRC Crafting System:<br>
<pre><span style="color: green;">#include "prc_inc_craft"</span>
<span style="color: grey;">//Set the requirement caption that will be displayed.
//For RESULT ReqType, set the name of the recipe final result.</span>
<span style="color: red;">void</span> PRCCraft_SetCaption(<span style="color: red;">string</span> sText);
<span style="color: grey;">//Return TRUE (success) or FALSE (requirement missing) (SCRIPT and SCRIPTOR only).</span>
<span style="color: red;">void</span> PRCCraft_SetReturnValue(<span style="color: red;">int</span> nValue);
<span style="color: grey;">//Get ReqParam2 from the recipe, if any.</span>
<span style="color: red;">string</span> PRCCraft_GetArguments();
<span style="color: grey;">//Check if the script should consume whatever's needed (if any) / create the result
//or is just checking for requirements / name.</span>
<span style="color: red;">int</span> PRCCraft_GetConsume();
</pre>
<br>
Here's a sample script:<br>
<pre><span style="color: grey;">//check if the Sandy Resque Quest has been completed</span>
<span style="color: green;">#include "prc_inc_craft"</span>
<span style="color: red;">void</span> main()
{
PRCCraft_SetCaption(<span style="color: purple;">"Sandy's been resqued"</span>);
<span style="color: red;">int</span> resqued = GetLocalInt(GetModule(), <span style="color: purple;">"SandyResqued"</span>);
PRCCraft_SetReturnValue(resqued);
}</pre>
<br>
<a name="faq"><b>FAQ</b></a><br>
<br>
<b>Q)</b> I'm not the administrator of a dedicated server. Should I care about this?<br>
<b>A)</b> Yes. You can use the crafting system in any module, also single player, that supports PRC. You don't have to worry about setting any module variable or writing custom recipes or scripts, though. It will just work, out of the box. Note that, however, many items don't have a recipe so you won't be able to replicate them.<br>
<br>
<b>Q)</b> Is it compatible with the SoU and HotU crafting systems?<br>
<b>A)</b> Yes, it is, since the three systems are completely indipendent.<br>
<br>
<b>Q)</b> Should I enable the PRC 2DA Caching System only for this?<br>
<b>A)</b> That depends on how many players you've got. Without cache, your server will freeze for about half a second every time someone uses the crafting feats, while with cache it will be a matter of milliseconds. So if you've got more than 3-4 players you should really do it.<br>
<br>
</div>
</body>
</html>

View File

@ -0,0 +1,84 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Player Resource Consortium :: Manual :: Module Building :: Modifying Scripts</title>
<link type="text/css" href="../../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../../styles/manual_content_common.css" rel="stylesheet">
</head>
<body scroll="auto">
<br>
<div><h1>:: Module Building :: Modifying Scripts ::</h1></div>
<br>
<div class="div_paddedcontent">
Many builders will find it necissary to change some of the scripts in
the PRC to their liking. This is especially true for the spell
scripts,
including epic spells. Moreover, to make changes to certain parts of
the epic spell system (for example, to disable certain spells or make
them harder to cast,) the script "inc_epicspells" must be changed.
<br><br>
The Aurora toolset has problems with the sheer enormity of our scripts,
but there is an easy and ideal way to make changes outside of the
toolset.
<br><br>
First, you need to go to your NWN directory. There should be a
subfolder called utils. There are two programs which are useful here:
nwhak.exe and clcompile.exe.
<br><br>
First, create some folders anywhere on your computer, depending on what
you intend to change: one for epicspellscripts if you intend to change
epic spells, one for racescripts if you intend to change races, and one
for everything else. I'll refer to these as "epicspellscripts",
"racescripts", and "scripts" respectively. You'll want to copy
clcompile.exe from the utils directory into each working directory you
make.
<br><br>
Open nwhak.exe. Go to File, then Open... browse to the hak subfolder
under your NWN directory. Open up "prc_scripts", "prc_epicspells", or
"prc_race", depending on what you want to change.
<br><br>
When it opens, go to the Resource menu, and select Export All. Select
the appropriate folder you created, and click "OK". Wait awhile,
there's no progress bar, so you'll only know it's done if you wait for
awhile.
<br><br>
Go to that folder, and open up the script you want to edit with your
text editor. Make the changes you want. TextPad is good for this,
especially if you download the TextPad NWScript viewer from Bioware.
That way you'll have syntax highlighted properly.
<br><br>
Now, you'll need to compile the script. This can be tricky because it
requires the use of the command line. Go to the Start menu, and click
on "Run..." Windows 98/Me users, type "command" and hit OK. Windows
2000/XP users, type "cmd" and hit ok. You'll be at the DOS prompt.
Make sure you're on the drive your working folders reside on. If not,
type the letter of the drive followed by a colon (example: C: )
<br><br>
You need to navigate to your directory using the "cd" command. If your
folder was in c:\nwn\scripts, then you'd type "cd \nwn\scripts".
<br><br>
Once you're in the directory, type "clcompile.exe [name of the script
you edited]". If everything is right, your code will compile with no
errors (and it will tell you such.) If you have errors, you need to
debug them much like you would in the Aurora toolset.
<br><br>
Once you have the file compiled, open up nwhak.exe again, but this time
make sure you go to File/New. Go to "Resource", then "Add", and find
your working directory. Select the [name of script].ncs file then
click OK. Click File/Save As, and save it into your NWN hak directory
as whatever you choose. Don't overwrite anything!
<br><br>
Finally, in the Aurora toolset, you'll need to go to Edit/Module
Properties. Under the "Custom Content" tab, you can add your hak. Use
the "Move Up" button to make sure it's on top.
<br><br>
Click OK, and presto, your changes are in! You can safely abort the
rebuild process.
<br><br>
Keep in mind that future changes and additions can be made to your new
hak. Just "add" the resources to it instead of a fresh new hak. You
won't have to open the toolset again if you continue to use that hak.
<br><br>
</div>
</body>
</html>

View File

@ -0,0 +1,472 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Player Resource Consortium :: Manual :: Item Crafting :: System</title>
<link type="text/css" href="../../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../../styles/manual_content_common.css" rel="stylesheet">
</head>
<body scroll="auto">
<br>
<div><h1>:: Item Crafting :: System ::</h1></div>
<br>
<div class="div_paddedcontent">
<center><b><big><big>PRC New Crafting System</big></big></b><br><br>
by Flaming_Sword<br></center>
<br><div align="justify">
<p>
<a href="#intro">Introduction</a><p>
<a name="top"></a><b>For Players</b><p>
<a href="#featuse">Feat Use</a><br>
<a href="#nonmagic">Crafting Non-Magical Items</a><br>
<a href="#magic">Crafting Magic Items</a>
<ul>
<li><a href="#name">Change Name</a></li>
<li><a href="#appearance">Change Appearance</a></li>
<li><a href="#special">Craft Magic Arms and Armour: Adding a special ability</a></li>
<li><a href="#wondrous">Ring/Wondrous Item Crafting</a></li>
<li><a href="#staff">Staff Crafting</a></li><p>
</ul>
<a href="#dc">Crafting DC Information</a><br>
<a href="#cost">Crafting Cost Information</a><br>
<a href="#playerarb">Arbitrary (non-PnP) Crafting</a><p>
<b>For Builders</b><p>
<a href="#npc">Crafting Facilities</a><br>
<a href="#switch">Switches</a><br>
<a href="#2da">2DAs</a><br>
<a href="#script">Scripting - Adding New Items/Special Abilities</a><br>
<p>
<p><hr><p>
<a name="intro"><b>Introduction</b></a><p>
This is a guide to the new crafting system, implementing PnP crafting. Feedback on errors/missing information/style/possible improvements is appreciated.<p>
<a href="#top">Back to Top</a><p><hr><p>
<a name="featuse"><b>Feat Use</b></a><p>
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 &quot;Craft Item&quot; 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.<p>
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.<p>
<a href="#top">Back to Top</a><p><hr><p>
<a name="nonmagic"><b>Crafting Non-Magical Items</b></a><p>
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 &quot;*Done*&quot; will appear above the character's head and in the log. Choose &quot;Continue&quot; and you should see a list of weapons and shields, as well as armour, sorted alphabetically.<p>
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.<p>
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.<p>
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.). Staffs, rings and wondrous items can only use the &quot;normal&quot; option. Armour with base AC 0 (robes) can be crafted as wondrous items if the normal option is chosen, and enchanted like armour if the masterwork option is chosen. Cloaks will have their colours randomised. Note that some materials cannot be implemented in NWN (cold steel, alchemical silver, adamantine for weapons).<p>
Afterwards you will be presented with a description of the desired item, along with a cost in gp. You will be able to choose &quot;Confirm&quot; if you have the required gp.<p>
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.<p>
<a href="#top">Back to Top</a><p><hr><p>
<a name="magic"><b>Crafting Magic Items</b></a><p>
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.<p>
Target the item to be crafted using the subfeat. You must wait as a list is created. As with non-magical crafting, &quot;*Done*&quot; will appear when the list is finished.<p>
At this time, rod crafting is unavailabe, because rods as written in the SRD have been impossible to do without extra scripting.<p>
<a href="#top">Back to Top</a><p><hr><p>
<a name="name"><b>Change Name</b></a><p>
If you choose &quot;Change Name&quot; 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.<p>
<a href="#top">Back to Top</a><p><hr><p>
<a name="appearance"><b>Change Appearance</b></a><p>
If you choose &quot;Change Appearance&quot; 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.<p>
ModelType:<ul><li>0 - simple appearance, eg. rings, amulets<ul><li>Format: single number - icon</li></ul></li><li>1 - simple appearance + colours, helmet/cloak<ul><li>Format: x-x-x-x-x-x-x (7 values, 1 model, 6 colour)<ul><li>model</li><li>leather1</li><li>leather2</li><li>cloth1</li><li>cloth2</li><li>metal1</li><li>metal2</li></ul></li></ul></li><li>2 - weapons/boots<ul><li>Format: x-x-x-x-x-x (6 values, 3 colour, 3 model)<ul><li>bottom colour</li><li>middle colour</li><li>top colour</li><li>bottom model</li><li>middle model</li><li>top model</li></ul></li></ul></li><li>3 - armour (25 values, 19 model, 6 colour)<ul><li>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<ul><li>right foot</li><li>left foot</li><li>right shin</li><li>left shin</li><li>left thigh</li><li>right thigh</li><li>pelvis</li><li>torso</li><li>belt</li><li>neck</li><li>right forearm</li><li>left forearm</li><li>right bicep</li><li>left bicep</li><li>right shoulder</li><li>left shoulder</li><li>right hand</li><li>left hand</li><li>robe</li><li>leather1</li><li>leather2</li><li>cloth1</li><li>cloth2</li><li>metal1</li><li>metal2</li></ul></li></ul></li></ul>
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.<p>
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)<p>
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.<p>
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.<p>
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.<p>
<a href="#top">Back to Top</a><p><hr><p>
<a name="special"><b>Craft Magic Arms and Armour: Adding a special ability</b></a><p>
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.<p>
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.<p>
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 &quot;Confirm&quot; option.<p>
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.<p>
<a href="#top">Back to Top</a><p><hr><p>
<a name="wondrous"><b>Ring/Wondrous Item Crafting</b></a><p>
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.<p>
<a href="#top">Back to Top</a><p><hr><p>
<a name="staff"><b>Staff Crafting</b></a><p>
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).<p>
<a href="#top">Back to Top</a><p><hr><p>
<a name="dc"><b>Crafting DC</b></a><p>
<table cellpadding="0" cellspacing="0" align="center" border="1" class="table_contenttable">
<tr>
<td><b>Item</b></td>
<td><b>DC</b></td>
</tr>
<tr>
<td><b>Armour/Weapons/Shields</b></td>
<td><b>10 + Base AC</b></td>
</tr>
<tr>
<td><b>Crossbows</b></td>
<td><b>15</b></td>
</tr>
<tr>
<td><b>Bows</b></td>
<td><b>12</b></td>
</tr>
<tr>
<td><b>Composite Bows</b></td>
<td><b>15 + 2 x Mighty value</b></td>
</tr>
<tr>
<td><b>Simple melee weapons</b></td>
<td><b>12</td>
</tr>
<tr>
<td><b>Martial melee weapons</b></td>
<td><b>15</b></td>
</tr>
<tr>
<td><b>Exotic melee weapons</b></td>
<td><b>18</b></td>
</tr>
<tr>
<td><b>Masterwork</b></td>
<td><b>20 (separate roll)</b></td>
</tr>
<tr>
</table>
<p>
<a href="#top">Back to Top</a><p><hr><p>
<a name="cost"><b>Crafting Cost</b></a><p>
Costs in gp (market price) unless noted.<p>
<b>Non-Magical</b><p>
<table cellpadding="0" cellspacing="0" align="center" border="1" class="table_contenttable">
<tr>
<td><b>Type</b></td>
<td><b>Light Armour</b></td>
<td><b>Medium Armour</b></td>
<td><b>Heavy Armour</b></td>
<td><b>Shields</b></td>
<td><b>Weapons</b></td>
<td><b>Ammunition (99 units)</b></td>
</tr>
<tr>
<td><b>Masterwork</b></td>
<td><b>150</b></td>
<td><b>150</b></td>
<td><b>150</b></td>
<td><b>150</b></td>
<td><b>300</b></td>
<td><b>594</b></td>
</tr>
<tr>
<td><b>Adamantine</b></td>
<td><b>5,000</b></td>
<td><b>10,000</b></td>
<td><b>15,000</b></td>
<td><b>N/A</b></td>
<td><b>N/A</b></td>
<td><b>N/A</b></td>
</tr>
<tr>
<td><b>Darkwood</b></td>
<td><b>N/A</b></td>
<td><b>N/A</b></td>
<td><b>N/A</b></td>
<td colspan="2"><b>10/lb of weight</b></td>
<td><b>N/A</b></td>
</tr>
<tr>
<td><b>Dragonhide</b></td>
<td colspan="4"><b>Double total cost (base + masterwork)</b></td>
<td><b>N/A</b></td>
<td><b>N/A</b></td>
</tr>
<tr>
<td><b>Mithral</b></td>
<td><b>1,000</b></td>
<td><b>4,000</b></td>
<td><b>9,000</b></td>
<td><b>1,000</b></td>
<td><b>500/lb of weight</b></td>
<td><b>N/A</b></td>
</tr>
</table>
Crafting cost is 1/3 market price.<p>
<b>Magical</b><p>
Market Price = (Non-Magical Price) + (Enhancement Cost) + (Additional Cost)<p>
Non-Magical Price is price from previous section.<p>
Enhancement Cost = (Base Enhancement Cost) x (Effective Enhancement)<sup>2</sup><p>
Additional Cost from properties adds linearly.<p>
Base Enhancement Cost is 1,000gp for armour/shields, 2,000gp for weapons<p>
Effective Enhancement = Enhancement + Enhancement values on properties (eg. +5 for vorpal weapons)<p>
For epic items, the enhancement cost is x10 what it is for non-epic items, eg. non-epic, +5 vorpal sword is 2000x(10)<sup>2</sup> (+5, +5 for vorpal) = 200,000gp, epic, +10 sword is 2000x(10)<sup>2</sup>x10 (for being epic) = 2,000,000gp<p>
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.<p>
Time cost is 1 game hour/1,000gp market price by default.<p>
<a href="#top">Back to Top</a><p><hr><p>
<a name="playerarb"><b>Arbitrary (non-PnP) Crafting</b></a><p>
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.<p>
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.<p>
<a href="#top">Back to Top</a><p><hr><p>
<a name="npc"><b>Crafting Facilities</b></a><p>
You can provide facilities to player for crafting, either through a npc or placeable. To create a facility, find the item named &quot;PRC_CRAFT_TOKEN&quot; 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.<p>
Players within 10m of the object will be able to craft without the normal restrictions, for market price in gp and zero xp.<p>
<a href="#top">Back to Top</a><p><hr><p>
<a name="switch"><b>Switches</b></a><p>
These are all &quot;int&quot; type switches<p>
<table cellpadding="0" cellspacing="0" align="center" border="1" class="table_contenttable">
<tr>
<td><b>Switch</b></td>
<td><b>Description</b></td>
<td><b>Default</b></td>
</tr>
<tr>
<td><b>PRC_DISABLE_CRAFT</b></td>
<td><b>Disables the crafting system altogether</b></td>
<td><b>FALSE</b></td>
</tr>
<tr>
<td><b>PRC_DISABLE_CRAFT_EPIC</b></td>
<td><b>Disables epic crafting</b></td>
<td><b>FALSE</b></td>
</tr>
<tr>
<td><b>PRC_AREA_DISABLE_CRAFTING</b></td>
<td><b>Set in area, disables crafting in that area.</b></td>
<td><b>FALSE</b></td>
</tr>
<tr>
<td><b>PRC_AREA_DISABLE_CRAFTING_INVERT</b></td>
<td><b>Inverts the behavior of previous switch. Will disable crafting on all areas BUT ones with the PRC_AREA_DISABLE_CRAFTING switch set.</b></td>
<td><b>FALSE</b></td>
</tr>
<tr>
<td><b>PRC_CRAFT_TIMER_MULTIPLIER</b></td>
<td><b>Scales the time cost for crafting by this value/100</b></td>
<td><b>100</b></td>
</tr>
<tr>
<td><b>PRC_CRAFT_STAFF_CASTER_LEVEL</b></td>
<td><b>Crafted staffs have the casterlevel of the creator.</b></td>
<td><b>FALSE</b></td>
</tr>
<tr>
<td><b>X2_CI_CRAFTSTAFF_COSTMODIFIER</b></td>
<td><b>Cost modifier of spells crafted into staffs</b></td>
<td><b>750</b></td>
</tr>
<tr>
<td><b>PRC_CRAFTING_ARBITRARY</b></td>
<td><b>Disables PnP crafting and instead allows all NWN itemproperties (subject to cost)</b></td>
<td><b>FALSE</b></td>
</tr>
<tr>
<td><b>PRC_CRAFTING_COST_SCALE</b></td>
<td><b>Scales the gp cost for crafting by this value/100</b></td>
<td><b>100</b></td>
</tr>
<tr>
<td><b>PRC_CRAFTING_MUNDANE_COST_SCALE</b></td>
<td><b>Scales the gp cost for non-magical crafting by this value/100</b></td>
<td><b>100</b></td>
</tr>
<tr>
<td><b>PRC_CRAFTING_TIME_SCALE</b></td>
<td><b>Sets crafting time per 1000gp in market price:
<ol>
<li>off, no time required</li>
<li>round</li>
<li>turn</li>
<li>game hour</li>
<li>game day</li>
</ol></b></td>
<td><b>4</b></td>
</tr>
</table><p>
To disable a specific item/special ability in PnP crafting, set a switch with this name:<p>
<b>PRC_CRAFT_DISABLE_&lt;name of crafting 2da file&gt;_&lt;line number of property&gt;</b>
where the 2da files are named craft_* (lower case) or itempropdef in the case of arbitrary crafting
<p>
eg. <b>PRC_CRAFT_DISABLE_itempropdef_15</b>
<p>
disables all castspell properties in arbitrary crafting mode
<p>
<a href="#top">Back to Top</a><p><hr><p>
<a name="2da"><b>2DAs</b></a><p>
When adding lines to 2das used, modify SetDefaultFileEnds() within prc_inc_switch.nss to allow the scripts to read the required number of lines. Code will be in the form:<p>
<tt>
&nbsp;&nbsp;&nbsp;&nbsp;SetPRCSwitch("PRC_FILE_END_&lt;file name&gt;", &lt;number&gt;);<p>
</tt>
The file name will be in alphabetical order and in lower case.<p>
<b>craft_*.2da</b><p>
Used to store items/special abilities and their prerequisites<p>
<table cellpadding="0" cellspacing="0" align="center" border="1" class="table_contenttable">
<tr>
<td><b>Column Name</b></td>
<td><b>Description</b></td>
<td><b>Format</b></td>
</tr>
<tr>
<td><b>Name</b></td>
<td><b>Name</b></td>
<td><b>TLK entry</b></td>
</tr>
<tr>
<td><b>Label</b></td>
<td><b>Just a label</b></td>
<td><b>String</b></td>
</tr>
<tr>
<td><b>PropertyType</b></td>
<td><b>Crafting type, &quot;M&quot; for magic, &quot;P&quot; for psionic (not implemented yet), blank for any</b></td>
<td><b>Character</b></td>
</tr>
<tr>
<td><b>Level</b></td>
<td><b>Level (caster, manifester, etc.) prerequisite</b></td>
<td><b>Integer</b></td>
</tr>
<tr>
<td><b>PrereqMisc</b></td>
<td><b>Underscore delimited string with 5 values:<p>
Format:<br>
&lt;Race&gt;_&lt;Feat&gt;_&lt;AlignGE&gt;_&lt;AlignLC&gt;_&lt;Class&gt;<p>
Use a single asterisk (*) for blank, or four asterisks (****) for all blank<p>
<ul>
<li>Race - Race prerequisite, line in racialtypes.2da (evaluated using MyPRCGetRacialType())</li>
<li>Feat - Feat prerequisite, line in feat.2da</li>
<li>AlignGE - Alignment prerequisite, &quot;G&quot; for good, &quot;E&quot; for evil, &quot;N&quot; for neutral, blank for any</li>
<li>AlignLC - Alignment prerequisite, &quot;L&quot; for lawful, &quot;C&quot; for chaotic, &quot;N&quot; for neutral, blank for any</li>
<li>Class - Class prerequisite, line in classes.2da</li>
</ul>
</b></td>
<td><b>String (Underscore delimited, contains Integers)</b></td>
</tr>
<tr>
<td><b>Skill</b></td>
<td><b>Skill prerequisite, line in skills.2da</b></td>
<td><b>Integer</b></td>
</tr>
<tr>
<td><b>SkillRanks</b></td>
<td><b>Number of ranks for skill prerequiste</b></td>
<td><b>Integer</b></td>
</tr>
<tr>
<td><b>Spells</b></td>
<td><b>Underscore delimited string with 5 values:<p>
Format:<br>
&lt;Spell1&gt;_&lt;Spell2&gt;_&lt;Spell3&gt;_&lt;SpellOR1&gt;_&lt;SpellOR2&gt;<p>
Use a single asterisk (*) for blank, or four asterisks (****) for all blank<p>
<ul>
<li>Spell1 - Spell prerequisite, line in spells.2da</li>
<li>Spell2 - Spell prerequisite, line in spells.2da</li>
<li>Spell3 - Spell prerequisite, line in spells.2da</li>
<li>SpellOR1 - Spell prerequisite, crafter must have one of SpellOR1 or SpellOR2, line in spells.2da</li>
<li>SpellOR2 - Spell prerequisite, crafter must have one of SpellOR1 or SpellOR2, line in spells.2da. If SpellOR2 is blank crafter must have SpellOR1</li>
</ul>
</b></td>
<td><b>String (Underscore delimited, contains Integers)</b></td>
</tr>
<tr>
<td><b>Enhancement</b></td>
<td><b>Enhancement value for cost calculations</b></td>
<td><b>Integer</b></td>
</tr>
<tr>
<td><b>AdditionalCost</b></td>
<td><b>Additional cost for cost calculations</b></td>
<td><b>Integer</b></td>
</tr>
<tr>
<td><b>ReplaceLast</b></td>
<td><b>Property will disable this number of the preceding lines, for weapon/armour/shield crafting</b></td>
<td><b>Integer</b></td>
</tr>
<tr>
<td><b>BaseItem</b></td>
<td><b>Base item filter for wondrous item crafting, line in baseitems.2da, ignored for craft_ring.2da</b></td>
<td><b>Integer</b></td>
</tr>
<tr>
<td><b>IPN</b></td>
<td><b>Underscore delimited string with 4 values, Nth itemproperty to add (up to 6):<p>
Format:<br>
&lt;Type&gt;_&lt;SubType&gt;_&lt;CostTableValue&gt;_&lt;Param1Value&gt;<p>
Use a single asterisk (*) for blank, or four asterisks (****) for all blank<p>
<ul>
<li>Type - Type of the Nth itemproperty to add</li>
<li>SubType - SubType of the Nth itemproperty to add</li>
<li>CostTableValue - CostTableValue of the Nth itemproperty to add</li>
<li>Param1Value - Param1Value of the Nth itemproperty to add</li>
</ul>
</b></td>
<td><b>String (Underscore delimited, contains Integers)</b></td>
</tr>
<tr>
<td><b>Epic</b></td>
<td><b>Epic prerequisite, whether the creator needs the epic crafting feat</b></td>
<td><b>Integer</b></td>
</tr>
<tr>
<td><b>Special</b></td>
<td><b>Determines whether the property needs special handling by the scripts</b></td>
<td><b>Integer</b></td>
</tr>
</table><p>
<b>prc_craft_get_it.2da</b><p>
Used for non-magical crafting, lines must match baseitems.2da<p>
<table cellpadding="0" cellspacing="0" align="center" border="1" class="table_contenttable">
<tr>
<td><b>Column Name</b></td>
<td><b>Description</b></td>
<td><b>Format</b></td>
</tr>
<tr>
<td><b>Name</b></td>
<td><b>Name of base item</b></td>
<td><b>TLK entry</b></td>
</tr>
<tr>
<td><b>label</b></td>
<td><b>A label</b></td>
<td><b>String</b></td>
</tr>
<tr>
<td><b>Blueprint</b></td>
<td><b>Resref of blank/generic item to create when crafting</b></td>
<td><b>String</b></td>
</tr>
<tr>
<td><b>Type</b></td>
<td><b>Identifies the type of base item for the crafting scripts:
<ol>
<li>PRC_CRAFT_ITEM_TYPE_WEAPON</li>
<li>PRC_CRAFT_ITEM_TYPE_ARMOUR</li>
<li>PRC_CRAFT_ITEM_TYPE_SHIELD</li>
<li>PRC_CRAFT_ITEM_TYPE_AMMO</li>
<li>PRC_CRAFT_ITEM_TYPE_MISC</li>
<li>PRC_CRAFT_ITEM_TYPE_CASTSPELL</li>
</ol></b></td>
<td><b>Integer</b></td>
</tr>
</table><p>
<a href="#top">Back to Top</a><p><hr><p>
<a name="script"><b>Scripting - Adding New Items/Special Abilities</b></a><p>
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.<p>
<b>Get2DALineFromItemprop()</b><p>
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.<p>
<b>DisallowType()</b><p>
Weapon/armour/shield crafting, disallows special abilities that are similar to existing properties (for items being upgraded that were not created using this system).<p>
<b>PrereqSpecialHandling()</b><p>
Extra rules for handling prerequisites.<p>
<b>CheckCraftingSpells()</b><p>
Section handles unusual spell prerequisites.<p>
<b>GetItemVars()</b><p>
A portion of this function disables some special abilities for ranged weapons, listed here.<p>
<blockquote>
<tt>
if(bArmsArmour)<br>
{<br>
&nbsp;&nbsp;&nbsp;&nbsp;int nBase = GetBaseItemType(oItem);<br>
&nbsp;&nbsp;&nbsp;&nbsp;int bRangedType = StringToInt(Get2DACache("baseitems", "RangedWeapon", nBase));<br>
&nbsp;&nbsp;&nbsp;&nbsp;if(bRangedType && (bRangedType != nBase))<br>
&nbsp;&nbsp;&nbsp;&nbsp;{&nbsp;&nbsp;&nbsp;//disallowed because ranged weapons can't have onhit<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;array_set_int(oPC, PRC_CRAFT_ITEMPROP_ARRAY, 22, 0);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;array_set_int(oPC, PRC_CRAFT_ITEMPROP_ARRAY, 24, 0);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;array_set_int(oPC, PRC_CRAFT_ITEMPROP_ARRAY, 26, 0);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;array_set_int(oPC, PRC_CRAFT_ITEMPROP_ARRAY, 34, 0);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;array_set_int(oPC, PRC_CRAFT_ITEMPROP_ARRAY, 40, 0);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;array_set_int(oPC, PRC_CRAFT_ITEMPROP_ARRAY, 42, 0);<br>
&nbsp;&nbsp;&nbsp;&nbsp;}<br>
}
</tt></blockquote><p>
<a href="#top">Back to Top</a><p><hr>
</div>
</body>
</html>

View File

@ -0,0 +1,86 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Player Resource Consortium :: Manual :: Module Building :: Overriden Files</title>
<link type="text/css" href="../../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../../styles/manual_content_common.css" rel="stylesheet">
</head>
<body scroll="auto">
<br>
<div><h1>:: Module Building :: Overriden Files ::</h1></div>
<br>
<div class="div_paddedcontent">
<div><h2>prc_2das.hak:</h2></div><br>
<ul>
<li>baseitems</li>
<li>classes</li>
<li>cls_feat_asasin</li>
<li>cls_feat_barb</li>
<li>cls_feat_bard</li>
<li>cls_feat_cler</li>
<li>cls_feat_druid</li>
<li>cls_feat_fight</li>
<li>cls_feat_monk</li>
<li>cls_feat_pal</li>
<li>cls_feat_rang</li>
<li>cls_feat_rog</li>
<li>cls_feat_shadow</li>
<li>cls_feat_sorc</li>
<li>cls_feat_wiz</li>
<li>cls_skill_archer</li>
<li>cls_skill_asasin</li>
<li>cls_skill_barb</li>
<li>cls_skill_bard</li>
<li>cls_skill_blkgrd</li>
<li>cls_skill_cler</li>
<li>cls_skill_divcha</li>
<li>cls_skill_dradis</li>
<li>cls_skill_dru</li>
<li>cls_skill_dwdef</li>
<li>cls_skill_fight</li>
<li>cls_skill_kensei (though bioware doesn't use this)</li>
<li>cls_skill_monk</li>
<li>cls_skill_pal</li>
<li>cls_skill_palema</li>
<li>cls_skill_rang</li>
<li>cls_skill_rog</li>
<li>cls_skill_shadow</li>
<li>cls_skill_shiftr</li>
<li>cls_skill_sorc</li>
<li>cls_skill_wiz</li>
<li>cls_skill_wm</li>
<li>feat</li>
<li>iprp_feats</li>
<li>iprp_monstocst</li>
<li>iprp_neg5cost</li>
<li>iprp_onhitcost</li>
<li>iprp_onhitdur</li>
<li>iprp_spellcost</li>
<li>iprp_spells</li>
<li>iprp_srcost</li>
<li>itemprops</li>
<li>masterfeats</li>
<li>polymorph</li>
<li>skills</li>
<li>spells</li>
<li>vfx_persistent</li>
<li>visualeffects</li>
</ul>
<br>
NOTE: The CEP also includes baseitems.2da and changes the same line as PRC. This is for the claws. I am not sure why CEP needs to change this item, but I suggest using our change as it is required by a few PRC's
<br><br>
<div><h2>prc_scripts.hak:</h2></div><br>
<ul>
<li>nw_i0_spells </li>
<li>x0_i0spells </li>
<li>x2_inc_spellhook </li>
<li>x2_inc_switches</li>
<li>x2_mod_def_equ</li>
<li>x2_mod_def_unequ</li>
</ul>
<br>
NOTE: Due to the custom system for dealing with PrC's literally every spell in the game has been modified.
<br><br>
</div>
</body>
</html>

View File

@ -0,0 +1,15 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Player Resource Consortium :: Manual :: Module Building :: PrC Enablers</title>
<link type="text/css" href="../../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../../styles/manual_content_common.css" rel="stylesheet">
</head>
<body scroll="auto">
<div><h1>:: Module Building :: PrC Enablers ::</h1></div>
<div class="div_paddedcontent">
Variables can be set on PCs to prevent them taking levels in different classes. Refer to file prc_allow_const.nss in prc_include.hak or the class prerequisite files (cls_pres_*) themselves for an up-to-date list.
</div>
</body>
</html>

View File

@ -0,0 +1,52 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Player Resource Consortium :: Manual :: Module Building :: PRC NPCs</title>
<link type="text/css" href="../../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../../styles/manual_content_common.css" rel="stylesheet">
</head>
<body scroll="auto">
<br>
<div><h1>:: Module Building :: PRC NPCs ::</h1></div>
<br>
<div class="div_paddedcontent">
This is a brief guide to getting NPCs to begin to work with the new PRC classes.
The PRC has added some scripts you need to hook into NPC scripts in order to have the
PRC passive abilities work. Simply add ExecuteScript("NAME_OF_SCRIPT", OBJECT_SELF);
somewhere in the AI script for each event, just below void main() { is probably a good
place. Most of these scripts do not do anything at the moment, but they might do more in
future versions for example, if things need to be triggered from these events.
<br>
<table cellpadding="0" cellspacing="0" align="center" border="0" class="table_contenttable">
<tr><td>OnBlocked</td> <td>prc_npc_blocked</td> </tr>
<tr><td>OnCombatRoundEnd</td> <td>prc_npc_combat</td> </tr>
<tr><td>OnConversation</td> <td>prc_npc_conv</td> </tr>
<tr><td>OnDamaged</td> <td>prc_npc_damaged</td> </tr>
<tr><td>OnDeath</td> <td>prc_npc_death</td> </tr>
<tr><td>OnDisturbed</td> <td>prc_npc_disturb</td> </tr>
<tr><td>OnHeartbeat</td> <td>prc_npc_hb</td> </tr>
<tr><td>OnPerception</td> <td>prc_npc_percep</td> </tr>
<tr><td>OnPhysicalAttacked</td> <td>prc_npc_physatt</td> </tr>
<tr><td>OnRested</td> <td>prc_npc_rested</td> </tr>
<tr><td>OnSpawn</td> <td>prc_npc_spawn</td> </tr>
<tr><td>OnSpellCastAt</td> <td>prc_npc_spellat</td> </tr>
<tr><td>OnUserdefined</td> <td>prc_npc_userdef</td> </tr>
</table>
<br>This will only allow the passive abilities, such as skill bonuses, to work. The AI
will probably not actively use any of the PRC content (such as the new Power Attack).
<br>There is one exception, the PRC NPC scripts do contain a basic wrapper AI for using the
new epic spells. If you want epic spellcasters to have specific epic spells, assign them
directly. Otherwise epic spellcasters will have a random selection of epic spells. Also,
since some epic spells use up XP when cast, you can give NPCs virtual XP by setting a local
int called "NPC_XP" on them. This is treated the same as a PCs XP score, so it cannot go
lower than the minimum for their level. If the local int is not set, NPCs will be randomly
given enough XP to be between 25% and 75% of the way to the next level.
<br>
<br>Another thing to note when making PRC NPCs; the toolset will throw up errors whenever
the LevelUp or Character Wizards are used with the certain classes. We are not sure why
it does it, and it only does it with certain classes. The best way around the problem
is to hand make all the NPCs, which is probably a good idea anyway since biowares feat
assignments are not always that smart.
</div>
</body>
</html>

View File

@ -0,0 +1,29 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Player Resource Consortium :: Manual :: Module Building :: Respawning Doors</title>
<link type="text/css" href="../../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../../styles/manual_content_common.css" rel="stylesheet">
</head>
<body scroll="auto">
<br>
<div><h1>:: Module Building :: Respawning Doors ::</h1></div>
<br>
<div class="div_paddedcontent">
<br>There is a very simple respawning door system included in PRC v3.1 or higher. It consists of two scripts,
door_destroyed and door_ud. Simply put the door_ud script in a doors OnUserDefinedEvents script
slot, and put door_destroyed in OnDeath slot. See the picture below as an example
<br>
<br><center><img src="door2.jpg"></center>
<br>
<br>If you want the door to respawn after a certain time, enter the number of minutes into the
will save throw. Then once that time has elapsed, the door will respawn.
<br>If you want to manually controll the door respawning, leave the will saving throw at zero.
Then when you want the door to respawn, use the SignalEvent command to send a User Defined event
number 500 to the door. You may want to refer to the lexicon for information about these commands.
<br><br>
Note: if the door is trapped and or locked the trap/lock will not respawn with the door.
You can use the CreateTrapOnObject() function to add a trap, and SetLocked() to lock the door.
</div>
</body>
</html>

View File

@ -0,0 +1,96 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Player Resource Consortium :: Manual :: Module Building :: Respawning Traps</title>
<link type="text/css" href="../../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../../styles/manual_content_common.css" rel="stylesheet">
</head>
<body scroll="auto">
<br>
<div><h1>:: Module Building :: Respawning Traps ::</h1></div>
<br>
<div class="div_paddedcontent">
<br>
<br>Note: This system was written and implemented before NWN 1.67 added the function for creating
traps though scripting. If you wish to, this can be incorporated into normal traps by setting the trigger
script to "prgt_trap_fire" and set a trap struct (defined in prgt_inc_trap) as a local named "TrapSettings".
<br>
<br>PRC v3.0 includes a novel spawning ground trap system. This system has several unique attributes:
<ul><li>Does not require any toolset placed objects.</li>
<li>Vast selection of trap types.</li>
<li>Can have a random trap type.</li>
<li>Ability to create new trap types purely from scripting.</li>
<li>Easily award XP (or other rewards) from the trap, either from the PRC XP system or via custom scripting.</li>
<li>Spell-casting traps any arbitrary caster level.</li>
<li>Can be hooked up to NPC events so they can lay traps too.</li>
<li>Can be set to automatically respawn after a period of time.</li></ul>
<br>The way the system works internally is fairly complex, but the outline is this:
<ul><li>Two invisible auras are created, one as a trigger, and one as a detection area.</li>
<li>This auras have certain attributes set on them when created such as detection and disarm DCs.</li>
<li>Every 6 seconds a creature is in the detection trigger in detect mode, there is a chance to reveal the trap.</li>
<li>When the trap is detected, a grid of invisible placeables are spawned inside the trigger aura.</li>
<li>Each of these invisible placeables are trapped, this gives off a red glow to display where the trap is.</li>
<li>If detected or not, the trap goes off when a creature enters the trigger aura. The exception to this
is if the creature is moving to disarm, flag, or recover one of the trapped invisible placeables.</li>
<li>If a creature is inside the trigger aura and not disarming, flagging, or recovering, the trap goes off.</li>
<li>When the trap is triggered, there are several things that can happed.
<ul><li>If there is a custom script assigned to the trap, it will be run.</li>
<li>If there is a spell assigned to the trap, it will be cast.</li>
<li>Otherwise, the trap will do its pre-set damage, VFX, etc.</li></ul></li>
<li>After a trap has triggered, again several things could happen.
<ul><li>The trap could be destroyed entirely, for a one-shot trap.</li>
<li>The trap may stay around untill disarmed.</li>
<li>The trap may be destroyed for a time and respawn later.</li></ul></li></ul>
<br>
<div><h1>Examples</h1></div>
<br>The simplest way for a builder to implement respawning ground traps is to create
a set of invisible object placeables that replace themselves with traps in-game. This
can either be done with a range of pre-fixed difficulties or dynamically integrated into
a spawn system.
<br>Below is an example of a pre-set difficulty script that will spawn a random trap.
This is in the PRC as prgt_spawneg. Simply place it in the OnHeartbeat event of an invisible
non-static non-plot placeable. This trap will not repsawn and will be a one-shot trap
<pre>//An example OnHB script for an invisible placeable to spawn a ground trap
#include "prc_alterations"
#include "prgt_inc"
void main()
{
struct trap tTrap;
//this will use 5 as the CR for the trap
tTrap = CreateRandomTrap(5);
//add code in here to change things if you want to
//for example, to set the detect DC to be 25 use:
//tTrap.nDetectDC = 25;
CreateTrap(GetLocation(OBJECT_SELF), tTrap);
DestroyObject(OBJECT_SELF);
}</pre>
<br>If you want to have a respawning trap, you need to set nRespawnSeconds to be greater
than zero, as shown in the script below. Also, this script will recreate the random
trap each time it respawns.
<pre>//An example OnHB script for an invisible placeable to spawn a ground trap
#include "prc_alterations"
#include "prgt_inc"
void main()
{
struct trap tTrap;
//this will use 5 as the CR for the trap
tTrap = CreateRandomTrap(5);
//add code in here to change things if you want to
//for example, to set the detect DC to be 25 use:
//tTrap.nDetectDC = 25;
tTrap.nRespawnSeconds = 600; //will respawn after 10 minutes
tTrap.nRespawnCR = 5; //will rerandomize the trap each time its respawned
CreateTrap(GetLocation(OBJECT_SELF), tTrap);
DestroyObject(OBJECT_SELF);
}</pre>
<br>
<br>The full details of the variables in a trap are detailed in prgt_inc. The main
upshot is that you can either have it cast a spell, complete with specified level, DC,
and metamgic, or you can apply direct damage along with radius damage and almost any
visual effect you can think of. All of the information on a trap is stored in the
trap struct and can be accessed using the . operator (dot).
<br>
<br>
</div>
</body>
</html>

View File

@ -0,0 +1,52 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Player Resource Consortium :: Manual :: Module Building :: Script Hooks</title>
<link type="text/css" href="../../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../../styles/manual_content_common.css" rel="stylesheet">
</head>
<body scroll="auto">
<br>
<div><h1>:: Module Building :: Script Hooks ::</h1></div>
<br>
<div class="div_paddedcontent">
<br>To enable builders to integrate the PRC into their modules better, a series of
common scripts that the PRC overrides have had additional scripts added via
ExecuteScript. These are:
<br>
<br>nw_c2_default7 (NPC OnDeath) runs a script named "prc_pwondeath" This is designed
for custom XP use and all the normal OnDeath functions will work as usual.
<br>
<br>nw_s0_raisdead (spell script for raise dead) runs a script named "prc_pw_raisedead"
This is designed for persistent death scripts. You can get the raised creature with
GetSpellTargetObject().
<br>
<br>nw_s0_ressurec (spell script for ressurection) runs a script named
"prc_pw_ressurection" This is designed for persistent death scripts. You can get the
resurrected creature with GetSpellTargetObject().
<br>
<br>ss_ep_cont_resur (spell script for contingent ressurection) runs a script named
"prc_pw_contress" This is designed for persistent death scripts. You can get the raised
creature with OBJECT_SELF.
<br>
<br>ss_ep_armyunfall (spell script for army unfallen) runs a script named
"prc_pw_armyunfall" This is designed for persistent death scripts. You can get the
raised creature with OBJECT_SELF.
<br>
<br>psi_inc_psifunc AstralSeedRespawn() (function for astral seed psionic power ondeath)
runs a script named "prc_pw_astralseed" This is designed for persistent death scripts.
You can get the raised creature with OBJECT_SELF.
<br>
<br>x0_i0_spells (spell include for many things including petrification) runs a script
named "prc_pw_petrific" This is designed for persistent death scripts. You can get the
petrified creature with OBJECT_SELF. Note: this will only be run if on hard core rules or very difficult, since on other settings petrification is temporary.
<br>
<br>x0_s0_stoflesh (spell script for stone to flesh) runs a script named
"prc_pw_unpetrif" This is designed for persistent death scripts. You can get the
unpetrified creature with OBJECT_SELF. Note: this will only be run if on hard core rules or very difficult, since on other settings petrification is temporary.
<br>
<br>Remember however that the PRC has added code switches for some of the common PW scripts
including persistant death tracking.
</div>
</body>
</html>

View File

@ -0,0 +1,115 @@
<?xml version ="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Player Resource Consortium :: Manual :: PnP Poison System Documentation</title>
<!-- The general stylesheet -->
<link type="text/css" href="../../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../../styles/manual_content_common.css" rel="stylesheet">
<!-- Some style defs specific to this document -->
<style type="text/css">
.highlight {
font-style: italic;
}
p {
margin-left: 1%;
}
</style>
</head>
<body>
<div>
<h1>PnP Poison System</h1>
<div class="div_paddedcontent">
<h2>Introduction</h2>
<p>
Once upon a time, there was a player who was messing about with rogue/wizard and was looking for something to add a bit of extra punch against all the damn monsters in the OC. He saw the poisons appliable to weapons that had come along with HotU and went "Oooh, neat!". But all was not well, for he soon noticed that the implementation sucked much goat balls and was about as far from the PnP specifications as one could get. So he went and implemented his own system that works using the poisons defined in <span class="highlight">poison.2da</span> instead of plain static 1d2 damage to ability X and is hopefully more useful to players (and evil DMs).
</p>
<p>
This document contains some info on how the system works and how to use it. Full implementation details are available in the header comments of the poison_*.nss script files.
</p>
<h2>Users</h2>
<p>
According to the Dungeon Master's Guide, poisons are divided into four types: Contact, Ingested, Inhaled, Injury. This distinction has been implemented using a new column in <span class="highlight">poison.2da</span>, the values of which correspond to rows in <span class="highlight">poisontypedef.2da</span>.
</p>
<ul>
<li>Contact: Can be used to
<ul>
<li>Poison a weapon so that creatures hit with it are poisoned.</li>
<li>Coat an item with poison so that creatures picking it up or equipping it are poisoned.</li>
<li>Thrown at someone to poison them.</li>
</ul>
</li>
<li>Ingested: Can be used to poison a food item. This requires effort on the part of a module builder to hook in.</li>
<li>Inhaled: The container can be thrown so that the gasous poison bursts out into 5' radius, affecting everyone in the area.</li>
<li>Injury: Can be used to coat a weapon so that creatures hit with it are poisoned.</li>
</ul>
<p>
There is an item implementing a vial of poison for almost every poison with specs in (DMG|BoVD|BoED). These items have crafting recipes created for them, available from the recipe merchant in the epic spell lab, so they are accessible from any module.
<br />
The items are used through a set of item spells implementing the uses in the list above.
</p>
<h2>Builders</h2>
<h3>Items and recipes</h3>
<p>
The pre-made "poison vial" items have resrefs of 2dapoisonXXX, where XXX is the <span class="highlight">poison.2da</span> index of the poison it's meant to be. The pre-made recipes for creating them have resrefs of ireq_poisonXXX. However, these two numberings are not relevant to the poison system.<br />
The values used by the poison system are the tag of the item and/or a local variable called <span class="highlight">pois_idx</span>. They indicate the <span class="highlight">poison.2da</span> index of the poison. The value in the tag is stored in the last 3 characters, with zero-padding if necessary.
</p>
<p>
If you add your own poison items, they can have certain <span class="highlight">Cast Spell</span> abilities, depending on the poison type. A single item may be of only a single poison at a time.
</p>
<ul>
<li>Contact -<br />
Cast Spell: Poison Item (PnP poisons)<br />
Cast Spell: Poison Weapon (PnP poisons)<br />
Cast Spell: Throw Poison Vial
</li>
<li>Ingested - Cast Spell: Poison Food (PnP Poisons)</li>
<li>Inhaled - Cast Spell: Throw Poison Vial</li>
<li>Injury - Poison Weapon (PnP poisons)</li>
</ul>
<h3>Pre-poisoned loot</h3>
<p>
It is not particularly easy to create pre-poisoned items directly in the toolset. However, it is quite straightforward by using scripting. The items need to have the following 3 local variables set on them:
</p>
<ul>
<li><span class="highlight">pois_itm_idx</span> - local integer. Specifies <span class="highlight">poison.2da</span> line.</li>
<li><span class="highlight">pois_itm_uses</span> - local integer. Specifies number of times creatures may be poisoned from touching the item before the poison wears off.</li>
<li><span class="highlight">pois_item_trap_dc</span> - local integer. Specifies the DC for Spot checks to notice that the item is poisoned and the Disable Traps DC to remove the poison.</li>
</ul>
<p>
In addition, the must have <span class="highlight">Cast Spell: Clean Poison Off</span> with unlimited uses and have the following functions called via a script:
</p>
<pre>
object oItem = [the poisoned item];
AddEventScript(oItem, EVENT_ITEM_ONACQUIREITEM, "poison_onaquire", TRUE, FALSE);
AddEventScript(oItem, EVENT_ITEM_ONPLAYEREQUIPITEM, "poison_onequip", TRUE, FALSE);
</pre>
<h2>Technical details</h2>
<h3>Poisoned weapons</h3>
<p>
When a weapon is poisoned (script <span class="highlight">poison_appl_weap</span>), first the object being poisoned is checked out to make sure it's valid for being poisoned in this manner. Then, the script gets the index of the poison to use, either from the tag of the item being used to poison or from a local integer on it.<br />
Then, after some more checks on the poison id, the user gets to roll for success in applying the poison.If it fails, the user gets poisoned with whatever was used. Either way, the poison is applied to the weapon.<br />
Two local integers are set on the weapon. One is the index of the poison used in <span class="highlight">poison.2da</span> and the other is the number of times the poison can be applied from the weapon before it wears out. An <span class="highlight">OnHitCastSpell: Unique</span> itemproperty is also applied to the item so that the script <span class="highlight">poison_wpn_onhit</span> can be eventhooked to it.<br />
<span class="highlight">poison_wpn_onhit</span> gets the index of the poison to use from the local integer and applies a corresponding EffectPoison() to the object hit. It then decrements remaining uses and if they reach 0, the local integers are removed from the item and the script is removed from the eventhook. The OnHitCast property is also removed if it wasn't already present when the weapon was poisoned.
</p>
<h3>Poisoned items</h3>
<p>
Poisoning an object first gets the poison to use. Then, it makes some validity checks. First, that the poison is a contact poison and second that the item has not been poisoned in this manner previously.<br />
The poisoner rolls Set Trap to set DC for Spotting and removing the poison. The number of times the poison applied can affect people is calculated. These values are stored on the item poisoned and eventhook scripts are added to the item for OnEquip (<span class="highlight">poison_onequip</span>) and OnAcquire (<span class="highlight">poison_onaquire</span>). An object reference is stored on the item pointing at the poisoner.<br />
In addition, a <span class="highlight">Cast Spell: Clean Poison Off</span> itemproperty is added to the item.<br />
<br />
The OnEquip script first checks if the equipper knows that the item is poisoned. If it does, either being the original poisoner or someone who has succeeded in a spot check to notice the poison during OnAcquire, it tries to clean the poison off first. The original poisoner is automatically successfull, others roll Disable Trap against the DC set by the poisoner.
</p>
</div>
</div>
</body>
</html>

View File

@ -0,0 +1,50 @@
<html>
<head>
<meta http-equiv="Content-Language" content="en-gb">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Player Resource Consortium :: Manual :: Installation :: Guide</title>
<link type="text/css" href="../../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../../styles/manual_content_common.css" rel="stylesheet">
</head>
<body scroll="auto">
<br>
<div><h1>:: Players Guide :: Psionics ::</h1></div>
<br>
<div class="div_paddedcontent">
<br>Psionics is a similar system to conventional spellcasting, however there are a number of important points that separate them.
<br>Most of the terms that refer to spells have direct equivalents in psionics.<ul>
<li>A <i><b>psionic character</b></i> is one that has a <i><b>power point</b></i> reserve.</li>
<li>Psionic spells are called <i><b>powers</b></i>.</li>
<li>Metamagic-type abilities are called <i><b>metapsionics</b></i>.</li>
<li>A character than can use psionic powers is a <i><b>manifester</b></i> and powers are used at a certain <i><b>manifester level</b></i> instead of caster level.</li>
<li>Powers are divided into 9 <i><b>power levels</b></i> (I to IX) in the same way spells are divided into spell levels. However, there are no psionic cantrips.</li>
<li>Like spells, powers are separated into groups, however, instead of schools they are referred to as <i><b>disciplines</b></i> and are:<ul>
<li>Psychometabolism. A Psion specialising in it is known as an Egoist.</li>
<li>Psychokinesis. A Psion specialising in it is known as a Kineticist.</li>
<li>Psychoportation. A Psion specialising in it is known as a Nomad.</li>
<li>Clairsentience. A Psion specialising in it is known as a Seer.</li>
<li>Metacreativity. A Psion specialising in it is known as a Shaper.</li>
<li>Telepathy. A Psion specialising in it is known as a Telepath.</li>
</ul></li>
<li>Resistance to powers is called <i><b>power resistance</b></i> and is interchangeable with spell resistance. Power resistance also resists spells and spell resistance also resists powers. *</li>
<li>As with spells, most offensive powers have a saving throw to avoid or reduce their effects. The DC on the power is normally 10 + relevant ability modifier + power level. Certain other abilities such as feats can alter the DC as well.</li>
<li>The 3 main psionic base classes have approximate equivalent spellcasting classes. <i><b>Psions</b></i> are similar to wizards, <i><b>Wilders</b></i> are similar to sorcerers, and <i><b>Psychic Warriors</b></i> are similar to a combination of bards and paladins/rangers.</li>
<li>As with divine casters, manifesters are not affected by wearing armor or using a shield. However, psions are not proficient with shields or any type of armor, and wilders are only proficient with light armor and shields. Manifesters can use feats or multi-classing to become proficient, as normal.</li>
<li>Many powers function identically to spell equivalents, for example charm, daze, dimension door, dimensional anchor, disintegrate, dismissal, dominate, freedom of movement, keen edge, knock, mind blank, restoration, true seeing, and others. There are other powers that function very similarly to certain spells.</li>
</ul>
<p>
* The distinction between Power Resistance and Spell Resistance is purely nomenclatural in the version of the ruleset used by the PRC psionics implementation (full transparency). As such, the term only appears in the power descriptions and some feedback text. For example, the actual effect of the power <i>Power Resistance</i> is to grant 12 + manifester level of Spell Resistance.
</p>
<br><center><a href="psionics_pg02.html">Next Page</a></center>
<br>
<br>
</div>
</body>
</html>

View File

@ -0,0 +1,59 @@
<html>
<head>
<meta http-equiv="Content-Language" content="en-gb">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Player Resource Consortium :: Manual :: Installation :: Guide</title>
<link type="text/css" href="../../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../../styles/manual_content_common.css" rel="stylesheet">
</head>
<body scroll="auto">
<br>
<div><h1>:: Players Guide :: Psionics ::</h1></div>
<br>
<div class="div_paddedcontent">
<br>There are some very major differences between spells and powers.<ul>
<li>Psionics does not use any slots. Instead all powers cost a number of <i><b>power points</b></i> which varies depending on the power level.
<table class="table_contenttable">
<tr><td>Level 1</td><td>1 Power Point</td></tr>
<tr><td>Level 2</td><td>3 Power Points</td></tr>
<tr><td>Level 3</td><td>5 Power Points</td></tr>
<tr><td>Level 4</td><td>7 Power Points</td></tr>
<tr><td>Level 5</td><td>9 Power Points</td></tr>
<tr><td>Level 6</td><td>11 Power Points</td></tr>
<tr><td>Level 7</td><td>13 Power Points</td></tr>
<tr><td>Level 8</td><td>15 Power Points</td></tr>
<tr><td>Level 9</td><td>17 Power Points</td></tr>
</table></li>
<li>Powers do not scale their effects automatically with manifester level. Instead they must be <i><b>augmented</b></i> by spending extra power points. Durations, however, do usually scale with manifester level.</li>
<li>You cannot spend more power points on a single power than your manifester level. So don't expect to be able to use all your day's power points on a single power.</li>
<li>Metapsionics and several other feats require you to expend your <i><b>psionic focus</b></i> when using them or will only work as long as you are psionically focused. To become psionically focused, you must use the Psionic Focus feat that all psionic characters have, and pass a concentration check (DC 20). This may provoke attacks of opportunity from nearby enemies.</li>
<li>There is a different set of metapsionics than there are metamagics. You cannot apply metamagic to powers or visa versa. Unlike metamagic in NWN, metapsionics can be stacked; however you must have Epic Psionic Focus to expend your psionic focus on more than one thing at a time. The list is:<ul>
<li>Empower Power</li>
<li>Extend Power</li>
<li>Maximize Power</li>
<li>Quicken Power</li>
<li>Chain Power</li>
<li>Split Psionic Ray</li>
<li>Twin Power</li>
<li>Widen Power</li>
</ul></li>
<li>Psions (but not wilders or psychic warriors) must select a discipline to specialise in at first level. Unlike spell schools, this does not prevent you selecting powers from other disciplines. Instead, it adds a set of powers specific to your chosen discipline to the list you select from when gaining a level. These powers are by default only available to psions who specialise in that discipline.</li>
<li>Unlike wizards, all manifesters must select what powers that can use when gaining a level and cannot gain more powers from scrolls or other items. This is similar to a bard or sorcerer.</li>
<li>There are no summoning powers, the closest thing is astral construct which is a shaper-only power. However, you can design your own astral constructs for all power levels from I to IX including customizing their special abilities.</li>
<li>There is only one healing power, body adjustment. However, empathic transfer can be used to move your injuries onto your opponents.</li>
<li>Several powers require the manifester to concentrate to maintain them. This means the power will end if you cast spells, manifest powers, or do other strenuous activities. The power will also end if you come under the influence of an effect which prevents you from concentrating, such as charm, dominate, confusion, fear, stun, paralysis, or polymorph.</li>
</ul>
<br><center><a href="psionics_pg01.html">Previous Page</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="psionics_pg03.html">Next Page</a></center>
<br>
<br>
</div>
</body>
</html>

View File

@ -0,0 +1,45 @@
<html>
<head>
<meta http-equiv="Content-Language" content="en-gb">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Player Resource Consortium :: Manual :: Installation :: Guide</title>
<link type="text/css" href="../../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../../styles/manual_content_common.css" rel="stylesheet">
</head>
<body scroll="auto">
<br>
<div><h1>:: Players Guide :: Psionics ::</h1></div>
<br>
<div class="div_paddedcontent">
<br>Now that you are familiar with the basic terms of psionics, we can walk through using a psionic character. The first step is to select powers when gaining a level.
<br>
<br>Selecting powers is done via a conversation after the normal leveling procedure is complete. If you are using a character created with the Java CC, the conversation will happen when you first take that character into a module.
<br>
<br>Initially, you will be presented with a list of the different levels of powers you can learn.
<br>
<br><center><img border="0" src="../../../images/powerlevel.jpg" /></center>
<br>
<br>Once you select a level, you will be given a list of all the powers you can take within that level.
<br>
<br><center><img border="0" src="../../../images/powerlist.jpg" /></center>
<br>
<br>When you select a power, you will be given a description of that power. This includes duration, effects, saving throws, power resistance, as well as metamagic and augmentation options. You may need to use the scrollbar to see the entire description.
<br>
<br><center><img border="0" src="../../../images/powerconfirm.jpg" /></center>
<br>
<br>At the end of the desciption, you can choose whether to accept that power or go back and select another one. Untill you accept a power, you can change between different powers and power levels to look at them freely.
<br>
<br>How many powers and which powers you have avaliable varies depending on which manifester class you are. Note that unlike bards and sorcerers, you are not limited to selecting powers of separate levels. You can choose to fill your avaliable powers from any level you have avaliable. While higher level powers may appear to be more effective, remember that lower level powers can be augmented and/or have metapsionics applied to them.
<br>
<br><center><a href="psionics_pg02.html">Previous Page</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="psionics_pg04.html">Next Page</a></center>
<br>
<br>
</div>
</body>
</html>

View File

@ -0,0 +1,35 @@
<html>
<head>
<meta http-equiv="Content-Language" content="en-gb">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Player Resource Consortium :: Manual :: Installation :: Guide</title>
<link type="text/css" href="../../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../../styles/manual_content_common.css" rel="stylesheet">
</head>
<body scroll="auto">
<br>
<div><h1>:: Players Guide :: Psionics ::</h1></div>
<br>
<div class="div_paddedcontent">
<br>Once you have some powers to use, you need to regain your power points. This is done by resting and once complete you will get a message telling you how many power points you have avaliable.
<br>
<br><center><img border="0" src="../../../images/restpoints.jpg" /></center>
<br>
<br>All psionic powers appear on the class radial. If you have so many that they wont all fit on the first layer, then the radial will expand indefinately. Powers can be added to the quickbar in the same way that feats can be.
<br>
<br>Every time you manifest a power, you will get a message in the combat logs telling you how many power points you have remaining. If you try to manifest a power that costs more power points than you have remaining, you will get a floating message telling you so and the power will not be manifest.
<br>
<br><center><img border="0" src="../../../images/notenoughpoints.jpg" /></center>
<br>
<br><center><a href="psionics_pg03.html">Previous Page</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="psionics_pg05.html">Next Page</a></center>
<br>
<br>
</div>
</body>
</html>

View File

@ -0,0 +1,49 @@
<html>
<head>
<meta http-equiv="Content-Language" content="en-gb">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Player Resource Consortium :: Manual :: Installation :: Guide</title>
<link type="text/css" href="../../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../../styles/manual_content_common.css" rel="stylesheet">
</head>
<body scroll="auto">
<br>
<div><h1>:: Players Guide :: Psionics ::</h1></div>
<br>
<div class="div_paddedcontent">
<br>An important part of effectivly using psionics is augmentation. This means that by spending additional power points over and above the base points required by a power you can magnify the power's effects. Most powers can be augmented in only one way, however a few can be augmented to two or more different results. The amount of power points you have to spend for each augmentation varies depending on the power.
<br>
<br><center><b>Remember, you cannot spend more power points on a single power than your manifester level.</b></center>
<br>
<br>This includes the additional costs from augmentation and/or metapsionics. However, abilities that increase your manifester level also increase the maximum number of power points you can spend, for example Overchannel.
<br>
<br>Augmentation is controlled by a number of profiles. Switching between profiles happens instantly and it effects powers from that moment onwards. On the main augmentation subradial, there are 3 quickslots, "augmentation off", and augmentation options.
<br>
<br><center><img border="0" src="../../../images/augsubradial.jpg" /></center>
<br>
<br>
<br>The quickslots each have an augmentation profile associated with them. These profiles can be edited through the augmentation options.
<br>
<br>"Augmentation off" has a fixed profile associated with it that has zero for all augmentation options. Thus when selected, you will only pay the base point points, plus any metapsionics.
<br>
<br>The other 3 augmentation subradials are used to select any of up to 50 pre-planned profiles. There is one subradial for 0-4, another for 5-9, and one for 00-40. The profile that is currently in use is the combined result of these three subradials.
<br>
<br>For example, by default you use profile 00. If you then select the "4" subradial, you will switch to profile 04.
<br>If you then press the "10" subradial, it will combine the "4" with the "10" and switch to profile 14.
<br>If you next select the "7" subradial, it will replace the "4" with "7" and combine that with the "10" to switch to profile 17.
<br>
<br><center><a href="psionics_pg04.html">Previous Page</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="psionics_pg06.html">Next Page</a></center>
<br>
<br>
</div>
</body>
</html>

View File

@ -0,0 +1,70 @@
<html>
<head>
<meta http-equiv="Content-Language" content="en-gb">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Player Resource Consortium :: Manual :: Installation :: Guide</title>
<link type="text/css" href="../../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../../styles/manual_content_common.css" rel="stylesheet">
</head>
<body scroll="auto">
<br>
<div><h1>:: Players Guide :: Psionics ::</h1></div>
<br>
<div class="div_paddedcontent">
<br>Setting up and managing augmentation profiles is done via the augmentation options. This starts a conversation through which you can manage the profiles.
<br>
<br><center><img border="0" src="../../../images/augconv.jpg" /></center>
<br>
<br>When you are presented with a list of the avaliable profiles, it will look something like this:
<br>
<br><center><img border="0" src="../../../images/augprofiles.jpg" /></center>
<br>
<br>Once you have selected which profile you are going to change, you should have a menu similar to this:
<br>
<br><center><img border="0" src="../../../images/augeditprof.jpg" /></center>
<br>
<br>The next page of that conversation, where you can clear your choices and save the profile, looks like this:
<br>
<br><center><img border="0" src="../../../images/augsaveprof.jpg" /></center>
<br>
<br>The options choice from the initial page leads to this screen:
<br>
<br><center><img border="0" src="../../../images/augoptions.jpg" /></center>
<br>
<br>If you use the simple default option, augmentation profile 1 is set to a value of 1 in the first augmentation option and zero in the others. Augmentation profile 2 is then set to a value if 2 in the first augmentation option and zero in the others. This pattern is then repeated over all 50 slots. This may be a good choice when starting a new psionic character in order to save you customizing each profile individually. These simple defaults overwrite any profiles you may have already set up, but it does not change quickslot augmentations.
<br>
<br><center><img border="0" src="../../../images/augsetup.jpg" /></center>
<br>
<br>
<br>Setting how augmentation profiles are treated is a matter of player choice. You can have it set such that the value in the profile for the augmentation is the number of times that augmentation option is applied. The alternative is to have it set such that the value is the total number of points spent on that augmentation option (note that this does not include the base cost of the power).
<br>
<br><center><img border="0" src="../../../images/augoptions2.jpg" /></center>
<br>
<br>For example, consider the power "Mental Disruption" manifested by a 9th level Psion with augmentation profiles set to levels rather than points.
<blockquote>Augment: You can augment this power in one or both of the following ways.
<br />1. For every 2 additional power points you spend, this power's save DC increases by 1.
<br />2. For every 2 additional power points you spend, this power's range and the radius of its area both increase by 5 feet.</blockquote>As a 9th level manifester, they can spend up to 9 points in a single power. Mental Distruption is a level 2 power, so has a base cost of 3. This means up to 6 remaining points that can be used for augmentation if desired.
<br>
<br>One augmentation profile might be to take the first option once and the second option twice. This would have a total cost of (1x2)+(2x2)+3 = 9 power points and would result in a +1 increase in the save DC and a +10 feet increase in the range.
<br>
<br>Another augmentation profile might be to augment the first option three times. This would also have a total cost of 9 power points ( (3x2)+(0x2)+3 = 9 ) however, it would have a +3 bonus to save DC but with no additional range. This would be most suited to use against fewer tougher opponents.
<br>
<br>If the psion then changed their augmentation profiles to use points rather than levels, that would change what the augmentation does. In that case, the first profile above means that the range is increased by 5 feet and the DC stays the same; the power then costs 5 points overall. This is because 1 point is not enough to augment the first option, and so it is rounded down to zero. The 2 points in the second option is only enough to apply one augmentation, and adds 2 points to the cost.
<br>
<br>In cases where there is only one augmentation level avaliable, for example to change the type of creature effected, augmentation is capped at that level. If you try to augment a power that cannot be augmented, or try to use augmentation options that do not apply to that power, then the additional augmentation is not used. In these situations, you dont spend additional power points for no result, nor do you waste time attempting to manifest the power.
<br>
<br><center><a href="psionics_pg05.html">Previous Page</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</center>
<br>
<br>
</div>
</body>
</html>

View File

@ -0,0 +1,35 @@
<html>
<head>
<meta http-equiv="Content-Language" content="en-gb">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Player Resource Consortium :: Manual :: Installation :: Guide</title>
<link type="text/css" href="../../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../../styles/manual_content_common.css" rel="stylesheet">
</head>
<body scroll="auto">
<br>
<div><h1>:: Players Guide :: Psionics ::</h1></div>
<br>
<div class="div_paddedcontent">
<center>
<a href="psionics_pg01.html">Previous Page</a>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
<a href="psionics_pg03.html">Next Page</a>
</center>
<br><br>
</div>
</body>
</html>

View File

@ -0,0 +1,24 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Player Resource Consortium :: Manual :: PrC Making :: Basics</title>
<link type="text/css" href="../../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../../styles/manual_content_common.css" rel="stylesheet">
</head>
<body scroll="auto">
<br>
<div><h1>:: PrC Making :: Basics ::</h1></div>
<br>
<div class="div_paddedcontent">
We have recived several questions on the forums about the 2da's and basic scripting.
I felt I would try and help those new to custom content by providing links to the information.
<br><br>
For questions concerning scripting check out the
<a href="http://www.nwnlexicon.com/" target="_blank">NWN Lexicon</a>.
<br><br>
If you can not find what you are looking for there,
feel free to ask questions on <a href="http://www.nwnprc.com/" target="_blank">our forums</a>.
<br><br>
</div>
</body>
</html>

View File

@ -0,0 +1,119 @@
<html>
<head>
<title>Player Resource Consortium :: Manual :: PrC Making :: Reserve 2da/tlk Slots </title>
<link type="text/css" href="../../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../../styles/manual_content_common.css" rel="stylesheet">
<script language="JavaScript">
<!-- Hide from old Browsers
function is_form_valid( )
{
valid = true;
if ( document.reserve_slots.StartSlot.value == "" && valid)
{
valid = false;
alert ( "Please fill in starting slot." );
document.reserve_slots.StartSlot.focus();
}
if(isNaN(document.reserve_slots.StartSlot.value) && valid)
{
valid = false;
alert ( "Please fill in starting slot with a numeric value.");
document.reserve_slots.StartSlot.value="";
document.reserve_slots.StartSlot.focus();
}
if ( document.reserve_slots.EndSlot.value == "" && valid)
{
valid = false;
alert ( "Please fill in ending slot." );
document.reserve_slots.EndSlot.focus();
}
if(isNaN(document.reserve_slots.EndSlot.value) && valid)
{
valid = false;
alert ( "Please fill in ending slot with a numeric value." );
document.reserve_slots.EndSlot.value="";
document.reserve_slots.EndSlot.focus();
}
if ( document.reserve_slots.Name.value == "" && valid)
{
valid = false;
alert ( "Please fill in your name or project name." );
document.reserve_slots.Name.focus();
}
if ( document.reserve_slots.Reason.value == "" && valid)
{
valid = false;
alert ( "Please fill in your reason for reserving these slots." );
document.reserve_slots.Reason.focus();
}
return valid;
}
//-->
</script>
</head>
<body bgcolor="#000000" text="#C0C0C0" vlink="#006A9D" link="#0082BF" alink="#009CE8" scroll="auto">
<!-- <body scroll="auto"> //-->
<br>
<div><h1>:: PrC Making :: Reserve 2da/tlk Slots ::</h1></div>
<br>
<div class="div_paddedcontent">
<form name="reserve_slots" action="http://www.nwnprc.com/cgi-bin/tlk_2da_update_database.cgi" method="POST" onSubmit="return is_form_valid( );">
<table cellpadding="0" cellspacing="0" align="center" border="1" bordercolor="#6c6c6c" class="table_contenttable">
<tr>
<td class="padded">File to reserve slots in: </td>
<td class="padded">
<select name="File">
<option value="classes"> classes.2da </option>
<option value="feat"> feat.2da </option>
<option value="spells"> spells.2da </option>
<option value="tlk"> prc_consortium.tlk </option>
<option value="sub_radials"> sub-radials </option>
</select>
</td>
</tr>
<tr>
<td class="padded">Reserve slots: </td>
<td class="padded">
<input type="text" name="StartSlot" size="10" maxlength="10"> to
<input type="text" name="EndSlot" size="10" maxlength="10">
</td>
</tr>
<tr>
<td class="padded">Name: </td>
<td class="padded">
<input type="text" name="Name" size="27" maxlength="35">
</td>
</tr>
<tr>
<td class="padded">Reason: </td>
<td class="padded">
<input type="text" name="Reason" size="27" maxlength="100">
</td>
</tr>
<tr>
<td colspan="2" align="center" class="padded">
<input type="submit" value="Reserve Slots">
</td>
</tr>
</table>
</form>
<br><br>
</div>
</body>
</html>

View File

@ -0,0 +1,28 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Player Resource Consortium :: Manual :: Menus :: Installation</title>
<link type="text/css" href="../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../styles/manual_menus_common.css" rel="stylesheet">
<link type="text/css" href="../../styles/manual_index.css" rel="stylesheet">
<script language="javascript1.2" src="../../scripts/manual_menus.js"></script>
</head>
<body scroll="auto">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td id="td_contentmenu">
<div class="div_menu_padding_right"> <a href="../content/installation/prc.htm" target="content" onfocus="this.blur();" onmouseover="setStatus('PRC Main Installation');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">PRC Core Guide</div></a> </div>
<div class="div_menu_padding_right"> <a href="../content/installation/jcc.htm" target="content" onfocus="this.blur();" onmouseover="setStatus('Java Character Creator Installation');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">Java CC Guide</div></a> </div>
<div class="div_menu_padding_right"> <a href="../content/installation/acp_installation_instructions.html" target="content" onfocus="this.blur();" onmouseover="setStatus('ACP Installation');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">ACP Guide</div></a> </div>
<div class="div_menu_padding_right"> <a href="../content/installation/cep_merge_instructions.html" target="content" onfocus="this.blur();" onmouseover="setStatus('ACP Installation');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">CEP PRC Merge Guide</div></a> </div>
<div class="div_menu_padding_right"> <a href="../content/installation/faq.htm" target="content" onfocus="this.blur();" onmouseover="setStatus('Installation FAQ');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">Install FAQ</div></a> </div>
<div class="div_menu_padding_right"> <a href="../content/installation/prc_server.htm" target="content" onfocus="this.blur();" onmouseover="setStatus('PRC Server Guide');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">PRC Server Guide (ConvoCC)</div></a> </div>
</td>
</tr>
</table>
</body>
</html>

View File

@ -0,0 +1,28 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Player Resource Consortium :: Manual :: Menus :: Item Crafting</title>
<link type="text/css" href="../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../styles/manual_menus_common.css" rel="stylesheet">
<link type="text/css" href="../../styles/manual_index.css" rel="stylesheet">
<script language="javascript1.2" src="../../scripts/manual_menus.js"></script>
</head>
<body scroll="auto">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td id="td_contentmenu">
<div class="div_menu_padding_right"> <a href="../content/modulebuilding/manual_modulebuilding_new_crafting.html" target="content" onfocus="this.blur();" onmouseover="setStatus('Instructions');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">Instructions</div></a> </div>
<div class="div_menu_line_padding"> <hr> </div>
<div class="div_menu_padding_right"> <a href="manual_menus_craft_armour.html" target="contentmenu" onfocus="this.blur();" onmouseover="setStatus('Armour/Shield Special Abilities');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">Armour/Shield Special Abilities</div></a> </div>
<div class="div_menu_padding_right"> <a href="manual_menus_craft_weapon.html" target="contentmenu" onfocus="this.blur();" onmouseover="setStatus('Weapon Special Abilities');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">Weapon Special Abilities</div></a> </div>
<div class="div_menu_padding_right"> <a href="manual_menus_craft_ring.html" target="contentmenu" onfocus="this.blur();" onmouseover="setStatus('Rings');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">Rings</div></a> </div>
<div class="div_menu_padding_right"> <a href="manual_menus_craft_wondrous.html" target="contentmenu" onfocus="this.blur();" onmouseover="setStatus('Wondrous Items');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">Wondrous Items</div></a> </div>
</td>
</tr>
</table>
</body>
</html>

View File

@ -0,0 +1,27 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Player Resource Consortium :: Manual :: Menus :: Module Building</title>
<link type="text/css" href="../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../styles/manual_menus_common.css" rel="stylesheet">
<link type="text/css" href="../../styles/manual_index.css" rel="stylesheet">
<script language="javascript1.2" src="../../scripts/manual_menus.js"></script>
</head>
<body scroll="auto">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td id="td_contentmenu">
<div class="div_menu_padding_right"> <a href="../../index.html" target="_top" onfocus="this.blur();" onmouseover="setStatus('Languages :: English');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">English</div></a> </div>
<div class="div_menu_padding_right"> <a href="../../fr_index.html" target="_top" onfocus="this.blur();" onmouseover="setStatus('Languages :: French');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">French</div></a> </div>
<div class="div_menu_padding_right"> <a href="../../de_index.html" target="_top" onfocus="this.blur();" onmouseover="setStatus('Languages :: German');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">German</div></a> </div>
<div class="div_menu_padding_right"> <a href="../../it_index.html" target="_top" onfocus="this.blur();" onmouseover="setStatus('Languages :: Italian');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">Italian</div></a> </div>
<div class="div_menu_padding_right"> <a href="../../sp_index.html" target="_top" onfocus="this.blur();" onmouseover="setStatus('Languages :: Spanish');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">Spanish</div></a> </div>
</td>
</tr>
</table>
</body>
</html>

View File

@ -0,0 +1,69 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Player Resource Consortium :: Manual :: Menus :: Main</title>
<link type="text/css" href="../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../styles/manual_menus_common.css" rel="stylesheet">
<link type="text/css" href="../../styles/manual_index.css" rel="stylesheet">
<script language="javascript1.2" src="../../scripts/manual_menus.js"></script>
<script language="javascript1.2" src="../../scripts/manual_vars.js"></script>
</head>
<body scroll="auto">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td id="td_mainmenu">
<div class="div_menu_padding"> <a href="#" onclick="openContent('main');return false;" onfocus="this.blur();" onmouseover="setStatus('Main');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">Main</div></a> </div>
<div class="div_menu_padding"> <a href="#" onclick="openContent('baseclasses');return false;" onfocus="this.blur();" onmouseover="setStatus('Base Classes');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">Base Classes</div></a> </div>
<div class="div_menu_padding"> <a href="#" onclick="openContent('prestigeclasses');return false;" onfocus="this.blur();" onmouseover="setStatus('Prestige Classes');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">Prestige Classes</div></a> </div>
<div class="div_menu_padding"> <a href="#" onclick="openContent('domains');return false;" onfocus="this.blur();" onmouseover="setStatus('Domains');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">Domains</div></a> </div>
<div class="div_menu_padding"> <a href="#" onclick="openContent('feats');return false;" onfocus="this.blur();" onmouseover="setStatus('Feats');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">Feats</div></a> </div>
<div class="div_menu_padding"> <a href="#" onclick="openContent('epicfeats');return false;" onfocus="this.blur();" onmouseover="setStatus('Feats');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">Epic Feats</div></a> </div>
<div class="div_menu_padding"> <a href="#" onclick="openContent('psionicpowers');return false;" onfocus="this.blur();" onmouseover="setStatus('Psionic Powers');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">Psionic Powers</div></a> </div>
<div class="div_menu_padding"> <a href="#" onclick="openContent('utterances');return false;" onfocus="this.blur();" onmouseover="setStatus('Truename Utterances');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">Truename Utterances</div></a> </div>
<div class="div_menu_padding"> <a href="#" onclick="openContent('invocations');return false;" onfocus="this.blur();" onmouseover="setStatus('Invocations');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">Invocations</div></a> </div>
<div class="div_menu_padding"> <a href="#" onclick="openContent('maneuvers');return false;" onfocus="this.blur();" onmouseover="setStatus('Maneuvers');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">Maneuvers</div></a> </div>
<div class="div_menu_padding"> <a href="#" onclick="openContent('races');return false;" onfocus="this.blur();" onmouseover="setStatus('Races');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">Races</div></a> </div>
<div class="div_menu_padding"> <a href="#" onclick="openContent('skills');return false;" onfocus="this.blur();" onmouseover="setStatus('Skills');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">Skills</div></a> </div>
<div class="div_menu_padding"> <a href="#" onclick="openContent('spells');return false;" onfocus="this.blur();" onmouseover="setStatus('Spells');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">Spells</div></a> </div>
<div class="div_menu_padding"> <a href="#" onclick="openContent('epicspells');return false;" onfocus="this.blur();" onmouseover="setStatus('Epic Spells');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">Epic Spells</div></a> </div>
<div class="div_menu_padding"> <a href="#" onclick="openContent('modifiedspells');return false;" onfocus="this.blur();" onmouseover="setStatus('Modified spells');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">Modified Spells</div></a> </div>
<div class="div_menu_padding"> <a href="#" onclick="openContent('itemcrafting');return false;" onfocus="this.blur();" onmouseover="setStatus('Crafting');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">Crafting</div></a> </div>
<div class="div_menu_line_padding"> <hr> </div>
<div class="div_menu_padding"> <a href="#" onclick="openContent('installation');return false;" onfocus="this.blur();" onmouseover="setStatus('Installation');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">Installation</div></a> </div>
<div class="div_menu_padding"> <a href="#" onclick="openContent('playersguide');return false;" onfocus="this.blur();" onmouseover="setStatus('Players Guide');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">Players Guide</div></a> </div>
<div class="div_menu_padding"> <a href="#" onclick="openContent('modulebuilding');return false;" onfocus="this.blur();" onmouseover="setStatus('Module Building');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">Module Building</div></a> </div>
<div class="div_menu_padding"> <a href="#" onclick="openContent('prcmaking');return false;" onfocus="this.blur();" onmouseover="setStatus('PrC Making');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">PrC Making</div></a> </div>
<div class="div_menu_line_padding"> <hr> </div>
<div class="div_menu_padding"> <a href="#" onclick="openContent('languages');return false;" onfocus="this.blur();" onmouseover="setStatus('Languages');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">Languages</div></a> </div>
<div class="div_menu_padding"> <a href="http://nwnprc.com/" target="_top" onmouseover="setStatus('PRC Website');return true" onmouseout="unsetStatus();"><div class="div_menuitem">PRC Website</div></a> </div>
<script language="javascript1.2">
<!--
if(!IsOnlineManual)
{
var sMes1 = "Online Manual";
document.writeln("<div class='div_menu_padding'> <a href='http://www.nwnprc.com/nwn/index.html' target='_top' onmouseover='setStatus(sMes1);return true' onmouseout='unsetStatus();'><div class='div_menuitem'>Online Manual</div></a> </div>");
}
//-->
</script>
</td>
</tr>
</table>
</body>
</html>

View File

@ -0,0 +1,31 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Player Resource Consortium :: Manual :: Menus :: Module Building</title>
<link type="text/css" href="../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../styles/manual_menus_common.css" rel="stylesheet">
<link type="text/css" href="../../styles/manual_index.css" rel="stylesheet">
<script language="javascript1.2" src="../../scripts/manual_menus.js"></script>
</head>
<body scroll="auto">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td id="td_contentmenu">
<div class="div_menu_padding_right"> <a href="../content/modulebuilding/manual_modulebuilding_overridenfiles.html" target="content" onfocus="this.blur();" onmouseover="setStatus('Module Building :: Overriden Files');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">Overriden Files</div></a> </div>
<div class="div_menu_padding_right"> <a href="../content/modulebuilding/manual_modulebuilding_modifyingscripts.html" target="content" onfocus="this.blur();" onmouseover="setStatus('Module Building :: Modifying Scripts');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">Modifying Scripts</div></a> </div>
<div class="div_menu_padding_right"> <a href="../content/modulebuilding/manual_modulebuilding_scripthooks.html" target="content" onfocus="this.blur();" onmouseover="setStatus('Module Building :: Script Hooks');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">Script hooks</div></a> </div>
<div class="div_menu_padding_right"> <a href="../content/modulebuilding/manual_modulebuilding_prcenablers.html" target="content" onfocus="this.blur();" onmouseover="setStatus('Module Building :: PrC Enablers');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">Class Enablers</div></a> </div>
<div class="div_menu_padding_right"> <a href="../content/modulebuilding/manual_modulebuilding_crafting.html" target="content" onfocus="this.blur();" onmouseover="setStatus('Module Building :: PRC Crafting');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">PRC Crafting</div></a> </div>
<div class="div_menu_padding_right"> <a href="../content/modulebuilding/manual_modulebuilding_new_crafting.html" target="content" onfocus="this.blur();" onmouseover="setStatus('Module Building :: PRC New Crafting');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">PRC New Crafting</div></a> </div>
<div class="div_menu_padding_right"> <a href="../content/modulebuilding/manual_modulebuilding_respawningdoors.html" target="content" onfocus="this.blur();" onmouseover="setStatus('Module Building :: Respawning Doors');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">Respawning Doors</div></a> </div>
<div class="div_menu_padding_right"> <a href="../content/modulebuilding/manual_modulebuilding_respawningtraps.html" target="content" onfocus="this.blur();" onmouseover="setStatus('Module Building :: Respawning Traps');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">Respawning Traps</div></a> </div>
<div class="div_menu_padding_right"> <a href="../content/modulebuilding/manual_modulebuilding_prcnpcs.html" target="content" onfocus="this.blur();" onmouseover="setStatus('Module Building :: PRC NPCs');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">PRC NPCs</div></a> </div>
</td>
</tr>
</table>
</body>
</html>

View File

@ -0,0 +1,25 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Player Resource Consortium :: Manual :: Menus :: Installation</title>
<link type="text/css" href="../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../styles/manual_menus_common.css" rel="stylesheet">
<link type="text/css" href="../../styles/manual_index.css" rel="stylesheet">
<script language="javascript1.2" src="../../scripts/manual_menus.js"></script>
</head>
<body scroll="auto">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td id="td_contentmenu">
<div class="div_menu_padding_right"> <a href="../content/playerguide/poison_docs.html" target="content" onfocus="this.blur();" onmouseover="setStatus('Poison System');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">Poison System</div></a> </div>
<div class="div_menu_padding_right"> <a href="../content/playerguide/psionics_pg01.html" target="content" onfocus="this.blur();" onmouseover="setStatus('Psionics');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">Psionics</div></a> </div>
<div class="div_menu_padding_right"> <a href="../content/playerguide/templates.html" target="content" onfocus="this.blur();" onmouseover="setStatus('Templates');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">Templates</div></a> </div>
</td>
</tr>
</table>
</body>
</html>

View File

@ -0,0 +1,25 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Player Resource Consortium :: Manual :: Menus :: PrC Making</title>
<link type="text/css" href="../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../styles/manual_menus_common.css" rel="stylesheet">
<link type="text/css" href="../../styles/manual_index.css" rel="stylesheet">
<script language="javascript1.2" src="../../scripts/manual_menus.js"></script>
<script language="javascript1.2" src="../../scripts/manual_vars.js"></script>
</head>
<body scroll="auto">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td id="td_contentmenu">
<div class="div_menu_padding_right"> <a href="../content/prcmaking/manual_prcmaking_basics.html" target="content" onmouseover="setStatus('PrC Making :: Basics');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">Basics</div></a> </div>
<div class="div_menu_padding_right"> <a href="../content/prcmaking/manual_prcmaking_guide.html" target="content" onmouseover="setStatus('PrC Making :: Guide');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">Guide</div></a> </div>
</td>
</tr>
</table>
</body>
</html>

View File

@ -0,0 +1,16 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Player Resource Consortium :: Manual</title>
<link type="text/css" href="styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="styles/manual_index.css" rel="stylesheet">
</head>
<frameset cols="172, *, 182" frameborder="no" border="0">
<frame src="french/menus/manual_menus_main.html" name="mainmenu" frameborder="no" border="0" noresize >
<frame src="french/content/manual_content_main.html" name="content" frameborder="no" border="0" noresize>
<frame src="french/content/manual_content_blank.html" name="contentmenu" frameborder="no" border="0" noresize >
</frameset>
</body>
</html>

View File

@ -0,0 +1,80 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Player Resource Consortium :: Manual :: Installation :: Instructions</title>
<link type="text/css" href="../../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../../styles/manual_content_common.css" rel="stylesheet">
</head>
<body scroll="auto">
<br>
<div><h1>:: Installation :: Instructions ::</h1></div>
<br>
<div class="div_paddedcontent">
<div><h2>Installation Notes</h2></div>
<br>
The PRC pack <b>requires</b> both expansions (Shadows of Undrentide and Hordes of the Underdark) be installed. They must be installed using Biowares normal installation procedure, they <b>cannot</b> be installed by just copying the files to your hard drive. If you have not installed both expansions then the setup program and the module updater will not run. Before trying to install the PRC pack, you should install both expansions. If the setup program complains that expansions are missing and you have actually installed both expansions using Bioware's setup programs, then most likely your registry entries have become corrupted and you will need to reinstall the expansions.
<br><br>
<div><h2>Automatic Installation (EXE)</h2></div>
<br>
To install:
<br><br>
<ol>
<li>Run setup to install the PRC pack on your PC. It will automatically be installed in the correct location. <br><br></li>
<li>Run PRC Module Updater, selecting those modules you wish to add the pack to. The installer REQUIRES the .NET Framework 1.1 available either through Windows Update or <a href="http://www.microsoft.com/downloads/details.aspx?familyid=262d25e3-f589-4842-8157-034d1e7cf3a3&displaylang=en" target="_top">Here</a>.<br><br></li>
<li>Enjoy </li>
</ol>
<br>
<div><h2>Manual Installation (RAR)</h2></div>
<br>
For those that need/want to do a manual install of the prc pack into a module here are the steps:
<br><br>
<ol>
<li>If downloading the rar version, place the hak and hif files in the hak folder, place prc_consortium.erf in the erf folder, prc_consortium.tlk in the tlk folder, and the module updater wherever you want (or delete it if you are not running windows).<br><br></li>
<li>Import prc_consortium.erf into the module using the toolset or neveredit.<br><br></li>
<li>Add the haks to the module using the toolset or neveredit. The haks should be listed in the following order (top to bottom):
<br>
<br>prc_include.hak
<br>prc_2das.hak
<br>prc_scripts.hak
<br>prc_spells.hak
<br>prc_epicspells.hak
<br>prc_race.hak
<br>prc_textures.hak
<br>prc_misc.hak
<br>prc_craft2das.hak
<br><br></li>
<li>If the module already contains haks then you will need to check to see if the haks change any of the 2da's in prc_2da's.hak, and if so, merge the changes into a 3rd hak, placing that hak above the prc haks in the hak list. If you skip this step then the module may not play correctly.</li>
<li>Add the following scripts to the module events using the toolset or neveredit:
<br>
<br>OnAcquireItem : prc_onaquire
<br>OnActivateItem : prc_onactivate
<br>OnClientEnter : prc_onenter
<br>OnClientLeave : prc_onleave
<br>OnCutsceneAbort : prc_oncutabort
<br>OnHeartbeat : prc_onheartbeat
<br>OnModuleLoad : prc_onmodload
<br>OnPlayerDeath : prc_ondeath
<br>OnPlayerDying : prc_ondying
<br>OnPlayerEquipItem : prc_equip
<br>OnPlayerLevelUp : prc_levelup
<br>OnPlayerRest : prc_rest
<br>OnPlayerRespawn : prc_onrespawn
<br>OnUnaquireItem : prc_onunaquire
<br>OnPlayerUnequipItem : prc_unequip
<br>OnUserDefined : prc_onuserdef
<br><br></li>
<li>If the module already has scripts attached to events (and it probably does) then you will either need to edit those scripts and add ExecuteScript("prc_xxx"); at the top of each one or make a new script that calls ExecuteScript() for both the prc script and the old event script.<br><br></li>
<li>Now you need to add prc_consortium.tlk to the module, in the toolset this is easy, just set the custom tlk to it. If the module already contains a custom tlk then you will have to merge the entries from both tlk files together using your favorite tlk editor into a new tlk and use that instead. If you are running on the Mac or Linux this step is more difficult, neveredit currently does not have any functionality to set the custom tlk for a module. I recommend using ewald's erf/mod/gff/tlk/2da editor, available on the vault. It's java based and will run on the mac (not sure about Linux). To set the custom tlk, open the module, then open the "module.ifo" file and set the "Mod_CustomTlk" property to "prc_consortium" (no .tlk at the end).
At this point if you have done everything correctly you should be all set to play the module.</li>
</ol>
<br>
</div>
</body>
</html>

View File

@ -0,0 +1,90 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Player Resource Consortium :: Manual :: Item Crafting :: System</title>
<link type="text/css" href="../../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../../styles/manual_content_common.css" rel="stylesheet">
</head>
<body scroll="auto">
<br>
<div><h1>:: Item Crafting :: System ::</h1></div>
<br>
<div class="div_paddedcontent">
<div><h2>Item Creation</h2></div>
<br>
Special thanks goes too RabbitHail for making and coding this wonderful system.
<br><br>
<div><h2>Usage</h2></div>
<br>
Item crafting gives the caster classes the ability to create magic items from recipe scrolls, books, or any item with the proper TAG. It also allows the user to create recipes from already existing magic items. This allows PWs, and modules to have full control over what magic items the users can have and create. If you want to introduce a near dynamic economy, dont let magic items “drop” from monster kills. Only allow kills to drop money and spell scrolls. Have merchants only sell recipe scrolls and then your magic users will have to spend gold and exp to create magic items. This creates a money and exp sink, which will help your PW from having an inflationary economy. The fighters will have to pay the mages to make items. The mages will use spells, feats, money and exp to make items. This will push the mages to work with the fighters in order to get the exp and spells they need to make the items they need to advance to higher levels. This also helps separate the reward system from your areas (in many cases I have seen new areas always giving away better stuff, just to attract players to that area).
<br><br>
Use the read magic cantrip on a magic item. If a magic item is listed in the item_to_ireq.2da file a recipe scroll will be created. Use the proper craft feat on the scroll to start the magic item creation process. Read magic can be used on a recipe scroll to display what item will be created and the required feats need to make that item. Some recipes for very powerful items may require a level 20 mage / level 20 cleric!
<br><br>
<div><h2>Module variables</h2></div>
<br>Int nICHoursInDayCycle // sets the number of hours in a day (default is 1)
<br>Float</font> fICMinDays // sets the minimum number of days an item creation will take (default is .1)
<br>Float</font> fICMaxDays // sets the maximum number of days an item creation will take (default is .2)
<br>
<br>NOTE: To all PWs, the above settings are done so for the single player that has no clue how to set module variables, has no reason to wait around while the item is being crafted, and probably wont even read this file. To have a truly PnP “experience” with item crafting use these settings:
<br>
<br>nICHoursInDayCycle = 24;
<br>fICMinDays = 1.0;
<br>fICMaxDays = 1000.0;
<br><br>
<div><h2>Item recipes</h2></div>
Recipes are contained within the prc_craft2da.hak file. Each recipe is its own 2da file. The 2da files are setup just like prestige class prerequisite files. This is the recipe for making the helm of brilliance:
<br><br>
FileName: ireq_helmbril.2da
<br><br>
<table cellpadding="0" cellspacing="0" align="center" border="1" bordercolor="#6c6c6c" class="table_contenttable">
<tr><th>&nbsp;</th> <th>LABEL</th> <th>ReqType</th> <th>ReqParam1</th> <th>ReqParam2</th></tr>
<tr><td>0</td> <td>Helm_of_Brilliance </td> <td>RESULT</td> <td>x0_armhe012</td> <td>****</td></tr>
<tr><td>1</td> <td>CasterLevel13th</td> <td>CASTERLVL </td> <td>13</td> <td>****</td></tr>
<tr><td>2</td> <td>Craft_Wondrous_Item_Feat </td> <td>FEAT</td> <td>2925</td> <td>****</td></tr>
<tr><td>3</td> <td>Light</td> <td>SPELL</td> <td>62</td> <td>****</td></tr>
<tr><td>4</td> <td>Fire Ball</td> <td>SPELL</td> <td>100</td> <td>****</td></tr>
<tr><td>5</td> <td>Prismatic_Spray</td> <td>SPELL</td> <td>135</td> <td>****</td></tr>
<tr><td>6</td> <td>Wall_of_Fire</td> <td>SPELL</td> <td>191</td> <td>****</td></tr>
<tr><td>7</td> <td>Flame_Lash </td> <td>SPELL</td> <td>60</td> <td>****</td></tr>
<tr><td>8</td> <td>Protection_from_Elements</td> <td>SPELL</td> <td>137</td> <td>****</td></tr>
</table>
<br>
NOTE: The numbers in the ReqParam1 field are the line numbers that those things exist on in their respective 2da files. The filename is important because thats what you must set an items TAG to in order to have it be used by the craft feats to make an item.
<br><br>
<table cellpadding="0" cellspacing="0" align="center" border="0" class="table_contenttable">
<tr><th colspan="3">ReqType list: const string</th> </tr>
<tr><td> sReqTypeResult </td><td>= "RESULT"; </td><td>// min</td></tr>
<tr><td> sReqTypeCasterLevel</td><td>= "CASTERLVL";</td><td>// min</td></tr>
<tr><td> sReqTypeExtraXP </td><td>= "EXTRAXP"; </td><td>// min</td></tr>
<tr><td> sReqTypeExtraGold </td><td>= "EXTRAGOLD";</td><td>// min <br>Increases XP cost as well</td></tr>
<tr><td>&nbsp;</td> <td></td> <td></td> <td></td> <td></td></tr>
<tr><td> sReqTypeFeat </td><td>= "FEAT"; </td><td>// and</td></tr>
<tr><td> sReqTypeSpell</td><td>= "SPELL";</td><td>// and</td></tr>
<tr><td> sReqTypeItem </td><td>= "ITEM"; </td><td>// and</td></tr>
<tr><td> sReqTypeSkill</td><td>= "SKILL";</td><td>// and</td></tr>
<tr><td> sReqTypeLevel</td><td>= "LEVEL";</td><td>// and</td></tr>
<tr><td>&nbsp;</td> <td></td> <td></td> <td></td> <td></td></tr>
<tr><td> sReqTypeRace </td><td>= "RACE"; </td><td>// or</td></tr>
<tr><td> sReqTypeAlign</td><td>= "ALIGN";</td><td>// or</td></tr>
<tr><td> sReqTypeArea </td><td>= "AREA"; </td><td>// or</td></tr>
<tr><td> sReqTypeDeity</td><td>= "DEITY";</td><td>// or</td></tr>
<tr><td>&nbsp;</td> <td></td> <td></td> <td></td> <td></td></tr>
<tr><td> sReqTypeFeatOR </td><td>= "FEATOR"; </td><td>// or</td></tr>
<tr><td> sReqTypeSpellOR</td><td>= "SPELLOR";</td><td>// or</td></tr>
<tr><td> sReqTypeItemOR </td><td>= "ITEMOR"; </td><td>// or</td></tr>
<tr><td> sReqTypeSkillOR</td><td>= "SKILLOR";</td><td>// or</td></tr>
<tr><td> sReqTypeLevelOR</td><td>= "LEVELOR";</td><td>// or</td></tr>
</table>
<br><br>
The item_to_ireq.2da file “The glue that binds”. This file is used to do a reverse binding between a magic item and a recipe. If the recipe and the magic item exist you can place both anywhere into this file so the users of the craft system can use read magic on a magic it to be able to make a recipe. This allows users in single player modules to make recipes for items they come across. This can also be used by a dynamic machine that could create a dialog with all the items in the file and the user would get a recipe from the selection.
<br></br>
<table cellpadding="0" cellspacing="0" align="center" border="1" bordercolor="#6c6c6c" class="table_contenttable">
<tr><th>&nbsp</th> <th>LABEL</th> <th>L_RESREF</th> <th>RECIPE_TAG</th></tr>
<tr><td>0</td> <td>Arvoreens_Amulet_of_Aid</td> <td>x0_it_mneck005</td> <td>IREQ_AMULARVR</td></tr>
</table>
<br><br>
NOTE: This file is NOT required for the system to run, and may not make sense for PWs to have.
<br><br>
</div>
</body>
</html>

View File

@ -0,0 +1,9 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Player Resource Consortium :: Manual :: Content :: Blank</title>
<link type="text/css" href="../../styles/manual_common.css" rel="stylesheet">
</head>
<body scroll="no">
</body>
</html>

View File

@ -0,0 +1,28 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Player Resource Consortium :: Manual :: Content :: Main</title>
<link type="text/css" href="../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../styles/manual_content_common.css" rel="stylesheet">
<link type="text/css" href="../../styles/manual_content_main.css" rel="stylesheet">
</head>
<body scroll="auto">
<br>
<center> <img src="../../images/manual_prclogo.jpg"> </center>
<br>
<br>
<div><h1>:: PRC v 2.2c ::</h1></div>
<br>
<div class="div_paddedcontent">
Welcome to the Player Resource Consortium manual!
Inside you'll find all the current information about the custom PrC's, feats, races,
spells, epic spells, and modified spells that this release of the PRC includes.
If you find anything amiss in any of the documentation, please head over to the bug reports
section of the forums and post it in the manual thread.
Otherwise, we hope that these pages can satisfy any questions you may have about
the PRC or any of the content we have produced.
</div>
</body>
</html>

View File

@ -0,0 +1,84 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Player Resource Consortium :: Manual :: Module Building :: Modifying Scripts</title>
<link type="text/css" href="../../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../../styles/manual_content_common.css" rel="stylesheet">
</head>
<body scroll="auto">
<br>
<div><h1>:: Module Building :: Modifying Scripts ::</h1></div>
<br>
<div class="div_paddedcontent">
Many builders will find it necissary to change some of the scripts in
the PRC to their liking. This is especially true for the spell
scripts,
including epic spells. Moreover, to make changes to certain parts of
the epic spell system (for example, to disable certain spells or make
them harder to cast,) the script "inc_epicspells" must be changed.
<br><br>
The Aurora toolset has problems with the sheer enormity of our scripts,
but there is an easy and ideal way to make changes outside of the
toolset.
<br><br>
First, you need to go to your NWN directory. There should be a
subfolder called utils. There are two programs which are useful here:
nwhak.exe and clcompile.exe.
<br><br>
First, create some folders anywhere on your computer, depending on what
you intend to change: one for epicspellscripts if you intend to change
epic spells, one for racescripts if you intend to change races, and one
for everything else. I'll refer to these as "epicspellscripts",
"racescripts", and "scripts" respectively. You'll want to copy
clcompile.exe from the utils directory into each working directory you
make.
<br><br>
Open nwhak.exe. Go to File, then Open... browse to the hak subfolder
under your NWN directory. Open up "prc_scripts", "prc_epicspells", or
"prc_race", depending on what you want to change.
<br><br>
When it opens, go to the Resource menu, and select Export All. Select
the appropriate folder you created, and click "OK". Wait awhile,
there's no progress bar, so you'll only know it's done if you wait for
awhile.
<br><br>
Go to that folder, and open up the script you want to edit with your
text editor. Make the changes you want. TextPad is good for this,
especially if you download the TextPad NWScript viewer from Bioware.
That way you'll have syntax highlighted properly.
<br><br>
Now, you'll need to compile the script. This can be tricky because it
requires the use of the command line. Go to the Start menu, and click
on "Run..." Windows 98/Me users, type "command" and hit OK. Windows
2000/XP users, type "cmd" and hit ok. You'll be at the DOS prompt.
Make sure you're on the drive your working folders reside on. If not,
type the letter of the drive followed by a colon (example: C: )
<br><br>
You need to navigate to your directory using the "cd" command. If your
folder was in c:\nwn\scripts, then you'd type "cd \nwn\scripts".
<br><br>
Once you're in the directory, type "clcompile.exe [name of the script
you edited]". If everything is right, your code will compile with no
errors (and it will tell you such.) If you have errors, you need to
debug them much like you would in the Aurora toolset.
<br><br>
Once you have the file compiled, open up nwhak.exe again, but this time
make sure you go to File/New. Go to "Resource", then "Add", and find
your working directory. Select the [name of script].ncs file then
click OK. Click File/Save As, and save it into your NWN hak directory
as whatever you choose. Don't overwrite anything!
<br><br>
Finally, in the Aurora toolset, you'll need to go to Edit/Module
Properties. Under the "Custom Content" tab, you can add your hak. Use
the "Move Up" button to make sure it's on top.
<br><br>
Click OK, and presto, your changes are in! You can safely abort the
rebuild process.
<br><br>
Keep in mind that future changes and additions can be made to your new
hak. Just "add" the resources to it instead of a fresh new hak. You
won't have to open the toolset again if you continue to use that hak.
<br><br>
</div>
</body>
</html>

View File

@ -0,0 +1,86 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Player Resource Consortium :: Manual :: Module Building :: Overriden Files</title>
<link type="text/css" href="../../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../../styles/manual_content_common.css" rel="stylesheet">
</head>
<body scroll="auto">
<br>
<div><h1>:: Module Building :: Overriden Files ::</h1></div>
<br>
<div class="div_paddedcontent">
<div><h2>prc_2das.hak:</h2></div><br>
<ul>
<li>baseitems</li>
<li>classes</li>
<li>cls_feat_asasin</li>
<li>cls_feat_barb</li>
<li>cls_feat_bard</li>
<li>cls_feat_cler</li>
<li>cls_feat_druid</li>
<li>cls_feat_fight</li>
<li>cls_feat_monk</li>
<li>cls_feat_pal</li>
<li>cls_feat_rang</li>
<li>cls_feat_rog</li>
<li>cls_feat_shadow</li>
<li>cls_feat_sorc</li>
<li>cls_feat_wiz</li>
<li>cls_skill_archer</li>
<li>cls_skill_asasin</li>
<li>cls_skill_barb</li>
<li>cls_skill_bard</li>
<li>cls_skill_blkgrd</li>
<li>cls_skill_cler</li>
<li>cls_skill_divcha</li>
<li>cls_skill_dradis</li>
<li>cls_skill_dru</li>
<li>cls_skill_dwdef</li>
<li>cls_skill_fight</li>
<li>cls_skill_kensei (though bioware doesn't use this)</li>
<li>cls_skill_monk</li>
<li>cls_skill_pal</li>
<li>cls_skill_palema</li>
<li>cls_skill_rang</li>
<li>cls_skill_rog</li>
<li>cls_skill_shadow</li>
<li>cls_skill_shiftr</li>
<li>cls_skill_sorc</li>
<li>cls_skill_wiz</li>
<li>cls_skill_wm</li>
<li>feat</li>
<li>iprp_feats</li>
<li>iprp_monstocst</li>
<li>iprp_neg5cost</li>
<li>iprp_onhitcost</li>
<li>iprp_onhitdur</li>
<li>iprp_spellcost</li>
<li>iprp_spells</li>
<li>iprp_srcost</li>
<li>itemprops</li>
<li>masterfeats</li>
<li>polymorph</li>
<li>skills</li>
<li>spells</li>
<li>vfx_persistent</li>
<li>visualeffects</li>
</ul>
<br>
NOTE: The CEP also includes baseitems.2da and changes the same line as PRC. This is for the claws. I am not sure why CEP needs to change this item, but I suggest using our change as it is required by a few PRC's
<br><br>
<div><h2>prc_scripts.hak:</h2></div><br>
<ul>
<li>nw_i0_spells </li>
<li>x0_i0spells </li>
<li>x2_inc_spellhook </li>
<li>x2_inc_switches</li>
<li>x2_mod_def_equ</li>
<li>x2_mod_def_unequ</li>
</ul>
<br>
NOTE: Due to the custom system for dealing with PrC's literally every spell in the game has been modified.
<br><br>
</div>
</body>
</html>

View File

@ -0,0 +1,84 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Player Resource Consortium :: Manual :: Module Building :: PrC Enablers</title>
<link type="text/css" href="../../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../../styles/manual_content_common.css" rel="stylesheet">
</head>
<body scroll="auto">
<br>
<div><h1>:: Module Building :: PrC Enablers ::</h1></div>
<br>
<div class="div_paddedcontent">
In a future release these variables will be in an onload script for easy access to enabling and disabling.
<br><br>
Setting these variables to 1 on a PC will make it so they can't take any levels in that Prestige Class.
<br><br>
NOTE: Beware that as of 2.0c, the Champion of Torm and Champion of Bane share the same variable as do the Elemental Savant and Acolyte of the Skin classes.
<br><br>
<table cellpadding="0" cellspacing="0" align="center" border="0" class="table_contenttable">
<tr><th colspan="2">Shadows of Undrentide Variables</th></tr>
<tr><td>X1_AllowAsasin</td> <td>Assassin</td></tr>
<tr><td>X1_AllowArcher</td> <td>Arcane Archer</td></tr>
<tr><td>X1_AllowBlkGrd</td> <td>Black Guard</td></tr>
<tr><td>X1_AllowHarper</td> <td>Harper Scout</td></tr>
<tr><td>X1_AllowShadow</td> <td>Shadow Dancer</td></tr>
<tr><td>&nbsp;</td> <td>&nbsp;</td></tr>
<tr><th colspan="2">Hordes of the Underdark Variables</th></tr>
<tr><td>X1_AllowDrDis</td> <td>Dragon Disciple</td></tr>
<tr><td>X1_AllowDwDef</td> <td>Dwarven Defender</td></tr>
<tr><td>X2_AllowDivcha</td> <td>Champion of Torm</td></tr>
<tr><td>X2_AllowPalema</td> <td>Palemaster</td></tr>
<tr><td>X2_AllowShiftr</td> <td>Shifter</td></tr>
<tr><td>X2_AllowWM </td> <td>Weapon Master</td></tr>
<tr><td>&nbsp;</td> <td>&nbsp;</td></tr>
<tr><th colspan="2">Player Resource Consortium Pack Variables (v 2.2+)</th></tr>
<tr><td colspan="2">As of PrC 2.2 all class variables start with PRC_</td></tr>
<tr><th colspan="2">Player Resource Consortium Pack Variables (v 2.0c - 2.1d)</th></tr>
<tr><td>X2_AllowAcolyte</td> <td>Acolyte of the Skin</td></tr>
<tr><td>PNP_AllowArcTrick</td> <td>Arcane Trickster</td></tr>
<tr><td>PRC_AllowArchmage</td> <td>Archmage</td></tr>
<tr><td>X1_AllowTempus</td> <td>Battleguard Tempus</td></tr>
<tr><td>X1_AllowBRage</td> <td>Battlerager</td></tr>
<tr><td>X1_AllowBonded</td> <td>Bonded Summoner</td></tr>
<tr><td>X2_AllowDivcha</td> <td>Champion of Bane</td></tr>
<tr><td>X2_AllowBaal</td> <td>Disciple of Baalzebul</td></tr>
<tr><td>X2_AllowDiscmep</td> <td>Disciple of Mephistopheles</td></tr>
<tr><td>X2_AllowDuel</td> <td>Duelist</td></tr>
<tr><td>PRC_AllowEldknight</td> <td>Eldrich Knight</td></tr>
<tr><td>X2_AllowAcolyte</td> <td>Elemental Savant</td></tr>
<tr><td>X1_AllowFistRaz</td> <td>Fist of Raziel</td></tr>
<tr><td>X2_AllowFH</td> <td>Foe Hunter</td></tr>
<tr><td>X2_AllowFrebzk</td> <td>Frenzied Beserker</td></tr>
<tr><td>X1_AllowHarperM</td> <td>Harper Mage</td></tr>
<tr><td>X1_AllowHeartW</td> <td>Heartwarder</td></tr>
<tr><td>X2_AllowHiero</td> <td>Heirophant</td></tr>
<tr><td>X1_AllowHosp</td> <td>Hospitaler</td></tr>
<tr><td>X1_AllowIaij</td> <td>Iaijutsu Master</td></tr>
<tr><td>X1_AllowIniDra</td> <td>Initiate of Draconic Mysteries</td></tr>
<tr><td>X2_AllowKnghtCh</td> <td>Knight of the Chalice</td></tr>
<tr><td>X1_AllowLgDr</td> <td>Legendary Dreadnaught</td></tr>
<tr><td>PNP_AllowLich</td> <td>Lich</td></tr>
<tr><td>X2_AllowMageK</td> <td>Mage Killer</td></tr>
<tr><td>mh_AllowMaster</td> <td>Master Harper</td></tr>
<tr><td>X2_AllowShrouds</td> <td>Master of Shrouds</td></tr>
<tr><td>X2_AllowMystic</td> <td>Mystic Theurge</td></tr>
<tr><td>X1_AllowNinja</td> <td>Ninja Spy</td></tr>
<tr><td>X1_AllowOccAd</td> <td>Ocular Adept</td></tr>
<tr><td>PRC_AllowUzi</td> <td>Oozemaster</td></tr>
<tr><td>PNP_AllowPArcher</td> <td>Peerless Archer</td></tr>
<tr><td>X2_AllowRedavng</td> <td>Red Avenger</td></tr>
<tr><td>X2_AllowPNPSfr</td> <td>Shifter (PnP)</td></tr>
<tr><td>X2_AllowSpellS</td> <td>Spellsword</td></tr>
<tr><td>X1_AllowStormL</td> <td>Stormlord</td></tr>
<tr><td>X1_AllowShaLow</td> <td>Telflammar Shadowlord</td></tr>
<tr><td>X2_AllowTempest</td> <td>Tempest</td></tr>
<tr><td>X1_AllowVassal</td> <td>Vassal of Bahamut</td></tr>
<tr><td>codi_allow_warpr</td> <td>Warpriest</td></tr>
</table>
<br><br>
</div>
</body>
</html>

View File

@ -0,0 +1,28 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Player Resource Consortium :: Manual :: PrC Making :: Basics</title>
<link type="text/css" href="../../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../../styles/manual_content_common.css" rel="stylesheet">
</head>
<body scroll="auto">
<br>
<div><h1>:: PrC Making :: Basics ::</h1></div>
<br>
<div class="div_paddedcontent">
We have recived several questions on the forums about the 2da's and basic scripting.
I felt I would try and help those new to custom content by providing links to the information.
<br><br>
For information on 2da's, harcoded limitations, etc. Check the
<a href="http://ccg.dladventures.com/index.php/Main_Page" target="_blank">Neverwinter Nights Custom Content Guide</a>.
<br><br>
For questions concerning scripting check out the
<a href="http://www.nwnlexicon.com/" target="_blank">NWN Lexicon</a>.
<br><br>
If you can not find what you are looking for there,
feel free to ask questions on the BioWare forums,
or of course our own forums.
<br><br>
</div>
</body>
</html>

View File

@ -0,0 +1,119 @@
<html>
<head>
<title>Player Resource Consortium :: Manual :: PrC Making :: Reserve 2da/tlk Slots </title>
<link type="text/css" href="../../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../../styles/manual_content_common.css" rel="stylesheet">
<script language="JavaScript">
<!-- Hide from old Browsers
function is_form_valid( )
{
valid = true;
if ( document.reserve_slots.StartSlot.value == "" && valid)
{
valid = false;
alert ( "Please fill in starting slot." );
document.reserve_slots.StartSlot.focus();
}
if(isNaN(document.reserve_slots.StartSlot.value) && valid)
{
valid = false;
alert ( "Please fill in starting slot with a numeric value.");
document.reserve_slots.StartSlot.value="";
document.reserve_slots.StartSlot.focus();
}
if ( document.reserve_slots.EndSlot.value == "" && valid)
{
valid = false;
alert ( "Please fill in ending slot." );
document.reserve_slots.EndSlot.focus();
}
if(isNaN(document.reserve_slots.EndSlot.value) && valid)
{
valid = false;
alert ( "Please fill in ending slot with a numeric value." );
document.reserve_slots.EndSlot.value="";
document.reserve_slots.EndSlot.focus();
}
if ( document.reserve_slots.Name.value == "" && valid)
{
valid = false;
alert ( "Please fill in your name or project name." );
document.reserve_slots.Name.focus();
}
if ( document.reserve_slots.Reason.value == "" && valid)
{
valid = false;
alert ( "Please fill in your reason for reserving these slots." );
document.reserve_slots.Reason.focus();
}
return valid;
}
//-->
</script>
</head>
<body bgcolor="#000000" text="#C0C0C0" vlink="#006A9D" link="#0082BF" alink="#009CE8" scroll="auto">
<!-- <body scroll="auto"> //-->
<br>
<div><h1>:: PrC Making :: Reserve 2da/tlk Slots ::</h1></div>
<br>
<div class="div_paddedcontent">
<form name="reserve_slots" action="http://www.nwnprc.com/cgi-bin/tlk_2da_update_database.cgi" method="POST" onSubmit="return is_form_valid( );">
<table cellpadding="0" cellspacing="0" align="center" border="1" bordercolor="#6c6c6c" class="table_contenttable">
<tr>
<td class="padded">File to reserve slots in: </td>
<td class="padded">
<select name="File">
<option value="classes"> classes.2da </option>
<option value="feat"> feat.2da </option>
<option value="spells"> spells.2da </option>
<option value="tlk"> prc_consortium.tlk </option>
<option value="sub_radials"> sub-radials </option>
</select>
</td>
</tr>
<tr>
<td class="padded">Reserve slots: </td>
<td class="padded">
<input type="text" name="StartSlot" size="10" maxlength="10"> to
<input type="text" name="EndSlot" size="10" maxlength="10">
</td>
</tr>
<tr>
<td class="padded">Name: </td>
<td class="padded">
<input type="text" name="Name" size="27" maxlength="35">
</td>
</tr>
<tr>
<td class="padded">Reason: </td>
<td class="padded">
<input type="text" name="Reason" size="27" maxlength="100">
</td>
</tr>
<tr>
<td colspan="2" align="center" class="padded">
<input type="submit" value="Reserve Slots">
</td>
</tr>
</table>
</form>
<br><br>
</div>
</body>
</html>

View File

@ -0,0 +1,23 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Player Resource Consortium :: Manual :: Menus :: Installation</title>
<link type="text/css" href="../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../styles/manual_menus_common.css" rel="stylesheet">
<link type="text/css" href="../../styles/manual_index.css" rel="stylesheet">
<script language="javascript1.2" src="../../scripts/manual_menus.js"></script>
</head>
<body scroll="auto">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td id="td_contentmenu">
<div class="div_menu_padding_right"> <a href="../content/installation/manual_installation_instructions.html" target="content" onfocus="this.blur();" onmouseover="setStatus('Installation :: Instructions');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">Instructions</div></a> </div>
</td>
</tr>
</table>
</body>
</html>

View File

@ -0,0 +1,23 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Player Resource Consortium :: Manual :: Menus :: Item Crafting</title>
<link type="text/css" href="../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../styles/manual_menus_common.css" rel="stylesheet">
<link type="text/css" href="../../styles/manual_index.css" rel="stylesheet">
<script language="javascript1.2" src="../../scripts/manual_menus.js"></script>
</head>
<body scroll="auto">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td id="td_contentmenu">
<div class="div_menu_padding_right"> <a href="../content/itemcrafting/manual_itemcrafting_system.html" target="content" onfocus="this.blur();" onmouseover="setStatus('Item Crafting :: System');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">System</div></a> </div>
</td>
</tr>
</table>
</body>
</html>

View File

@ -0,0 +1,27 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Player Resource Consortium :: Manual :: Menus :: Module Building</title>
<link type="text/css" href="../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../styles/manual_menus_common.css" rel="stylesheet">
<link type="text/css" href="../../styles/manual_index.css" rel="stylesheet">
<script language="javascript1.2" src="../../scripts/manual_menus.js"></script>
</head>
<body scroll="auto">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td id="td_contentmenu">
<div class="div_menu_padding_right"> <a href="../../index.html" target="_top" onfocus="this.blur();" onmouseover="setStatus('Languages :: English');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">English</div></a> </div>
<div class="div_menu_padding_right"> <a href="../../fr_index.html" target="_top" onfocus="this.blur();" onmouseover="setStatus('Languages :: French');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">French</div></a> </div>
<div class="div_menu_padding_right"> <a href="../../de_index.html" target="_top" onfocus="this.blur();" onmouseover="setStatus('Languages :: German');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">German</div></a> </div>
<div class="div_menu_padding_right"> <a href="../../it_index.html" target="_top" onfocus="this.blur();" onmouseover="setStatus('Languages :: Italian');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">Italian</div></a> </div>
<div class="div_menu_padding_right"> <a href="../../sp_index.html" target="_top" onfocus="this.blur();" onmouseover="setStatus('Languages :: Spanish');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">Spanish</div></a> </div>
</td>
</tr>
</table>
</body>
</html>

View File

@ -0,0 +1,62 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Player Resource Consortium :: Manual :: Menus :: Main</title>
<link type="text/css" href="../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../styles/manual_menus_common.css" rel="stylesheet">
<link type="text/css" href="../../styles/manual_index.css" rel="stylesheet">
<script language="javascript1.2" src="../../scripts/manual_menus.js"></script>
<script language="javascript1.2" src="../../scripts/manual_vars.js"></script>
</head>
<body scroll="auto">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td id="td_mainmenu">
<div class="div_menu_padding"> <a href="#" onclick="openContent('main');return false;" onfocus="this.blur();" onmouseover="setStatus('Main');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">Main</div></a> </div>
<div class="div_menu_padding"> <a href="#" onclick="openContent('baseclasses');return false;" onfocus="this.blur();" onmouseover="setStatus('Base Classes');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">Base Classes</div></a> </div>
<div class="div_menu_padding"> <a href="#" onclick="openContent('prestigeclasses');return false;" onfocus="this.blur();" onmouseover="setStatus('Prestige Classes');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">Prestige Classes</div></a> </div>
<div class="div_menu_padding"> <a href="#" onclick="openContent('domains');return false;" onfocus="this.blur();" onmouseover="setStatus('Domains');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">Domains</div></a> </div>
<div class="div_menu_padding"> <a href="#" onclick="openContent('feats');return false;" onfocus="this.blur();" onmouseover="setStatus('Feats');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">Feats</div></a> </div>
<div class="div_menu_padding"> <a href="#" onclick="openContent('epicfeats');return false;" onfocus="this.blur();" onmouseover="setStatus('Feats');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">Epic Feats</div></a> </div>
<!--<div class="div_menu_padding"> <a href="#" onclick="openContent('psionicpowers');return false;" onfocus="this.blur();" onmouseover="setStatus('Psionic Powers');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">Psionic Powers</div></a> </div>
-->
<div class="div_menu_padding"> <a href="#" onclick="openContent('races');return false;" onfocus="this.blur();" onmouseover="setStatus('Races');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">Races</div></a> </div>
<div class="div_menu_padding"> <a href="#" onclick="openContent('skills');return false;" onfocus="this.blur();" onmouseover="setStatus('Skills');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">Skills</div></a> </div>
<div class="div_menu_padding"> <a href="#" onclick="openContent('spells');return false;" onfocus="this.blur();" onmouseover="setStatus('Spells');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">Spells</div></a> </div>
<div class="div_menu_padding"> <a href="#" onclick="openContent('epicspells');return false;" onfocus="this.blur();" onmouseover="setStatus('Epic Spells');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">Epic Spells</div></a> </div>
<div class="div_menu_padding"> <a href="#" onclick="openContent('modifiedspells');return false;" onfocus="this.blur();" onmouseover="setStatus('Modified spells');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">Modified Spells</div></a> </div>
<div class="div_menu_line_padding"> <hr> </div>
<div class="div_menu_padding"> <a href="#" onclick="openContent('installation');return false;" onfocus="this.blur();" onmouseover="setStatus('Installation');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">Installation</div></a> </div>
<div class="div_menu_padding"> <a href="#" onclick="openContent('itemcrafting');return false;" onfocus="this.blur();" onmouseover="setStatus('Item Crafting');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">Item Crafting</div></a> </div>
<div class="div_menu_padding"> <a href="#" onclick="openContent('modulebuilding');return false;" onfocus="this.blur();" onmouseover="setStatus('Module Building');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">Module Building</div></a> </div>
<div class="div_menu_padding"> <a href="#" onclick="openContent('prcmaking');return false;" onfocus="this.blur();" onmouseover="setStatus('PrC Making');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">PrC Making</div></a> </div>
<div class="div_menu_line_padding"> <hr> </div>
<div class="div_menu_padding"> <a href="#" onclick="openContent('languages');return false;" onfocus="this.blur();" onmouseover="setStatus('Languages');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">Languages</div></a> </div>
<div class="div_menu_padding"> <a href="http://www.nwnprc.com/index.html" target="_top" onmouseover="setStatus('PRC Website');return true" onmouseout="unsetStatus();"><div class="div_menuitem">PRC Website</div></a> </div>
<script language="javascript1.2">
<!--
if(!IsOnlineManual)
{
var sMes1 = "Online Manual";
document.writeln("<div class='div_menu_padding'> <a href='http://www.nwnprc.com/manual/index.html' target='_top' onmouseover='setStatus(sMes1);return true' onmouseout='unsetStatus();'><div class='div_menuitem'>Online Manual</div></a> </div>");
}
//-->
</script>
</td>
</tr>
</table>
</body>
</html>

View File

@ -0,0 +1,25 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Player Resource Consortium :: Manual :: Menus :: Module Building</title>
<link type="text/css" href="../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../styles/manual_menus_common.css" rel="stylesheet">
<link type="text/css" href="../../styles/manual_index.css" rel="stylesheet">
<script language="javascript1.2" src="../../scripts/manual_menus.js"></script>
</head>
<body scroll="auto">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td id="td_contentmenu">
<div class="div_menu_padding_right"> <a href="../content/modulebuilding/manual_modulebuilding_overridenfiles.html" target="content" onfocus="this.blur();" onmouseover="setStatus('Module Building :: Overriden Files');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">Overriden Files</div></a> </div>
<div class="div_menu_padding_right"> <a href="../content/modulebuilding/manual_modulebuilding_modifyingscripts.html" target="content" onfocus="this.blur();" onmouseover="setStatus('Module Building :: Modifying Scripts');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">Modifying Scripts</div></a> </div>
<div class="div_menu_padding_right"> <a href="../content/modulebuilding/manual_modulebuilding_prcenablers.html" target="content" onfocus="this.blur();" onmouseover="setStatus('Module Building :: PrC Enablers');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">PrC Enablers</div></a> </div>
</td>
</tr>
</table>
</body>
</html>

View File

@ -0,0 +1,37 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Player Resource Consortium :: Manual :: Menus :: PrC Making</title>
<link type="text/css" href="../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../styles/manual_menus_common.css" rel="stylesheet">
<link type="text/css" href="../../styles/manual_index.css" rel="stylesheet">
<script language="javascript1.2" src="../../scripts/manual_menus.js"></script>
<script language="javascript1.2" src="../../scripts/manual_vars.js"></script>
</head>
<body scroll="auto">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td id="td_contentmenu">
<div class="div_menu_padding_right"> <a href="../content/prcmaking/manual_prcmaking_basics.html" target="content" onmouseover="setStatus('PrC Making :: Basics');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">Basics</div></a> </div>
<div class="div_menu_padding_right"> <a href="../content/prcmaking/manual_prcmaking_guide.html" target="content" onmouseover="setStatus('PrC Making :: Guide');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">Guide</div></a> </div>
<script language="javascript1.2">
<!--
if(IsOnlineManual)
{
var sMes1 = "PrC Making :: Tlk/2da Reserve";
var sMes2 = "PrC Making :: Tlk/2da View";
document.writeln("<div class='div_menu_padding_right'> <a href='../content/prcmaking/reserve_tlk_2da_slots.html' target='content' onmouseover='setStatus(sMes1);return true;' onmouseout='unsetStatus();'><div class='div_menuitem_right'>Tlk/2da Reserve</div></a> </div>");
document.writeln("<div class='div_menu_padding_right'> <a href='http://www.nwnprc.com/cgi-bin/tlk_2da_info.cgi' target='content' onmouseover='setStatus(sMes2);return true;' onmouseout='unsetStatus();'> <div class='div_menuitem_right'>Tlk/2da View</div> </a> </div>");
}
//-->
</script>
</td>
</tr>
</table>
</body>
</html>

View File

@ -0,0 +1,80 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Player Resource Consortium :: Manual :: Installation :: Instructions</title>
<link type="text/css" href="../../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../../styles/manual_content_common.css" rel="stylesheet">
</head>
<body scroll="auto">
<br>
<div><h1>:: Installation :: Instructions ::</h1></div>
<br>
<div class="div_paddedcontent">
<div><h2>Installation Notes</h2></div>
<br>
The PRC pack <b>requires</b> both expansions (Shadows of Undrentide and Hordes of the Underdark) be installed. They must be installed using Biowares normal installation procedure, they <b>cannot</b> be installed by just copying the files to your hard drive. If you have not installed both expansions then the setup program and the module updater will not run. Before trying to install the PRC pack, you should install both expansions. If the setup program complains that expansions are missing and you have actually installed both expansions using Bioware's setup programs, then most likely your registry entries have become corrupted and you will need to reinstall the expansions.
<br><br>
<div><h2>Automatic Installation (EXE)</h2></div>
<br>
To install:
<br><br>
<ol>
<li>Run setup to install the PRC pack on your PC. It will automatically be installed in the correct location. <br><br></li>
<li>Run PRC Module Updater, selecting those modules you wish to add the pack to. The installer REQUIRES the .NET Framework 1.1 available either through Windows Update or <a href="http://www.microsoft.com/downloads/details.aspx?familyid=262d25e3-f589-4842-8157-034d1e7cf3a3&displaylang=en" target="_top">Here</a>.<br><br></li>
<li>Enjoy </li>
</ol>
<br>
<div><h2>Manual Installation (RAR)</h2></div>
<br>
For those that need/want to do a manual install of the prc pack into a module here are the steps:
<br><br>
<ol>
<li>If downloading the rar version, place the hak and hif files in the hak folder, place prc_consortium.erf in the erf folder, prc_consortium.tlk in the tlk folder, and the module updater wherever you want (or delete it if you are not running windows).<br><br></li>
<li>Import prc_consortium.erf into the module using the toolset or neveredit.<br><br></li>
<li>Add the haks to the module using the toolset or neveredit. The haks should be listed in the following order (top to bottom):
<br>
<br>prc_include.hak
<br>prc_2das.hak
<br>prc_scripts.hak
<br>prc_spells.hak
<br>prc_epicspells.hak
<br>prc_race.hak
<br>prc_textures.hak
<br>prc_misc.hak
<br>prc_craft2das.hak
<br><br></li>
<li>If the module already contains haks then you will need to check to see if the haks change any of the 2da's in prc_2da's.hak, and if so, merge the changes into a 3rd hak, placing that hak above the prc haks in the hak list. If you skip this step then the module may not play correctly.</li>
<li>Add the following scripts to the module events using the toolset or neveredit:
<br>
<br>OnAcquireItem : prc_onaquire
<br>OnActivateItem : prc_onactivate
<br>OnClientEnter : prc_onenter
<br>OnClientLeave : prc_onleave
<br>OnCutsceneAbort : prc_oncutabort
<br>OnHeartbeat : prc_onheartbeat
<br>OnModuleLoad : prc_onmodload
<br>OnPlayerDeath : prc_ondeath
<br>OnPlayerDying : prc_ondying
<br>OnPlayerEquipItem : prc_equip
<br>OnPlayerLevelUp : prc_levelup
<br>OnPlayerRest : prc_rest
<br>OnPlayerRespawn : prc_onrespawn
<br>OnUnaquireItem : prc_onunaquire
<br>OnPlayerUnequipItem : prc_unequip
<br>OnUserDefined : prc_onuserdef
<br><br></li>
<li>If the module already has scripts attached to events (and it probably does) then you will either need to edit those scripts and add ExecuteScript("prc_xxx"); at the top of each one or make a new script that calls ExecuteScript() for both the prc script and the old event script.<br><br></li>
<li>Now you need to add prc_consortium.tlk to the module, in the toolset this is easy, just set the custom tlk to it. If the module already contains a custom tlk then you will have to merge the entries from both tlk files together using your favorite tlk editor into a new tlk and use that instead. If you are running on the Mac or Linux this step is more difficult, neveredit currently does not have any functionality to set the custom tlk for a module. I recommend using ewald's erf/mod/gff/tlk/2da editor, available on the vault. It's java based and will run on the mac (not sure about Linux). To set the custom tlk, open the module, then open the "module.ifo" file and set the "Mod_CustomTlk" property to "prc_consortium" (no .tlk at the end).
At this point if you have done everything correctly you should be all set to play the module.</li>
</ol>
<br>
</div>
</body>
</html>

View File

@ -0,0 +1,90 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Player Resource Consortium :: Manual :: Item Crafting :: System</title>
<link type="text/css" href="../../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../../styles/manual_content_common.css" rel="stylesheet">
</head>
<body scroll="auto">
<br>
<div><h1>:: Item Crafting :: System ::</h1></div>
<br>
<div class="div_paddedcontent">
<div><h2>Item Creation</h2></div>
<br>
Special thanks goes too RabbitHail for making and coding this wonderful system.
<br><br>
<div><h2>Usage</h2></div>
<br>
Item crafting gives the caster classes the ability to create magic items from recipe scrolls, books, or any item with the proper TAG. It also allows the user to create recipes from already existing magic items. This allows PWs, and modules to have full control over what magic items the users can have and create. If you want to introduce a near dynamic economy, dont let magic items “drop” from monster kills. Only allow kills to drop money and spell scrolls. Have merchants only sell recipe scrolls and then your magic users will have to spend gold and exp to create magic items. This creates a money and exp sink, which will help your PW from having an inflationary economy. The fighters will have to pay the mages to make items. The mages will use spells, feats, money and exp to make items. This will push the mages to work with the fighters in order to get the exp and spells they need to make the items they need to advance to higher levels. This also helps separate the reward system from your areas (in many cases I have seen new areas always giving away better stuff, just to attract players to that area).
<br><br>
Use the read magic cantrip on a magic item. If a magic item is listed in the item_to_ireq.2da file a recipe scroll will be created. Use the proper craft feat on the scroll to start the magic item creation process. Read magic can be used on a recipe scroll to display what item will be created and the required feats need to make that item. Some recipes for very powerful items may require a level 20 mage / level 20 cleric!
<br><br>
<div><h2>Module variables</h2></div>
<br>Int nICHoursInDayCycle // sets the number of hours in a day (default is 1)
<br>Float</font> fICMinDays // sets the minimum number of days an item creation will take (default is .1)
<br>Float</font> fICMaxDays // sets the maximum number of days an item creation will take (default is .2)
<br>
<br>NOTE: To all PWs, the above settings are done so for the single player that has no clue how to set module variables, has no reason to wait around while the item is being crafted, and probably wont even read this file. To have a truly PnP “experience” with item crafting use these settings:
<br>
<br>nICHoursInDayCycle = 24;
<br>fICMinDays = 1.0;
<br>fICMaxDays = 1000.0;
<br><br>
<div><h2>Item recipes</h2></div>
Recipes are contained within the prc_craft2da.hak file. Each recipe is its own 2da file. The 2da files are setup just like prestige class prerequisite files. This is the recipe for making the helm of brilliance:
<br><br>
FileName: ireq_helmbril.2da
<br><br>
<table cellpadding="0" cellspacing="0" align="center" border="1" bordercolor="#6c6c6c" class="table_contenttable">
<tr><th>&nbsp;</th> <th>LABEL</th> <th>ReqType</th> <th>ReqParam1</th> <th>ReqParam2</th></tr>
<tr><td>0</td> <td>Helm_of_Brilliance </td> <td>RESULT</td> <td>x0_armhe012</td> <td>****</td></tr>
<tr><td>1</td> <td>CasterLevel13th</td> <td>CASTERLVL </td> <td>13</td> <td>****</td></tr>
<tr><td>2</td> <td>Craft_Wondrous_Item_Feat </td> <td>FEAT</td> <td>2925</td> <td>****</td></tr>
<tr><td>3</td> <td>Light</td> <td>SPELL</td> <td>62</td> <td>****</td></tr>
<tr><td>4</td> <td>Fire Ball</td> <td>SPELL</td> <td>100</td> <td>****</td></tr>
<tr><td>5</td> <td>Prismatic_Spray</td> <td>SPELL</td> <td>135</td> <td>****</td></tr>
<tr><td>6</td> <td>Wall_of_Fire</td> <td>SPELL</td> <td>191</td> <td>****</td></tr>
<tr><td>7</td> <td>Flame_Lash </td> <td>SPELL</td> <td>60</td> <td>****</td></tr>
<tr><td>8</td> <td>Protection_from_Elements</td> <td>SPELL</td> <td>137</td> <td>****</td></tr>
</table>
<br>
NOTE: The numbers in the ReqParam1 field are the line numbers that those things exist on in their respective 2da files. The filename is important because thats what you must set an items TAG to in order to have it be used by the craft feats to make an item.
<br><br>
<table cellpadding="0" cellspacing="0" align="center" border="0" class="table_contenttable">
<tr><th colspan="3">ReqType list: const string</th> </tr>
<tr><td> sReqTypeResult </td><td>= "RESULT"; </td><td>// min</td></tr>
<tr><td> sReqTypeCasterLevel</td><td>= "CASTERLVL";</td><td>// min</td></tr>
<tr><td> sReqTypeExtraXP </td><td>= "EXTRAXP"; </td><td>// min</td></tr>
<tr><td> sReqTypeExtraGold </td><td>= "EXTRAGOLD";</td><td>// min <br>Increases XP cost as well</td></tr>
<tr><td>&nbsp;</td> <td></td> <td></td> <td></td> <td></td></tr>
<tr><td> sReqTypeFeat </td><td>= "FEAT"; </td><td>// and</td></tr>
<tr><td> sReqTypeSpell</td><td>= "SPELL";</td><td>// and</td></tr>
<tr><td> sReqTypeItem </td><td>= "ITEM"; </td><td>// and</td></tr>
<tr><td> sReqTypeSkill</td><td>= "SKILL";</td><td>// and</td></tr>
<tr><td> sReqTypeLevel</td><td>= "LEVEL";</td><td>// and</td></tr>
<tr><td>&nbsp;</td> <td></td> <td></td> <td></td> <td></td></tr>
<tr><td> sReqTypeRace </td><td>= "RACE"; </td><td>// or</td></tr>
<tr><td> sReqTypeAlign</td><td>= "ALIGN";</td><td>// or</td></tr>
<tr><td> sReqTypeArea </td><td>= "AREA"; </td><td>// or</td></tr>
<tr><td> sReqTypeDeity</td><td>= "DEITY";</td><td>// or</td></tr>
<tr><td>&nbsp;</td> <td></td> <td></td> <td></td> <td></td></tr>
<tr><td> sReqTypeFeatOR </td><td>= "FEATOR"; </td><td>// or</td></tr>
<tr><td> sReqTypeSpellOR</td><td>= "SPELLOR";</td><td>// or</td></tr>
<tr><td> sReqTypeItemOR </td><td>= "ITEMOR"; </td><td>// or</td></tr>
<tr><td> sReqTypeSkillOR</td><td>= "SKILLOR";</td><td>// or</td></tr>
<tr><td> sReqTypeLevelOR</td><td>= "LEVELOR";</td><td>// or</td></tr>
</table>
<br><br>
The item_to_ireq.2da file “The glue that binds”. This file is used to do a reverse binding between a magic item and a recipe. If the recipe and the magic item exist you can place both anywhere into this file so the users of the craft system can use read magic on a magic it to be able to make a recipe. This allows users in single player modules to make recipes for items they come across. This can also be used by a dynamic machine that could create a dialog with all the items in the file and the user would get a recipe from the selection.
<br></br>
<table cellpadding="0" cellspacing="0" align="center" border="1" bordercolor="#6c6c6c" class="table_contenttable">
<tr><th>&nbsp</th> <th>LABEL</th> <th>L_RESREF</th> <th>RECIPE_TAG</th></tr>
<tr><td>0</td> <td>Arvoreens_Amulet_of_Aid</td> <td>x0_it_mneck005</td> <td>IREQ_AMULARVR</td></tr>
</table>
<br><br>
NOTE: This file is NOT required for the system to run, and may not make sense for PWs to have.
<br><br>
</div>
</body>
</html>

View File

@ -0,0 +1,9 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Player Resource Consortium :: Manual :: Content :: Blank</title>
<link type="text/css" href="../../styles/manual_common.css" rel="stylesheet">
</head>
<body scroll="no">
</body>
</html>

View File

@ -0,0 +1,28 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Player Resource Consortium :: Manual :: Content :: Main</title>
<link type="text/css" href="../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../styles/manual_content_common.css" rel="stylesheet">
<link type="text/css" href="../../styles/manual_content_main.css" rel="stylesheet">
</head>
<body scroll="auto">
<br>
<center> <img src="../../images/manual_prclogo.jpg"> </center>
<br>
<br>
<div><h1>:: PRC v 2.2c ::</h1></div>
<br>
<div class="div_paddedcontent">
Welcome to the Player Resource Consortium manual!
Inside you'll find all the current information about the custom PrC's, feats, races,
spells, epic spells, and modified spells that this release of the PRC includes.
If you find anything amiss in any of the documentation, please head over to the bug reports
section of the forums and post it in the manual thread.
Otherwise, we hope that these pages can satisfy any questions you may have about
the PRC or any of the content we have produced.
</div>
</body>
</html>

View File

@ -0,0 +1,84 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Player Resource Consortium :: Manual :: Module Building :: Modifying Scripts</title>
<link type="text/css" href="../../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../../styles/manual_content_common.css" rel="stylesheet">
</head>
<body scroll="auto">
<br>
<div><h1>:: Module Building :: Modifying Scripts ::</h1></div>
<br>
<div class="div_paddedcontent">
Many builders will find it necissary to change some of the scripts in
the PRC to their liking. This is especially true for the spell
scripts,
including epic spells. Moreover, to make changes to certain parts of
the epic spell system (for example, to disable certain spells or make
them harder to cast,) the script "inc_epicspells" must be changed.
<br><br>
The Aurora toolset has problems with the sheer enormity of our scripts,
but there is an easy and ideal way to make changes outside of the
toolset.
<br><br>
First, you need to go to your NWN directory. There should be a
subfolder called utils. There are two programs which are useful here:
nwhak.exe and clcompile.exe.
<br><br>
First, create some folders anywhere on your computer, depending on what
you intend to change: one for epicspellscripts if you intend to change
epic spells, one for racescripts if you intend to change races, and one
for everything else. I'll refer to these as "epicspellscripts",
"racescripts", and "scripts" respectively. You'll want to copy
clcompile.exe from the utils directory into each working directory you
make.
<br><br>
Open nwhak.exe. Go to File, then Open... browse to the hak subfolder
under your NWN directory. Open up "prc_scripts", "prc_epicspells", or
"prc_race", depending on what you want to change.
<br><br>
When it opens, go to the Resource menu, and select Export All. Select
the appropriate folder you created, and click "OK". Wait awhile,
there's no progress bar, so you'll only know it's done if you wait for
awhile.
<br><br>
Go to that folder, and open up the script you want to edit with your
text editor. Make the changes you want. TextPad is good for this,
especially if you download the TextPad NWScript viewer from Bioware.
That way you'll have syntax highlighted properly.
<br><br>
Now, you'll need to compile the script. This can be tricky because it
requires the use of the command line. Go to the Start menu, and click
on "Run..." Windows 98/Me users, type "command" and hit OK. Windows
2000/XP users, type "cmd" and hit ok. You'll be at the DOS prompt.
Make sure you're on the drive your working folders reside on. If not,
type the letter of the drive followed by a colon (example: C: )
<br><br>
You need to navigate to your directory using the "cd" command. If your
folder was in c:\nwn\scripts, then you'd type "cd \nwn\scripts".
<br><br>
Once you're in the directory, type "clcompile.exe [name of the script
you edited]". If everything is right, your code will compile with no
errors (and it will tell you such.) If you have errors, you need to
debug them much like you would in the Aurora toolset.
<br><br>
Once you have the file compiled, open up nwhak.exe again, but this time
make sure you go to File/New. Go to "Resource", then "Add", and find
your working directory. Select the [name of script].ncs file then
click OK. Click File/Save As, and save it into your NWN hak directory
as whatever you choose. Don't overwrite anything!
<br><br>
Finally, in the Aurora toolset, you'll need to go to Edit/Module
Properties. Under the "Custom Content" tab, you can add your hak. Use
the "Move Up" button to make sure it's on top.
<br><br>
Click OK, and presto, your changes are in! You can safely abort the
rebuild process.
<br><br>
Keep in mind that future changes and additions can be made to your new
hak. Just "add" the resources to it instead of a fresh new hak. You
won't have to open the toolset again if you continue to use that hak.
<br><br>
</div>
</body>
</html>

View File

@ -0,0 +1,86 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Player Resource Consortium :: Manual :: Module Building :: Overriden Files</title>
<link type="text/css" href="../../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../../styles/manual_content_common.css" rel="stylesheet">
</head>
<body scroll="auto">
<br>
<div><h1>:: Module Building :: Overriden Files ::</h1></div>
<br>
<div class="div_paddedcontent">
<div><h2>prc_2das.hak:</h2></div><br>
<ul>
<li>baseitems</li>
<li>classes</li>
<li>cls_feat_asasin</li>
<li>cls_feat_barb</li>
<li>cls_feat_bard</li>
<li>cls_feat_cler</li>
<li>cls_feat_druid</li>
<li>cls_feat_fight</li>
<li>cls_feat_monk</li>
<li>cls_feat_pal</li>
<li>cls_feat_rang</li>
<li>cls_feat_rog</li>
<li>cls_feat_shadow</li>
<li>cls_feat_sorc</li>
<li>cls_feat_wiz</li>
<li>cls_skill_archer</li>
<li>cls_skill_asasin</li>
<li>cls_skill_barb</li>
<li>cls_skill_bard</li>
<li>cls_skill_blkgrd</li>
<li>cls_skill_cler</li>
<li>cls_skill_divcha</li>
<li>cls_skill_dradis</li>
<li>cls_skill_dru</li>
<li>cls_skill_dwdef</li>
<li>cls_skill_fight</li>
<li>cls_skill_kensei (though bioware doesn't use this)</li>
<li>cls_skill_monk</li>
<li>cls_skill_pal</li>
<li>cls_skill_palema</li>
<li>cls_skill_rang</li>
<li>cls_skill_rog</li>
<li>cls_skill_shadow</li>
<li>cls_skill_shiftr</li>
<li>cls_skill_sorc</li>
<li>cls_skill_wiz</li>
<li>cls_skill_wm</li>
<li>feat</li>
<li>iprp_feats</li>
<li>iprp_monstocst</li>
<li>iprp_neg5cost</li>
<li>iprp_onhitcost</li>
<li>iprp_onhitdur</li>
<li>iprp_spellcost</li>
<li>iprp_spells</li>
<li>iprp_srcost</li>
<li>itemprops</li>
<li>masterfeats</li>
<li>polymorph</li>
<li>skills</li>
<li>spells</li>
<li>vfx_persistent</li>
<li>visualeffects</li>
</ul>
<br>
NOTE: The CEP also includes baseitems.2da and changes the same line as PRC. This is for the claws. I am not sure why CEP needs to change this item, but I suggest using our change as it is required by a few PRC's
<br><br>
<div><h2>prc_scripts.hak:</h2></div><br>
<ul>
<li>nw_i0_spells </li>
<li>x0_i0spells </li>
<li>x2_inc_spellhook </li>
<li>x2_inc_switches</li>
<li>x2_mod_def_equ</li>
<li>x2_mod_def_unequ</li>
</ul>
<br>
NOTE: Due to the custom system for dealing with PrC's literally every spell in the game has been modified.
<br><br>
</div>
</body>
</html>

View File

@ -0,0 +1,84 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Player Resource Consortium :: Manual :: Module Building :: PrC Enablers</title>
<link type="text/css" href="../../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../../styles/manual_content_common.css" rel="stylesheet">
</head>
<body scroll="auto">
<br>
<div><h1>:: Module Building :: PrC Enablers ::</h1></div>
<br>
<div class="div_paddedcontent">
In a future release these variables will be in an onload script for easy access to enabling and disabling.
<br><br>
Setting these variables to 1 on a PC will make it so they can't take any levels in that Prestige Class.
<br><br>
NOTE: Beware that as of 2.0c, the Champion of Torm and Champion of Bane share the same variable as do the Elemental Savant and Acolyte of the Skin classes.
<br><br>
<table cellpadding="0" cellspacing="0" align="center" border="0" class="table_contenttable">
<tr><th colspan="2">Shadows of Undrentide Variables</th></tr>
<tr><td>X1_AllowAsasin</td> <td>Assassin</td></tr>
<tr><td>X1_AllowArcher</td> <td>Arcane Archer</td></tr>
<tr><td>X1_AllowBlkGrd</td> <td>Black Guard</td></tr>
<tr><td>X1_AllowHarper</td> <td>Harper Scout</td></tr>
<tr><td>X1_AllowShadow</td> <td>Shadow Dancer</td></tr>
<tr><td>&nbsp;</td> <td>&nbsp;</td></tr>
<tr><th colspan="2">Hordes of the Underdark Variables</th></tr>
<tr><td>X1_AllowDrDis</td> <td>Dragon Disciple</td></tr>
<tr><td>X1_AllowDwDef</td> <td>Dwarven Defender</td></tr>
<tr><td>X2_AllowDivcha</td> <td>Champion of Torm</td></tr>
<tr><td>X2_AllowPalema</td> <td>Palemaster</td></tr>
<tr><td>X2_AllowShiftr</td> <td>Shifter</td></tr>
<tr><td>X2_AllowWM </td> <td>Weapon Master</td></tr>
<tr><td>&nbsp;</td> <td>&nbsp;</td></tr>
<tr><th colspan="2">Player Resource Consortium Pack Variables (v 2.2+)</th></tr>
<tr><td colspan="2">As of PrC 2.2 all class variables start with PRC_</td></tr>
<tr><th colspan="2">Player Resource Consortium Pack Variables (v 2.0c - 2.1d)</th></tr>
<tr><td>X2_AllowAcolyte</td> <td>Acolyte of the Skin</td></tr>
<tr><td>PNP_AllowArcTrick</td> <td>Arcane Trickster</td></tr>
<tr><td>PRC_AllowArchmage</td> <td>Archmage</td></tr>
<tr><td>X1_AllowTempus</td> <td>Battleguard Tempus</td></tr>
<tr><td>X1_AllowBRage</td> <td>Battlerager</td></tr>
<tr><td>X1_AllowBonded</td> <td>Bonded Summoner</td></tr>
<tr><td>X2_AllowDivcha</td> <td>Champion of Bane</td></tr>
<tr><td>X2_AllowBaal</td> <td>Disciple of Baalzebul</td></tr>
<tr><td>X2_AllowDiscmep</td> <td>Disciple of Mephistopheles</td></tr>
<tr><td>X2_AllowDuel</td> <td>Duelist</td></tr>
<tr><td>PRC_AllowEldknight</td> <td>Eldrich Knight</td></tr>
<tr><td>X2_AllowAcolyte</td> <td>Elemental Savant</td></tr>
<tr><td>X1_AllowFistRaz</td> <td>Fist of Raziel</td></tr>
<tr><td>X2_AllowFH</td> <td>Foe Hunter</td></tr>
<tr><td>X2_AllowFrebzk</td> <td>Frenzied Beserker</td></tr>
<tr><td>X1_AllowHarperM</td> <td>Harper Mage</td></tr>
<tr><td>X1_AllowHeartW</td> <td>Heartwarder</td></tr>
<tr><td>X2_AllowHiero</td> <td>Heirophant</td></tr>
<tr><td>X1_AllowHosp</td> <td>Hospitaler</td></tr>
<tr><td>X1_AllowIaij</td> <td>Iaijutsu Master</td></tr>
<tr><td>X1_AllowIniDra</td> <td>Initiate of Draconic Mysteries</td></tr>
<tr><td>X2_AllowKnghtCh</td> <td>Knight of the Chalice</td></tr>
<tr><td>X1_AllowLgDr</td> <td>Legendary Dreadnaught</td></tr>
<tr><td>PNP_AllowLich</td> <td>Lich</td></tr>
<tr><td>X2_AllowMageK</td> <td>Mage Killer</td></tr>
<tr><td>mh_AllowMaster</td> <td>Master Harper</td></tr>
<tr><td>X2_AllowShrouds</td> <td>Master of Shrouds</td></tr>
<tr><td>X2_AllowMystic</td> <td>Mystic Theurge</td></tr>
<tr><td>X1_AllowNinja</td> <td>Ninja Spy</td></tr>
<tr><td>X1_AllowOccAd</td> <td>Ocular Adept</td></tr>
<tr><td>PRC_AllowUzi</td> <td>Oozemaster</td></tr>
<tr><td>PNP_AllowPArcher</td> <td>Peerless Archer</td></tr>
<tr><td>X2_AllowRedavng</td> <td>Red Avenger</td></tr>
<tr><td>X2_AllowPNPSfr</td> <td>Shifter (PnP)</td></tr>
<tr><td>X2_AllowSpellS</td> <td>Spellsword</td></tr>
<tr><td>X1_AllowStormL</td> <td>Stormlord</td></tr>
<tr><td>X1_AllowShaLow</td> <td>Telflammar Shadowlord</td></tr>
<tr><td>X2_AllowTempest</td> <td>Tempest</td></tr>
<tr><td>X1_AllowVassal</td> <td>Vassal of Bahamut</td></tr>
<tr><td>codi_allow_warpr</td> <td>Warpriest</td></tr>
</table>
<br><br>
</div>
</body>
</html>

View File

@ -0,0 +1,28 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Player Resource Consortium :: Manual :: PrC Making :: Basics</title>
<link type="text/css" href="../../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../../styles/manual_content_common.css" rel="stylesheet">
</head>
<body scroll="auto">
<br>
<div><h1>:: PrC Making :: Basics ::</h1></div>
<br>
<div class="div_paddedcontent">
We have recived several questions on the forums about the 2da's and basic scripting.
I felt I would try and help those new to custom content by providing links to the information.
<br><br>
For information on 2da's, harcoded limitations, etc. Check the
<a href="http://ccg.dladventures.com/index.php/Main_Page" target="_blank">Neverwinter Nights Custom Content Guide</a>.
<br><br>
For questions concerning scripting check out the
<a href="http://www.nwnlexicon.com/" target="_blank">NWN Lexicon</a>.
<br><br>
If you can not find what you are looking for there,
feel free to ask questions on the BioWare forums,
or of course our own forums.
<br><br>
</div>
</body>
</html>

View File

@ -0,0 +1,119 @@
<html>
<head>
<title>Player Resource Consortium :: Manual :: PrC Making :: Reserve 2da/tlk Slots </title>
<link type="text/css" href="../../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../../styles/manual_content_common.css" rel="stylesheet">
<script language="JavaScript">
<!-- Hide from old Browsers
function is_form_valid( )
{
valid = true;
if ( document.reserve_slots.StartSlot.value == "" && valid)
{
valid = false;
alert ( "Please fill in starting slot." );
document.reserve_slots.StartSlot.focus();
}
if(isNaN(document.reserve_slots.StartSlot.value) && valid)
{
valid = false;
alert ( "Please fill in starting slot with a numeric value.");
document.reserve_slots.StartSlot.value="";
document.reserve_slots.StartSlot.focus();
}
if ( document.reserve_slots.EndSlot.value == "" && valid)
{
valid = false;
alert ( "Please fill in ending slot." );
document.reserve_slots.EndSlot.focus();
}
if(isNaN(document.reserve_slots.EndSlot.value) && valid)
{
valid = false;
alert ( "Please fill in ending slot with a numeric value." );
document.reserve_slots.EndSlot.value="";
document.reserve_slots.EndSlot.focus();
}
if ( document.reserve_slots.Name.value == "" && valid)
{
valid = false;
alert ( "Please fill in your name or project name." );
document.reserve_slots.Name.focus();
}
if ( document.reserve_slots.Reason.value == "" && valid)
{
valid = false;
alert ( "Please fill in your reason for reserving these slots." );
document.reserve_slots.Reason.focus();
}
return valid;
}
//-->
</script>
</head>
<body bgcolor="#000000" text="#C0C0C0" vlink="#006A9D" link="#0082BF" alink="#009CE8" scroll="auto">
<!-- <body scroll="auto"> //-->
<br>
<div><h1>:: PrC Making :: Reserve 2da/tlk Slots ::</h1></div>
<br>
<div class="div_paddedcontent">
<form name="reserve_slots" action="http://www.nwnprc.com/cgi-bin/tlk_2da_update_database.cgi" method="POST" onSubmit="return is_form_valid( );">
<table cellpadding="0" cellspacing="0" align="center" border="1" bordercolor="#6c6c6c" class="table_contenttable">
<tr>
<td class="padded">File to reserve slots in: </td>
<td class="padded">
<select name="File">
<option value="classes"> classes.2da </option>
<option value="feat"> feat.2da </option>
<option value="spells"> spells.2da </option>
<option value="tlk"> prc_consortium.tlk </option>
<option value="sub_radials"> sub-radials </option>
</select>
</td>
</tr>
<tr>
<td class="padded">Reserve slots: </td>
<td class="padded">
<input type="text" name="StartSlot" size="10" maxlength="10"> to
<input type="text" name="EndSlot" size="10" maxlength="10">
</td>
</tr>
<tr>
<td class="padded">Name: </td>
<td class="padded">
<input type="text" name="Name" size="27" maxlength="35">
</td>
</tr>
<tr>
<td class="padded">Reason: </td>
<td class="padded">
<input type="text" name="Reason" size="27" maxlength="100">
</td>
</tr>
<tr>
<td colspan="2" align="center" class="padded">
<input type="submit" value="Reserve Slots">
</td>
</tr>
</table>
</form>
<br><br>
</div>
</body>
</html>

View File

@ -0,0 +1,23 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Player Resource Consortium :: Manual :: Menus :: Installation</title>
<link type="text/css" href="../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../styles/manual_menus_common.css" rel="stylesheet">
<link type="text/css" href="../../styles/manual_index.css" rel="stylesheet">
<script language="javascript1.2" src="../../scripts/manual_menus.js"></script>
</head>
<body scroll="auto">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td id="td_contentmenu">
<div class="div_menu_padding_right"> <a href="../content/installation/manual_installation_instructions.html" target="content" onfocus="this.blur();" onmouseover="setStatus('Installation :: Instructions');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">Instructions</div></a> </div>
</td>
</tr>
</table>
</body>
</html>

View File

@ -0,0 +1,23 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Player Resource Consortium :: Manual :: Menus :: Item Crafting</title>
<link type="text/css" href="../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../styles/manual_menus_common.css" rel="stylesheet">
<link type="text/css" href="../../styles/manual_index.css" rel="stylesheet">
<script language="javascript1.2" src="../../scripts/manual_menus.js"></script>
</head>
<body scroll="auto">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td id="td_contentmenu">
<div class="div_menu_padding_right"> <a href="../content/itemcrafting/manual_itemcrafting_system.html" target="content" onfocus="this.blur();" onmouseover="setStatus('Item Crafting :: System');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">System</div></a> </div>
</td>
</tr>
</table>
</body>
</html>

View File

@ -0,0 +1,27 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Player Resource Consortium :: Manual :: Menus :: Module Building</title>
<link type="text/css" href="../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../styles/manual_menus_common.css" rel="stylesheet">
<link type="text/css" href="../../styles/manual_index.css" rel="stylesheet">
<script language="javascript1.2" src="../../scripts/manual_menus.js"></script>
</head>
<body scroll="auto">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td id="td_contentmenu">
<div class="div_menu_padding_right"> <a href="../../index.html" target="_top" onfocus="this.blur();" onmouseover="setStatus('Languages :: English');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">English</div></a> </div>
<div class="div_menu_padding_right"> <a href="../../fr_index.html" target="_top" onfocus="this.blur();" onmouseover="setStatus('Languages :: French');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">French</div></a> </div>
<div class="div_menu_padding_right"> <a href="../../de_index.html" target="_top" onfocus="this.blur();" onmouseover="setStatus('Languages :: German');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">German</div></a> </div>
<div class="div_menu_padding_right"> <a href="../../it_index.html" target="_top" onfocus="this.blur();" onmouseover="setStatus('Languages :: Italian');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">Italian</div></a> </div>
<div class="div_menu_padding_right"> <a href="../../sp_index.html" target="_top" onfocus="this.blur();" onmouseover="setStatus('Languages :: Spanish');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">Spanish</div></a> </div>
</td>
</tr>
</table>
</body>
</html>

View File

@ -0,0 +1,62 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Player Resource Consortium :: Manual :: Menus :: Main</title>
<link type="text/css" href="../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../styles/manual_menus_common.css" rel="stylesheet">
<link type="text/css" href="../../styles/manual_index.css" rel="stylesheet">
<script language="javascript1.2" src="../../scripts/manual_menus.js"></script>
<script language="javascript1.2" src="../../scripts/manual_vars.js"></script>
</head>
<body scroll="auto">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td id="td_mainmenu">
<div class="div_menu_padding"> <a href="#" onclick="openContent('main');return false;" onfocus="this.blur();" onmouseover="setStatus('Main');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">Main</div></a> </div>
<div class="div_menu_padding"> <a href="#" onclick="openContent('baseclasses');return false;" onfocus="this.blur();" onmouseover="setStatus('Base Classes');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">Base Classes</div></a> </div>
<div class="div_menu_padding"> <a href="#" onclick="openContent('prestigeclasses');return false;" onfocus="this.blur();" onmouseover="setStatus('Prestige Classes');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">Prestige Classes</div></a> </div>
<div class="div_menu_padding"> <a href="#" onclick="openContent('domains');return false;" onfocus="this.blur();" onmouseover="setStatus('Domains');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">Domains</div></a> </div>
<div class="div_menu_padding"> <a href="#" onclick="openContent('feats');return false;" onfocus="this.blur();" onmouseover="setStatus('Feats');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">Feats</div></a> </div>
<div class="div_menu_padding"> <a href="#" onclick="openContent('epicfeats');return false;" onfocus="this.blur();" onmouseover="setStatus('Feats');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">Epic Feats</div></a> </div>
<!--<div class="div_menu_padding"> <a href="#" onclick="openContent('psionicpowers');return false;" onfocus="this.blur();" onmouseover="setStatus('Psionic Powers');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">Psionic Powers</div></a> </div>
-->
<div class="div_menu_padding"> <a href="#" onclick="openContent('races');return false;" onfocus="this.blur();" onmouseover="setStatus('Races');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">Races</div></a> </div>
<div class="div_menu_padding"> <a href="#" onclick="openContent('skills');return false;" onfocus="this.blur();" onmouseover="setStatus('Skills');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">Skills</div></a> </div>
<div class="div_menu_padding"> <a href="#" onclick="openContent('spells');return false;" onfocus="this.blur();" onmouseover="setStatus('Spells');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">Spells</div></a> </div>
<div class="div_menu_padding"> <a href="#" onclick="openContent('epicspells');return false;" onfocus="this.blur();" onmouseover="setStatus('Epic Spells');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">Epic Spells</div></a> </div>
<div class="div_menu_padding"> <a href="#" onclick="openContent('modifiedspells');return false;" onfocus="this.blur();" onmouseover="setStatus('Modified spells');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">Modified Spells</div></a> </div>
<div class="div_menu_line_padding"> <hr> </div>
<div class="div_menu_padding"> <a href="#" onclick="openContent('installation');return false;" onfocus="this.blur();" onmouseover="setStatus('Installation');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">Installation</div></a> </div>
<div class="div_menu_padding"> <a href="#" onclick="openContent('itemcrafting');return false;" onfocus="this.blur();" onmouseover="setStatus('Item Crafting');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">Item Crafting</div></a> </div>
<div class="div_menu_padding"> <a href="#" onclick="openContent('modulebuilding');return false;" onfocus="this.blur();" onmouseover="setStatus('Module Building');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">Module Building</div></a> </div>
<div class="div_menu_padding"> <a href="#" onclick="openContent('prcmaking');return false;" onfocus="this.blur();" onmouseover="setStatus('PrC Making');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">PrC Making</div></a> </div>
<div class="div_menu_line_padding"> <hr> </div>
<div class="div_menu_padding"> <a href="#" onclick="openContent('languages');return false;" onfocus="this.blur();" onmouseover="setStatus('Languages');return true;" onmouseout="unsetStatus();"><div class="div_menuitem">Languages</div></a> </div>
<div class="div_menu_padding"> <a href="http://www.nwnprc.com/index.html" target="_top" onmouseover="setStatus('PRC Website');return true" onmouseout="unsetStatus();"><div class="div_menuitem">PRC Website</div></a> </div>
<script language="javascript1.2">
<!--
if(!IsOnlineManual)
{
var sMes1 = "Online Manual";
document.writeln("<div class='div_menu_padding'> <a href='http://www.nwnprc.com/manual/index.html' target='_top' onmouseover='setStatus(sMes1);return true' onmouseout='unsetStatus();'><div class='div_menuitem'>Online Manual</div></a> </div>");
}
//-->
</script>
</td>
</tr>
</table>
</body>
</html>

View File

@ -0,0 +1,25 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Player Resource Consortium :: Manual :: Menus :: Module Building</title>
<link type="text/css" href="../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../styles/manual_menus_common.css" rel="stylesheet">
<link type="text/css" href="../../styles/manual_index.css" rel="stylesheet">
<script language="javascript1.2" src="../../scripts/manual_menus.js"></script>
</head>
<body scroll="auto">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td id="td_contentmenu">
<div class="div_menu_padding_right"> <a href="../content/modulebuilding/manual_modulebuilding_overridenfiles.html" target="content" onfocus="this.blur();" onmouseover="setStatus('Module Building :: Overriden Files');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">Overriden Files</div></a> </div>
<div class="div_menu_padding_right"> <a href="../content/modulebuilding/manual_modulebuilding_modifyingscripts.html" target="content" onfocus="this.blur();" onmouseover="setStatus('Module Building :: Modifying Scripts');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">Modifying Scripts</div></a> </div>
<div class="div_menu_padding_right"> <a href="../content/modulebuilding/manual_modulebuilding_prcenablers.html" target="content" onfocus="this.blur();" onmouseover="setStatus('Module Building :: PrC Enablers');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">PrC Enablers</div></a> </div>
</td>
</tr>
</table>
</body>
</html>

View File

@ -0,0 +1,37 @@
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
<title>Player Resource Consortium :: Manual :: Menus :: PrC Making</title>
<link type="text/css" href="../../styles/manual_common.css" rel="stylesheet">
<link type="text/css" href="../../styles/manual_menus_common.css" rel="stylesheet">
<link type="text/css" href="../../styles/manual_index.css" rel="stylesheet">
<script language="javascript1.2" src="../../scripts/manual_menus.js"></script>
<script language="javascript1.2" src="../../scripts/manual_vars.js"></script>
</head>
<body scroll="auto">
<table cellpadding="0" cellspacing="0" border="0">
<tr>
<td id="td_contentmenu">
<div class="div_menu_padding_right"> <a href="../content/prcmaking/manual_prcmaking_basics.html" target="content" onmouseover="setStatus('PrC Making :: Basics');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">Basics</div></a> </div>
<div class="div_menu_padding_right"> <a href="../content/prcmaking/manual_prcmaking_guide.html" target="content" onmouseover="setStatus('PrC Making :: Guide');return true;" onmouseout="unsetStatus();"><div class="div_menuitem_right">Guide</div></a> </div>
<script language="javascript1.2">
<!--
if(IsOnlineManual)
{
var sMes1 = "PrC Making :: Tlk/2da Reserve";
var sMes2 = "PrC Making :: Tlk/2da View";
document.writeln("<div class='div_menu_padding_right'> <a href='../content/prcmaking/reserve_tlk_2da_slots.html' target='content' onmouseover='setStatus(sMes1);return true;' onmouseout='unsetStatus();'><div class='div_menuitem_right'>Tlk/2da Reserve</div></a> </div>");
document.writeln("<div class='div_menu_padding_right'> <a href='http://www.nwnprc.com/cgi-bin/tlk_2da_info.cgi' target='content' onmouseover='setStatus(sMes2);return true;' onmouseout='unsetStatus();'> <div class='div_menuitem_right'>Tlk/2da View</div> </a> </div>");
}
//-->
</script>
</td>
</tr>
</table>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 82 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 81 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 64 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 80 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 59 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 126 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 144 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 40 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 27 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 99 KiB

Some files were not shown because too many files have changed in this diff Show More