Update to PRC 4.1.10a

Update to PRC 4.1.10a
This commit is contained in:
Jaysyn904
2022-12-09 19:08:32 -05:00
parent edc1ff70e3
commit 6c305aecc5
128 changed files with 48777 additions and 47646 deletions

View File

@@ -24,6 +24,11 @@
// Function Prototypes //
//////////////////////////////
#include "prc_feat_const"
#include "prc_misc_const"
//:: Test void
//:: void main (){}
/**
* Checks oItem for all properties matching iType and iSubType. Removes all
@@ -1468,44 +1473,61 @@ int FeatToIprop(int nFeat)
{
switch(nFeat)
{
case FEAT_WEAPON_FOCUS_BASTARD_SWORD: return IP_CONST_FEAT_WEAPON_FOCUS_BASTARD_SWORD;
case FEAT_WEAPON_FOCUS_BATTLE_AXE: return IP_CONST_FEAT_WEAPON_FOCUS_BATTLE_AXE;
case FEAT_WEAPON_FOCUS_CLUB: return IP_CONST_FEAT_WEAPON_FOCUS_CLUB;
case FEAT_WEAPON_FOCUS_DAGGER: return IP_CONST_FEAT_WEAPON_FOCUS_DAGGER;
case FEAT_WEAPON_FOCUS_DART: return IP_CONST_FEAT_WEAPON_FOCUS_DART;
case FEAT_WEAPON_FOCUS_DIRE_MACE: return IP_CONST_FEAT_WEAPON_FOCUS_DIRE_MACE;
case FEAT_WEAPON_FOCUS_DOUBLE_AXE: return IP_CONST_FEAT_WEAPON_FOCUS_DOUBLE_AXE;
case FEAT_WEAPON_FOCUS_DWAXE: return IP_CONST_FEAT_WEAPON_FOCUS_DWAXE;
case FEAT_WEAPON_FOCUS_GREAT_AXE: return IP_CONST_FEAT_WEAPON_FOCUS_GREAT_AXE;
case FEAT_WEAPON_FOCUS_GREAT_SWORD: return IP_CONST_FEAT_WEAPON_FOCUS_GREAT_SWORD;
case FEAT_WEAPON_FOCUS_HALBERD: return IP_CONST_FEAT_WEAPON_FOCUS_HALBERD;
case FEAT_WEAPON_FOCUS_HAND_AXE: return IP_CONST_FEAT_WEAPON_FOCUS_HAND_AXE;
case FEAT_WEAPON_FOCUS_HEAVY_CROSSBOW: return IP_CONST_FEAT_WEAPON_FOCUS_HEAVY_CROSSBOW;
case FEAT_WEAPON_FOCUS_HEAVY_FLAIL: return IP_CONST_FEAT_WEAPON_FOCUS_HEAVY_FLAIL;
case FEAT_WEAPON_FOCUS_KAMA: return IP_CONST_FEAT_WEAPON_FOCUS_KAMA;
case FEAT_WEAPON_FOCUS_KATANA: return IP_CONST_FEAT_WEAPON_FOCUS_KATANA;
case FEAT_WEAPON_FOCUS_KUKRI: return IP_CONST_FEAT_WEAPON_FOCUS_KUKRI;
case FEAT_WEAPON_FOCUS_LIGHT_CROSSBOW: return IP_CONST_FEAT_WEAPON_FOCUS_LIGHT_CROSSBOW;
case FEAT_WEAPON_FOCUS_LIGHT_FLAIL: return IP_CONST_FEAT_WEAPON_FOCUS_LIGHT_FLAIL;
case FEAT_WEAPON_FOCUS_LIGHT_HAMMER: return IP_CONST_FEAT_WEAPON_FOCUS_LIGHT_HAMMER;
case FEAT_WEAPON_FOCUS_LIGHT_MACE: return IP_CONST_FEAT_WEAPON_FOCUS_LIGHT_MACE;
case FEAT_WEAPON_FOCUS_LONG_SWORD: return IP_CONST_FEAT_WEAPON_FOCUS_LONG_SWORD;
case FEAT_WEAPON_FOCUS_LONGBOW: return IP_CONST_FEAT_WEAPON_FOCUS_LONGBOW;
case FEAT_WEAPON_FOCUS_MORNING_STAR: return IP_CONST_FEAT_WEAPON_FOCUS_MORNING_STAR;
case FEAT_WEAPON_FOCUS_STAFF: return IP_CONST_FEAT_WEAPON_FOCUS_STAFF;
case FEAT_WEAPON_FOCUS_RAPIER: return IP_CONST_FEAT_WEAPON_FOCUS_RAPIER;
case FEAT_WEAPON_FOCUS_SCIMITAR: return IP_CONST_FEAT_WEAPON_FOCUS_SCIMITAR;
case FEAT_WEAPON_FOCUS_SCYTHE: return IP_CONST_FEAT_WEAPON_FOCUS_SCYTHE;
case FEAT_WEAPON_FOCUS_SHORTBOW: return IP_CONST_FEAT_WEAPON_FOCUS_SHORTBOW;
case FEAT_WEAPON_FOCUS_SPEAR: return IP_CONST_FEAT_WEAPON_FOCUS_SPEAR;
case FEAT_WEAPON_FOCUS_SHORT_SWORD: return IP_CONST_FEAT_WEAPON_FOCUS_SHORT_SWORD;
case FEAT_WEAPON_FOCUS_SHURIKEN: return IP_CONST_FEAT_WEAPON_FOCUS_SHURIKEN;
case FEAT_WEAPON_FOCUS_SICKLE: return IP_CONST_FEAT_WEAPON_FOCUS_SICKLE;
case FEAT_WEAPON_FOCUS_SLING: return IP_CONST_FEAT_WEAPON_FOCUS_SLING;
case FEAT_WEAPON_FOCUS_THROWING_AXE: return IP_CONST_FEAT_WEAPON_FOCUS_THROWING_AXE;
case FEAT_WEAPON_FOCUS_BASTARD_SWORD: return IP_CONST_FEAT_WEAPON_FOCUS_BASTARD_SWORD;
case FEAT_WEAPON_FOCUS_BATTLE_AXE: return IP_CONST_FEAT_WEAPON_FOCUS_BATTLE_AXE;
case FEAT_WEAPON_FOCUS_CLUB: return IP_CONST_FEAT_WEAPON_FOCUS_CLUB;
case FEAT_WEAPON_FOCUS_DAGGER: return IP_CONST_FEAT_WEAPON_FOCUS_DAGGER;
case FEAT_WEAPON_FOCUS_DART: return IP_CONST_FEAT_WEAPON_FOCUS_DART;
case FEAT_WEAPON_FOCUS_DIRE_MACE: return IP_CONST_FEAT_WEAPON_FOCUS_DIRE_MACE;
case FEAT_WEAPON_FOCUS_DOUBLE_AXE: return IP_CONST_FEAT_WEAPON_FOCUS_DOUBLE_AXE;
case FEAT_WEAPON_FOCUS_DWAXE: return IP_CONST_FEAT_WEAPON_FOCUS_DWAXE;
case FEAT_WEAPON_FOCUS_GREAT_AXE: return IP_CONST_FEAT_WEAPON_FOCUS_GREAT_AXE;
case FEAT_WEAPON_FOCUS_GREAT_SWORD: return IP_CONST_FEAT_WEAPON_FOCUS_GREAT_SWORD;
case FEAT_WEAPON_FOCUS_HALBERD: return IP_CONST_FEAT_WEAPON_FOCUS_HALBERD;
case FEAT_WEAPON_FOCUS_HAND_AXE: return IP_CONST_FEAT_WEAPON_FOCUS_HAND_AXE;
case FEAT_WEAPON_FOCUS_HEAVY_CROSSBOW: return IP_CONST_FEAT_WEAPON_FOCUS_HEAVY_CROSSBOW;
case FEAT_WEAPON_FOCUS_HEAVY_FLAIL: return IP_CONST_FEAT_WEAPON_FOCUS_HEAVY_FLAIL;
case FEAT_WEAPON_FOCUS_KAMA: return IP_CONST_FEAT_WEAPON_FOCUS_KAMA;
case FEAT_WEAPON_FOCUS_KATANA: return IP_CONST_FEAT_WEAPON_FOCUS_KATANA;
case FEAT_WEAPON_FOCUS_KUKRI: return IP_CONST_FEAT_WEAPON_FOCUS_KUKRI;
case FEAT_WEAPON_FOCUS_LIGHT_CROSSBOW: return IP_CONST_FEAT_WEAPON_FOCUS_LIGHT_CROSSBOW;
case FEAT_WEAPON_FOCUS_LIGHT_FLAIL: return IP_CONST_FEAT_WEAPON_FOCUS_LIGHT_FLAIL;
case FEAT_WEAPON_FOCUS_LIGHT_HAMMER: return IP_CONST_FEAT_WEAPON_FOCUS_LIGHT_HAMMER;
case FEAT_WEAPON_FOCUS_LIGHT_MACE: return IP_CONST_FEAT_WEAPON_FOCUS_LIGHT_MACE;
case FEAT_WEAPON_FOCUS_LONG_SWORD: return IP_CONST_FEAT_WEAPON_FOCUS_LONG_SWORD;
case FEAT_WEAPON_FOCUS_LONGBOW: return IP_CONST_FEAT_WEAPON_FOCUS_LONGBOW;
case FEAT_WEAPON_FOCUS_MORNING_STAR: return IP_CONST_FEAT_WEAPON_FOCUS_MORNING_STAR;
case FEAT_WEAPON_FOCUS_STAFF: return IP_CONST_FEAT_WEAPON_FOCUS_STAFF;
case FEAT_WEAPON_FOCUS_RAPIER: return IP_CONST_FEAT_WEAPON_FOCUS_RAPIER;
case FEAT_WEAPON_FOCUS_SCIMITAR: return IP_CONST_FEAT_WEAPON_FOCUS_SCIMITAR;
case FEAT_WEAPON_FOCUS_SCYTHE: return IP_CONST_FEAT_WEAPON_FOCUS_SCYTHE;
case FEAT_WEAPON_FOCUS_SHORTBOW: return IP_CONST_FEAT_WEAPON_FOCUS_SHORTBOW;
case FEAT_WEAPON_FOCUS_SPEAR: return IP_CONST_FEAT_WEAPON_FOCUS_SPEAR;
case FEAT_WEAPON_FOCUS_SHORT_SWORD: return IP_CONST_FEAT_WEAPON_FOCUS_SHORT_SWORD;
case FEAT_WEAPON_FOCUS_SHURIKEN: return IP_CONST_FEAT_WEAPON_FOCUS_SHURIKEN;
case FEAT_WEAPON_FOCUS_SICKLE: return IP_CONST_FEAT_WEAPON_FOCUS_SICKLE;
case FEAT_WEAPON_FOCUS_SLING: return IP_CONST_FEAT_WEAPON_FOCUS_SLING;
case FEAT_WEAPON_FOCUS_THROWING_AXE: return IP_CONST_FEAT_WEAPON_FOCUS_THROWING_AXE;
case FEAT_WEAPON_FOCUS_TWO_BLADED_SWORD: return IP_CONST_FEAT_WEAPON_FOCUS_TWO_BLADED_SWORD;
case FEAT_WEAPON_FOCUS_WAR_HAMMER: return IP_CONST_FEAT_WEAPON_FOCUS_WAR_HAMMER;
case FEAT_WEAPON_FOCUS_WHIP: return IP_CONST_FEAT_WEAPON_FOCUS_WHIP;
case FEAT_WEAPON_FOCUS_WAR_HAMMER: return IP_CONST_FEAT_WEAPON_FOCUS_WAR_HAMMER;
case FEAT_WEAPON_FOCUS_WHIP: return IP_CONST_FEAT_WEAPON_FOCUS_WHIP;
case FEAT_WEAPON_FOCUS_EAGLE_CLAW: return IP_CONST_FEAT_WEAPON_FOCUS_EAGLE_CLAW;
case FEAT_WEAPON_FOCUS_FALCHION: return IP_CONST_FEAT_WEAPON_FOCUS_FALCHION;
case FEAT_WEAPON_FOCUS_HEAVY_MACE: return IP_CONST_FEAT_WEAPON_FOCUS_HEAVY_MACE;
case FEAT_WEAPON_FOCUS_LIGHT_PICK: return IP_CONST_FEAT_WEAPON_FOCUS_LIGHT_PICK;
case FEAT_WEAPON_FOCUS_HEAVY_PICK: return IP_CONST_FEAT_WEAPON_FOCUS_HEAVY_PICK;
case FEAT_WEAPON_FOCUS_KATAR: return IP_CONST_FEAT_WEAPON_FOCUS_KATAR;
case FEAT_WEAPON_FOCUS_SAI: return IP_CONST_FEAT_WEAPON_FOCUS_SAI;
case FEAT_WEAPON_FOCUS_NUNCHAKU: return IP_CONST_FEAT_WEAPON_FOCUS_NUNCHAKU;
case FEAT_WEAPON_FOCUS_MAUL: return IP_CONST_FEAT_WEAPON_FOCUS_MAUL;
case FEAT_WEAPON_FOCUS_SAP: return IP_CONST_FEAT_WEAPON_FOCUS_SAP;
case FEAT_WEAPON_FOCUS_DOUBLE_SCIMITAR: return IP_CONST_FEAT_WEAPON_FOCUS_DOUBLE_SCIMITAR;
case FEAT_WEAPON_FOCUS_GOAD: return IP_CONST_FEAT_WEAPON_FOCUS_GOAD;
case FEAT_WEAPON_FOCUS_TRIDENT: return IP_CONST_FEAT_WEAPON_FOCUS_TRIDENT;
case FEAT_WEAPON_FOCUS_ELVEN_LIGHTBLADE: return IP_CONST_FEAT_WEAPON_FOCUS_ELVEN_LIGHTBLADE;
case FEAT_WEAPON_FOCUS_ELVEN_THINBLADE: return IP_CONST_FEAT_WEAPON_FOCUS_ELVEN_THINBLADE;
case FEAT_WEAPON_FOCUS_ELVEN_COURTBLADE: return IP_CONST_FEAT_WEAPON_FOCUS_ELVEN_COURTBLADE;
case FEAT_WEAPON_SPECIALIZATION_CLUB: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_CLUB ;
case FEAT_WEAPON_SPECIALIZATION_DAGGER: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_DAGGER ;
@@ -1543,9 +1565,12 @@ int FeatToIprop(int nFeat)
case FEAT_WEAPON_SPECIALIZATION_BASTARD_SWORD: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_BASTARD_SWORD ;
case FEAT_WEAPON_SPECIALIZATION_DIRE_MACE: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_DIRE_MACE ;
case FEAT_WEAPON_SPECIALIZATION_DOUBLE_AXE: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_DOUBLE_AXE ;
case FEAT_WEAPON_SPECIALIZATION_TWO_BLADED_SWORD: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_TWO_BLADED_SWORD ;
case FEAT_WEAPON_SPECIALIZATION_DWAXE: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_DWAXE ;
case FEAT_WEAPON_SPECIALIZATION_WHIP: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_WHIP ;
case FEAT_WEAPON_SPECIALIZATION_TWO_BLADED_SWORD: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_TWO_BLADED_SWORD;
case FEAT_WEAPON_SPECIALIZATION_DWAXE: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_DWAXE;
case FEAT_WEAPON_SPECIALIZATION_WHIP: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_WHIP;
case FEAT_WEAPON_SPECIALIZATION_ELVEN_LIGHTBLADE: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_ELVEN_LIGHTBLADE;
case FEAT_WEAPON_SPECIALIZATION_ELVEN_THINBLADE: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_ELVEN_THINBLADE;
case FEAT_WEAPON_SPECIALIZATION_ELVEN_COURTBLADE: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_ELVEN_COURTBLADE;
}
return - 1;
}
@@ -1554,44 +1579,61 @@ int FocusToWeapProf(int nFeat)
{
switch(nFeat)
{
case FEAT_WEAPON_FOCUS_CLUB: return BASE_ITEM_CLUB;
case FEAT_WEAPON_FOCUS_DAGGER: return BASE_ITEM_DAGGER;
case FEAT_WEAPON_FOCUS_DART: return BASE_ITEM_DART;
case FEAT_WEAPON_FOCUS_HEAVY_CROSSBOW: return BASE_ITEM_HEAVYCROSSBOW;
case FEAT_WEAPON_FOCUS_LIGHT_CROSSBOW: return BASE_ITEM_LIGHTCROSSBOW;
case FEAT_WEAPON_FOCUS_LIGHT_MACE: return BASE_ITEM_LIGHTMACE;
case FEAT_WEAPON_FOCUS_MORNING_STAR: return BASE_ITEM_MORNINGSTAR;
case FEAT_WEAPON_FOCUS_STAFF: return BASE_ITEM_QUARTERSTAFF;
case FEAT_WEAPON_FOCUS_SPEAR: return BASE_ITEM_SHORTSPEAR;
case FEAT_WEAPON_FOCUS_SICKLE: return BASE_ITEM_SICKLE;
case FEAT_WEAPON_FOCUS_SLING: return BASE_ITEM_SLING;
case FEAT_WEAPON_FOCUS_LONGBOW: return BASE_ITEM_LONGBOW;
case FEAT_WEAPON_FOCUS_SHORTBOW: return BASE_ITEM_SHORTBOW;
case FEAT_WEAPON_FOCUS_SHORT_SWORD: return BASE_ITEM_SHORTSWORD;
case FEAT_WEAPON_FOCUS_RAPIER: return BASE_ITEM_RAPIER;
case FEAT_WEAPON_FOCUS_SCIMITAR: return BASE_ITEM_SCIMITAR;
case FEAT_WEAPON_FOCUS_LONG_SWORD: return BASE_ITEM_LONGSWORD;
case FEAT_WEAPON_FOCUS_GREAT_SWORD: return BASE_ITEM_GREATSWORD;
case FEAT_WEAPON_FOCUS_HAND_AXE: return BASE_ITEM_HANDAXE;
case FEAT_WEAPON_FOCUS_THROWING_AXE: return BASE_ITEM_THROWINGAXE;
case FEAT_WEAPON_FOCUS_BATTLE_AXE: return BASE_ITEM_BATTLEAXE;
case FEAT_WEAPON_FOCUS_GREAT_AXE: return BASE_ITEM_GREATAXE;
case FEAT_WEAPON_FOCUS_HALBERD: return BASE_ITEM_HALBERD;
case FEAT_WEAPON_FOCUS_LIGHT_HAMMER: return BASE_ITEM_LIGHTHAMMER;
case FEAT_WEAPON_FOCUS_LIGHT_FLAIL: return BASE_ITEM_LIGHTFLAIL;
case FEAT_WEAPON_FOCUS_WAR_HAMMER: return BASE_ITEM_WARHAMMER;
case FEAT_WEAPON_FOCUS_HEAVY_FLAIL: return BASE_ITEM_HEAVYFLAIL;
case FEAT_WEAPON_FOCUS_KAMA: return BASE_ITEM_KAMA;
case FEAT_WEAPON_FOCUS_KUKRI: return BASE_ITEM_KUKRI;
case FEAT_WEAPON_FOCUS_SHURIKEN: return BASE_ITEM_SHURIKEN;
case FEAT_WEAPON_FOCUS_SCYTHE: return BASE_ITEM_SCYTHE;
case FEAT_WEAPON_FOCUS_KATANA: return BASE_ITEM_KATANA;
case FEAT_WEAPON_FOCUS_BASTARD_SWORD: return BASE_ITEM_BASTARDSWORD;
case FEAT_WEAPON_FOCUS_DIRE_MACE: return BASE_ITEM_DIREMACE;
case FEAT_WEAPON_FOCUS_DOUBLE_AXE: return BASE_ITEM_DOUBLEAXE;
case FEAT_WEAPON_FOCUS_TWO_BLADED_SWORD: return BASE_ITEM_TWOBLADEDSWORD;
case FEAT_WEAPON_FOCUS_DWAXE: return BASE_ITEM_DWARVENWARAXE;
case FEAT_WEAPON_FOCUS_WHIP: return BASE_ITEM_WHIP;
case FEAT_WEAPON_FOCUS_CLUB: return BASE_ITEM_CLUB;
case FEAT_WEAPON_FOCUS_DAGGER: return BASE_ITEM_DAGGER;
case FEAT_WEAPON_FOCUS_DART: return BASE_ITEM_DART;
case FEAT_WEAPON_FOCUS_HEAVY_CROSSBOW: return BASE_ITEM_HEAVYCROSSBOW;
case FEAT_WEAPON_FOCUS_LIGHT_CROSSBOW: return BASE_ITEM_LIGHTCROSSBOW;
case FEAT_WEAPON_FOCUS_LIGHT_MACE: return BASE_ITEM_LIGHTMACE;
case FEAT_WEAPON_FOCUS_MORNING_STAR: return BASE_ITEM_MORNINGSTAR;
case FEAT_WEAPON_FOCUS_STAFF: return BASE_ITEM_QUARTERSTAFF;
case FEAT_WEAPON_FOCUS_SPEAR: return BASE_ITEM_SHORTSPEAR;
case FEAT_WEAPON_FOCUS_SICKLE: return BASE_ITEM_SICKLE;
case FEAT_WEAPON_FOCUS_SLING: return BASE_ITEM_SLING;
case FEAT_WEAPON_FOCUS_LONGBOW: return BASE_ITEM_LONGBOW;
case FEAT_WEAPON_FOCUS_SHORTBOW: return BASE_ITEM_SHORTBOW;
case FEAT_WEAPON_FOCUS_SHORT_SWORD: return BASE_ITEM_SHORTSWORD;
case FEAT_WEAPON_FOCUS_RAPIER: return BASE_ITEM_RAPIER;
case FEAT_WEAPON_FOCUS_SCIMITAR: return BASE_ITEM_SCIMITAR;
case FEAT_WEAPON_FOCUS_LONG_SWORD: return BASE_ITEM_LONGSWORD;
case FEAT_WEAPON_FOCUS_GREAT_SWORD: return BASE_ITEM_GREATSWORD;
case FEAT_WEAPON_FOCUS_HAND_AXE: return BASE_ITEM_HANDAXE;
case FEAT_WEAPON_FOCUS_THROWING_AXE: return BASE_ITEM_THROWINGAXE;
case FEAT_WEAPON_FOCUS_BATTLE_AXE: return BASE_ITEM_BATTLEAXE;
case FEAT_WEAPON_FOCUS_GREAT_AXE: return BASE_ITEM_GREATAXE;
case FEAT_WEAPON_FOCUS_HALBERD: return BASE_ITEM_HALBERD;
case FEAT_WEAPON_FOCUS_LIGHT_HAMMER: return BASE_ITEM_LIGHTHAMMER;
case FEAT_WEAPON_FOCUS_LIGHT_FLAIL: return BASE_ITEM_LIGHTFLAIL;
case FEAT_WEAPON_FOCUS_WAR_HAMMER: return BASE_ITEM_WARHAMMER;
case FEAT_WEAPON_FOCUS_HEAVY_FLAIL: return BASE_ITEM_HEAVYFLAIL;
case FEAT_WEAPON_FOCUS_KAMA: return BASE_ITEM_KAMA;
case FEAT_WEAPON_FOCUS_KUKRI: return BASE_ITEM_KUKRI;
case FEAT_WEAPON_FOCUS_SHURIKEN: return BASE_ITEM_SHURIKEN;
case FEAT_WEAPON_FOCUS_SCYTHE: return BASE_ITEM_SCYTHE;
case FEAT_WEAPON_FOCUS_KATANA: return BASE_ITEM_KATANA;
case FEAT_WEAPON_FOCUS_BASTARD_SWORD: return BASE_ITEM_BASTARDSWORD;
case FEAT_WEAPON_FOCUS_DIRE_MACE: return BASE_ITEM_DIREMACE;
case FEAT_WEAPON_FOCUS_DOUBLE_AXE: return BASE_ITEM_DOUBLEAXE;
case FEAT_WEAPON_FOCUS_TWO_BLADED_SWORD: return BASE_ITEM_TWOBLADEDSWORD;
case FEAT_WEAPON_FOCUS_DWAXE: return BASE_ITEM_DWARVENWARAXE;
case FEAT_WEAPON_FOCUS_WHIP: return BASE_ITEM_WHIP;
case FEAT_WEAPON_FOCUS_EAGLE_CLAW: return BASE_ITEM_EAGLE_CLAW;
case FEAT_WEAPON_FOCUS_FALCHION: return BASE_ITEM_FALCHION;
case FEAT_WEAPON_FOCUS_GOAD: return BASE_ITEM_GOAD;
case FEAT_WEAPON_FOCUS_HEAVY_MACE: return BASE_ITEM_HEAVY_MACE;
case FEAT_WEAPON_FOCUS_LIGHT_PICK: return BASE_ITEM_LIGHT_PICK;
case FEAT_WEAPON_FOCUS_HEAVY_PICK: return BASE_ITEM_HEAVY_PICK;
case FEAT_WEAPON_FOCUS_KATAR: return BASE_ITEM_KATAR;
case FEAT_WEAPON_FOCUS_SAI: return BASE_ITEM_SAI;
case FEAT_WEAPON_FOCUS_NUNCHAKU: return BASE_ITEM_NUNCHAKU;
case FEAT_WEAPON_FOCUS_MAUL: return BASE_ITEM_MAUL;
case FEAT_WEAPON_FOCUS_SAP: return BASE_ITEM_SAP;
case FEAT_WEAPON_FOCUS_DOUBLE_SCIMITAR: return BASE_ITEM_DOUBLE_SCIMITAR;
case FEAT_WEAPON_FOCUS_TRIDENT: return BASE_ITEM_TRIDENT;
case FEAT_WEAPON_FOCUS_ELVEN_LIGHTBLADE: return BASE_ITEM_ELVEN_LIGHTBLADE;
case FEAT_WEAPON_FOCUS_ELVEN_THINBLADE: return BASE_ITEM_ELVEN_THINBLADE;
case FEAT_WEAPON_FOCUS_ELVEN_COURTBLADE: return BASE_ITEM_ELVEN_COURTBLADE;
}
return - 1;
}

View File

@@ -81,6 +81,13 @@ int PreInvocationCastCode()
// Break any spell require maintaining concentration
//---------------------------------------------------------------------------
X2BreakConcentrationSpells();
//---------------------------------------------------------------------------
// No invoking while using expertise
//---------------------------------------------------------------------------
if(nContinue)
if (GetActionMode(oInvoker, ACTION_MODE_EXPERTISE) || GetActionMode(oInvoker, ACTION_MODE_IMPROVED_EXPERTISE))
nContinue = FALSE;
//---------------------------------------------------------------------------
// Check for PRC spell effects

View File

@@ -1246,9 +1246,9 @@ int GetWeaponType(int nBaseItem)
case BASE_ITEM_SHURIKEN:
case BASE_ITEM_DWARVENWARAXE:
case BASE_ITEM_WHIP:
case BASE_ITEM_ELF_LIGHTBLADE:
case BASE_ITEM_ELF_THINBLADE:
case BASE_ITEM_ELF_COURTBLADE:
case BASE_ITEM_ELVEN_LIGHTBLADE:
case BASE_ITEM_ELVEN_THINBLADE:
case BASE_ITEM_ELVEN_COURTBLADE:
case BASE_ITEM_DOUBLE_SCIMITAR:
case BASE_ITEM_NUNCHAKU:
case BASE_ITEM_SAI:
@@ -1272,8 +1272,8 @@ int GetWeaponType(int nBaseItem)
case BASE_ITEM_RAPIER:
case BASE_ITEM_SCIMITAR:
case BASE_ITEM_THROWINGAXE:
case BASE_ITEM_PICK_HEAVY:
case BASE_ITEM_PICK_LIGHT:
case BASE_ITEM_HEAVY_PICK:
case BASE_ITEM_LIGHT_PICK:
case BASE_ITEM_FALCHION:
case BASE_ITEM_SAP:
case BASE_ITEM_MAUL:
@@ -1293,7 +1293,7 @@ int GetWeaponType(int nBaseItem)
case BASE_ITEM_CLUB:
case BASE_ITEM_QUARTERSTAFF:
case BASE_ITEM_KATAR:
case BASE_ITEM_MACE_HEAVY:
case BASE_ITEM_HEAVY_MACE:
case BASE_ITEM_GOAD:
return PRC_CRAFT_SIMPLE_WEAPON;
break;
@@ -2357,6 +2357,8 @@ itemproperty ConstructIP(int nType, int nSubTypeValue = 0, int nCostTableValue =
case ITEM_PROPERTY_MATERIAL: return ItemPropertyMaterial(nCostTableValue);
case ITEM_PROPERTY_QUALITY: return ItemPropertyQuality(nCostTableValue);
case ITEM_PROPERTY_ADDITIONAL: return ItemPropertyAdditional(nCostTableValue);
case ITEM_PROPERTY_ECHOBLADE: return ItemPropertyEchoblade();
//ROOM FOR MORE - 89 so far, need increase/decrease cost
/*
@@ -2830,3 +2832,5 @@ int ITEM_APPR_WEAPON_COLOR_BOTTOM = 0;
int ITEM_APPR_WEAPON_COLOR_MIDDLE = 1;
int ITEM_APPR_WEAPON_COLOR_TOP = 2;
*/
// void main () {}

