Major update

Fixed CCOH, Fixed starting GP, Fixed DMFI languages, Fix cep weapon appearances, Fixed new player start up system.  Added PC deleter.  Added ACP 4.1.  Full compile.  Updated release archive.
This commit is contained in:
Jaysyn904
2024-09-16 23:40:48 -04:00
parent 7f75e229f9
commit 5d27edafba
6724 changed files with 558193 additions and 92109 deletions

View File

@@ -1,6 +1,5 @@
//#include "_persist_01a"
#include "nw_i0_plot"
#include "aps_include"
void CreateAnObject(string sResource, object oPC, int iStackSize);
void GetNextStackedItem(object oPC, string sItemTag, int iCount, int iMode, string sStackResRef);
@@ -105,33 +104,21 @@ void main()
if (GetLocalInt(OBJECT_SELF,"iAmInUse") != 0)
{
SendMessageToPC(oPC,"You must wait until the current weapon or armor is completed before starting another.");
SendMessageToPC(oPC,"You must wait till the current weapon or armor is completed before starting another.");
return;
}
if (GetTag(oTool) != "ITEM_SMITHHAMMER_NORMAL")
{
FloatingTextStringOnCreature("You must have a blacksmith hammer equipped in order to attempt this craft.",oPC,FALSE);
FloatingTextStringOnCreature("You must have a smithy hammer equipped in order to attempt this craft...",oPC,FALSE);
return;
}
//int iSmithSkill = GetTokenPair(oPC,13,4); // Weaponsmith
// uses NWN Database
//int iSmithSkill = GetCampaignInt("UOACraft","iSmithSkill",oPC);
// uses external database
int iSmithSkill = GetPersistentInt(oPC,"iSmithSkill","UOACraft");
int iSmithSkill = GetCampaignInt("UOACraft","iSmithSkill",oPC);
int iSmithChance = iSmithSkill;
//int iArmorSkill = GetTokenPair(oPC,13,5); // ArmorCraft
// uses NWN database
//int iArmorSkill = GetCampaignInt("UOACraft","iArmorSkill",oPC);
// external database
int iArmorSkill = GetPersistentInt(oPC,"iArmorSkill","UOACraft");
int iArmorSkill = GetCampaignInt("UOACraft","iArmorSkill",oPC);
int iArmorChance = iArmorSkill;
if (iSmithChance < 350)
@@ -163,7 +150,7 @@ void main()
{
iSmithChance = iSmithChance - 100;
sSuccess = "You carefully heat, fold, and pound the metal into the form of a dagger.";
sFail = "The metal turns brittle as you heat, fold, and pound it, rendering the dagger useless.";
sFail = "The metal turns brittle as you heat, fold, and pound it, rending the dagger useless.";
sItemResRefPoor = CraftLookup("wswdg002",iIngotType);
sItemResRef = CraftLookup("nw_wswdg001",iIngotType);
sItemResRefExceptional = CraftLookup("wswdg003",iIngotType);
@@ -176,7 +163,7 @@ void main()
{
iSmithChance = iSmithChance-150;
sSuccess = "You carefully heat, fold, and pound the metal into the form of a shortsword.";
sFail = "The metal turns brittle as you heat, fold, and pound it, rendering the shortsword useless.";
sFail = "The metal turns brittle as you heat, fold, and pound it, rending the shortsword useless.";
sItemResRefPoor = CraftLookup("wswss002",iIngotType);
sItemResRef = CraftLookup("nw_wswss001",iIngotType);
sItemResRefExceptional = CraftLookup("wswss003",iIngotType);
@@ -190,7 +177,7 @@ void main()
iCraftType=1;
iArmorChance = iArmorChance - 100;
sSuccess = "You carefully forge the rings and sew them into the leather backing to make ringmail armor.";
sFail = "The rings fail to link properly, and the leather backing is ruined.";
sFail = "The rings fail to link properly and the leather backing is ruined.";
sItemResRefPoor = CraftLookup("ringmail001",iIngotType);
sItemResRef = CraftLookup("ringmail",iIngotType);
sItemResRefExceptional = CraftLookup("ringmail002",iIngotType);
@@ -238,7 +225,7 @@ void main()
iCraftType=1;
iArmorChance = iArmorChance - 300;
sSuccess = "You carefully forge the small metal scales and hook them into the leather to make scale mail armor.";
sFail = "The scales do not hook together properly, and the scale mail armor is ruined.";
sFail = "The scales do not hook properly, and the scale mail armor is ruined.";
sItemResRefPoor = CraftLookup("aarcl006",iIngotType);
sItemResRef = CraftLookup("nw_aarcl003",iIngotType);
sItemResRefExceptional = CraftLookup("aarcl007",iIngotType);
@@ -269,7 +256,7 @@ void main()
iCraftType=1;
iArmorChance = iArmorChance - 400;
sSuccess = "You carefully forge the small metal bands and fix them into the leather to make banded mail armor.";
sFail = "The bands do not fix together properly, and the banded mail armor is ruined.";
sFail = "The bands do not fix properly, and the banded mail armor is ruined.";
sItemResRefPoor = CraftLookup("aarcl014",iIngotType);
sItemResRef = CraftLookup("nw_aarcl011",iIngotType);
sItemResRefExceptional = CraftLookup("aarcl015",iIngotType);
@@ -286,7 +273,7 @@ void main()
iCraftType=1;
iArmorChance = iArmorChance - 400;
sSuccess = "You carefully forge the small metal plates and fix them into the leather to make splint mail armor.";
sFail = "The small metal plates are too brittle to fix together properly, and the splint mail armor is ruined.";
sFail = "The small metal plates are too brittle to fix properly, and the splint mail armor is ruined.";
sItemResRefPoor = CraftLookup("aarcl018",iIngotType);
sItemResRef = CraftLookup("nw_aarcl005",iIngotType);
sItemResRefExceptional = CraftLookup("aarcl019",iIngotType);
@@ -336,7 +323,7 @@ void main()
{
iSmithChance = iSmithChance-250;
sSuccess = "You carefully heat, fold, and pound the metal into the form of a longsword.";
sFail = "The metal turns brittle as you heat, fold, and pound it, rendering the longsword useless.";
sFail = "The metal turns brittle as you heat, fold, and pound it, rending the longsword useless.";
sItemResRefPoor = CraftLookup("wswls002",iIngotType);
sItemResRef = CraftLookup("nw_wswls001",iIngotType);
sItemResRefExceptional = CraftLookup("wswls003",iIngotType);
@@ -349,7 +336,7 @@ void main()
{
iSmithChance = iSmithChance-350;
sSuccess = "You carefully heat, fold, and pound the metal into the form of a bastard sword.";
sFail = "The metal turns brittle as you heat, fold, and pound it, rendering the bastard sword useless.";
sFail = "The metal turns brittle as you heat, fold, and pound it, rending the bastard sword useless.";
sItemResRefPoor = CraftLookup("wswbs002",iIngotType);
sItemResRef = CraftLookup("nw_wswbs001",iIngotType);
sItemResRefExceptional = CraftLookup("wswbs003",iIngotType);
@@ -362,7 +349,7 @@ void main()
{
iSmithChance = iSmithChance-400;
sSuccess = "You carefully heat, fold, and pound the metal into the form of a greatsword.";
sFail = "The metal turns brittle as you heat, fold, and pound it, rendering the greatsword useless.";
sFail = "The metal turns brittle as you heat, fold, and pound it, rending the greatsword useless.";
sItemResRefPoor = CraftLookup("wswgs002",iIngotType);
sItemResRef = CraftLookup("nw_wswgs001",iIngotType);
sItemResRefExceptional = CraftLookup("wswgs003",iIngotType);
@@ -494,7 +481,7 @@ void main()
{
iSmithChance = iSmithChance-200;
sSuccess = "You carefully heat, fold, and pound the metal into the form of a mace.";
sFail = "The metal turns brittle as you heat, fold, and pound it, rendering the mace useless.";
sFail = "The metal turns brittle as you heat, fold, and pound it, rending the mace useless.";
sItemResRefPoor = CraftLookup("wblml002",iIngotType);
sItemResRef = CraftLookup("nw_wblml001",iIngotType);
sItemResRefExceptional = CraftLookup("wblml003",iIngotType);
@@ -507,7 +494,7 @@ void main()
{
iSmithChance = iSmithChance-300;
sSuccess = "You carefully heat, fold, and pound the metal into the form of a maorning star.";
sFail = "The metal turns brittle as you heat, fold, and pound it, rendering the morning star useless.";
sFail = "The metal turns brittle as you heat, fold, and pound it, rending the morning star useless.";
sItemResRefPoor = CraftLookup("wblms002",iIngotType);
sItemResRef = CraftLookup("nw_wblms001",iIngotType);
sItemResRefExceptional = CraftLookup("wblms003",iIngotType);
@@ -523,7 +510,7 @@ void main()
{
iSmithChance = iSmithChance-250;
sSuccess = "You carefully heat, fold, and pound the metal into the form of a light flail.";
sFail = "The metal turns brittle as you heat, fold, and pound it, rendering the light flail useless.";
sFail = "The metal turns brittle as you heat, fold, and pound it, rending the light flail useless.";
sItemResRefPoor = CraftLookup("wblfl002",iIngotType);
sItemResRef = CraftLookup("nw_wblfl001",iIngotType);
sItemResRefExceptional = CraftLookup("wblfl003",iIngotType);
@@ -536,7 +523,7 @@ void main()
{
iSmithChance = iSmithChance-350;
sSuccess = "You carefully heat, fold, and pound the metal into the form of a heavy flail.";
sFail = "The metal turns brittle as you heat, fold, and pound it, rendering the heavy flail useless.";
sFail = "The metal turns brittle as you heat, fold, and pound it, rending the heavy flail useless.";
sItemResRefPoor = CraftLookup("wblfh002",iIngotType);
sItemResRef = CraftLookup("nw_wblfh001",iIngotType);
sItemResRefExceptional = CraftLookup("wblfh003",iIngotType);
@@ -549,7 +536,7 @@ void main()
{
iSmithChance = iSmithChance-250;
sSuccess = "You carefully heat, fold, and pound the metal into the form of a light hammer.";
sFail = "The metal turns brittle as you heat, fold, and pound it, rendering the light hammer useless.";
sFail = "The metal turns brittle as you heat, fold, and pound it, rending the light hammer useless.";
sItemResRefPoor = CraftLookup("wblhl002",iIngotType);
sItemResRef = CraftLookup("nw_wblhl001",iIngotType);
sItemResRefExceptional = CraftLookup("wblhl003",iIngotType);
@@ -562,7 +549,7 @@ void main()
{
iSmithChance = iSmithChance-350;
sSuccess = "You carefully heat, fold, and pound the metal into the form of a warhammer.";
sFail = "The metal turns brittle as you heat, fold, and pound it, rendering the warhammer useless.";
sFail = "The metal turns brittle as you heat, fold, and pound it, rending the warhammer useless.";
sItemResRefPoor = CraftLookup("wblhw002",iIngotType);
sItemResRef = CraftLookup("nw_wblhw001",iIngotType);
sItemResRefExceptional = CraftLookup("wblhw003",iIngotType);
@@ -575,7 +562,7 @@ void main()
{
iSmithChance = iSmithChance-150;
sSuccess = "You carefully heat, fold, and pound the metal into the form of a handaxe.";
sFail = "The metal turns brittle as you heat, fold, and pound it, rendering the handaxe useless.";
sFail = "The metal turns brittle as you heat, fold, and pound it, rending the handaxe useless.";
sItemResRefPoor = CraftLookup("waxhn002",iIngotType);
sItemResRef = CraftLookup("nw_waxhn001",iIngotType);
sItemResRefExceptional = CraftLookup("waxhn003",iIngotType);
@@ -588,7 +575,7 @@ void main()
{
iSmithChance = iSmithChance-150;
sSuccess = "You carefully heat, fold, and pound the metal into the form of a battleaxe.";
sFail = "The metal turns brittle as you heat, fold, and pound it, rendering the battleaxe useless.";
sFail = "The metal turns brittle as you heat, fold, and pound it, rending the battleaxe useless.";
sItemResRefPoor = CraftLookup("waxbt002",iIngotType);
sItemResRef = CraftLookup("nw_waxbt001",iIngotType);
sItemResRefExceptional = CraftLookup("waxbt003",iIngotType);
@@ -602,7 +589,7 @@ void main()
iCraftStackSize = 50;
iSmithChance = iSmithChance-50;
sSuccess = "You carefully forge the throwing darts.";
sFail = "The metal fails to cool properly, and the throwing darts are ruined.";
sFail = "The metal fails to cool properly and the throwing darts are ruined.";
sItemResRefPoor = CraftLookup("wthdt002",iIngotType);
sItemResRef = CraftLookup("nw_wthdt001",iIngotType);
sItemResRefExceptional = CraftLookup("wthdt003",iIngotType);
@@ -616,7 +603,7 @@ void main()
iCraftStackSize = 50;
iSmithChance = iSmithChance-50;
sSuccess = "You carefully forge the shuriken.";
sFail = "The metal fails to cool properly, and the shuriken are ruined.";
sFail = "The metal fails to cool properly and the shuriken are ruined.";
sItemResRefPoor = CraftLookup("wthsh002",iIngotType);
sItemResRef = CraftLookup("nw_wthsh001",iIngotType);
sItemResRefExceptional = CraftLookup("wthsh003",iIngotType);
@@ -630,7 +617,7 @@ void main()
iCraftStackSize = 50;
iSmithChance = iSmithChance-150;
sSuccess = "You carefully forge the throwing axes.";
sFail = "The metal fails to cool properly, and the throwing axes are ruined.";
sFail = "The metal fails to cool properly and the throwing axes are ruined.";
sItemResRefPoor = CraftLookup("wthax002",iIngotType);
sItemResRef = CraftLookup("nw_wthax001",iIngotType);
sItemResRefExceptional = CraftLookup("wthax003",iIngotType);
@@ -642,8 +629,8 @@ void main()
if (sTag == "P_HALBERD")
{
iSmithChance = iSmithChance-400;
sSuccess = "You carefully forge the halberd blade, and affix it to the shaft.";
sFail = "The metal turns brittle as you attempt to forge it, and the halberd is ruined.";
sSuccess = "You carefully forge the halberd blade and affix it to the shaft.";
sFail = "The metal turns brittle as you attempt to forge and the halberd is ruined.";
sItemResRefPoor = CraftLookup("wplhb002",iIngotType);
sItemResRef = CraftLookup("nw_wplhb001",iIngotType);
sItemResRefExceptional = CraftLookup("wplhb003",iIngotType);
@@ -658,8 +645,8 @@ void main()
if (sTag == "P_SCYTHE")
{
iSmithChance = iSmithChance-400;
sSuccess = "You carefully forge the scythe blade, and affix it to the shaft.";
sFail = "The metal turns brittle as you attempt to forge it, and the scythe is ruined.";
sSuccess = "You carefully forge the scythe blade and affix it to the shaft.";
sFail = "The metal turns brittle as you attempt to forge and the scythe is ruined.";
sItemResRefPoor = CraftLookup("wplsc002",iIngotType);
sItemResRef = CraftLookup("nw_wplsc001",iIngotType);
sItemResRefExceptional = CraftLookup("wplsc003",iIngotType);
@@ -674,8 +661,8 @@ void main()
if (sTag == "P_SPEAR")
{
iSmithChance = iSmithChance-300;
sSuccess = "You carefully forge the spear tip, and affix it to the shaft.";
sFail = "The metal turns brittle as you attempt to forge it, and the spear is ruined.";
sSuccess = "You carefully forge the spear tip and affix it to the shaft.";
sFail = "The metal turns brittle as you attempt to forge and the spear is ruined.";
sItemResRefPoor = CraftLookup("wplss002",iIngotType);
sItemResRef = CraftLookup("nw_wplss001",iIngotType);
sItemResRefExceptional = CraftLookup("wplss003",iIngotType);
@@ -704,7 +691,7 @@ void main()
{
iSmithChance = iSmithChance-100;
sSuccess = "You carefully fold and pound the metal into the form of a kukri.";
sFail = "The metal turns brittle as you attempt to forge it, and the kukri is ruined.";
sFail = "The metal turns brittle as you attempt to forge and the kukri is ruined.";
sItemResRefPoor = CraftLookup("wspku002",iIngotType);
sItemResRef = CraftLookup("nw_wspku001",iIngotType);
sItemResRefExceptional = CraftLookup("wspku003",iIngotType);
@@ -717,7 +704,7 @@ void main()
{
iSmithChance = iSmithChance-150;
sSuccess = "You carefully fold and pound the metal into the form of a sickle.";
sFail = "The metal turns brittle as you attempt to forge it, and the sickle is ruined.";
sFail = "The metal turns brittle as you attempt to forge and the sickle is ruined.";
sItemResRefPoor = CraftLookup("wspsc002",iIngotType);
sItemResRef = CraftLookup("nw_wspsc001",iIngotType);
sItemResRefExceptional = CraftLookup("wspsc003",iIngotType);
@@ -730,7 +717,7 @@ void main()
{
iSmithChance = iSmithChance-450;
sSuccess = "You carefully fold and pound the metal into the form of a dire mace.";
sFail = "The metal turns brittle as you attempt to forge it, and the dire mace is ruined.";
sFail = "The metal turns brittle as you attempt to forge and the dire mace is ruined.";
sItemResRefPoor = CraftLookup("wdbma002",iIngotType);
sItemResRef = CraftLookup("nw_wdbma001",iIngotType);
sItemResRefExceptional = CraftLookup("wdbma003",iIngotType);
@@ -743,7 +730,7 @@ void main()
{
iSmithChance = iSmithChance-450;
sSuccess = "You carefully fold and pound the metal into the form of a double axe.";
sFail = "The metal turns brittle as you attempt to forge it, and the double axe is ruined.";
sFail = "The metal turns brittle as you attempt to forge and the double axe is ruined.";
sItemResRefPoor = CraftLookup("wdbax002",iIngotType);
sItemResRef = CraftLookup("nw_wdbax001",iIngotType);
sItemResRefExceptional = CraftLookup("wdbax003",iIngotType);
@@ -756,7 +743,7 @@ void main()
{
iSmithChance = iSmithChance-500;
sSuccess = "You carefully fold and pound the metal into the form of a two-bladed sword.";
sFail = "The metal turns brittle as you attempt to forge it, and the two-bladed sword is ruined.";
sFail = "The metal turns brittle as you attempt to forge and the two-bladed sword is ruined.";
sItemResRefPoor = CraftLookup("wdbsw002",iIngotType);
sItemResRef = CraftLookup("nw_wdbsw001",iIngotType);
sItemResRefExceptional = CraftLookup("wdbsw003",iIngotType);
@@ -770,7 +757,7 @@ void main()
iSmithChance = iSmithChance+50; //Bullets are easy to make
iCraftStackSize = 99;
sSuccess = "You carefully forge the bullets.";
sFail = "The metal fails to cool properly, and the bullets are ruined.";
sFail = "The metal fails to cool properly and the bullets are ruined.";
sItemResRefPoor = CraftLookup("wambu002",iIngotType);
sItemResRef = CraftLookup("nw_wambu001",iIngotType);
sItemResRefExceptional = CraftLookup("wambu003",iIngotType);
@@ -784,7 +771,7 @@ void main()
iSmithChance = iSmithChance - 50;
iCraftStackSize = 50;
sSuccess = "You carefully forge the arrowheads.";
sFail = "The metal fails to cool properly, and the arrowheads are ruined.";
sFail = "The metal fails to cool properly and the arrowheads are ruined.";
sItemResRefPoor = CraftLookup("arrowhead001",iIngotType);
sItemResRef = CraftLookup("arrowhead",iIngotType);
sItemResRefExceptional = CraftLookup("arrowhead002",iIngotType);
@@ -798,7 +785,7 @@ void main()
iSmithChance = iSmithChance - 50;
iCraftStackSize = 50;
sSuccess = "You carefully forge the bolt tips.";
sFail = "The metal fails to cool properly, and the bolt tips are ruined.";
sFail = "The metal fails to cool properly and the bolt tips are ruined.";
sItemResRefPoor = CraftLookup("arrowhead004",iIngotType);
sItemResRef = CraftLookup("arrowhead003",iIngotType);
sItemResRefExceptional = CraftLookup("arrowhead005",iIngotType);
@@ -813,7 +800,7 @@ void main()
iArmorChance = iArmorChance + 100; // metal studs are super-easy
iCraftStackSize = 99;
sSuccess = "You carefully forge the metal studs.";
sFail = "The metal fails to cool properly, and the metal studs are ruined.";
sFail = "The metal fails to cool properly and the metal studs are ruined.";
sItemResRefPoor = CraftLookup("metalstud001",iIngotType);
sItemResRef = CraftLookup("metalstud",iIngotType);
sItemResRefExceptional = CraftLookup("metalstud002",iIngotType);
@@ -826,7 +813,7 @@ void main()
{
iSmithChance = iSmithChance-350;
sSuccess = "You carefully fold and pound the metal into the form of a katana.";
sFail = "The metal turns brittle as you attempt to forge it, and the katana is ruined.";
sFail = "The metal turns brittle as you attempt to forge and the katana is ruined.";
sItemResRefPoor = CraftLookup("wswka002",iIngotType);
sItemResRef = CraftLookup("nw_wswka001",iIngotType);
sItemResRefExceptional = CraftLookup("wswka003",iIngotType);
@@ -839,7 +826,7 @@ void main()
{
iSmithChance = iSmithChance-250;
sSuccess = "You carefully fold and pound the metal into the form of a rapier.";
sFail = "The metal turns brittle as you attempt to forge it, and the rapier is ruined.";
sFail = "The metal turns brittle as you attempt to forge and the rapier is ruined.";
sItemResRefPoor = CraftLookup("wswrp002",iIngotType);
sItemResRef = CraftLookup("nw_wswrp001",iIngotType);
sItemResRefExceptional = CraftLookup("wswrp003",iIngotType);
@@ -852,7 +839,7 @@ void main()
{
iSmithChance = iSmithChance-300;
sSuccess = "You carefully fold and pound the metal into the form of a scimitar.";
sFail = "The metal turns brittle as you attempt to forge it, and the scimitar is ruined.";
sFail = "The metal turns brittle as you attempt to forge and the scimitar is ruined.";
sItemResRefPoor = CraftLookup("wswsc002",iIngotType);
sItemResRef = CraftLookup("nw_wswsc001",iIngotType);
sItemResRefExceptional = CraftLookup("wswsc003",iIngotType);
@@ -865,7 +852,7 @@ void main()
{
iSmithChance = iSmithChance-400;
sSuccess = "You carefully fold and pound the metal into the form of a great axe.";
sFail = "The metal turns brittle as you attempt to forge it, and the great axe is ruined.";
sFail = "The metal turns brittle as you attempt to forge and the great axe is ruined.";
sItemResRefPoor = CraftLookup("waxgr002",iIngotType);
sItemResRef = CraftLookup("nw_waxgr001",iIngotType);
sItemResRefExceptional = CraftLookup("waxgr003",iIngotType);
@@ -878,12 +865,12 @@ void main()
{
if (GetRacialType(oPC)!=RACIAL_TYPE_DWARF)
{
FloatingTextStringOnCreature("You are not a dwarf! You will be unable to craft a Dwarven Waraxe!",oPC,FALSE);
FloatingTextStringOnCreature("You are not a dwarf! You cannot craft a Dwarven Waraxe!",oPC,FALSE);
return;
}
iSmithChance = iSmithChance-400;
sSuccess = "You carefully fold and pound the metal into the form of a dwarven waraxe.";
sFail = "The metal turns brittle as you attempt to forge it, and the dwarven waraxe is ruined.";
sFail = "The metal turns brittle as you attempt to forge and the dwarven waraxe is ruined.";
sItemResRefPoor = CraftLookup("wdwraxe002",iIngotType);
sItemResRef = CraftLookup("x2_wdwraxe001",iIngotType);
sItemResRefExceptional = CraftLookup("wdwraxe003",iIngotType);
@@ -1259,13 +1246,7 @@ void main()
if (iSmithSkill <= 1000)
{
//DelayCommand(13.0,SetTokenPair(oPC,13,4,iSmithSkill));
// uses NWN database
DelayCommand(13.0,SetCampaignInt("UOACraft","iSmithSkill",iSmithSkill,oPC));
// uses external database
DelayCommand(13.0,SetPersistentInt(oPC,"iSmithSkill",iSmithSkill,0,"UOACraft"));
DelayCommand(13.0,SendMessageToPC(oPC,"========================================="));
DelayCommand(13.0,SendMessageToPC(oPC,"Your skill in weaponsmithing has gone up!"));
DelayCommand(13.0,SendMessageToPC(oPC,"Current weaponsmithing skill : "+ sOldSkill+"%"));
@@ -1289,13 +1270,7 @@ void main()
if (iArmorSkill <= 1000)
{
//DelayCommand(13.0,SetTokenPair(oPC,13,5,iArmorSkill));
//uses NWN database
DelayCommand(13.0,SetCampaignInt("UOACraft","iArmorSkill",iArmorSkill,oPC));
//uses external database
DelayCommand(13.0,SetPersistentInt(oPC,"iArmorSkill",iArmorSkill,0,"UOACraft"));
DelayCommand(13.0,SendMessageToPC(oPC,"====================================="));
DelayCommand(13.0,SendMessageToPC(oPC,"Your skill in armorcraft has gone up!"));
DelayCommand(13.0,SendMessageToPC(oPC,"Current armorcraft skill : "+ sOldSkill+"%"));