PoA_PRC8/_module/nss/forge_splitcheck.nss
Jaysyn904 80d4b7c4d6 Added Skullkeep Mystic Forge / Combine system
Added Skullkeep Mystic Forge / Combine system., modified to use a single forge and combine for all item types.  Added new Magesmith shop & NPC in Town of Ascension.  Full compile.  Updated release archive.
2024-11-10 20:06:52 -05:00

183 lines
6.5 KiB
Plaintext

/////::///////////////////////////////////////////////
/////:: forge_guildcheck script - check to make sure not splitting a guild item
/////:: Written by Winterknight on 2/17/06
/////:://////////////////////////////////////////////
#include "nw_i0_tool"
#include "prc_misc_const"
int StartingConditional()
{
object oForge = GetNearestObjectByTag("forge_custom",OBJECT_SELF,1);
object oItem = GetFirstItemInInventory(oForge);
int nBase = GetBaseItemType (oItem);
int nType = GetLocalInt(OBJECT_SELF, "ItemType");
return FALSE;
if (nType == 1) // Belts and Boots
{
if (nBase == BASE_ITEM_BOOTS ||
nBase == BASE_ITEM_MISCLARGE ||
nBase == BASE_ITEM_MISCMEDIUM||
nBase == BASE_ITEM_MISCSMALL ||
nBase == BASE_ITEM_MISCTALL ||
nBase == BASE_ITEM_MISCTHIN ||
nBase == BASE_ITEM_MISCWIDE ||
nBase == BASE_ITEM_BELT)
return FALSE;
}
if (nType == 2) // Armor, Helms, Shields
{
if (nBase == BASE_ITEM_TOWERSHIELD ||
nBase == BASE_ITEM_MISCLARGE ||
nBase == BASE_ITEM_MISCMEDIUM||
nBase == BASE_ITEM_MISCSMALL ||
nBase == BASE_ITEM_MISCTALL ||
nBase == BASE_ITEM_MISCTHIN ||
nBase == BASE_ITEM_MISCWIDE ||
nBase == BASE_ITEM_SMALLSHIELD ||
nBase == BASE_ITEM_HELMET ||
nBase == BASE_ITEM_ARMOR ||
nBase == BASE_ITEM_BRACER ||
nBase == BASE_ITEM_LARGESHIELD)
return FALSE;
}
if (nType == 3) // Melee Weapons
{
if (nBase == BASE_ITEM_BASTARDSWORD ||
nBase == BASE_ITEM_BATTLEAXE ||
nBase == BASE_ITEM_CLUB ||
nBase == BASE_ITEM_DAGGER ||
nBase == BASE_ITEM_DIREMACE ||
nBase == BASE_ITEM_DOUBLEAXE ||
nBase == BASE_ITEM_DOUBLE_SCIMITAR ||
nBase == BASE_ITEM_DWARVENWARAXE ||
nBase == BASE_ITEM_EAGLE_CLAW ||
nBase == BASE_ITEM_ELVEN_COURTBLADE ||
nBase == BASE_ITEM_ELVEN_LIGHTBLADE ||
nBase == BASE_ITEM_ELVEN_THINBLADE ||
nBase == BASE_ITEM_FALCHION ||
nBase == BASE_ITEM_GLOVES ||
nBase == BASE_ITEM_GOAD ||
nBase == BASE_ITEM_GREATAXE ||
nBase == BASE_ITEM_GREATSWORD ||
nBase == BASE_ITEM_HALBERD ||
nBase == BASE_ITEM_HANDAXE ||
nBase == BASE_ITEM_HEAVYCROSSBOW ||
nBase == BASE_ITEM_HEAVYFLAIL ||
nBase == BASE_ITEM_HEAVY_MACE ||
nBase == BASE_ITEM_HEAVY_PICK ||
nBase == BASE_ITEM_KAMA ||
nBase == BASE_ITEM_KATANA ||
nBase == BASE_ITEM_KATAR ||
nBase == BASE_ITEM_KUKRI ||
nBase == BASE_ITEM_LIGHTFLAIL ||
nBase == BASE_ITEM_LIGHTHAMMER ||
nBase == BASE_ITEM_LIGHTMACE ||
nBase == BASE_ITEM_LIGHT_PICK ||
nBase == BASE_ITEM_LONGSWORD ||
nBase == BASE_ITEM_MAUL ||
nBase == BASE_ITEM_MISCLARGE ||
nBase == BASE_ITEM_MISCMEDIUM||
nBase == BASE_ITEM_MISCSMALL ||
nBase == BASE_ITEM_MISCTALL ||
nBase == BASE_ITEM_MISCTHIN ||
nBase == BASE_ITEM_MISCWIDE ||
nBase == BASE_ITEM_MORNINGSTAR ||
nBase == BASE_ITEM_NUNCHAKU ||
nBase == BASE_ITEM_QUARTERSTAFF ||
nBase == BASE_ITEM_RAPIER ||
nBase == BASE_ITEM_SAI ||
nBase == BASE_ITEM_SAP ||
nBase == BASE_ITEM_SCIMITAR ||
nBase == BASE_ITEM_SCYTHE ||
nBase == BASE_ITEM_SHORTSPEAR ||
nBase == BASE_ITEM_SHORTSWORD ||
nBase == BASE_ITEM_SICKLE ||
nBase == BASE_ITEM_SLING ||
nBase == BASE_ITEM_TRIDENT ||
nBase == BASE_ITEM_TWOBLADEDSWORD ||
nBase == BASE_ITEM_WARHAMMER ||
nBase == BASE_ITEM_WHIP)
return FALSE;
}
if (nType == 4) // Cloaks
{
if (nBase == BASE_ITEM_CLOAK ||
nBase == BASE_ITEM_MISCLARGE ||
nBase == BASE_ITEM_MISCMEDIUM||
nBase == BASE_ITEM_MISCSMALL ||
nBase == BASE_ITEM_MISCTALL ||
nBase == BASE_ITEM_MISCTHIN ||
nBase == BASE_ITEM_MISCWIDE )
return FALSE;
}
if (nType == 5) // Rings and Amulets
{
if (nBase == BASE_ITEM_RING ||
nBase == BASE_ITEM_MISCLARGE ||
nBase == BASE_ITEM_MISCMEDIUM||
nBase == BASE_ITEM_MISCSMALL ||
nBase == BASE_ITEM_MISCTALL ||
nBase == BASE_ITEM_MISCTHIN ||
nBase == BASE_ITEM_MISCWIDE ||
nBase == BASE_ITEM_AMULET)
return FALSE;
}
if (nType == 6) // Bows and Crossbows/slings
{
if (nBase == BASE_ITEM_LONGBOW ||
nBase == BASE_ITEM_MISCLARGE ||
nBase == BASE_ITEM_MISCMEDIUM||
nBase == BASE_ITEM_MISCSMALL ||
nBase == BASE_ITEM_MISCTALL ||
nBase == BASE_ITEM_MISCTHIN ||
nBase == BASE_ITEM_MISCWIDE ||
nBase == BASE_ITEM_LIGHTCROSSBOW ||
nBase == BASE_ITEM_HEAVYCROSSBOW||
nBase == BASE_ITEM_SHORTBOW ||
nBase == BASE_ITEM_SLING )
return FALSE;
}
if (nType == 7) // Thrown weapons and ammunition
{
if (nBase == BASE_ITEM_ARROW ||
nBase == BASE_ITEM_MISCLARGE ||
nBase == BASE_ITEM_MISCMEDIUM||
nBase == BASE_ITEM_MISCSMALL ||
nBase == BASE_ITEM_MISCTALL ||
nBase == BASE_ITEM_MISCTHIN ||
nBase == BASE_ITEM_MISCWIDE ||
nBase == BASE_ITEM_BOLT ||
nBase == BASE_ITEM_BULLET||
nBase == BASE_ITEM_DART ||
nBase == BASE_ITEM_GRENADE ||
nBase == BASE_ITEM_SHURIKEN ||
nBase == BASE_ITEM_THROWINGAXE )
return FALSE;
}
if (nType == 8) // Common items (miscellaneous or not already covered)
{
if (nBase == BASE_ITEM_BOOK ||
nBase == BASE_ITEM_MISCLARGE ||
nBase == BASE_ITEM_MISCMEDIUM||
nBase == BASE_ITEM_MISCSMALL ||
nBase == BASE_ITEM_MISCTALL ||
nBase == BASE_ITEM_MISCTHIN ||
nBase == BASE_ITEM_MISCWIDE ||
nBase == BASE_ITEM_MAGICROD||
nBase == BASE_ITEM_LARGEBOX ||
nBase == BASE_ITEM_MAGICSTAFF ||
nBase == BASE_ITEM_MAGICWAND )
return FALSE;
}
return TRUE;
}