View File

@@ -1,6 +1,9 @@
// The error code 5 prevention entry. Comment out or uncomment as necessary
//const int COMPILER_BREAKS_ON_ME_OR_NOT = 0xffffffff;
//:: Test void
// void main (){}
// PRC Options Conversation
const int FEAT_OPTIONS_CONVERSATION = 2285;
@@ -216,11 +219,11 @@ const int FEAT_SA_INTIMIDATE = 4547;
const int FEAT_SA_PICKPOCKET = 4552;
const int FEAT_SA_HIDE_TROG = 23550;
const int FEAT_LARGE = 4760;
const int FEAT_AZER_HEAT = 4790;
const int FEAT_SVIRFNEBLIN_DODGE = 4791;
const int FEAT_WATER_BREATHING = 4793;
const int FEAT_MINOT_SCENT = 4795;
const int FEAT_LARGE = 4760;
const int FEAT_AZER_HEAT = 4790;
const int FEAT_SVIRFNEBLIN_DODGE = 4791;
const int FEAT_WATER_BREATHING = 4793;
const int FEAT_ABILITY_SCENT = 4795;
const int FEAT_CHAMELEON = 4576;
const int FEAT_BONUS_RIVER = 4578;
@@ -293,7 +296,7 @@ const int FEAT_TOUCH_OF_LUCK = 4634;
const int FEAT_FORESTLORD_TREEWALK = 4633;
const int FEAT_KALASHTAR_PP = 5205;
//PnP Weapon Proficiencies
//: PnP Weapon Proficiencies
const int FEAT_WEAPON_PROFICIENCY_SHORTSWORD = 7901;
const int FEAT_WEAPON_PROFICIENCY_LONGSWORD = 7902;
const int FEAT_WEAPON_PROFICIENCY_BATTLEAXE = 7903;
@@ -335,7 +338,7 @@ const int FEAT_WEAPON_PROFICIENCY_LIGHT_LANCE = 7938;
const int FEAT_WEAPON_PROFICIENCY_HEAVY_PICK = 7939;
const int FEAT_WEAPON_PROFICIENCY_LIGHT_PICK = 7940;
const int FEAT_WEAPON_PROFICIENCY_SAI = 7941;
const int FEAT_WEAPON_PROFICIENCY_NUNCHUKU = 7942;
const int FEAT_WEAPON_PROFICIENCY_NUNCHAKU = 7942;
const int FEAT_WEAPON_PROFICIENCY_FALCHION = 7943;
const int FEAT_WEAPON_PROFICIENCY_SAP = 7944;
const int FEAT_WEAPON_PROFICIENCY_KATAR = 7945;
@@ -345,20 +348,149 @@ const int FEAT_WEAPON_PROFICIENCY_DOUBLE_SCIMITAR = 7948;
const int FEAT_WEAPON_PROFICIENCY_GOAD = 7949;
const int FEAT_WEAPON_PROFICIENCY_EAGLE_CLAW = 7950;
// new Weapon feats
const int FEAT_WEAPON_FOCUS_LIGHT_LANCE = 24601;
const int FEAT_WEAPON_FOCUS_HEAVY_PICK = 24602;
const int FEAT_WEAPON_FOCUS_LIGHT_PICK = 24603;
const int FEAT_WEAPON_FOCUS_SAI = 24604;
const int FEAT_WEAPON_FOCUS_NUNCHUKU = 24605;
const int FEAT_WEAPON_FOCUS_FALCHION = 24606;
const int FEAT_WEAPON_FOCUS_SAP = 24607;
const int FEAT_WEAPON_FOCUS_KATAR = 24608;
const int FEAT_WEAPON_FOCUS_HEAVY_MACE = 24609;
const int FEAT_WEAPON_FOCUS_MAUL = 24610;
const int FEAT_WEAPON_FOCUS_DOUBLE_SCIMITAR = 24611;
const int FEAT_WEAPON_FOCUS_GOAD = 24612;
const int FEAT_WEAPON_FOCUS_EAGLE_CLAW = 24721;
//:: New Weapon Focus Feats
const int FEAT_WEAPON_FOCUS_LIGHT_LANCE = 24601;
const int FEAT_WEAPON_FOCUS_HEAVY_PICK = 24602;
const int FEAT_WEAPON_FOCUS_LIGHT_PICK = 24603;
const int FEAT_WEAPON_FOCUS_SAI = 24604;
const int FEAT_WEAPON_FOCUS_NUNCHAKU = 24605;
const int FEAT_WEAPON_FOCUS_FALCHION = 24606;
const int FEAT_WEAPON_FOCUS_SAP = 24607;
const int FEAT_WEAPON_FOCUS_KATAR = 24608;
const int FEAT_WEAPON_FOCUS_HEAVY_MACE = 24609;
const int FEAT_WEAPON_FOCUS_MAUL = 24610;
const int FEAT_WEAPON_FOCUS_DOUBLE_SCIMITAR = 24611;
const int FEAT_WEAPON_FOCUS_GOAD = 24612;
const int FEAT_WEAPON_FOCUS_EAGLE_CLAW = 24721;
const int FEAT_WEAPON_FOCUS_ELVEN_LIGHTBLADE = 24697;
const int FEAT_WEAPON_FOCUS_ELVEN_THINBLADE = 24705;
const int FEAT_WEAPON_FOCUS_ELVEN_COURTBLADE = 24713;
//:: New Weapon Improved Critical Feats
const int FEAT_IMPROVED_CRITICAL_LIGHT_LANCE = 24649;
const int FEAT_IMPROVED_CRITICAL_HEAVY_PICK = 24650;
const int FEAT_IMPROVED_CRITICAL_LIGHT_PICK = 24651;
const int FEAT_IMPROVED_CRITICAL_SAI = 24652;
const int FEAT_IMPROVED_CRITICAL_NUNCHAKU = 24653;
const int FEAT_IMPROVED_CRITICAL_FALCHION = 24654;
const int FEAT_IMPROVED_CRITICAL_SAP = 24655;
const int FEAT_IMPROVED_CRITICAL_KATAR = 24656;
const int FEAT_IMPROVED_CRITICAL_HEAVY_MACE = 24657;
const int FEAT_IMPROVED_CRITICAL_MAUL = 24658;
const int FEAT_IMPROVED_CRITICAL_DBL_SCIMITAR = 24659;
const int FEAT_IMPROVED_CRITICAL_GOAD = 24660;
const int FEAT_IMPROVED_CRITICAL_EAGLE_CLAW = 24725;
const int FEAT_IMPROVED_CRITICAL_ELVEN_LIGHTBLADE = 24701;
const int FEAT_IMPROVED_CRITICAL_ELVEN_THINBLADE = 24709;
const int FEAT_IMPROVED_CRITICAL_ELVEN_COURTBLADE = 24717;
//:: New Weapon Epic Weapon Focus Feats
const int FEAT_EPIC_WEAPON_FOCUS_LIGHT_LANCE = 24613;
const int FEAT_EPIC_WEAPON_FOCUS_HEAVY_PICK = 24614;
const int FEAT_EPIC_WEAPON_FOCUS_LIGHT_PICK = 24615;
const int FEAT_EPIC_WEAPON_FOCUS_SAI = 24616;
const int FEAT_EPIC_WEAPON_FOCUS_NUNCHAKU = 24617;
const int FEAT_EPIC_WEAPON_FOCUS_FALCHION = 24618;
const int FEAT_EPIC_WEAPON_FOCUS_SAP = 24619;
const int FEAT_EPIC_WEAPON_FOCUS_KATAR = 24620;
const int FEAT_EPIC_WEAPON_FOCUS_HEAVY_MACE = 24621;
const int FEAT_EPIC_WEAPON_FOCUS_MAUL = 24622;
const int FEAT_EPIC_WEAPON_FOCUS_DBL_SCIMITAR = 24623;
const int FEAT_EPIC_WEAPON_FOCUS_GOAD = 24624;
const int FEAT_EPIC_WEAPON_FOCUS_EAGLE_CLAW = 24722;
const int FEAT_EPIC_WEAPON_FOCUS_ELVEN_LIGHTBLADE = 24698;
const int FEAT_EPIC_WEAPON_FOCUS_ELVEN_THINBLADE = 24706;
const int FEAT_EPIC_WEAPON_FOCUS_ELVEN_COURTBLADE = 24714;
//:: New Weapon Overwhelming Critical Feats
const int FEAT_OVERWHELMING_CRITICAL_LIGHT_LANCE = 24661;
const int FEAT_OVERWHELMING_CRITICAL_HEAVY_PICK = 24662;
const int FEAT_OVERWHELMING_CRITICAL_LIGHT_PICK = 24663;
const int FEAT_OVERWHELMING_CRITICAL_SAI = 24664;
const int FEAT_OVERWHELMING_CRITICAL_NUNCHAKU = 24665;
const int FEAT_OVERWHELMING_CRITICAL_FALCHION = 24666;
const int FEAT_OVERWHELMING_CRITICAL_SAP = 24667;
const int FEAT_OVERWHELMING_CRITICAL_KATAR = 24668;
const int FEAT_OVERWHELMING_CRITICAL_HEAVY_MACE = 24669;
const int FEAT_OVERWHELMING_CRITICAL_MAUL = 24670;
const int FEAT_OVERWHELMING_CRITICAL_DBL_SCIMITAR = 24671;
const int FEAT_OVERWHELMING_CRITICAL_GOAD = 24672;
const int FEAT_OVERWHELMING_CRITICAL_EAGLE_CLAW = 24726;
const int FEAT_OVERWHELMING_CRITICAL_ELVEN_LIGHTBLADE = 24702;
const int FEAT_OVERWHELMING_CRITICAL_ELVEN_THINBLADE = 24710;
const int FEAT_OVERWHELMING_CRITICAL_ELVEN_COURTBLADE = 24718;
//:: New Weapon Devastating Critical Feats
const int FEAT_DEVASTATING_CRITICAL_LIGHT_LANCE = 24673;
const int FEAT_DEVASTATING_CRITICAL_HEAVY_PICK = 24674;
const int FEAT_DEVASTATING_CRITICAL_LIGHT_PICK = 24675;
const int FEAT_DEVASTATING_CRITICAL_SAI = 24676;
const int FEAT_DEVASTATING_CRITICAL_NUNCHAKU = 24677;
const int FEAT_DEVASTATING_CRITICAL_FALCHION = 24678;
const int FEAT_DEVASTATING_CRITICAL_SAP = 24679;
const int FEAT_DEVASTATING_CRITICAL_KATAR = 24680;
const int FEAT_DEVASTATING_CRITICAL_HEAVY_MACE = 24681;
const int FEAT_DEVASTATING_CRITICAL_MAUL = 24682;
const int FEAT_DEVASTATING_CRITICAL_DBL_SCIMITAR = 24683;
const int FEAT_DEVASTATING_CRITICAL_GOAD = 24684;
const int FEAT_DEVASTATING_CRITICAL_EAGLE_CLAW = 24727;
const int FEAT_DEVASTATING_CRITICAL_ELVEN_LIGHTBLADE = 24703;
const int FEAT_DEVASTATING_CRITICAL_ELVEN_THINBLADE = 24711;
const int FEAT_DEVASTATING_CRITICAL_ELVEN_COURTBLADE = 24719;
//:: New Weapon of Choice Feats
const int FEAT_WEAPON_OF_CHOICE_LIGHT_LANCE = 24685;
const int FEAT_WEAPON_OF_CHOICE_HEAVY_PICK = 24686;
const int FEAT_WEAPON_OF_CHOICE_LIGHT_PICK = 24687;
const int FEAT_WEAPON_OF_CHOICE_SAI = 24688;
const int FEAT_WEAPON_OF_CHOICE_NUNCHAKU = 24689;
const int FEAT_WEAPON_OF_CHOICE_FALCHION = 24690;
const int FEAT_WEAPON_OF_CHOICE_SAP = 24691;
const int FEAT_WEAPON_OF_CHOICE_KATAR = 24692;
const int FEAT_WEAPON_OF_CHOICE_HEAVY_MACE = 24693;
const int FEAT_WEAPON_OF_CHOICE_MAUL = 24694;
const int FEAT_WEAPON_OF_CHOICE_DBL_SCIMITAR = 24695;
const int FEAT_WEAPON_OF_CHOICE_GOAD = 24696;
const int FEAT_WEAPON_OF_CHOICE_EAGLE_CLAW = 24728;
const int FEAT_WEAPON_OF_CHOICE_ELVEN_LIGHTBLADE = 24704;
const int FEAT_WEAPON_OF_CHOICE_ELVEN_THINBLADE = 24712;
const int FEAT_WEAPON_OF_CHOICE_ELVEN_COURTBLADE = 24720;
//:: New Weapon Specialization Feats
const int FEAT_WEAPON_SPECIALIZATION_LIGHT_LANCE = 24625;
const int FEAT_WEAPON_SPECIALIZATION_HEAVY_PICK = 24626;
const int FEAT_WEAPON_SPECIALIZATION_LIGHT_PICK = 24627;
const int FEAT_WEAPON_SPECIALIZATION_SAI = 24628;
const int FEAT_WEAPON_SPECIALIZATION_NUNCHAKU = 24629;
const int FEAT_WEAPON_SPECIALIZATION_FALCHION = 24630;
const int FEAT_WEAPON_SPECIALIZATION_SAP = 24631;
const int FEAT_WEAPON_SPECIALIZATION_KATAR = 24632;
const int FEAT_WEAPON_SPECIALIZATION_HEAVY_MACE = 24633;
const int FEAT_WEAPON_SPECIALIZATION_MAUL = 24634;
const int FEAT_WEAPON_SPECIALIZATION_DBL_SCIMITAR = 24635;
const int FEAT_WEAPON_SPECIALIZATION_GOAD = 24636;
const int FEAT_WEAPON_SPECIALIZATION_EAGLE_CLAW = 24723;
const int FEAT_WEAPON_SPECIALIZATION_ELVEN_LIGHTBLADE = 24699;
const int FEAT_WEAPON_SPECIALIZATION_ELVEN_THINBLADE = 24707;
const int FEAT_WEAPON_SPECIALIZATION_ELVEN_COURTBLADE = 24715;
//:: New Weapon Epic Specialization Feats
const int FEAT_EPIC_WEAPON_SPECIALIZATION_LIGHT_LANCE = 24637;
const int FEAT_EPIC_WEAPON_SPECIALIZATION_HEAVY_PICK = 24638;
const int FEAT_EPIC_WEAPON_SPECIALIZATION_LIGHT_PICK = 24639;
const int FEAT_EPIC_WEAPON_SPECIALIZATION_SAI = 24640;
const int FEAT_EPIC_WEAPON_SPECIALIZATION_NUNCHAKU = 24641;
const int FEAT_EPIC_WEAPON_SPECIALIZATION_FALCHION = 24642;
const int FEAT_EPIC_WEAPON_SPECIALIZATION_SAP = 24643;
const int FEAT_EPIC_WEAPON_SPECIALIZATION_KATAR = 24644;
const int FEAT_EPIC_WEAPON_SPECIALIZATION_HEAVY_MACE = 24645;
const int FEAT_EPIC_WEAPON_SPECIALIZATION_MAUL = 24646;
const int FEAT_EPIC_WEAPON_SPECIALIZATION_DBL_SCIMITAR = 24647;
const int FEAT_EPIC_WEAPON_SPECIALIZATION_GOAD = 24648;
const int FEAT_EPIC_WEAPON_SPECIALIZATION_EAGLE_CLAW = 24724;
const int FEAT_EPIC_WEAPON_SPECIALIZATION_ELVEN_LIGHTBLADE = 24700;
const int FEAT_EPIC_WEAPON_SPECIALIZATION_ELVEN_THINBLADE = 24708;
const int FEAT_EPIC_WEAPON_SPECIALIZATION_ELVEN_COURTBLADE = 24716;
//Passive Feats
const int FEAT_ETERNAL_FREEDOM = 4298;
@@ -3370,6 +3502,7 @@ const int FEAT_THREE_MOUNTAINS = 5286;
const int FEAT_MONKEY_GRIP = 5197;
const int FEAT_CRESCENT_MOON = 5194;
const int FEAT_QUICK_STAFF = 5190;
const int FEAT_RANGED_DISARM = 5192;
const int FEAT_BEAR_FANG = 5189;
const int FEAT_IMPROVED_RAPID_SHOT = 5188;
const int FEAT_EARTHS_EMBRACE = 5177;

View File

@@ -414,9 +414,9 @@ int Vile_Feat(int iTypeWeap)
case BASE_ITEM_TRIDENT: return GetHasFeat(FEAT_VILE_MARTIAL_TRIDENT);
//new items
case BASE_ITEM_ELF_LIGHTBLADE: return (GetHasFeat(FEAT_VILE_MARTIAL_SHORTSWORD) || GetHasFeat(FEAT_VILE_MARTIAL_RAPIER));
case BASE_ITEM_ELF_THINBLADE: return (GetHasFeat(FEAT_VILE_MARTIAL_LONGSWORD) || GetHasFeat(FEAT_VILE_MARTIAL_RAPIER));
case BASE_ITEM_ELF_COURTBLADE: return GetHasFeat(FEAT_VILE_MARTIAL_GREATSWORD);
case BASE_ITEM_ELVEN_LIGHTBLADE: return (GetHasFeat(FEAT_VILE_MARTIAL_SHORTSWORD) || GetHasFeat(FEAT_VILE_MARTIAL_RAPIER));
case BASE_ITEM_ELVEN_THINBLADE: return (GetHasFeat(FEAT_VILE_MARTIAL_LONGSWORD) || GetHasFeat(FEAT_VILE_MARTIAL_RAPIER));
case BASE_ITEM_ELVEN_COURTBLADE: return GetHasFeat(FEAT_VILE_MARTIAL_GREATSWORD);
}
return FALSE;
@@ -473,9 +473,9 @@ int Sanctify_Feat(int iTypeWeap)
case BASE_ITEM_TRIDENT: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_TRIDENT);
//new items
case BASE_ITEM_ELF_LIGHTBLADE: return (GetHasFeat(FEAT_SANCTIFY_MARTIAL_SHORTSWORD) || GetHasFeat(FEAT_SANCTIFY_MARTIAL_RAPIER));
case BASE_ITEM_ELF_THINBLADE: return (GetHasFeat(FEAT_SANCTIFY_MARTIAL_LONGSWORD) || GetHasFeat(FEAT_SANCTIFY_MARTIAL_RAPIER));
case BASE_ITEM_ELF_COURTBLADE: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_GREATSWORD);
case BASE_ITEM_ELVEN_LIGHTBLADE: return (GetHasFeat(FEAT_SANCTIFY_MARTIAL_SHORTSWORD) || GetHasFeat(FEAT_SANCTIFY_MARTIAL_RAPIER));
case BASE_ITEM_ELVEN_THINBLADE: return (GetHasFeat(FEAT_SANCTIFY_MARTIAL_LONGSWORD) || GetHasFeat(FEAT_SANCTIFY_MARTIAL_RAPIER));
case BASE_ITEM_ELVEN_COURTBLADE: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_GREATSWORD);
}
return FALSE;

View File

@@ -7,6 +7,9 @@
* Used by the combat system, weapon restriction/proficiency system and for deity weapons (eg. favoured soul)
*/
//:: Test void
//void main (){}
//////////////////////////////////////////////////
/* Constant definitions */
//////////////////////////////////////////////////
@@ -184,6 +187,7 @@ int GetIsShield(object oItem);
//////////////////////////////////////////////////
#include "prc_misc_const"
#include "prc_feat_const"
#include "inc_2dacache"
//////////////////////////////////////////////////
@@ -259,9 +263,9 @@ int GetFocusFeatOfWeaponType(int iWeaponType)
case BASE_ITEM_WHIP: return FEAT_WEAPON_FOCUS_WHIP;
// new item types
case BASE_ITEM_ELF_LIGHTBLADE: return FEAT_WEAPON_FOCUS_SHORT_SWORD;
case BASE_ITEM_ELF_THINBLADE: return FEAT_WEAPON_FOCUS_LONG_SWORD;
case BASE_ITEM_ELF_COURTBLADE: return FEAT_WEAPON_FOCUS_GREAT_SWORD;
case BASE_ITEM_ELVEN_LIGHTBLADE: return FEAT_WEAPON_FOCUS_ELVEN_LIGHTBLADE;
case BASE_ITEM_ELVEN_THINBLADE: return FEAT_WEAPON_FOCUS_ELVEN_THINBLADE;
case BASE_ITEM_ELVEN_COURTBLADE: return FEAT_WEAPON_FOCUS_ELVEN_COURTBLADE;
}
return -1;
}
@@ -315,9 +319,9 @@ int GetSpecializationFeatOfWeaponType(int iWeaponType)
case BASE_ITEM_WHIP: return FEAT_WEAPON_SPECIALIZATION_WHIP;
// new item types
case BASE_ITEM_ELF_LIGHTBLADE: return FEAT_WEAPON_SPECIALIZATION_SHORT_SWORD;
case BASE_ITEM_ELF_THINBLADE: return FEAT_WEAPON_SPECIALIZATION_LONG_SWORD;
case BASE_ITEM_ELF_COURTBLADE: return FEAT_WEAPON_SPECIALIZATION_GREAT_SWORD;
case BASE_ITEM_ELVEN_LIGHTBLADE: return FEAT_WEAPON_SPECIALIZATION_ELVEN_LIGHTBLADE;
case BASE_ITEM_ELVEN_THINBLADE: return FEAT_WEAPON_SPECIALIZATION_ELVEN_THINBLADE;
case BASE_ITEM_ELVEN_COURTBLADE: return FEAT_WEAPON_SPECIALIZATION_ELVEN_COURTBLADE;
}
return -1;
}
@@ -371,9 +375,9 @@ int GetEpicFocusFeatOfWeaponType(int iWeaponType)
case BASE_ITEM_WHIP: return FEAT_EPIC_WEAPON_FOCUS_WHIP;
// new item types
case BASE_ITEM_ELF_LIGHTBLADE: return FEAT_EPIC_WEAPON_FOCUS_SHORTSWORD;
case BASE_ITEM_ELF_THINBLADE: return FEAT_EPIC_WEAPON_FOCUS_LONGSWORD;
case BASE_ITEM_ELF_COURTBLADE: return FEAT_EPIC_WEAPON_FOCUS_GREATSWORD;
case BASE_ITEM_ELVEN_LIGHTBLADE: return FEAT_EPIC_WEAPON_FOCUS_ELVEN_LIGHTBLADE;
case BASE_ITEM_ELVEN_THINBLADE: return FEAT_EPIC_WEAPON_FOCUS_ELVEN_THINBLADE;
case BASE_ITEM_ELVEN_COURTBLADE: return FEAT_EPIC_WEAPON_FOCUS_ELVEN_COURTBLADE;
}
return -1;
}
@@ -427,9 +431,9 @@ int GetEpicSpecializationFeatOfWeaponType(int iWeaponType)
case BASE_ITEM_WHIP: return FEAT_EPIC_WEAPON_SPECIALIZATION_WHIP;
// new item types
case BASE_ITEM_ELF_LIGHTBLADE: return FEAT_EPIC_WEAPON_SPECIALIZATION_SHORTSWORD;
case BASE_ITEM_ELF_THINBLADE: return FEAT_EPIC_WEAPON_SPECIALIZATION_LONGSWORD;
case BASE_ITEM_ELF_COURTBLADE: return FEAT_EPIC_WEAPON_SPECIALIZATION_GREATSWORD;
case BASE_ITEM_ELVEN_LIGHTBLADE: return FEAT_EPIC_WEAPON_SPECIALIZATION_ELVEN_LIGHTBLADE;
case BASE_ITEM_ELVEN_THINBLADE: return FEAT_EPIC_WEAPON_SPECIALIZATION_ELVEN_THINBLADE;
case BASE_ITEM_ELVEN_COURTBLADE: return FEAT_EPIC_WEAPON_SPECIALIZATION_ELVEN_COURTBLADE;
}
return -1;
}
@@ -483,9 +487,9 @@ int GetImprovedCriticalFeatOfWeaponType(int iWeaponType)
case BASE_ITEM_WHIP: return FEAT_IMPROVED_CRITICAL_WHIP;
// new item types
case BASE_ITEM_ELF_LIGHTBLADE: return FEAT_IMPROVED_CRITICAL_SHORT_SWORD;
case BASE_ITEM_ELF_THINBLADE: return FEAT_IMPROVED_CRITICAL_LONG_SWORD;
case BASE_ITEM_ELF_COURTBLADE: return FEAT_IMPROVED_CRITICAL_GREAT_SWORD;
case BASE_ITEM_ELVEN_LIGHTBLADE: return FEAT_IMPROVED_CRITICAL_ELVEN_LIGHTBLADE;
case BASE_ITEM_ELVEN_THINBLADE: return FEAT_IMPROVED_CRITICAL_ELVEN_THINBLADE;
case BASE_ITEM_ELVEN_COURTBLADE: return FEAT_IMPROVED_CRITICAL_ELVEN_COURTBLADE;
}
return -1;
}
@@ -659,7 +663,7 @@ int GetWeaponSize(object oWeapon)
case BASE_ITEM_SCYTHE:
case BASE_ITEM_SHORTSPEAR:
case BASE_ITEM_TRIDENT:
case BASE_ITEM_ELF_COURTBLADE:
case BASE_ITEM_ELVEN_COURTBLADE:
return 4;
}
@@ -694,7 +698,7 @@ int PRCLargeWeaponCheck(int iBaseType, int nSize)
case BASE_ITEM_SCYTHE:
case BASE_ITEM_SHORTSPEAR:
case BASE_ITEM_TRIDENT:
case BASE_ITEM_ELF_COURTBLADE:
case BASE_ITEM_ELVEN_COURTBLADE:
{
sTest = Get2DAString("baseitems", "WeaponSize", iBaseType);
break;

View File

@@ -1773,6 +1773,7 @@ void FeatSpecialUsePerDay(object oPC)
FeatUsePerDay(oPC, FEAT_INCARNUM_BLADE_REBIND, ABILITY_CONSTITUTION, 1);
FeatUsePerDay(oPC, FEAT_WITCHBORN_INTEGUMENT, ABILITY_CONSTITUTION, 1);
FeatUsePerDay(oPC, FEAT_LIPS_RAPTUR);
FeatUsePerDay(oPC, FEAT_COMMAND_SPIDERS, ABILITY_CHARISMA, 3);
FeatDiabolist(oPC);
FeatAlaghar(oPC);
ShadowShieldUses(oPC);

View File

@@ -14,6 +14,8 @@ const int ITEM_PROPERTY_CAST_SPELL_DC = 93;
const int ITEM_PROPERTY_PNP_HOLY_AVENGER = 101;
const int ITEM_PROPERTY_WIZARDRY = 102;
const int ITEM_PROPERTY_DIVINITY = 103;
const int ITEM_PROPERTY_ECHOBLADE = 104;
const int IP_CONST_AOE_DARKNESS = 0;
const int IP_CONST_AOE_DEEPER_DARKNESS = 1;
@@ -65,6 +67,9 @@ itemproperty ItemPropertyWizardry(int nSpellLevel);
//relys on blueprints containing these itemproperties
itemproperty ItemPropertyDivinity(int nSpellLevel);
//returns Echoblade itemproperty
itemproperty ItemPropertyEchoblade();
//not implemented
itemproperty ItemPropertyLimitUseByAbility(int nAbility, int nMinScore);
//not implemented
@@ -408,6 +413,27 @@ itemproperty ItemPropertyPnPHolyAvenger()
return ipReturn;
}
itemproperty ItemPropertyEchoblade()
{
itemproperty ipReturn;
string sResRef = "prc_ip" + IntToString(ITEM_PROPERTY_ECHOBLADE);
object oChest = GetObjectByTag("HEARTOFCHAOS");//use the crafting chest
object oItem = CreateItemOnObject(sResRef, oChest);
DestroyObject(oItem);
ipReturn = GetFirstItemProperty(oItem);
if(!GetIsItemPropertyValid(ipReturn))
{
string sMessage = "ItemPropertyEchoblade is not valid";
if(GetIsObjectValid(oChest))
sMessage += "\n oChest is valid.";
if(GetIsObjectValid(oItem))
sMessage += "\n oItem is valid.";
sMessage += "\n sResRef is "+sResRef+".";
DoDebug(sMessage);
}
return ipReturn;
}
itemproperty ItemPropertyWizardry(int nSpellLevel)
{
itemproperty ipReturn;
@@ -461,4 +487,4 @@ itemproperty ItemPropertyDivinity(int nSpellLevel)
}
// Test main
//void main(){}
// void main(){}

View File

@@ -1135,7 +1135,7 @@ const string PRC_SPELL_ALIGNMENT_RESTRICT = "PRC_SPELL_ALIGNMENT_REST
*/
const string PRC_PNP_ARMOR_SPEED = "PRC_PNP_ARMOR_SPEED";
/*
/*
* Applies a 99% speed boost when out of combat
* Warning that it will likely cause PCs to be overly speedy when combat starts
* Potential problem causer

View File

@@ -15,6 +15,8 @@
#include "inc_item_props"
#include "prc_x2_itemprop"
//:: void main (){}
/**
* All of the following functions use the following parameters:
*
@@ -199,7 +201,54 @@ int IsProficient(object oPC, int nBaseItem)
return GetHasFeat(FEAT_WEAPON_PROFICIENCY_TRIDENT, oPC)
|| GetHasFeat(FEAT_WEAPON_PROFICIENCY_SIMPLE, oPC)
|| GetHasFeat(FEAT_WEAPON_PROFICIENCY_DRUID, oPC);
case BASE_ITEM_DOUBLE_SCIMITAR:
return GetHasFeat(FEAT_WEAPON_PROFICIENCY_DOUBLE_SCIMITAR, oPC)
|| GetHasFeat(FEAT_WEAPON_PROFICIENCY_EXOTIC, oPC);
case BASE_ITEM_FALCHION:
return GetHasFeat(FEAT_WEAPON_PROFICIENCY_FALCHION, oPC)
|| GetHasFeat(FEAT_WEAPON_PROFICIENCY_MARTIAL, oPC);
case BASE_ITEM_GOAD:
return GetHasFeat(FEAT_WEAPON_PROFICIENCY_GOAD, oPC)
|| GetHasFeat(FEAT_WEAPON_PROFICIENCY_MARTIAL, oPC);
case BASE_ITEM_HEAVY_MACE:
return GetHasFeat(FEAT_WEAPON_PROFICIENCY_HEAVY_MACE, oPC)
|| GetHasFeat(FEAT_WEAPON_PROFICIENCY_SIMPLE, oPC);
case BASE_ITEM_HEAVY_PICK:
return GetHasFeat(FEAT_WEAPON_PROFICIENCY_HEAVY_PICK, oPC)
|| GetHasFeat(FEAT_WEAPON_PROFICIENCY_MARTIAL, oPC);
case BASE_ITEM_LIGHT_PICK:
return GetHasFeat(FEAT_WEAPON_PROFICIENCY_LIGHT_PICK, oPC)
|| GetHasFeat(FEAT_WEAPON_PROFICIENCY_MARTIAL, oPC);
case BASE_ITEM_KATAR:
return GetHasFeat(FEAT_WEAPON_PROFICIENCY_KATAR, oPC)
|| GetHasFeat(FEAT_WEAPON_PROFICIENCY_EXOTIC, oPC);
case BASE_ITEM_MAUL:
return GetHasFeat(FEAT_WEAPON_PROFICIENCY_MAUL, oPC)
|| GetHasFeat(FEAT_WEAPON_PROFICIENCY_MARTIAL, oPC);
case BASE_ITEM_NUNCHAKU:
return GetHasFeat(FEAT_WEAPON_PROFICIENCY_NUNCHAKU, oPC)
|| GetHasFeat(FEAT_WEAPON_PROFICIENCY_MONK, oPC)
|| GetHasFeat(FEAT_WEAPON_PROFICIENCY_EXOTIC, oPC);
case BASE_ITEM_SAI:
return GetHasFeat(FEAT_WEAPON_PROFICIENCY_SAI, oPC)
|| GetHasFeat(FEAT_WEAPON_PROFICIENCY_MONK, oPC)
|| GetHasFeat(FEAT_WEAPON_PROFICIENCY_EXOTIC, oPC);
case BASE_ITEM_SAP:
return GetHasFeat(FEAT_WEAPON_PROFICIENCY_SAP, oPC)
|| GetHasFeat(FEAT_WEAPON_PROFICIENCY_ROGUE, oPC)
|| GetHasFeat(FEAT_WEAPON_PROFICIENCY_MARTIAL, oPC);
//special case: counts as martial for dwarves
case BASE_ITEM_DWARVENWARAXE:
return GetHasFeat(FEAT_WEAPON_PROFICIENCY_DWARVEN_WARAXE, oPC)
@@ -210,15 +259,15 @@ int IsProficient(object oPC, int nBaseItem)
return GetHasFeat(FEAT_WEAPON_PROFICIENCY_WHIP, oPC)
|| GetHasFeat(FEAT_WEAPON_PROFICIENCY_EXOTIC, oPC);
case BASE_ITEM_ELF_LIGHTBLADE:
case BASE_ITEM_ELVEN_LIGHTBLADE:
return GetHasFeat(FEAT_WEAPON_PROFICIENCY_ELVEN_LIGHTBLADE, oPC)
|| GetHasFeat(FEAT_WEAPON_PROFICIENCY_EXOTIC, oPC);
case BASE_ITEM_ELF_THINBLADE:
case BASE_ITEM_ELVEN_THINBLADE:
return GetHasFeat(FEAT_WEAPON_PROFICIENCY_ELVEN_THINBLADE, oPC)
|| GetHasFeat(FEAT_WEAPON_PROFICIENCY_EXOTIC, oPC);
case BASE_ITEM_ELF_COURTBLADE:
case BASE_ITEM_ELVEN_COURTBLADE:
return GetHasFeat(FEAT_WEAPON_PROFICIENCY_ELVEN_COURTBLADE, oPC)
|| GetHasFeat(FEAT_WEAPON_PROFICIENCY_EXOTIC, oPC);
@@ -351,26 +400,26 @@ int GetWeaponProfFeatByType(int nBaseType)
case BASE_ITEM_WHIP:
return FEAT_WEAPON_PROFICIENCY_WHIP;
case BASE_ITEM_ELF_LIGHTBLADE:
case BASE_ITEM_ELVEN_LIGHTBLADE:
return FEAT_WEAPON_PROFICIENCY_ELVEN_LIGHTBLADE;
case BASE_ITEM_ELF_THINBLADE:
case BASE_ITEM_ELVEN_THINBLADE:
return FEAT_WEAPON_PROFICIENCY_ELVEN_THINBLADE;
case BASE_ITEM_ELF_COURTBLADE:
case BASE_ITEM_ELVEN_COURTBLADE:
return FEAT_WEAPON_PROFICIENCY_ELVEN_COURTBLADE;
case BASE_ITEM_PICK_HEAVY:
case BASE_ITEM_HEAVY_PICK:
return FEAT_WEAPON_PROFICIENCY_HEAVY_PICK;
case BASE_ITEM_PICK_LIGHT:
case BASE_ITEM_LIGHT_PICK:
return FEAT_WEAPON_PROFICIENCY_LIGHT_PICK;
case BASE_ITEM_SAI:
return FEAT_WEAPON_PROFICIENCY_SAI;
case BASE_ITEM_NUNCHAKU:
return FEAT_WEAPON_PROFICIENCY_NUNCHUKU;
return FEAT_WEAPON_PROFICIENCY_NUNCHAKU;
case BASE_ITEM_FALCHION:
return FEAT_WEAPON_PROFICIENCY_FALCHION;
@@ -381,7 +430,7 @@ int GetWeaponProfFeatByType(int nBaseType)
case BASE_ITEM_KATAR:
return FEAT_WEAPON_PROFICIENCY_KATAR;
case BASE_ITEM_MACE_HEAVY:
case BASE_ITEM_HEAVY_MACE:
return FEAT_WEAPON_PROFICIENCY_HEAVY_MACE;
case BASE_ITEM_MAUL:
@@ -472,7 +521,7 @@ void DoWeaponFeatUnequip(object oPC, object oItem, int nHand)
{
// fluffyamoeba - going to assume redundant local var clearing isn't worth tradeoff
int nBaseType = GetBaseItemType(oItem);
if(nBaseType == BASE_ITEM_ELF_LIGHTBLADE)
if(nBaseType == BASE_ITEM_ELVEN_LIGHTBLADE)
{
if(DEBUG) DoDebug("Clearing Lightblade variables.");
SetCompositeAttackBonus(oPC, "LightbladeWF" + IntToString(nHand), 0, nHand);
@@ -482,7 +531,7 @@ void DoWeaponFeatUnequip(object oPC, object oItem, int nHand)
if(GetHasFeat(FEAT_IMPROVED_CRITICAL_SHORT_SWORD, oPC) || GetHasFeat(FEAT_IMPROVED_CRITICAL_RAPIER, oPC))
RemoveSpecificProperty(oItem, ITEM_PROPERTY_KEEN, -1, -1, 1, "", -1, DURATION_TYPE_TEMPORARY);
}
else if(nBaseType == BASE_ITEM_ELF_THINBLADE)
else if(nBaseType == BASE_ITEM_ELVEN_THINBLADE)
{
SetCompositeAttackBonus(oPC, "ThinbladeWF" + IntToString(nHand), 0, nHand);
SetCompositeAttackBonus(oPC, "ThinbladeEpicWF" + IntToString(nHand), 0, nHand);
@@ -491,7 +540,7 @@ void DoWeaponFeatUnequip(object oPC, object oItem, int nHand)
if(GetHasFeat(FEAT_IMPROVED_CRITICAL_LONG_SWORD, oPC) || GetHasFeat(FEAT_IMPROVED_CRITICAL_RAPIER, oPC))
RemoveSpecificProperty(oItem, ITEM_PROPERTY_KEEN, -1, -1, 1, "", -1, DURATION_TYPE_TEMPORARY);
}
else if(nBaseType == BASE_ITEM_ELF_COURTBLADE)
else if(nBaseType == BASE_ITEM_ELVEN_COURTBLADE)
{
SetCompositeAttackBonus(oPC, "CourtbladeWF" + IntToString(nHand), 0, nHand);
SetCompositeAttackBonus(oPC, "CourtbladeEpicWF" + IntToString(nHand), 0, nHand);
@@ -522,6 +571,13 @@ int IsWeaponMartial(int nBaseItemType, object oPC)
case BASE_ITEM_RAPIER:
case BASE_ITEM_SCIMITAR:
case BASE_ITEM_THROWINGAXE:
case BASE_ITEM_MAUL:
case BASE_ITEM_FALCHION:
case BASE_ITEM_HEAVY_PICK:
case BASE_ITEM_LIGHT_PICK:
case BASE_ITEM_LIGHT_LANCE:
case BASE_ITEM_GOAD:
case BASE_ITEM_SAP:
return TRUE;
//special case: counts as martial for dwarves
@@ -630,8 +686,8 @@ void DoWeaponEquip(object oPC, object oItem, int nHand)
DoProficiencyCheck(oPC, oItem, nHand);
//simulate Weapon Finesse for Elven *blades
if((nBaseType == BASE_ITEM_ELF_LIGHTBLADE || nBaseType == BASE_ITEM_ELF_THINBLADE
|| nBaseType == BASE_ITEM_ELF_COURTBLADE) && GetHasFeat(FEAT_WEAPON_FINESSE, oPC) && nElfFinesse > 0)
if((nBaseType == BASE_ITEM_ELVEN_LIGHTBLADE || nBaseType == BASE_ITEM_ELVEN_THINBLADE
|| nBaseType == BASE_ITEM_ELVEN_COURTBLADE) && GetHasFeat(FEAT_WEAPON_FINESSE, oPC) && nElfFinesse > 0)
{
if(nHand == ATTACK_BONUS_ONHAND)
SetCompositeAttackBonus(oPC, "ElfFinesseRH", nElfFinesse, nHand);
@@ -664,11 +720,11 @@ void DoWeaponEquip(object oPC, object oItem, int nHand)
//Handle feat bonuses for Lightblade, thinblade, and courtblade
//using else if so they don't overlap.
/*if(nBaseType == BASE_ITEM_ELF_LIGHTBLADE)
/*if(nBaseType == BASE_ITEM_ELVEN_LIGHTBLADE)
DoEquipLightblade(oPC, oItem, nHand);
else if(nBaseType == BASE_ITEM_ELF_THINBLADE)
else if(nBaseType == BASE_ITEM_ELVEN_THINBLADE)
DoEquipThinblade(oPC, oItem, nHand);
else if(nBaseType == BASE_ITEM_ELF_COURTBLADE)
else if(nBaseType == BASE_ITEM_ELVEN_COURTBLADE)
DoEquipCourtblade(oPC, oItem, nHand);*/
// Beamdog allowing us to do feats means we don't need this any more

View File

@@ -104,51 +104,68 @@ const int IP_CONST_FEAT_DEATHATTACK18 = 334;
const int IP_CONST_FEAT_DEATHATTACK19 = 335;
const int IP_CONST_FEAT_DEATHATTACK20 = 336;
const int IP_CONST_FEAT_BarbEndurance = 337;
const int IP_CONST_FEAT_WeapFocCreature = 338;
const int IP_CONST_FEAT_ImpCritCreature = 339;
const int IP_CONST_FEAT_WeapSpecCreature = 340;
const int IP_CONST_FEAT_WeapEpicFocCreature = 341;
const int IP_CONST_FEAT_WeapEpicSpecCreature = 342;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_DAGGER = 343;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_DART = 344;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_HEAVY_CROSSBOW = 345;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_LIGHT_CROSSBOW = 346;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_LIGHT_MACE = 347;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_MORNING_STAR = 348;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_STAFF = 349;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_SPEAR = 350;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_SICKLE = 351;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_SLING = 352;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_LONGBOW = 353;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_SHORTBOW = 354;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_SHORT_SWORD = 355;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_RAPIER = 356;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_SCIMITAR = 357;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_LONG_SWORD = 358;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_GREAT_SWORD = 359;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_HAND_AXE = 360;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_THROWING_AXE = 361;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_BATTLE_AXE = 362;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_GREAT_AXE = 363;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_HALBERD = 364;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_LIGHT_HAMMER = 365;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_LIGHT_FLAIL = 366;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_WAR_HAMMER = 367;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_HEAVY_FLAIL = 368;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_KAMA = 369;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_KUKRI = 370;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_SHURIKEN = 371;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_SCYTHE = 372;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_KATANA = 373;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_BASTARD_SWORD = 374;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_DIRE_MACE = 375;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_DOUBLE_AXE = 376;
const int IP_CONST_FEAT_BarbEndurance = 337;
const int IP_CONST_FEAT_WeapFocCreature = 338;
const int IP_CONST_FEAT_ImpCritCreature = 339;
const int IP_CONST_FEAT_WeapSpecCreature = 340;
const int IP_CONST_FEAT_WeapEpicFocCreature = 341;
const int IP_CONST_FEAT_WeapEpicSpecCreature = 342;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_DAGGER = 343;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_DART = 344;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_HEAVY_CROSSBOW = 345;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_LIGHT_CROSSBOW = 346;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_LIGHT_MACE = 347;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_MORNING_STAR = 348;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_STAFF = 349;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_SPEAR = 350;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_SICKLE = 351;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_SLING = 352;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_LONGBOW = 353;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_SHORTBOW = 354;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_SHORT_SWORD = 355;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_RAPIER = 356;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_SCIMITAR = 357;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_LONG_SWORD = 358;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_GREAT_SWORD = 359;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_HAND_AXE = 360;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_THROWING_AXE = 361;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_BATTLE_AXE = 362;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_GREAT_AXE = 363;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_HALBERD = 364;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_LIGHT_HAMMER = 365;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_LIGHT_FLAIL = 366;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_WAR_HAMMER = 367;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_HEAVY_FLAIL = 368;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_KAMA = 369;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_KUKRI = 370;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_SHURIKEN = 371;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_SCYTHE = 372;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_KATANA = 373;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_BASTARD_SWORD = 374;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_DIRE_MACE = 375;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_DOUBLE_AXE = 376;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_TWO_BLADED_SWORD = 377;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_CLUB = 378;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_DWAXE = 379;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_WHIP = 380;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_MINDBLADE = 388;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_CLUB = 378;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_DWAXE = 379;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_WHIP = 380;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_MINDBLADE = 388;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_LIGHT_LANCE = 15927;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_HEAVY_PICK = 15928;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_LIGHT_PICK = 15929;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_SAI = 15930;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_NUNCHAKU = 15931;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_FALCHION = 15932;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_SAP = 15933;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_KATAR = 15934;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_HEAVY_MACE = 15935;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_MAUL = 15936;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_DBL_SCIMITAR = 15937;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_GOAD = 15938;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_ELVEN_LIGHTBLADE = 15979;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_ELVEN_THINBLADE = 15987;
const int IP_CONST_FEAT_IMPROVED_CRITICAL_ELVEN_COURTBLADE = 15995;
const int IP_CONST_FEAT_SF_CODE = 381;
const int IP_CONST_FEAT_UNCANNY_DODGE1 = 382;
const int IP_CONST_FEAT_LOWLIGHT_VISION = 383;
@@ -190,7 +207,7 @@ const int IP_CONST_FEAT_TELEPORT_MANAGEMENT_RADIAL = 263;
const int IP_CONST_FEAT_EPIC_REST = 399;
//PnP Weapon Proficiencies
//:: PnP Weapon Feats
const int IP_CONST_FEAT_WEAPON_PROFICIENCY_SHORTSWORD = 4601;
const int IP_CONST_FEAT_WEAPON_PROFICIENCY_LONGSWORD = 4602;
const int IP_CONST_FEAT_WEAPON_PROFICIENCY_BATTLEAXE = 4603;
@@ -283,6 +300,23 @@ const int IP_CONST_FEAT_WEAPON_FOCUS_DWAXE = 137;
const int IP_CONST_FEAT_WEAPON_FOCUS_WHIP = 138;
const int IP_CONST_FEAT_WEAPON_FOCUS_MINDBLADE = 139;
const int IP_CONST_FEAT_WEAPON_FOCUS_RAY = 140;
const int IP_CONST_FEAT_WEAPON_FOCUS_LIGHT_LANCE = 15879;
const int IP_CONST_FEAT_WEAPON_FOCUS_HEAVY_PICK = 15880;
const int IP_CONST_FEAT_WEAPON_FOCUS_LIGHT_PICK = 15881;
const int IP_CONST_FEAT_WEAPON_FOCUS_SAI = 15882;
const int IP_CONST_FEAT_WEAPON_FOCUS_NUNCHAKU = 15883;
const int IP_CONST_FEAT_WEAPON_FOCUS_FALCHION = 15884;
const int IP_CONST_FEAT_WEAPON_FOCUS_SAP = 15885;
const int IP_CONST_FEAT_WEAPON_FOCUS_KATAR = 15886;
const int IP_CONST_FEAT_WEAPON_FOCUS_HEAVY_MACE = 15887;
const int IP_CONST_FEAT_WEAPON_FOCUS_MAUL = 15888;
const int IP_CONST_FEAT_WEAPON_FOCUS_DOUBLE_SCIMITAR = 15889;
const int IP_CONST_FEAT_WEAPON_FOCUS_GOAD = 15890;
const int IP_CONST_FEAT_WEAPON_FOCUS_ELVEN_LIGHTBLADE = 15975;
const int IP_CONST_FEAT_WEAPON_FOCUS_EAGLE_CLAW = 15878;
const int IP_CONST_FEAT_WEAPON_FOCUS_ELVEN_THINBLADE = 15983;
const int IP_CONST_FEAT_WEAPON_FOCUS_ELVEN_COURTBLADE = 15991;
const int IP_CONST_FEAT_WEAPON_FOCUS_TRIDENT = 1072;
const int IP_CONST_FEAT_WEAPON_SPECIALIZATION_CLUB = 16000;
const int IP_CONST_FEAT_WEAPON_SPECIALIZATION_DAGGER = 16001;
@@ -324,6 +358,23 @@ const int IP_CONST_FEAT_WEAPON_SPECIALIZATION_TWO_BLADED_SWORD = 16036;
const int IP_CONST_FEAT_WEAPON_SPECIALIZATION_DWAXE = 16037;
const int IP_CONST_FEAT_WEAPON_SPECIALIZATION_WHIP = 16038;
const int IP_CONST_FEAT_WEAPON_SPECIALIZATION_MINDBLADE = 16039;
const int IP_CONST_FEAT_WEAPON_SPECIALIZATION_EAGLE_CLAW = 594;
const int IP_CONST_FEAT_WEAPON_SPECIALIZATION_TRIDENT = 582;
const int IP_CONST_FEAT_WEAPON_SPECIALIZATION_LIGHT_LANCE = 15903;
const int IP_CONST_FEAT_WEAPON_SPECIALIZATION_HEAVY_PICK = 15904;
const int IP_CONST_FEAT_WEAPON_SPECIALIZATION_LIGHT_PICK = 15905;
const int IP_CONST_FEAT_WEAPON_SPECIALIZATION_SAI = 15906;
const int IP_CONST_FEAT_WEAPON_SPECIALIZATION_NUNCHAKU = 15907;
const int IP_CONST_FEAT_WEAPON_SPECIALIZATION_FALCHION = 15908;
const int IP_CONST_FEAT_WEAPON_SPECIALIZATION_SAP = 15909;
const int IP_CONST_FEAT_WEAPON_SPECIALIZATION_KATAR = 15910;
const int IP_CONST_FEAT_WEAPON_SPECIALIZATION_HEAVY_MACE = 15911;
const int IP_CONST_FEAT_WEAPON_SPECIALIZATION_MAUL = 15912;
const int IP_CONST_FEAT_WEAPON_SPECIALIZATION_DBL_SCIMITAR = 15913;
const int IP_CONST_FEAT_WEAPON_SPECIALIZATION_GOAD = 15914;
const int IP_CONST_FEAT_WEAPON_SPECIALIZATION_ELVEN_LIGHTBLADE = 15977;
const int IP_CONST_FEAT_WEAPON_SPECIALIZATION_ELVEN_THINBLADE = 15985;
const int IP_CONST_FEAT_WEAPON_SPECIALIZATION_ELVEN_COURTBLADE = 15993;
const int IP_CONST_FEAT_EPIC_DEVASTATING_CRITICAL_CLUB = 16050;
const int IP_CONST_FEAT_EPIC_DEVASTATING_CRITICAL_DAGGER = 16051;
@@ -365,6 +416,23 @@ const int IP_CONST_FEAT_EPIC_DEVASTATING_CRITICAL_TWOBLADEDSWORD = 16086;
const int IP_CONST_FEAT_EPIC_DEVASTATING_CRITICAL_DWAXE = 16087;
const int IP_CONST_FEAT_EPIC_DEVASTATING_CRITICAL_WHIP = 16088;
const int IP_CONST_FEAT_EPIC_DEVASTATING_CRITICAL_MINDBLADE = 16089;
const int IP_CONST_FEAT_EPIC_DEVASTATING_CRITICAL_EAGLE_CLAW = 594;
const int IP_CONST_FEAT_EPIC_DEVASTATING_CRITICAL_TRIDENT = 584;
const int IP_CONST_FEAT_EPIC_DEVASTATING_CRITICAL_LIGHT_LANCE = 15951;
const int IP_CONST_FEAT_EPIC_DEVASTATING_CRITICAL_HEAVY_PICK = 15952;
const int IP_CONST_FEAT_EPIC_DEVASTATING_CRITICAL_LIGHT_PICK = 15953;
const int IP_CONST_FEAT_EPIC_DEVASTATING_CRITICAL_SAI = 15954;
const int IP_CONST_FEAT_EPIC_DEVASTATING_CRITICAL_NUNCHAKU = 15955;
const int IP_CONST_FEAT_EPIC_DEVASTATING_CRITICAL_FALCHION = 15956;
const int IP_CONST_FEAT_EPIC_DEVASTATING_CRITICAL_SAP = 15957;
const int IP_CONST_FEAT_EPIC_DEVASTATING_CRITICAL_KATAR = 15958;
const int IP_CONST_FEAT_EPIC_DEVASTATING_CRITICAL_HEAVY_MACE = 15959;
const int IP_CONST_FEAT_EPIC_DEVASTATING_CRITICAL_MAUL = 15960;
const int IP_CONST_FEAT_EPIC_DEVASTATING_CRITICAL_DBL_SCIMITAR = 15961;
const int IP_CONST_FEAT_EPIC_DEVASTATING_CRITICAL_GOAD = 15962;
const int IP_CONST_FEAT_DEVASTATING_CRITICAL_ELVEN_LIGHTBLADE = 15981;
const int IP_CONST_FEAT_DEVASTATING_CRITICAL_ELVEN_THINBLADE = 15989;
const int IP_CONST_FEAT_DEVASTATING_CRITICAL_ELVEN_COURTBLADE = 15997;
const int IP_CONST_FEAT_EPIC_WEAPON_FOCUS_CLUB = 16100;
const int IP_CONST_FEAT_EPIC_WEAPON_FOCUS_DAGGER = 16101;
@@ -407,6 +475,23 @@ const int IP_CONST_FEAT_EPIC_WEAPON_FOCUS_DWAXE = 16137;
const int IP_CONST_FEAT_EPIC_WEAPON_FOCUS_WHIP = 16138;
const int IP_CONST_FEAT_EPIC_WEAPON_FOCUS_MINDBLADE = 16139;
const int IP_CONST_FEAT_EPIC_WEAPON_FOCUS_RAY = 16140;
const int IP_CONST_FEAT_EPIC_WEAPON_FOCUS_LIGHT_LANCE = 15891;
const int IP_CONST_FEAT_EPIC_WEAPON_FOCUS_HEAVY_PICK = 15892;
const int IP_CONST_FEAT_EPIC_WEAPON_FOCUS_LIGHT_PICK = 15893;
const int IP_CONST_FEAT_EPIC_WEAPON_FOCUS_SAI = 15894;
const int IP_CONST_FEAT_EPIC_WEAPON_FOCUS_NUNCHAKU = 15895;
const int IP_CONST_FEAT_EPIC_WEAPON_FOCUS_FALCHION = 15896;
const int IP_CONST_FEAT_EPIC_WEAPON_FOCUS_SAP = 15897;
const int IP_CONST_FEAT_EPIC_WEAPON_FOCUS_KATAR = 15898;
const int IP_CONST_FEAT_EPIC_WEAPON_FOCUS_HEAVY_MACE = 15899;
const int IP_CONST_FEAT_EPIC_WEAPON_FOCUS_MAUL = 15900;
const int IP_CONST_FEAT_EPIC_WEAPON_FOCUS_DBL_SCIMITAR = 15901;
const int IP_CONST_FEAT_EPIC_WEAPON_FOCUS_GOAD = 15902;
const int IP_CONST_FEAT_EPIC_WEAPON_FOCUS_ELVEN_LIGHTBLADE = 15976;
const int IP_CONST_FEAT_EPIC_WEAPON_FOCUS_ELVEN_THINBLADE = 15984;
const int IP_CONST_FEAT_EPIC_WEAPON_FOCUS_ELVEN_COURTBLADE = 15992;
const int IP_CONST_FEAT_EPIC_WEAPON_FOCUS_EAGLE_CLAW = 588;
const int IP_CONST_FEAT_EPIC_WEAPON_FOCUS_TRIDENT = 585;
const int IP_CONST_FEAT_EPIC_WEAPON_SPECIALIZATION_CLUB = 16150;
const int IP_CONST_FEAT_EPIC_WEAPON_SPECIALIZATION_DAGGER = 16151;
@@ -448,6 +533,23 @@ const int IP_CONST_FEAT_EPIC_WEAPON_SPECIALIZATION_TWO_BLADED_SWORD = 16186;
const int IP_CONST_FEAT_EPIC_WEAPON_SPECIALIZATION_DWAXE = 16187;
const int IP_CONST_FEAT_EPIC_WEAPON_SPECIALIZATION_WHIP = 16188;
const int IP_CONST_FEAT_EPIC_WEAPON_SPECIALIZATION_MINDBLADE = 16189;
const int IP_CONST_FEAT_EPIC_WEAPON_SPECIALIZATION_EAGLE_CLAW = 591;
const int IP_CONST_FEAT_EPIC_WEAPON_SPECIALIZATION_TRIDENT = 586;
const int IP_CONST_FEAT_EPIC_WEAPON_SPECIALIZATION_LIGHT_LANCE = 15915;
const int IP_CONST_FEAT_EPIC_WEAPON_SPECIALIZATION_HEAVY_PICK = 15916;
const int IP_CONST_FEAT_EPIC_WEAPON_SPECIALIZATION_LIGHT_PICK = 15917;
const int IP_CONST_FEAT_EPIC_WEAPON_SPECIALIZATION_SAI = 15918;
const int IP_CONST_FEAT_EPIC_WEAPON_SPECIALIZATION_NUNCHAKU = 15919;
const int IP_CONST_FEAT_EPIC_WEAPON_SPECIALIZATION_FALCHION = 15920;
const int IP_CONST_FEAT_EPIC_WEAPON_SPECIALIZATION_SAP = 15921;
const int IP_CONST_FEAT_EPIC_WEAPON_SPECIALIZATION_KATAR = 15922;
const int IP_CONST_FEAT_EPIC_WEAPON_SPECIALIZATION_HEAVY_MACE = 15923;
const int IP_CONST_FEAT_EPIC_WEAPON_SPECIALIZATION_MAUL = 15924;
const int IP_CONST_FEAT_EPIC_WEAPON_SPECIALIZATION_DBL_SCIMITAR = 15925;
const int IP_CONST_FEAT_EPIC_WEAPON_SPECIALIZATION_GOAD = 15926;
const int IP_CONST_FEAT_EPIC_WEAPON_SPECIALIZATION_ELVEN_LIGHTBLADE = 15978;
const int IP_CONST_FEAT_EPIC_WEAPON_SPECIALIZATION_ELVEN_THINBLADE = 15986;
const int IP_CONST_FEAT_EPIC_WEAPON_SPECIALIZATION_ELVEN_COURTBLADE = 15994;
const int IP_CONST_FEAT_EPIC_OVERWHELMING_CRITICAL_CLUB = 16200;
const int IP_CONST_FEAT_EPIC_OVERWHELMING_CRITICAL_DAGGER = 16201;
@@ -489,6 +591,23 @@ const int IP_CONST_FEAT_EPIC_OVERWHELMING_CRITICAL_TWOBLADEDSWORD = 16236;
const int IP_CONST_FEAT_EPIC_OVERWHELMING_CRITICAL_DWAXE = 16237;
const int IP_CONST_FEAT_EPIC_OVERWHELMING_CRITICAL_WHIP = 16238;
const int IP_CONST_FEAT_EPIC_OVERWHELMING_CRITICAL_MINDBLADE = 16239;
const int IP_CONST_FEAT_EPIC_OVERWHELMING_CRITICAL_EAGLE_CLAW = 594;
const int IP_CONST_FEAT_EPIC_OVERWHELMING_CRITICAL_TRIDENT = 587;
const int IP_CONST_FEAT_EPIC_OVERWHELMING_CRITICAL_LIGHT_LANCE = 15939;
const int IP_CONST_FEAT_EPIC_OVERWHELMING_CRITICAL_HEAVY_PICK = 15940;
const int IP_CONST_FEAT_EPIC_OVERWHELMING_CRITICAL_LIGHT_PICK = 15941;
const int IP_CONST_FEAT_EPIC_OVERWHELMING_CRITICAL_SAI = 15942;
const int IP_CONST_FEAT_EPIC_OVERWHELMING_CRITICAL_NUNCHAKU = 15943;
const int IP_CONST_FEAT_EPIC_OVERWHELMING_CRITICAL_FALCHION = 15944;
const int IP_CONST_FEAT_EPIC_OVERWHELMING_CRITICAL_SAP = 15945;
const int IP_CONST_FEAT_EPIC_OVERWHELMING_CRITICAL_KATAR = 15946;
const int IP_CONST_FEAT_EPIC_OVERWHELMING_CRITICAL_HEAVY_MACE = 15947;
const int IP_CONST_FEAT_EPIC_OVERWHELMING_CRITICAL_MAUL = 15948;
const int IP_CONST_FEAT_EPIC_OVERWHELMING_CRITICAL_DBL_SCIMITAR = 15949;
const int IP_CONST_FEAT_EPIC_OVERWHELMING_CRITICAL_GOAD = 15950;
const int IP_CONST_FEAT_OVERWHELMING_CRITICAL_ELVEN_LIGHTBLADE = 15980;
const int IP_CONST_FEAT_OVERWHELMING_CRITICAL_ELVEN_THINBLADE = 15988;
const int IP_CONST_FEAT_OVERWHELMING_CRITICAL_ELVEN_COURTBLADE = 15996;
const int IP_CONST_FEAT_WEAPON_OF_CHOICE_SICKLE = 16250;
const int IP_CONST_FEAT_WEAPON_OF_CHOICE_KAMA = 16251;
@@ -521,6 +640,23 @@ const int IP_CONST_FEAT_WEAPON_OF_CHOICE_TWOBLADEDSWORD = 16277;
const int IP_CONST_FEAT_WEAPON_OF_CHOICE_DWAXE = 16278;
const int IP_CONST_FEAT_WEAPON_OF_CHOICE_WHIP = 16279;
const int IP_CONST_FEAT_WEAPON_OF_CHOICE_MINDBLADE = 16280;
const int IP_CONST_FEAT_WEAPON_OF_CHOICE_TRIDENT = 595;
const int IP_CONST_FEAT_WEAPON_OF_CHOICE_EAGLE_CLAW = 596;
const int IP_CONST_FEAT_WEAPON_OF_CHOICE_LIGHT_LANCE = 15963;
const int IP_CONST_FEAT_WEAPON_OF_CHOICE_HEAVY_PICK = 15964;
const int IP_CONST_FEAT_WEAPON_OF_CHOICE_LIGHT_PICK = 15965;
const int IP_CONST_FEAT_WEAPON_OF_CHOICE_SAI = 15966;
const int IP_CONST_FEAT_WEAPON_OF_CHOICE_NUNCHAKU = 15967;
const int IP_CONST_FEAT_WEAPON_OF_CHOICE_FALCHION = 15968;
const int IP_CONST_FEAT_WEAPON_OF_CHOICE_SAP = 15969;
const int IP_CONST_FEAT_WEAPON_OF_CHOICE_KATAR = 15970;
const int IP_CONST_FEAT_WEAPON_OF_CHOICE_HEAVY_MACE = 15971;
const int IP_CONST_FEAT_WEAPON_OF_CHOICE_MAUL = 15972;
const int IP_CONST_FEAT_WEAPON_OF_CHOICE_DBL_SCIMITAR = 15973;
const int IP_CONST_FEAT_WEAPON_OF_CHOICE_GOAD = 15974;
const int IP_CONST_FEAT_WEAPON_OF_CHOICE_ELVEN_LIGHTBLADE = 15982;
const int IP_CONST_FEAT_WEAPON_OF_CHOICE_ELVEN_THINBLADE = 15990;
const int IP_CONST_FEAT_WEAPON_OF_CHOICE_ELVEN_COURTBLADE = 15998;
const int IP_CONST_FEAT_SUPERIOR_WEAPON_FOCUS = 24811;
const int IP_CONST_FEAT_EPIC_SUPERIOR_WEAPON_FOCUS = 24812;
@@ -803,6 +939,7 @@ const int IP_CONST_FEAT_INCORPOREAL = 227;
const int IP_CONST_FEAT_ETHEREAL = 228;
//Racial feats
const int IP_CONST_FEAT_KEEN_SENSES = 86;
const int IP_CONST_FEAT_CRAFTGUILD = 4987;
const int IP_CONST_FEAT_TECHGUILD = 4988;
const int IP_CONST_FEAT_REMAIN_CONCIOUS = 269;
@@ -824,16 +961,10 @@ const int IP_CONST_FEAT_TURNING_IMMUNITY = 4381;
const int IP_CONST_FEAT_IMMUNITY_TO_REBUKING = 4380;
// Template Feats
const int IP_CONST_FEAT_TEMPLATE_CELESTIAL_SMITE_EVIL = 16301;
const int IP_CONST_FEAT_TEMPLATE_CELESTIAL_MARKER = 16302;
const int IP_CONST_FEAT_TEMPLATE_FIENDISH_SMITE_GOOD = 16303;
const int IP_CONST_FEAT_TEMPLATE_FIENDISH_MARKER = 16304;
const int IP_CONST_FEAT_TEMPLATE_CELESTIAL_SMITE_EVIL = 16301;
const int IP_CONST_FEAT_TEMPLATE_CELESTIAL_MARKER = 16302;
const int IP_CONST_FEAT_TEMPLATE_FIENDISH_SMITE_GOOD = 16303;
const int IP_CONST_FEAT_TEMPLATE_FIENDISH_MARKER = 16304;
const int IP_CONST_FEAT_TEMPLATE_HALF_CELESTIAL_SMITE_EVIL = 16305;
const int IP_CONST_FEAT_TEMPLATE_HALF_CELESTIAL_PROTECTION = 16306;
const int IP_CONST_FEAT_TEMPLATE_HALF_CELESTIAL_BLESS = 16307;
@@ -1292,126 +1423,4 @@ const int IP_CONST_FAV_MYST_BLACKLABYRINTH = 4357;
/*//////////////////////////////////////////////////
//////////////// END SHADOWCASTING//////////////////
//////////////////////////////////////////////////*/
// New Weapon Feats
const int IP_CONST_FEAT_WF_LIGHT_LANCE = 15879;
const int IP_CONST_FEAT_WF_HEAVY_PICK = 15880;
const int IP_CONST_FEAT_WF_LIGHT_PICK = 15881;
const int IP_CONST_FEAT_WF_SAI = 15882;
const int IP_CONST_FEAT_WF_NUNCHUKU = 15883;
const int IP_CONST_FEAT_WF_FALCHION = 15884;
const int IP_CONST_FEAT_WF_SAP = 15885;
const int IP_CONST_FEAT_WF_KATAR = 15886;
const int IP_CONST_FEAT_WF_HEAVY_MACE = 15887;
const int IP_CONST_FEAT_WF_MAUL = 15888;
const int IP_CONST_FEAT_WF_DOUBLE_SCIMITAR = 15889;
const int IP_CONST_FEAT_WF_GOAD = 15890;
const int IP_CONST_FEAT_EPIC_WEAPON_FOCUS_LANCE = 15891;
const int IP_CONST_FEAT_EPIC_WEAPON_FOCUS_HEAVY_PICK = 15892;
const int IP_CONST_FEAT_EPIC_WEAPON_FOCUS_LIGHT_PICK = 15893;
const int IP_CONST_FEAT_EPIC_WEAPON_FOCUS_SAI = 15894;
const int IP_CONST_FEAT_EPIC_WEAPON_FOCUS_NUNCHAKU = 15895;
const int IP_CONST_FEAT_EPIC_WEAPON_FOCUS_FALCHION = 15896;
const int IP_CONST_FEAT_EPIC_WEAPON_FOCUS_SAP = 15897;
const int IP_CONST_FEAT_EPIC_WEAPON_FOCUS_KATAR = 15898;
const int IP_CONST_FEAT_EPIC_WEAPON_FOCUS_HEAVY_MACE = 15899;
const int IP_CONST_FEAT_EPIC_WEAPON_FOCUS_MAUL = 15900;
const int IP_CONST_FEAT_EPIC_WEAPON_FOCUS_DBL_SCIMITAR = 15901;
const int IP_CONST_FEAT_EPIC_WEAPON_FOCUS_GOAD = 15902;
const int IP_CONST_FEAT_WEAP_SPEC_LIGHT_LANCE = 15903;
const int IP_CONST_FEAT_WEAP_SPEC_HEAVY_PICK = 15904;
const int IP_CONST_FEAT_WEAP_SPEC_LIGHT_PICK = 15905;
const int IP_CONST_FEAT_WEAP_SPEC_SAI = 15906;
const int IP_CONST_FEAT_WEAP_SPEC_NUNCHAKU = 15907;
const int IP_CONST_FEAT_WEAP_SPEC_FALCHION = 15908;
const int IP_CONST_FEAT_WEAP_SPEC_SAP = 15909;
const int IP_CONST_FEAT_WEAP_SPEC_KATAR = 15910;
const int IP_CONST_FEAT_WEAP_SPEC_HEAVY_MACE = 15911;
const int IP_CONST_FEAT_WEAP_SPEC_MAUL = 15912;
const int IP_CONST_FEAT_WEAP_SPEC_DBL_SCIMITAR = 15913;
const int IP_CONST_FEAT_WEAP_SPEC_GOAD = 15914;
const int IP_CONST_FEAT_EPIC_WEAPON_SPECIALIZATION_LIGHT_LANCE = 15915;
const int IP_CONST_FEAT_EPIC_WEAPON_SPECIALIZATION_HEAVY_PICK = 15916;
const int IP_CONST_FEAT_EPIC_WEAPON_SPECIALIZATION_LIGHT_PICK = 15917;
const int IP_CONST_FEAT_EPIC_WEAPON_SPECIALIZATION_SAI = 15918;
const int IP_CONST_FEAT_EPIC_WEAPON_SPECIALIZATION_NUNCHAKU = 15919;
const int IP_CONST_FEAT_EPIC_WEAPON_SPECIALIZATION_FALCHION = 15920;
const int IP_CONST_FEAT_EPIC_WEAPON_SPECIALIZATION_SAP = 15921;
const int IP_CONST_FEAT_EPIC_WEAPON_SPECIALIZATION_KATAR = 15922;
const int IP_CONST_FEAT_EPIC_WEAPON_SPECIALIZATION_HEAVY_MACE = 15923;
const int IP_CONST_FEAT_EPIC_WEAPON_SPECIALIZATION_MAUL = 15924;
const int IP_CONST_FEAT_EPIC_WEAPON_SPECIALIZATION_DBL_SCIMITAR = 15925;
const int IP_CONST_FEAT_EPIC_WEAPON_SPECIALIZATION_GOAD = 15926;
const int IP_CONST_FEAT_IMP_CRIT_LIGHT_LANCE = 15927;
const int IP_CONST_FEAT_IMP_CRIT_HEAVY_PICK = 15928;
const int IP_CONST_FEAT_IMP_CRIT_LIGHT_PICK = 15929;
const int IP_CONST_FEAT_IMP_CRIT_SAI = 15930;
const int IP_CONST_FEAT_IMP_CRIT_NUNCHAKU = 15931;
const int IP_CONST_FEAT_IMP_CRIT_FALCHION = 15932;
const int IP_CONST_FEAT_IMP_CRIT_SAP = 15933;
const int IP_CONST_FEAT_IMP_CRIT_KATAR = 15934;
const int IP_CONST_FEAT_IMP_CRIT_HEAVY_MACE = 15935;
const int IP_CONST_FEAT_IMP_CRIT_MAUL = 15936;
const int IP_CONST_FEAT_IMP_CRIT_DBL_SCIMITAR = 15937;
const int IP_CONST_FEAT_IMP_CRIT_GOAD = 15938;
const int IP_CONST_FEAT_OVERWHELMING_CRITICAL_LIGHT_LANCE = 15939;
const int IP_CONST_FEAT_OVERWHELMING_CRITICAL_HEAVY_PICK = 15940;
const int IP_CONST_FEAT_OVERWHELMING_CRITICAL_LIGHT_PICK = 15941;
const int IP_CONST_FEAT_OVERWHELMING_CRITICAL_SAI = 15942;
const int IP_CONST_FEAT_OVERWHELMING_CRITICAL_NUNCHAKU = 15943;
const int IP_CONST_FEAT_OVERWHELMING_CRITICAL_FALCHION = 15944;
const int IP_CONST_FEAT_OVERWHELMING_CRITICAL_SAP = 15945;
const int IP_CONST_FEAT_OVERWHELMING_CRITICAL_KATAR = 15946;
const int IP_CONST_FEAT_OVERWHELMING_CRITICAL_HEAVY_MACE = 15947;
const int IP_CONST_FEAT_OVERWHELMING_CRITICAL_MAUL = 15948;
const int IP_CONST_FEAT_OVERWHELMING_CRITICAL_DBL_SCIMITAR = 15949;
const int IP_CONST_FEAT_OVERWHELMING_CRITICAL_GOAD = 15950;
const int IP_CONST_FEAT_DEVASTATING_CRITICAL_LIGHT_LANCE = 15951;
const int IP_CONST_FEAT_DEVASTATING_CRITICAL_HEAVY_PICK = 15952;
const int IP_CONST_FEAT_DEVASTATING_CRITICAL_LIGHT_PICK = 15953;
const int IP_CONST_FEAT_DEVASTATING_CRITICAL_SAI = 15954;
const int IP_CONST_FEAT_DEVASTATING_CRITICAL_NUNCHAKU = 15955;
const int IP_CONST_FEAT_DEVASTATING_CRITICAL_FALCHION = 15956;
const int IP_CONST_FEAT_DEVASTATING_CRITICAL_SAP = 15957;
const int IP_CONST_FEAT_DEVASTATING_CRITICAL_KATAR = 15958;
const int IP_CONST_FEAT_DEVASTATING_CRITICAL_HEAVY_MACE = 15959;
const int IP_CONST_FEAT_DEVASTATING_CRITICAL_MAUL = 15960;
const int IP_CONST_FEAT_DEVASTATING_CRITICAL_DBL_SCIMITAR = 15961;
const int IP_CONST_FEAT_DEVASTATING_CRITICAL_GOAD = 15962;
const int IP_CONST_FEAT_WEAPON_OF_CHOICE_LIGHT_LANCE = 15963;
const int IP_CONST_FEAT_WEAPON_OF_CHOICE_HEAVY_PICK = 15964;
const int IP_CONST_FEAT_WEAPON_OF_CHOICE_LIGHT_PICK = 15965;
const int IP_CONST_FEAT_WEAPON_OF_CHOICE_SAI = 15966;
const int IP_CONST_FEAT_WEAPON_OF_CHOICE_NUNCHAKU = 15967;
const int IP_CONST_FEAT_WEAPON_OF_CHOICE_FALCHION = 15968;
const int IP_CONST_FEAT_WEAPON_OF_CHOICE_SAP = 15969;
const int IP_CONST_FEAT_WEAPON_OF_CHOICE_KATAR = 15970;
const int IP_CONST_FEAT_WEAPON_OF_CHOICE_HEAVY_MACE = 15971;
const int IP_CONST_FEAT_WEAPON_OF_CHOICE_MAUL = 15972;
const int IP_CONST_FEAT_WEAPON_OF_CHOICE_DBL_SCIMITAR = 15973;
const int IP_CONST_FEAT_WEAPON_OF_CHOICE_GOAD = 15974;
const int IP_CONST_FEAT_WF_ELVEN_LIGHTBLADE = 15975;
const int IP_CONST_FEAT_EPIC_WEAPON_FOCUS_ELVEN_LIGHTBLADE = 15976;
const int IP_CONST_FEAT_WEAP_SPEC_ELVEN_LIGHTBLADE = 15977;
const int IP_CONST_FEAT_EPIC_WEAPON_SPECIALIZATION_ELVEN_LIGHTBLADE = 15978;
const int IP_CONST_FEAT_IMP_CRIT_ELVEN_LIGHTBLADE = 15979;
const int IP_CONST_FEAT_OVERWHELMING_CRITICAL_ELVEN_LIGHTBLADE = 15980;
const int IP_CONST_FEAT_DEVASTATING_CRITICAL_ELVEN_LIGHTBLADE = 15981;
const int IP_CONST_FEAT_WEAPON_OF_CHOICE_ELVEN_LIGHTBLADE = 15982;
const int IP_CONST_FEAT_WF_ELVEN_THINBLADE = 15983;
const int IP_CONST_FEAT_EPIC_WEAPON_FOCUS_ELVEN_THINBLADE = 15984;
const int IP_CONST_FEAT_WEAP_SPEC_ELVEN_THINBLADE = 15985;
const int IP_CONST_FEAT_EPIC_WEAPON_SPECIALIZATION_ELVEN_THINBLADE = 15986;
const int IP_CONST_FEAT_IMP_CRIT_ELVEN_THINBLADE = 15987;
const int IP_CONST_FEAT_OVERWHELMING_CRITICAL_ELVEN_THINBLADE = 15988;
const int IP_CONST_FEAT_DEVASTATING_CRITICAL_ELVEN_THINBLADE = 15989;
const int IP_CONST_FEAT_WEAPON_OF_CHOICE_ELVEN_THINBLADE = 15990;
const int IP_CONST_FEAT_WF_ELVEN_COURTBLADE = 15991;
const int IP_CONST_FEAT_EPIC_WEAPON_FOCUS_ELVEN_COURTBLADE = 15992;
const int IP_CONST_FEAT_WEAP_SPEC_ELVEN_COURTBLADE = 15993;
const int IP_CONST_FEAT_EPIC_WEAPON_SPECIALIZATION_ELVEN_COURTBLADE = 15994;
const int IP_CONST_FEAT_IMP_CRIT_ELVEN_COURTBLADE = 15995;
const int IP_CONST_FEAT_OVERWHELMING_CRITICAL_ELVEN_COURTBLADE = 15996;
const int IP_CONST_FEAT_DEVASTATING_CRITICAL_ELVEN_COURTBLADE = 15997;
const int IP_CONST_FEAT_WEAPON_OF_CHOICE_ELVEN_COURTBLADE = 15998;
//////////////////////////////////////////////////*/

View File

@@ -8,26 +8,27 @@
//:: New base item types
//:://////////////////////////////////////////////
const int BASE_ITEM_GOLEM = 23; //not actually used for anything else
const int BASE_ITEM_ALCHEMY = 99; //not actually used for anything else
const int BASE_ITEM_POISON = 100; //not actually used for anything else
const int BASE_ITEM_PICK_HEAVY = 115;
const int BASE_ITEM_PICK_LIGHT = 116;
const int BASE_ITEM_SAI = 117;
const int BASE_ITEM_NUNCHAKU = 118;
const int BASE_ITEM_FALCHION = 119;
const int BASE_ITEM_SAP = 120;
const int BASE_ITEM_KATAR = 121;
const int BASE_ITEM_MACE_HEAVY = 122;
const int BASE_ITEM_MAUL = 123;
const int BASE_ITEM_DOUBLE_SCIMITAR = 124;
const int BASE_ITEM_GOAD = 125;
const int BASE_ITEM_EAGLE_CLAW = 126;
const int BASE_ITEM_CRAFTED_ROD = 199;
const int BASE_ITEM_CRAFTED_STAFF = 201;
const int BASE_ITEM_ELF_LIGHTBLADE = 202;
const int BASE_ITEM_ELF_THINBLADE = 203;
const int BASE_ITEM_ELF_COURTBLADE = 204;
const int BASE_ITEM_GOLEM = 23; //:: not actually used for anything else
const int BASE_ITEM_LIGHT_LANCE = 92;
const int BASE_ITEM_ALCHEMY = 99; //:: not actually used for anything else
const int BASE_ITEM_POISON = 100; //:: not actually used for anything else
const int BASE_ITEM_HEAVY_PICK = 115;
const int BASE_ITEM_LIGHT_PICK = 116;
const int BASE_ITEM_SAI = 117;
const int BASE_ITEM_NUNCHAKU = 118;
const int BASE_ITEM_FALCHION = 119;
const int BASE_ITEM_SAP = 120;
const int BASE_ITEM_KATAR = 121;
const int BASE_ITEM_HEAVY_MACE = 122;
const int BASE_ITEM_MAUL = 123;
const int BASE_ITEM_DOUBLE_SCIMITAR = 124;
const int BASE_ITEM_GOAD = 125;
const int BASE_ITEM_EAGLE_CLAW = 126;
const int BASE_ITEM_CRAFTED_ROD = 199;
const int BASE_ITEM_CRAFTED_STAFF = 201;
const int BASE_ITEM_ELVEN_LIGHTBLADE = 202;
const int BASE_ITEM_ELVEN_THINBLADE = 203;
const int BASE_ITEM_ELVEN_COURTBLADE = 204;
//:://////////////////////////////////////////////
//:: Player Health Const

View File

@@ -11,6 +11,9 @@ const int SPELL_BLACKLIGHT = 2091;
const int SPELL_BARD_SONG = 411;
const int SPELL_BARD_CURSE_SONG = 644;
//:: Complete Warrior
const int SPELL_RANGED_DISARM = 3493;
//marshal
const int SPELL_MINAUR_DEMFORT = 3500;
const int SPELL_MINAUR_FORCEWILL = 3501;
@@ -104,7 +107,7 @@ const int SPELLABILITY_LYCANBANE = 3993;
const int SPELLABILITY_MIELIKKI = 3992;
//Drow Judicator
const int SPELL_COMMAND_SPIDERS = 1610;
const int SPELL_COMMAND_SPIDERS = 1728;
const int SPELL_SUMMON_MYRLOCHAR = 1616;
const int SPELL_SUMMON_MONSTROUS = 1614;
const int SPELL_SUMMON_SWORDSPID = 1615;

View File

@@ -19,7 +19,8 @@
//:: Last Update: 2003-10-07
//:://////////////////////////////////////////////
//:: Test void
//:: void main (){}
//Changed by primogenitor to include CEP itemtypes
@@ -607,9 +608,9 @@ int IPGetIsMeleeWeapon(object oItem)
int nItem = GetBaseItemType(oItem);
if(nItem == BASE_ITEM_BASTARDSWORD
|| nItem == BASE_ITEM_BATTLEAXE
|| nItem == BASE_ITEM_DOUBLEAXE
|| nItem == BASE_ITEM_GREATAXE
|| nItem == BASE_ITEM_BATTLEAXE
|| nItem == BASE_ITEM_DOUBLEAXE
|| nItem == BASE_ITEM_GREATAXE
|| nItem == BASE_ITEM_GREATSWORD
|| nItem == BASE_ITEM_HALBERD
|| nItem == BASE_ITEM_HANDAXE
@@ -638,9 +639,21 @@ if(nItem == BASE_ITEM_BASTARDSWORD
|| nItem == BASE_ITEM_WARHAMMER
|| nItem == BASE_ITEM_DWARVENWARAXE
|| nItem == BASE_ITEM_TRIDENT
|| nItem == BASE_ITEM_ELF_LIGHTBLADE // PRC weapons
|| nItem == BASE_ITEM_ELF_THINBLADE
|| nItem == BASE_ITEM_ELF_COURTBLADE
|| nItem == BASE_ITEM_HEAVY_PICK
|| nItem == BASE_ITEM_LIGHT_PICK
|| nItem == BASE_ITEM_SAI
|| nItem == BASE_ITEM_NUNCHAKU
|| nItem == BASE_ITEM_FALCHION
|| nItem == BASE_ITEM_SAP
|| nItem == BASE_ITEM_KATAR
|| nItem == BASE_ITEM_HEAVY_MACE
|| nItem == BASE_ITEM_MAUL
|| nItem == BASE_ITEM_DOUBLE_SCIMITAR
|| nItem == BASE_ITEM_GOAD
|| nItem == BASE_ITEM_EAGLE_CLAW
|| nItem == BASE_ITEM_ELVEN_LIGHTBLADE // PRC weapons
|| nItem == BASE_ITEM_ELVEN_THINBLADE
|| nItem == BASE_ITEM_ELVEN_COURTBLADE
|| nItem == BASE_ITEM_CRAFTED_STAFF
|| nItem == 300 //CEP Trident
|| nItem == 303 //CEP Sai

View File

@@ -2769,7 +2769,10 @@ int X2PreSpellCastCode2()
//---------------------------------------------------------------------------
if(nContinue)
if (GetActionMode(oCaster, ACTION_MODE_EXPERTISE) || GetActionMode(oCaster, ACTION_MODE_IMPROVED_EXPERTISE))
{
SendMessageToPC(oCaster, "Combat Expertise only works with attack actions.");
nContinue = FALSE;
}
//---------------------------------------------------------------------------
// Run Spelldance perform check