mirror of
http://prc.nwn.ee:3000/Jaysyn/PRC8.git
synced 2025-12-29 17:37:14 -05:00
2025/05/16 Update
Expanded Warblade for epic progression. Warblade's Aptitude Focus now works with all new weapons. Expanded Knight of the Middle Circle for epic progression. Added Swarm of Arrows to fighter bonus feat list. Added Vile Martial Strike feats for all new weapons. Added Sanctified Martial Strike feats for all new weapons. Added missing iprp feats for Eagle Claw & Trident. Bestow Power shouldn't work on the caster. Spell Betrayal should only affect a target once per spell casting. Sap is a Martial weapon. Arcane Duelist's False Keenness now works with all new weapons. Disciple of Dispater's Rusting Grasp now works on the appropriate new weapons. Animate Object now works with all the new weapon types.
This commit is contained in:
@@ -1626,105 +1626,123 @@ int GetIsMagicItem(object oItem)
|
||||
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_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_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 ;
|
||||
case FEAT_WEAPON_SPECIALIZATION_DART: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_DART ;
|
||||
case FEAT_WEAPON_SPECIALIZATION_HEAVY_CROSSBOW: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_HEAVY_CROSSBOW ;
|
||||
case FEAT_WEAPON_SPECIALIZATION_LIGHT_CROSSBOW: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_LIGHT_CROSSBOW ;
|
||||
case FEAT_WEAPON_SPECIALIZATION_LIGHT_MACE: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_LIGHT_MACE ;
|
||||
case FEAT_WEAPON_SPECIALIZATION_MORNING_STAR: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_MORNING_STAR ;
|
||||
case FEAT_WEAPON_SPECIALIZATION_STAFF: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_STAFF ;
|
||||
case FEAT_WEAPON_SPECIALIZATION_SPEAR: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_SPEAR ;
|
||||
case FEAT_WEAPON_SPECIALIZATION_SICKLE: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_SICKLE ;
|
||||
case FEAT_WEAPON_SPECIALIZATION_SLING: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_SLING ;
|
||||
case FEAT_WEAPON_SPECIALIZATION_UNARMED_STRIKE: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_UNARMED_STRIKE ;
|
||||
case FEAT_WEAPON_SPECIALIZATION_LONGBOW: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_LONGBOW ;
|
||||
case FEAT_WEAPON_SPECIALIZATION_SHORTBOW: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_SHORTBOW ;
|
||||
case FEAT_WEAPON_SPECIALIZATION_SHORT_SWORD: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_SHORT_SWORD ;
|
||||
case FEAT_WEAPON_SPECIALIZATION_RAPIER: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_RAPIER ;
|
||||
case FEAT_WEAPON_SPECIALIZATION_SCIMITAR: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_SCIMITAR ;
|
||||
case FEAT_WEAPON_SPECIALIZATION_LONG_SWORD: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_LONG_SWORD ;
|
||||
case FEAT_WEAPON_SPECIALIZATION_GREAT_SWORD: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_GREAT_SWORD ;
|
||||
case FEAT_WEAPON_SPECIALIZATION_HAND_AXE: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_HAND_AXE ;
|
||||
case FEAT_WEAPON_SPECIALIZATION_THROWING_AXE: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_THROWING_AXE ;
|
||||
case FEAT_WEAPON_SPECIALIZATION_BATTLE_AXE: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_BATTLE_AXE ;
|
||||
case FEAT_WEAPON_SPECIALIZATION_GREAT_AXE: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_GREAT_AXE ;
|
||||
case FEAT_WEAPON_SPECIALIZATION_HALBERD: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_HALBERD ;
|
||||
case FEAT_WEAPON_SPECIALIZATION_LIGHT_HAMMER: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_LIGHT_HAMMER ;
|
||||
case FEAT_WEAPON_SPECIALIZATION_LIGHT_FLAIL: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_LIGHT_FLAIL ;
|
||||
case FEAT_WEAPON_SPECIALIZATION_WAR_HAMMER: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_WAR_HAMMER ;
|
||||
case FEAT_WEAPON_SPECIALIZATION_HEAVY_FLAIL: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_HEAVY_FLAIL ;
|
||||
case FEAT_WEAPON_SPECIALIZATION_KAMA: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_KAMA ;
|
||||
case FEAT_WEAPON_SPECIALIZATION_KUKRI: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_KUKRI ;
|
||||
case FEAT_WEAPON_SPECIALIZATION_SHURIKEN: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_SHURIKEN ;
|
||||
case FEAT_WEAPON_SPECIALIZATION_SCYTHE: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_SCYTHE ;
|
||||
case FEAT_WEAPON_SPECIALIZATION_KATANA: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_KATANA ;
|
||||
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 ;
|
||||
{//: Weapon Focus
|
||||
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_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;
|
||||
|
||||
//:: Weapon Specialization
|
||||
case FEAT_WEAPON_SPECIALIZATION_CLUB: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_CLUB;
|
||||
case FEAT_WEAPON_SPECIALIZATION_DAGGER: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_DAGGER;
|
||||
case FEAT_WEAPON_SPECIALIZATION_DART: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_DART;
|
||||
case FEAT_WEAPON_SPECIALIZATION_HEAVY_CROSSBOW: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_HEAVY_CROSSBOW;
|
||||
case FEAT_WEAPON_SPECIALIZATION_LIGHT_CROSSBOW: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_LIGHT_CROSSBOW;
|
||||
case FEAT_WEAPON_SPECIALIZATION_LIGHT_MACE: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_LIGHT_MACE;
|
||||
case FEAT_WEAPON_SPECIALIZATION_MORNING_STAR: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_MORNING_STAR;
|
||||
case FEAT_WEAPON_SPECIALIZATION_STAFF: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_STAFF;
|
||||
case FEAT_WEAPON_SPECIALIZATION_SPEAR: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_SPEAR;
|
||||
case FEAT_WEAPON_SPECIALIZATION_SICKLE: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_SICKLE;
|
||||
case FEAT_WEAPON_SPECIALIZATION_SLING: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_SLING;
|
||||
case FEAT_WEAPON_SPECIALIZATION_UNARMED_STRIKE: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_UNARMED_STRIKE;
|
||||
case FEAT_WEAPON_SPECIALIZATION_LONGBOW: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_LONGBOW;
|
||||
case FEAT_WEAPON_SPECIALIZATION_SHORTBOW: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_SHORTBOW;
|
||||
case FEAT_WEAPON_SPECIALIZATION_SHORT_SWORD: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_SHORT_SWORD;
|
||||
case FEAT_WEAPON_SPECIALIZATION_RAPIER: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_RAPIER;
|
||||
case FEAT_WEAPON_SPECIALIZATION_SCIMITAR: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_SCIMITAR;
|
||||
case FEAT_WEAPON_SPECIALIZATION_LONG_SWORD: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_LONG_SWORD;
|
||||
case FEAT_WEAPON_SPECIALIZATION_GREAT_SWORD: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_GREAT_SWORD;
|
||||
case FEAT_WEAPON_SPECIALIZATION_HAND_AXE: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_HAND_AXE;
|
||||
case FEAT_WEAPON_SPECIALIZATION_THROWING_AXE: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_THROWING_AXE;
|
||||
case FEAT_WEAPON_SPECIALIZATION_BATTLE_AXE: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_BATTLE_AXE;
|
||||
case FEAT_WEAPON_SPECIALIZATION_GREAT_AXE: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_GREAT_AXE;
|
||||
case FEAT_WEAPON_SPECIALIZATION_HALBERD: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_HALBERD;
|
||||
case FEAT_WEAPON_SPECIALIZATION_LIGHT_HAMMER: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_LIGHT_HAMMER;
|
||||
case FEAT_WEAPON_SPECIALIZATION_LIGHT_FLAIL: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_LIGHT_FLAIL;
|
||||
case FEAT_WEAPON_SPECIALIZATION_WAR_HAMMER: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_WAR_HAMMER;
|
||||
case FEAT_WEAPON_SPECIALIZATION_HEAVY_FLAIL: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_HEAVY_FLAIL;
|
||||
case FEAT_WEAPON_SPECIALIZATION_KAMA: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_KAMA;
|
||||
case FEAT_WEAPON_SPECIALIZATION_KUKRI: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_KUKRI;
|
||||
case FEAT_WEAPON_SPECIALIZATION_SHURIKEN: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_SHURIKEN;
|
||||
case FEAT_WEAPON_SPECIALIZATION_SCYTHE: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_SCYTHE;
|
||||
case FEAT_WEAPON_SPECIALIZATION_KATANA: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_KATANA;
|
||||
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_WHIP: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_WHIP;
|
||||
|
||||
case FEAT_WEAPON_SPECIALIZATION_EAGLE_CLAW: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_EAGLE_CLAW;
|
||||
case FEAT_WEAPON_SPECIALIZATION_FALCHION: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_FALCHION;
|
||||
case FEAT_WEAPON_SPECIALIZATION_HEAVY_MACE: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_HEAVY_MACE;
|
||||
case FEAT_WEAPON_SPECIALIZATION_LIGHT_PICK: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_LIGHT_PICK;
|
||||
case FEAT_WEAPON_SPECIALIZATION_HEAVY_PICK: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_HEAVY_PICK;
|
||||
case FEAT_WEAPON_SPECIALIZATION_KATAR: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_KATAR;
|
||||
case FEAT_WEAPON_SPECIALIZATION_SAI: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_SAI;
|
||||
case FEAT_WEAPON_SPECIALIZATION_NUNCHAKU: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_NUNCHAKU;
|
||||
case FEAT_WEAPON_SPECIALIZATION_MAUL: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_MAUL;
|
||||
case FEAT_WEAPON_SPECIALIZATION_SAP: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_SAP;
|
||||
case FEAT_WEAPON_SPECIALIZATION_DBL_SCIMITAR: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_DBL_SCIMITAR;
|
||||
case FEAT_WEAPON_SPECIALIZATION_GOAD: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_GOAD;
|
||||
case FEAT_WEAPON_SPECIALIZATION_TRIDENT: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_TRIDENT;
|
||||
|
||||
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;
|
||||
|
||||
case FEAT_WEAPON_SPECIALIZATION_ELVEN_COURTBLADE: return IP_CONST_FEAT_WEAPON_SPECIALIZATION_ELVEN_COURTBLADE;
|
||||
|
||||
|
||||
//:: Sanctify Martial Strike
|
||||
case FEAT_SANCTIFY_MARTIAL_CLUB: return IP_CONST_FEAT_SANCTIFY_MARTIAL_CLUB;
|
||||
case FEAT_SANCTIFY_MARTIAL_DAGGER: return IP_CONST_FEAT_SANCTIFY_MARTIAL_DAGGER;
|
||||
case FEAT_SANCTIFY_MARTIAL_DART: return IP_CONST_FEAT_SANCTIFY_MARTIAL_DART;
|
||||
@@ -1761,10 +1779,25 @@ int FeatToIprop(int nFeat)
|
||||
case FEAT_SANCTIFY_MARTIAL_DOUBLEAXE: return IP_CONST_FEAT_SANCTIFY_MARTIAL_DOUBLEAXE;
|
||||
case FEAT_SANCTIFY_MARTIAL_TWOBLADED: return IP_CONST_FEAT_SANCTIFY_MARTIAL_TWOBLADEDSWORD;
|
||||
case FEAT_SANCTIFY_MARTIAL_DWAXE: return IP_CONST_FEAT_SANCTIFY_MARTIAL_DWARVENAXE;
|
||||
case FEAT_SANCTIFY_MARTIAL_WHIP: return IP_CONST_FEAT_SANCTIFY_MARTIAL_WHIP;
|
||||
//case FEAT_SANCTIFY_MARTIAL_ELVEN_LIGHTBLADE: return IP_CONST_FEAT_SANCTIFY_MARTIAL_ELVEN_LIGHTBLADE;
|
||||
//case FEAT_SANCTIFY_MARTIAL_ELVEN_THINBLADE: return IP_CONST_FEAT_SANCTIFY_MARTIAL_ELVEN_THINBLADE;
|
||||
//case FEAT_SANCTIFY_MARTIAL_ELVEN_COURTBLADE: return IP_CONST_FEAT_SANCTIFY_MARTIAL_ELVEN_COURTBLADE;
|
||||
case FEAT_SANCTIFY_MARTIAL_WHIP: return IP_CONST_FEAT_SANCTIFY_MARTIAL_WHIP;
|
||||
|
||||
case FEAT_SANCTIFY_MARTIAL_EAGLE_CLAW: return IP_CONST_FEAT_SANCTIFY_MARTIAL_EAGLE_CLAW;
|
||||
case FEAT_SANCTIFY_MARTIAL_FALCHION: return IP_CONST_FEAT_SANCTIFY_MARTIAL_FALCHION;
|
||||
case FEAT_SANCTIFY_MARTIAL_HEAVY_MACE: return IP_CONST_FEAT_SANCTIFY_MARTIAL_HEAVY_MACE;
|
||||
case FEAT_SANCTIFY_MARTIAL_LIGHT_PICK: return IP_CONST_FEAT_SANCTIFY_MARTIAL_LIGHT_PICK;
|
||||
case FEAT_SANCTIFY_MARTIAL_HEAVY_PICK: return IP_CONST_FEAT_SANCTIFY_MARTIAL_HEAVY_PICK;
|
||||
case FEAT_SANCTIFY_MARTIAL_KATAR: return IP_CONST_FEAT_SANCTIFY_MARTIAL_KATAR;
|
||||
case FEAT_SANCTIFY_MARTIAL_SAI: return IP_CONST_FEAT_SANCTIFY_MARTIAL_SAI;
|
||||
case FEAT_SANCTIFY_MARTIAL_NUNCHAKU: return IP_CONST_FEAT_SANCTIFY_MARTIAL_NUNCHAKU;
|
||||
case FEAT_SANCTIFY_MARTIAL_MAUL: return IP_CONST_FEAT_SANCTIFY_MARTIAL_MAUL;
|
||||
case FEAT_SANCTIFY_MARTIAL_SAP: return IP_CONST_FEAT_SANCTIFY_MARTIAL_SAP;
|
||||
case FEAT_SANCTIFY_MARTIAL_DBL_SCIMITAR: return IP_CONST_FEAT_SANCTIFY_MARTIAL_DBL_SCIMITAR;
|
||||
case FEAT_SANCTIFY_MARTIAL_GOAD: return IP_CONST_FEAT_SANCTIFY_MARTIAL_GOAD;
|
||||
case FEAT_SANCTIFY_MARTIAL_TRIDENT: return IP_CONST_FEAT_SANCTIFY_MARTIAL_TRIDENT;
|
||||
|
||||
case FEAT_SANCTIFY_MARTIAL_ELVEN_LIGHTBLADE: return IP_CONST_FEAT_SANCTIFY_MARTIAL_ELVEN_LIGHTBLADE;
|
||||
case FEAT_SANCTIFY_MARTIAL_ELVEN_THINBLADE: return IP_CONST_FEAT_SANCTIFY_MARTIAL_ELVEN_THINBLADE;
|
||||
case FEAT_SANCTIFY_MARTIAL_ELVEN_COURTBLADE: return IP_CONST_FEAT_SANCTIFY_MARTIAL_ELVEN_COURTBLADE;
|
||||
}
|
||||
|
||||
return - 1;
|
||||
|
||||
@@ -150,6 +150,42 @@ const int FEAT_EPIC_DRAGONHEART_MAGE = 25113;
|
||||
const int FEAT_EPIC_SWIFT_WING = 25114;
|
||||
const int FEAT_EPIC_DIAMOND_DRAGON = 25115;
|
||||
|
||||
//:: Vile Martial Strike Expansion
|
||||
const int FEAT_VILE_MARTIAL_EAGLE_CLAW = 24800;
|
||||
const int FEAT_VILE_MARTIAL_LIGHT_LANCE = 24801;
|
||||
const int FEAT_VILE_MARTIAL_HEAVY_PICK = 24802;
|
||||
const int FEAT_VILE_MARTIAL_LIGHT_PICK = 24803;
|
||||
const int FEAT_VILE_MARTIAL_SAI = 24804;
|
||||
const int FEAT_VILE_MARTIAL_NUNCHAKU = 24805;
|
||||
const int FEAT_VILE_MARTIAL_FALCHION = 24806;
|
||||
const int FEAT_VILE_MARTIAL_SAP = 24807;
|
||||
const int FEAT_VILE_MARTIAL_KATAR = 24808;
|
||||
const int FEAT_VILE_MARTIAL_HEAVY_MACE = 24809;
|
||||
const int FEAT_VILE_MARTIAL_MAUL = 24810;
|
||||
const int FEAT_VILE_MARTIAL_DBL_SCIMITAR = 24811;
|
||||
const int FEAT_VILE_MARTIAL_GOAD = 24812;
|
||||
const int FEAT_VILE_MARTIAL_ELVEN_LIGHTBLADE = 24813;
|
||||
const int FEAT_VILE_MARTIAL_ELVEN_THINBLADE = 24814;
|
||||
const int FEAT_VILE_MARTIAL_ELVEN_COURTBLADE = 24815;
|
||||
|
||||
//:: Sanctify Martial Strike Expansion
|
||||
const int FEAT_SANCTIFY_MARTIAL_EAGLE_CLAW = 24850;
|
||||
const int FEAT_SANCTIFY_MARTIAL_LIGHT_LANCE = 24851;
|
||||
const int FEAT_SANCTIFY_MARTIAL_HEAVY_PICK = 24852;
|
||||
const int FEAT_SANCTIFY_MARTIAL_LIGHT_PICK = 24853;
|
||||
const int FEAT_SANCTIFY_MARTIAL_SAI = 24854;
|
||||
const int FEAT_SANCTIFY_MARTIAL_NUNCHAKU = 24855;
|
||||
const int FEAT_SANCTIFY_MARTIAL_FALCHION = 24856;
|
||||
const int FEAT_SANCTIFY_MARTIAL_SAP = 24857;
|
||||
const int FEAT_SANCTIFY_MARTIAL_KATAR = 24858;
|
||||
const int FEAT_SANCTIFY_MARTIAL_HEAVY_MACE = 24859;
|
||||
const int FEAT_SANCTIFY_MARTIAL_MAUL = 24860;
|
||||
const int FEAT_SANCTIFY_MARTIAL_DBL_SCIMITAR = 24861;
|
||||
const int FEAT_SANCTIFY_MARTIAL_GOAD = 24862;
|
||||
const int FEAT_SANCTIFY_MARTIAL_ELVEN_LIGHTBLADE = 24863;
|
||||
const int FEAT_SANCTIFY_MARTIAL_ELVEN_THINBLADE = 24864;
|
||||
const int FEAT_SANCTIFY_MARTIAL_ELVEN_COURTBLADE = 24865;
|
||||
|
||||
//:: Web Enhancement Feats
|
||||
const int FEAT_CHARMING_THE_ARROW = 25997;
|
||||
|
||||
|
||||
@@ -30,6 +30,9 @@
|
||||
|
||||
////////////////End Generic////////////////
|
||||
|
||||
//::void main (){}
|
||||
|
||||
|
||||
////////////////Begin Drunken Master//////////////////////
|
||||
|
||||
|
||||
@@ -413,10 +416,31 @@ int Vile_Feat(int iTypeWeap)
|
||||
case BASE_ITEM_WHIP: return GetHasFeat(FEAT_VILE_MARTIAL_WHIP);
|
||||
case BASE_ITEM_TRIDENT: return GetHasFeat(FEAT_VILE_MARTIAL_TRIDENT);
|
||||
|
||||
//new items
|
||||
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);
|
||||
//:: New items
|
||||
case BASE_ITEM_ELVEN_LIGHTBLADE: return (GetHasFeat(FEAT_VILE_MARTIAL_SHORTSWORD) ||
|
||||
GetHasFeat(FEAT_VILE_MARTIAL_RAPIER) ||
|
||||
GetHasFeat(FEAT_VILE_MARTIAL_ELVEN_LIGHTBLADE));
|
||||
|
||||
case BASE_ITEM_ELVEN_THINBLADE: return (GetHasFeat(FEAT_VILE_MARTIAL_LONGSWORD) ||
|
||||
GetHasFeat(FEAT_VILE_MARTIAL_RAPIER) ||
|
||||
GetHasFeat(FEAT_VILE_MARTIAL_ELVEN_THINBLADE));
|
||||
|
||||
case BASE_ITEM_ELVEN_COURTBLADE: return GetHasFeat(FEAT_VILE_MARTIAL_GREATSWORD ||
|
||||
GetHasFeat(FEAT_VILE_MARTIAL_ELVEN_COURTBLADE));
|
||||
|
||||
case BASE_ITEM_DOUBLE_SCIMITAR: return GetHasFeat(FEAT_VILE_MARTIAL_DBL_SCIMITAR);
|
||||
case BASE_ITEM_EAGLE_CLAW: return GetHasFeat(FEAT_VILE_MARTIAL_EAGLE_CLAW);
|
||||
case BASE_ITEM_FALCHION: return GetHasFeat(FEAT_VILE_MARTIAL_FALCHION);
|
||||
case BASE_ITEM_GOAD: return GetHasFeat(FEAT_VILE_MARTIAL_GOAD);
|
||||
case BASE_ITEM_HEAVY_MACE: return GetHasFeat(FEAT_VILE_MARTIAL_HEAVY_MACE);
|
||||
case BASE_ITEM_HEAVY_PICK: return GetHasFeat(FEAT_VILE_MARTIAL_HEAVY_PICK);
|
||||
case BASE_ITEM_KATAR: return GetHasFeat(FEAT_VILE_MARTIAL_KATAR);
|
||||
case BASE_ITEM_LIGHT_LANCE: return GetHasFeat(FEAT_VILE_MARTIAL_LIGHT_LANCE);
|
||||
case BASE_ITEM_LIGHT_PICK: return GetHasFeat(FEAT_VILE_MARTIAL_LIGHT_PICK);
|
||||
case BASE_ITEM_MAUL: return GetHasFeat(FEAT_VILE_MARTIAL_MAUL);
|
||||
case BASE_ITEM_NUNCHAKU: return GetHasFeat(FEAT_VILE_MARTIAL_NUNCHAKU);
|
||||
case BASE_ITEM_SAI: return GetHasFeat(FEAT_VILE_MARTIAL_SAI);
|
||||
case BASE_ITEM_SAP: return GetHasFeat(FEAT_VILE_MARTIAL_SAP);
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
@@ -473,9 +497,30 @@ int GetSanctifedMartialFeat(int iTypeWeap)
|
||||
case BASE_ITEM_TRIDENT: return FEAT_SANCTIFY_MARTIAL_TRIDENT;
|
||||
|
||||
//new items
|
||||
case BASE_ITEM_ELVEN_LIGHTBLADE: return FEAT_SANCTIFY_MARTIAL_SHORTSWORD || FEAT_SANCTIFY_MARTIAL_RAPIER;
|
||||
case BASE_ITEM_ELVEN_THINBLADE: return FEAT_SANCTIFY_MARTIAL_LONGSWORD || FEAT_SANCTIFY_MARTIAL_RAPIER;
|
||||
case BASE_ITEM_ELVEN_COURTBLADE: return FEAT_SANCTIFY_MARTIAL_GREATSWORD;
|
||||
case BASE_ITEM_ELVEN_LIGHTBLADE: return FEAT_SANCTIFY_MARTIAL_SHORTSWORD ||
|
||||
FEAT_SANCTIFY_MARTIAL_RAPIER ||
|
||||
FEAT_SANCTIFY_MARTIAL_ELVEN_LIGHTBLADE;
|
||||
|
||||
case BASE_ITEM_ELVEN_THINBLADE: return FEAT_SANCTIFY_MARTIAL_LONGSWORD ||
|
||||
FEAT_SANCTIFY_MARTIAL_RAPIER ||
|
||||
FEAT_SANCTIFY_MARTIAL_ELVEN_THINBLADE;
|
||||
|
||||
case BASE_ITEM_ELVEN_COURTBLADE: return FEAT_SANCTIFY_MARTIAL_GREATSWORD ||
|
||||
FEAT_SANCTIFY_MARTIAL_ELVEN_COURTBLADE;
|
||||
|
||||
case BASE_ITEM_DOUBLE_SCIMITAR: return FEAT_SANCTIFY_MARTIAL_DBL_SCIMITAR;
|
||||
case BASE_ITEM_EAGLE_CLAW: return FEAT_SANCTIFY_MARTIAL_EAGLE_CLAW;
|
||||
case BASE_ITEM_FALCHION: return FEAT_SANCTIFY_MARTIAL_FALCHION;
|
||||
case BASE_ITEM_GOAD: return FEAT_SANCTIFY_MARTIAL_GOAD;
|
||||
case BASE_ITEM_HEAVY_MACE: return FEAT_SANCTIFY_MARTIAL_HEAVY_MACE;
|
||||
case BASE_ITEM_HEAVY_PICK: return FEAT_SANCTIFY_MARTIAL_HEAVY_PICK;
|
||||
case BASE_ITEM_KATAR: return FEAT_SANCTIFY_MARTIAL_KATAR;
|
||||
case BASE_ITEM_LIGHT_LANCE: return FEAT_SANCTIFY_MARTIAL_LIGHT_LANCE;
|
||||
case BASE_ITEM_LIGHT_PICK: return FEAT_SANCTIFY_MARTIAL_LIGHT_PICK;
|
||||
case BASE_ITEM_MAUL: return FEAT_SANCTIFY_MARTIAL_MAUL;
|
||||
case BASE_ITEM_NUNCHAKU: return FEAT_SANCTIFY_MARTIAL_NUNCHAKU;
|
||||
case BASE_ITEM_SAI: return FEAT_SANCTIFY_MARTIAL_SAI;
|
||||
case BASE_ITEM_SAP: return FEAT_SANCTIFY_MARTIAL_SAP;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
@@ -485,49 +530,70 @@ int Sanctify_Feat(int iTypeWeap)
|
||||
{
|
||||
switch(iTypeWeap)
|
||||
{
|
||||
case BASE_ITEM_BASTARDSWORD: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_BASTARDSWORD);
|
||||
case BASE_ITEM_BATTLEAXE: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_BATTLEAXE);
|
||||
case BASE_ITEM_CLUB: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_CLUB);
|
||||
case BASE_ITEM_DAGGER: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_DAGGER);
|
||||
case BASE_ITEM_DART: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_DART);
|
||||
case BASE_ITEM_DIREMACE: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_DIREMACE);
|
||||
case BASE_ITEM_DOUBLEAXE: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_DOUBLEAXE);
|
||||
case BASE_ITEM_DWARVENWARAXE: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_DWAXE);
|
||||
case BASE_ITEM_GREATAXE: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_GREATAXE);
|
||||
case BASE_ITEM_GREATSWORD: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_GREATSWORD);
|
||||
case BASE_ITEM_HALBERD: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_HALBERD);
|
||||
case BASE_ITEM_HANDAXE: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_HANDAXE);
|
||||
case BASE_ITEM_HEAVYCROSSBOW: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_HEAVYCROSSBOW);
|
||||
case BASE_ITEM_HEAVYFLAIL: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_HEAVYFLAIL);
|
||||
case BASE_ITEM_KAMA: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_KAMA);
|
||||
case BASE_ITEM_KATANA: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_KATANA);
|
||||
case BASE_ITEM_KUKRI: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_KUKRI);
|
||||
case BASE_ITEM_LIGHTCROSSBOW: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_LIGHTCROSSBOW);
|
||||
case BASE_ITEM_LIGHTFLAIL: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_LIGHTFLAIL);
|
||||
case BASE_ITEM_LIGHTHAMMER: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_LIGHTHAMMER);
|
||||
case BASE_ITEM_LIGHTMACE: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_MACE);
|
||||
case BASE_ITEM_LONGBOW: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_LONGBOW);
|
||||
case BASE_ITEM_LONGSWORD: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_LONGSWORD);
|
||||
case BASE_ITEM_MORNINGSTAR: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_MORNINGSTAR);
|
||||
case BASE_ITEM_QUARTERSTAFF: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_QUARTERSTAFF);
|
||||
case BASE_ITEM_RAPIER: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_RAPIER);
|
||||
case BASE_ITEM_SCIMITAR: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_SCIMITAR);
|
||||
case BASE_ITEM_SCYTHE: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_SCYTHE);
|
||||
case BASE_ITEM_SHORTBOW: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_SHORTBOW);
|
||||
case BASE_ITEM_SHORTSPEAR: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_SPEAR);
|
||||
case BASE_ITEM_SHORTSWORD: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_SHORTSWORD);
|
||||
case BASE_ITEM_SHURIKEN: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_SHURIKEN);
|
||||
case BASE_ITEM_SLING: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_SLING);
|
||||
case BASE_ITEM_SICKLE: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_SICKLE);
|
||||
case BASE_ITEM_BASTARDSWORD: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_BASTARDSWORD);
|
||||
case BASE_ITEM_BATTLEAXE: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_BATTLEAXE);
|
||||
case BASE_ITEM_CLUB: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_CLUB);
|
||||
case BASE_ITEM_DAGGER: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_DAGGER);
|
||||
case BASE_ITEM_DART: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_DART);
|
||||
case BASE_ITEM_DIREMACE: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_DIREMACE);
|
||||
case BASE_ITEM_DOUBLEAXE: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_DOUBLEAXE);
|
||||
case BASE_ITEM_DWARVENWARAXE: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_DWAXE);
|
||||
case BASE_ITEM_GREATAXE: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_GREATAXE);
|
||||
case BASE_ITEM_GREATSWORD: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_GREATSWORD);
|
||||
case BASE_ITEM_HALBERD: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_HALBERD);
|
||||
case BASE_ITEM_HANDAXE: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_HANDAXE);
|
||||
case BASE_ITEM_HEAVYCROSSBOW: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_HEAVYCROSSBOW);
|
||||
case BASE_ITEM_HEAVYFLAIL: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_HEAVYFLAIL);
|
||||
case BASE_ITEM_KAMA: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_KAMA);
|
||||
case BASE_ITEM_KATANA: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_KATANA);
|
||||
case BASE_ITEM_KUKRI: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_KUKRI);
|
||||
case BASE_ITEM_LIGHTCROSSBOW: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_LIGHTCROSSBOW);
|
||||
case BASE_ITEM_LIGHTFLAIL: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_LIGHTFLAIL);
|
||||
case BASE_ITEM_LIGHTHAMMER: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_LIGHTHAMMER);
|
||||
case BASE_ITEM_LIGHTMACE: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_MACE);
|
||||
case BASE_ITEM_LONGBOW: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_LONGBOW);
|
||||
case BASE_ITEM_LONGSWORD: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_LONGSWORD);
|
||||
case BASE_ITEM_MORNINGSTAR: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_MORNINGSTAR);
|
||||
case BASE_ITEM_QUARTERSTAFF: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_QUARTERSTAFF);
|
||||
case BASE_ITEM_RAPIER: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_RAPIER);
|
||||
case BASE_ITEM_SCIMITAR: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_SCIMITAR);
|
||||
case BASE_ITEM_SCYTHE: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_SCYTHE);
|
||||
case BASE_ITEM_SHORTBOW: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_SHORTBOW);
|
||||
case BASE_ITEM_SHORTSPEAR: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_SPEAR);
|
||||
case BASE_ITEM_SHORTSWORD: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_SHORTSWORD);
|
||||
case BASE_ITEM_SHURIKEN: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_SHURIKEN);
|
||||
case BASE_ITEM_SLING: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_SLING);
|
||||
case BASE_ITEM_SICKLE: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_SICKLE);
|
||||
case BASE_ITEM_TWOBLADEDSWORD: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_TWOBLADED);
|
||||
case BASE_ITEM_WARHAMMER: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_WARHAMMER);
|
||||
case BASE_ITEM_WHIP: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_WHIP);
|
||||
case BASE_ITEM_TRIDENT: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_TRIDENT);
|
||||
|
||||
//new items
|
||||
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);
|
||||
//:: New items
|
||||
case BASE_ITEM_ELVEN_LIGHTBLADE: return (GetHasFeat(FEAT_SANCTIFY_MARTIAL_SHORTSWORD) ||
|
||||
GetHasFeat(FEAT_SANCTIFY_MARTIAL_RAPIER) ||
|
||||
GetHasFeat(FEAT_SANCTIFY_MARTIAL_ELVEN_LIGHTBLADE));
|
||||
|
||||
case BASE_ITEM_ELVEN_THINBLADE: return (GetHasFeat(FEAT_SANCTIFY_MARTIAL_LONGSWORD) ||
|
||||
GetHasFeat(FEAT_SANCTIFY_MARTIAL_RAPIER) ||
|
||||
GetHasFeat(FEAT_SANCTIFY_MARTIAL_ELVEN_THINBLADE));
|
||||
|
||||
case BASE_ITEM_ELVEN_COURTBLADE: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_GREATSWORD ||
|
||||
GetHasFeat(FEAT_SANCTIFY_MARTIAL_ELVEN_COURTBLADE));
|
||||
|
||||
case BASE_ITEM_DOUBLE_SCIMITAR: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_DBL_SCIMITAR);
|
||||
case BASE_ITEM_EAGLE_CLAW: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_EAGLE_CLAW);
|
||||
case BASE_ITEM_FALCHION: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_FALCHION);
|
||||
case BASE_ITEM_GOAD: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_GOAD);
|
||||
case BASE_ITEM_HEAVY_MACE: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_HEAVY_MACE);
|
||||
case BASE_ITEM_HEAVY_PICK: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_HEAVY_PICK);
|
||||
case BASE_ITEM_KATAR: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_KATAR);
|
||||
case BASE_ITEM_LIGHT_LANCE: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_LIGHT_LANCE);
|
||||
case BASE_ITEM_LIGHT_PICK: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_LIGHT_PICK);
|
||||
case BASE_ITEM_MAUL: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_MAUL);
|
||||
case BASE_ITEM_NUNCHAKU: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_NUNCHAKU);
|
||||
case BASE_ITEM_SAI: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_SAI);
|
||||
case BASE_ITEM_SAP: return GetHasFeat(FEAT_SANCTIFY_MARTIAL_SAP);
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
|
||||
@@ -1744,7 +1744,176 @@ struct WeaponFeat GetAllFeatsOfWeaponType(int iWeaponType)
|
||||
sFeat.VileMartialStrike = FEAT_VILE_MARTIAL_WHIP;
|
||||
break;
|
||||
}
|
||||
// If the feat is blank when we get here, do a lookup series
|
||||
case BASE_ITEM_DOUBLE_SCIMITAR: {
|
||||
sFeat.Focus = FEAT_WEAPON_FOCUS_DOUBLE_SCIMITAR;
|
||||
sFeat.Specialization = FEAT_WEAPON_SPECIALIZATION_DBL_SCIMITAR;
|
||||
sFeat.EpicFocus = FEAT_EPIC_WEAPON_FOCUS_DBL_SCIMITAR;
|
||||
sFeat.EpicSpecialization = FEAT_EPIC_WEAPON_SPECIALIZATION_DBL_SCIMITAR;
|
||||
sFeat.ImprovedCritical = FEAT_IMPROVED_CRITICAL_DBL_SCIMITAR;
|
||||
sFeat.OverwhelmingCritical = FEAT_EPIC_OVERWHELMING_CRITICAL_DBL_SCIMITAR;
|
||||
sFeat.DevastatingCritical = FEAT_EPIC_DEVASTATING_CRITICAL_DBL_SCIMITAR;
|
||||
sFeat.WeaponOfChoice = FEAT_WEAPON_OF_CHOICE_DBL_SCIMITAR;
|
||||
sFeat.SanctifyMartialStrike = FEAT_SANCTIFY_MARTIAL_DBL_SCIMITAR;
|
||||
sFeat.VileMartialStrike = FEAT_VILE_MARTIAL_DBL_SCIMITAR;
|
||||
break;
|
||||
}
|
||||
case BASE_ITEM_EAGLE_CLAW: {
|
||||
sFeat.Focus = FEAT_WEAPON_FOCUS_EAGLE_CLAW;
|
||||
sFeat.Specialization = FEAT_WEAPON_SPECIALIZATION_EAGLE_CLAW;
|
||||
sFeat.EpicFocus = FEAT_EPIC_WEAPON_FOCUS_EAGLE_CLAW;
|
||||
sFeat.EpicSpecialization = FEAT_EPIC_WEAPON_SPECIALIZATION_EAGLE_CLAW;
|
||||
sFeat.ImprovedCritical = FEAT_IMPROVED_CRITICAL_EAGLE_CLAW;
|
||||
sFeat.OverwhelmingCritical = FEAT_EPIC_OVERWHELMING_CRITICAL_EAGLE_CLAW;
|
||||
sFeat.DevastatingCritical = FEAT_EPIC_DEVASTATING_CRITICAL_EAGLE_CLAW;
|
||||
sFeat.WeaponOfChoice = FEAT_WEAPON_OF_CHOICE_EAGLE_CLAW;
|
||||
sFeat.SanctifyMartialStrike = FEAT_SANCTIFY_MARTIAL_EAGLE_CLAW;
|
||||
sFeat.VileMartialStrike = FEAT_VILE_MARTIAL_EAGLE_CLAW;
|
||||
break;
|
||||
}
|
||||
case BASE_ITEM_ELVEN_COURTBLADE: {
|
||||
sFeat.Focus = FEAT_WEAPON_FOCUS_ELVEN_COURTBLADE;
|
||||
sFeat.Specialization = FEAT_WEAPON_SPECIALIZATION_ELVEN_COURTBLADE;
|
||||
sFeat.EpicFocus = FEAT_EPIC_WEAPON_FOCUS_ELVEN_COURTBLADE;
|
||||
sFeat.EpicSpecialization = FEAT_EPIC_WEAPON_SPECIALIZATION_ELVEN_COURTBLADE;
|
||||
sFeat.ImprovedCritical = FEAT_IMPROVED_CRITICAL_ELVEN_COURTBLADE;
|
||||
sFeat.OverwhelmingCritical = FEAT_EPIC_OVERWHELMING_CRITICAL_ELVEN_COURTBLADE;
|
||||
sFeat.DevastatingCritical = FEAT_EPIC_DEVASTATING_CRITICAL_ELVEN_COURTBLADE;
|
||||
sFeat.WeaponOfChoice = FEAT_WEAPON_OF_CHOICE_ELVEN_COURTBLADE;
|
||||
sFeat.SanctifyMartialStrike = FEAT_SANCTIFY_MARTIAL_ELVEN_COURTBLADE;
|
||||
sFeat.VileMartialStrike = FEAT_VILE_MARTIAL_ELVEN_COURTBLADE;
|
||||
break;
|
||||
}
|
||||
case BASE_ITEM_ELVEN_THINBLADE: {
|
||||
sFeat.Focus = FEAT_WEAPON_FOCUS_ELVEN_THINBLADE;
|
||||
sFeat.Specialization = FEAT_WEAPON_SPECIALIZATION_ELVEN_THINBLADE;
|
||||
sFeat.EpicFocus = FEAT_EPIC_WEAPON_FOCUS_ELVEN_THINBLADE;
|
||||
sFeat.EpicSpecialization = FEAT_EPIC_WEAPON_SPECIALIZATION_ELVEN_THINBLADE;
|
||||
sFeat.ImprovedCritical = FEAT_IMPROVED_CRITICAL_ELVEN_THINBLADE;
|
||||
sFeat.OverwhelmingCritical = FEAT_EPIC_OVERWHELMING_CRITICAL_ELVEN_THINBLADE;
|
||||
sFeat.DevastatingCritical = FEAT_EPIC_DEVASTATING_CRITICAL_ELVEN_THINBLADE;
|
||||
sFeat.WeaponOfChoice = FEAT_WEAPON_OF_CHOICE_ELVEN_THINBLADE;
|
||||
sFeat.SanctifyMartialStrike = FEAT_SANCTIFY_MARTIAL_ELVEN_THINBLADE;
|
||||
sFeat.VileMartialStrike = FEAT_VILE_MARTIAL_ELVEN_THINBLADE;
|
||||
break;
|
||||
}
|
||||
case BASE_ITEM_ELVEN_LIGHTBLADE: {
|
||||
sFeat.Focus = FEAT_WEAPON_FOCUS_ELVEN_LIGHTBLADE;
|
||||
sFeat.Specialization = FEAT_WEAPON_SPECIALIZATION_ELVEN_LIGHTBLADE;
|
||||
sFeat.EpicFocus = FEAT_EPIC_WEAPON_FOCUS_ELVEN_LIGHTBLADE;
|
||||
sFeat.EpicSpecialization = FEAT_EPIC_WEAPON_SPECIALIZATION_ELVEN_LIGHTBLADE;
|
||||
sFeat.ImprovedCritical = FEAT_IMPROVED_CRITICAL_ELVEN_LIGHTBLADE;
|
||||
sFeat.OverwhelmingCritical = FEAT_EPIC_OVERWHELMING_CRITICAL_ELVEN_LIGHTBLADE;
|
||||
sFeat.DevastatingCritical = FEAT_EPIC_DEVASTATING_CRITICAL_ELVEN_LIGHTBLADE;
|
||||
sFeat.WeaponOfChoice = FEAT_WEAPON_OF_CHOICE_ELVEN_LIGHTBLADE;
|
||||
sFeat.SanctifyMartialStrike = FEAT_SANCTIFY_MARTIAL_ELVEN_LIGHTBLADE;
|
||||
sFeat.VileMartialStrike = FEAT_VILE_MARTIAL_ELVEN_LIGHTBLADE;
|
||||
break;
|
||||
}
|
||||
case BASE_ITEM_FALCHION: {
|
||||
sFeat.Focus = FEAT_WEAPON_FOCUS_FALCHION;
|
||||
sFeat.Specialization = FEAT_WEAPON_SPECIALIZATION_FALCHION;
|
||||
sFeat.EpicFocus = FEAT_EPIC_WEAPON_FOCUS_FALCHION;
|
||||
sFeat.EpicSpecialization = FEAT_EPIC_WEAPON_SPECIALIZATION_FALCHION;
|
||||
sFeat.ImprovedCritical = FEAT_IMPROVED_CRITICAL_FALCHION;
|
||||
sFeat.OverwhelmingCritical = FEAT_EPIC_OVERWHELMING_CRITICAL_FALCHION;
|
||||
sFeat.DevastatingCritical = FEAT_EPIC_DEVASTATING_CRITICAL_FALCHION;
|
||||
sFeat.WeaponOfChoice = FEAT_WEAPON_OF_CHOICE_FALCHION;
|
||||
sFeat.SanctifyMartialStrike = FEAT_SANCTIFY_MARTIAL_FALCHION;
|
||||
sFeat.VileMartialStrike = FEAT_VILE_MARTIAL_FALCHION;
|
||||
break;
|
||||
}
|
||||
case BASE_ITEM_GOAD: {
|
||||
sFeat.Focus = FEAT_WEAPON_FOCUS_GOAD;
|
||||
sFeat.Specialization = FEAT_WEAPON_SPECIALIZATION_GOAD;
|
||||
sFeat.EpicFocus = FEAT_EPIC_WEAPON_FOCUS_GOAD;
|
||||
sFeat.EpicSpecialization = FEAT_EPIC_WEAPON_SPECIALIZATION_GOAD;
|
||||
sFeat.ImprovedCritical = FEAT_IMPROVED_CRITICAL_GOAD;
|
||||
sFeat.OverwhelmingCritical = FEAT_EPIC_OVERWHELMING_CRITICAL_GOAD;
|
||||
sFeat.DevastatingCritical = FEAT_EPIC_DEVASTATING_CRITICAL_GOAD;
|
||||
sFeat.WeaponOfChoice = FEAT_WEAPON_OF_CHOICE_GOAD;
|
||||
sFeat.SanctifyMartialStrike = FEAT_SANCTIFY_MARTIAL_GOAD;
|
||||
sFeat.VileMartialStrike = FEAT_VILE_MARTIAL_GOAD;
|
||||
break;
|
||||
}
|
||||
case BASE_ITEM_HEAVY_MACE: {
|
||||
sFeat.Focus = FEAT_WEAPON_FOCUS_HEAVY_MACE;
|
||||
sFeat.Specialization = FEAT_WEAPON_SPECIALIZATION_HEAVY_MACE;
|
||||
sFeat.EpicFocus = FEAT_EPIC_WEAPON_FOCUS_HEAVY_MACE;
|
||||
sFeat.EpicSpecialization = FEAT_EPIC_WEAPON_SPECIALIZATION_HEAVY_MACE;
|
||||
sFeat.ImprovedCritical = FEAT_IMPROVED_CRITICAL_HEAVY_MACE;
|
||||
sFeat.OverwhelmingCritical = FEAT_EPIC_OVERWHELMING_CRITICAL_HEAVY_MACE;
|
||||
sFeat.DevastatingCritical = FEAT_EPIC_DEVASTATING_CRITICAL_HEAVY_MACE;
|
||||
sFeat.WeaponOfChoice = FEAT_WEAPON_OF_CHOICE_HEAVY_MACE;
|
||||
sFeat.SanctifyMartialStrike = FEAT_SANCTIFY_MARTIAL_HEAVY_MACE;
|
||||
sFeat.VileMartialStrike = FEAT_VILE_MARTIAL_HEAVY_MACE;
|
||||
break;
|
||||
}
|
||||
case BASE_ITEM_HEAVY_PICK: {
|
||||
sFeat.Focus = FEAT_WEAPON_FOCUS_HEAVY_PICK;
|
||||
sFeat.Specialization = FEAT_WEAPON_SPECIALIZATION_HEAVY_PICK;
|
||||
sFeat.EpicFocus = FEAT_EPIC_WEAPON_FOCUS_HEAVY_PICK;
|
||||
sFeat.EpicSpecialization = FEAT_EPIC_WEAPON_SPECIALIZATION_HEAVY_PICK;
|
||||
sFeat.ImprovedCritical = FEAT_IMPROVED_CRITICAL_HEAVY_PICK;
|
||||
sFeat.OverwhelmingCritical = FEAT_EPIC_OVERWHELMING_CRITICAL_HEAVY_PICK;
|
||||
sFeat.DevastatingCritical = FEAT_EPIC_DEVASTATING_CRITICAL_HEAVY_PICK;
|
||||
sFeat.WeaponOfChoice = FEAT_WEAPON_OF_CHOICE_HEAVY_PICK;
|
||||
sFeat.SanctifyMartialStrike = FEAT_SANCTIFY_MARTIAL_HEAVY_PICK;
|
||||
sFeat.VileMartialStrike = FEAT_VILE_MARTIAL_HEAVY_PICK;
|
||||
break;
|
||||
}
|
||||
case BASE_ITEM_KATAR: {
|
||||
sFeat.Focus = FEAT_WEAPON_FOCUS_LIGHT_LANCE;
|
||||
sFeat.Specialization = FEAT_WEAPON_SPECIALIZATION_KATAR;
|
||||
sFeat.EpicFocus = FEAT_EPIC_WEAPON_FOCUS_KATAR;
|
||||
sFeat.EpicSpecialization = FEAT_EPIC_WEAPON_SPECIALIZATION_KATAR;
|
||||
sFeat.ImprovedCritical = FEAT_IMPROVED_CRITICAL_KATAR;
|
||||
sFeat.OverwhelmingCritical = FEAT_EPIC_OVERWHELMING_CRITICAL_KATAR;
|
||||
sFeat.DevastatingCritical = FEAT_EPIC_DEVASTATING_CRITICAL_KATAR;
|
||||
sFeat.WeaponOfChoice = FEAT_WEAPON_OF_CHOICE_KATAR;
|
||||
sFeat.SanctifyMartialStrike = FEAT_SANCTIFY_MARTIAL_KATAR;
|
||||
sFeat.VileMartialStrike = FEAT_VILE_MARTIAL_KATAR;
|
||||
break;
|
||||
}
|
||||
case BASE_ITEM_LIGHT_LANCE: {
|
||||
sFeat.Focus = FEAT_WEAPON_FOCUS_LIGHT_LANCE;
|
||||
sFeat.Specialization = FEAT_WEAPON_SPECIALIZATION_LIGHT_LANCE;
|
||||
sFeat.EpicFocus = FEAT_EPIC_WEAPON_FOCUS_LIGHT_LANCE;
|
||||
sFeat.EpicSpecialization = FEAT_EPIC_WEAPON_SPECIALIZATION_LIGHT_LANCE;
|
||||
sFeat.ImprovedCritical = FEAT_IMPROVED_CRITICAL_LIGHT_LANCE;
|
||||
sFeat.OverwhelmingCritical = FEAT_EPIC_OVERWHELMING_CRITICAL_LIGHT_LANCE;
|
||||
sFeat.DevastatingCritical = FEAT_EPIC_DEVASTATING_CRITICAL_LIGHT_LANCE;
|
||||
sFeat.WeaponOfChoice = FEAT_WEAPON_OF_CHOICE_LIGHT_LANCE;
|
||||
sFeat.SanctifyMartialStrike = FEAT_SANCTIFY_MARTIAL_LIGHT_LANCE;
|
||||
sFeat.VileMartialStrike = FEAT_VILE_MARTIAL_LIGHT_LANCE;
|
||||
break;
|
||||
}
|
||||
case BASE_ITEM_LIGHT_PICK: {
|
||||
sFeat.Focus = FEAT_WEAPON_FOCUS_LIGHT_PICK;
|
||||
sFeat.Specialization = FEAT_WEAPON_SPECIALIZATION_LIGHT_PICK;
|
||||
sFeat.EpicFocus = FEAT_EPIC_WEAPON_FOCUS_LIGHT_PICK;
|
||||
sFeat.EpicSpecialization = FEAT_EPIC_WEAPON_SPECIALIZATION_LIGHT_PICK;
|
||||
sFeat.ImprovedCritical = FEAT_IMPROVED_CRITICAL_LIGHT_PICK;
|
||||
sFeat.OverwhelmingCritical = FEAT_EPIC_OVERWHELMING_CRITICAL_LIGHT_PICK;
|
||||
sFeat.DevastatingCritical = FEAT_EPIC_DEVASTATING_CRITICAL_LIGHT_PICK;
|
||||
sFeat.WeaponOfChoice = FEAT_WEAPON_OF_CHOICE_LIGHT_PICK;
|
||||
sFeat.SanctifyMartialStrike = FEAT_SANCTIFY_MARTIAL_LIGHT_PICK;
|
||||
sFeat.VileMartialStrike = FEAT_VILE_MARTIAL_LIGHT_PICK;
|
||||
break;
|
||||
}
|
||||
case BASE_ITEM_MAUL: {
|
||||
sFeat.Focus = FEAT_WEAPON_FOCUS_MAUL;
|
||||
sFeat.Specialization = FEAT_WEAPON_SPECIALIZATION_MAUL;
|
||||
sFeat.EpicFocus = FEAT_EPIC_WEAPON_FOCUS_MAUL;
|
||||
sFeat.EpicSpecialization = FEAT_EPIC_WEAPON_SPECIALIZATION_MAUL;
|
||||
sFeat.ImprovedCritical = FEAT_IMPROVED_CRITICAL_MAUL;
|
||||
sFeat.OverwhelmingCritical = FEAT_EPIC_OVERWHELMING_CRITICAL_MAUL;
|
||||
sFeat.DevastatingCritical = FEAT_EPIC_DEVASTATING_CRITICAL_MAUL;
|
||||
sFeat.WeaponOfChoice = FEAT_WEAPON_OF_CHOICE_MAUL;
|
||||
sFeat.SanctifyMartialStrike = FEAT_SANCTIFY_MARTIAL_MAUL;
|
||||
sFeat.VileMartialStrike = FEAT_VILE_MARTIAL_MAUL;
|
||||
break;
|
||||
}
|
||||
// If the feat is blank when we get here, do a lookup series
|
||||
if (!sFeat.Focus)
|
||||
{
|
||||
sFeat.Focus = StringToInt(Get2DACache("baseitems", "WeaponFocusFeat", iWeaponType));
|
||||
|
||||
@@ -263,10 +263,23 @@ int GetFocusFeatOfWeaponType(int iWeaponType)
|
||||
case BASE_ITEM_WARHAMMER: return FEAT_WEAPON_FOCUS_WAR_HAMMER;
|
||||
case BASE_ITEM_WHIP: return FEAT_WEAPON_FOCUS_WHIP;
|
||||
|
||||
// new item types
|
||||
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;
|
||||
//:: new item types
|
||||
case BASE_ITEM_DOUBLE_SCIMITAR: return FEAT_WEAPON_FOCUS_DOUBLE_SCIMITAR;
|
||||
case BASE_ITEM_EAGLE_CLAW: return FEAT_WEAPON_FOCUS_EAGLE_CLAW;
|
||||
case BASE_ITEM_ELVEN_COURTBLADE: return FEAT_WEAPON_FOCUS_ELVEN_COURTBLADE;
|
||||
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_FALCHION: return FEAT_WEAPON_FOCUS_FALCHION;
|
||||
case BASE_ITEM_GOAD: return FEAT_WEAPON_FOCUS_GOAD;
|
||||
case BASE_ITEM_HEAVY_MACE: return FEAT_WEAPON_FOCUS_HEAVY_MACE;
|
||||
case BASE_ITEM_HEAVY_PICK: return FEAT_WEAPON_FOCUS_HEAVY_PICK;
|
||||
case BASE_ITEM_KATAR: return FEAT_WEAPON_FOCUS_KATAR;
|
||||
case BASE_ITEM_LIGHT_LANCE: return FEAT_WEAPON_FOCUS_LIGHT_LANCE;
|
||||
case BASE_ITEM_LIGHT_PICK: return FEAT_WEAPON_FOCUS_LIGHT_PICK;
|
||||
case BASE_ITEM_MAUL: return FEAT_WEAPON_FOCUS_MAUL;
|
||||
case BASE_ITEM_NUNCHAKU: return FEAT_WEAPON_FOCUS_NUNCHAKU;
|
||||
case BASE_ITEM_SAI: return FEAT_WEAPON_FOCUS_SAI;
|
||||
case BASE_ITEM_SAP: return FEAT_WEAPON_FOCUS_SAP;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
@@ -320,10 +333,23 @@ int GetSpecializationFeatOfWeaponType(int iWeaponType)
|
||||
case BASE_ITEM_WARHAMMER: return FEAT_WEAPON_SPECIALIZATION_WAR_HAMMER;
|
||||
case BASE_ITEM_WHIP: return FEAT_WEAPON_SPECIALIZATION_WHIP;
|
||||
|
||||
// new item types
|
||||
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;
|
||||
//:: new item types
|
||||
case BASE_ITEM_DOUBLE_SCIMITAR: return FEAT_WEAPON_SPECIALIZATION_DBL_SCIMITAR;
|
||||
case BASE_ITEM_EAGLE_CLAW: return FEAT_WEAPON_SPECIALIZATION_EAGLE_CLAW;
|
||||
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;
|
||||
case BASE_ITEM_FALCHION: return FEAT_WEAPON_SPECIALIZATION_FALCHION;
|
||||
case BASE_ITEM_GOAD: return FEAT_WEAPON_SPECIALIZATION_GOAD;
|
||||
case BASE_ITEM_HEAVY_MACE: return FEAT_WEAPON_SPECIALIZATION_HEAVY_MACE;
|
||||
case BASE_ITEM_HEAVY_PICK: return FEAT_WEAPON_SPECIALIZATION_HEAVY_PICK;
|
||||
case BASE_ITEM_KATAR: return FEAT_WEAPON_SPECIALIZATION_KATAR;
|
||||
case BASE_ITEM_LIGHT_LANCE: return FEAT_WEAPON_SPECIALIZATION_LIGHT_LANCE;
|
||||
case BASE_ITEM_LIGHT_PICK: return FEAT_WEAPON_SPECIALIZATION_LIGHT_PICK;
|
||||
case BASE_ITEM_MAUL: return FEAT_WEAPON_SPECIALIZATION_MAUL;
|
||||
case BASE_ITEM_NUNCHAKU: return FEAT_WEAPON_SPECIALIZATION_NUNCHAKU;
|
||||
case BASE_ITEM_SAI: return FEAT_WEAPON_SPECIALIZATION_SAI;
|
||||
case BASE_ITEM_SAP: return FEAT_WEAPON_SPECIALIZATION_SAP;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
@@ -377,10 +403,23 @@ int GetEpicFocusFeatOfWeaponType(int iWeaponType)
|
||||
case BASE_ITEM_WARHAMMER: return FEAT_EPIC_WEAPON_FOCUS_WARHAMMER;
|
||||
case BASE_ITEM_WHIP: return FEAT_EPIC_WEAPON_FOCUS_WHIP;
|
||||
|
||||
// new item types
|
||||
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;
|
||||
//:: new item types
|
||||
case BASE_ITEM_DOUBLE_SCIMITAR: return FEAT_EPIC_WEAPON_FOCUS_DBL_SCIMITAR;
|
||||
case BASE_ITEM_EAGLE_CLAW: return FEAT_EPIC_WEAPON_FOCUS_EAGLE_CLAW;
|
||||
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;
|
||||
case BASE_ITEM_FALCHION: return FEAT_EPIC_WEAPON_FOCUS_FALCHION;
|
||||
case BASE_ITEM_GOAD: return FEAT_EPIC_WEAPON_FOCUS_GOAD;
|
||||
case BASE_ITEM_HEAVY_MACE: return FEAT_EPIC_WEAPON_FOCUS_HEAVY_MACE;
|
||||
case BASE_ITEM_HEAVY_PICK: return FEAT_EPIC_WEAPON_FOCUS_HEAVY_PICK;
|
||||
case BASE_ITEM_KATAR: return FEAT_EPIC_WEAPON_FOCUS_KATAR;
|
||||
case BASE_ITEM_LIGHT_LANCE: return FEAT_EPIC_WEAPON_FOCUS_LIGHT_LANCE;
|
||||
case BASE_ITEM_LIGHT_PICK: return FEAT_EPIC_WEAPON_FOCUS_LIGHT_PICK;
|
||||
case BASE_ITEM_MAUL: return FEAT_EPIC_WEAPON_FOCUS_MAUL;
|
||||
case BASE_ITEM_NUNCHAKU: return FEAT_EPIC_WEAPON_FOCUS_NUNCHAKU;
|
||||
case BASE_ITEM_SAI: return FEAT_EPIC_WEAPON_FOCUS_SAI;
|
||||
case BASE_ITEM_SAP: return FEAT_EPIC_WEAPON_FOCUS_SAP;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
@@ -434,10 +473,23 @@ int GetEpicSpecializationFeatOfWeaponType(int iWeaponType)
|
||||
case BASE_ITEM_WARHAMMER: return FEAT_EPIC_WEAPON_SPECIALIZATION_WARHAMMER;
|
||||
case BASE_ITEM_WHIP: return FEAT_EPIC_WEAPON_SPECIALIZATION_WHIP;
|
||||
|
||||
// new item types
|
||||
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;
|
||||
//:: new item types
|
||||
case BASE_ITEM_DOUBLE_SCIMITAR: return FEAT_EPIC_WEAPON_SPECIALIZATION_DBL_SCIMITAR;
|
||||
case BASE_ITEM_EAGLE_CLAW: return FEAT_EPIC_WEAPON_SPECIALIZATION_EAGLE_CLAW;
|
||||
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;
|
||||
case BASE_ITEM_FALCHION: return FEAT_EPIC_WEAPON_SPECIALIZATION_FALCHION;
|
||||
case BASE_ITEM_GOAD: return FEAT_EPIC_WEAPON_SPECIALIZATION_GOAD;
|
||||
case BASE_ITEM_HEAVY_MACE: return FEAT_EPIC_WEAPON_SPECIALIZATION_HEAVY_MACE;
|
||||
case BASE_ITEM_HEAVY_PICK: return FEAT_EPIC_WEAPON_SPECIALIZATION_HEAVY_PICK;
|
||||
case BASE_ITEM_KATAR: return FEAT_EPIC_WEAPON_SPECIALIZATION_KATAR;
|
||||
case BASE_ITEM_LIGHT_LANCE: return FEAT_EPIC_WEAPON_SPECIALIZATION_LIGHT_LANCE;
|
||||
case BASE_ITEM_LIGHT_PICK: return FEAT_EPIC_WEAPON_SPECIALIZATION_LIGHT_PICK;
|
||||
case BASE_ITEM_MAUL: return FEAT_EPIC_WEAPON_SPECIALIZATION_MAUL;
|
||||
case BASE_ITEM_NUNCHAKU: return FEAT_EPIC_WEAPON_SPECIALIZATION_NUNCHAKU;
|
||||
case BASE_ITEM_SAI: return FEAT_EPIC_WEAPON_SPECIALIZATION_SAI;
|
||||
case BASE_ITEM_SAP: return FEAT_EPIC_WEAPON_SPECIALIZATION_SAP;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
@@ -491,10 +543,23 @@ int GetImprovedCriticalFeatOfWeaponType(int iWeaponType)
|
||||
case BASE_ITEM_WARHAMMER: return FEAT_IMPROVED_CRITICAL_WAR_HAMMER;
|
||||
case BASE_ITEM_WHIP: return FEAT_IMPROVED_CRITICAL_WHIP;
|
||||
|
||||
// new item types
|
||||
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;
|
||||
//:: new item types
|
||||
case BASE_ITEM_DOUBLE_SCIMITAR: return FEAT_IMPROVED_CRITICAL_DBL_SCIMITAR;
|
||||
case BASE_ITEM_EAGLE_CLAW: return FEAT_IMPROVED_CRITICAL_EAGLE_CLAW;
|
||||
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;
|
||||
case BASE_ITEM_FALCHION: return FEAT_IMPROVED_CRITICAL_FALCHION;
|
||||
case BASE_ITEM_GOAD: return FEAT_IMPROVED_CRITICAL_GOAD;
|
||||
case BASE_ITEM_HEAVY_MACE: return FEAT_IMPROVED_CRITICAL_HEAVY_MACE;
|
||||
case BASE_ITEM_HEAVY_PICK: return FEAT_IMPROVED_CRITICAL_HEAVY_PICK;
|
||||
case BASE_ITEM_KATAR: return FEAT_IMPROVED_CRITICAL_KATAR;
|
||||
case BASE_ITEM_LIGHT_LANCE: return FEAT_IMPROVED_CRITICAL_LIGHT_LANCE;
|
||||
case BASE_ITEM_LIGHT_PICK: return FEAT_IMPROVED_CRITICAL_LIGHT_PICK;
|
||||
case BASE_ITEM_MAUL: return FEAT_IMPROVED_CRITICAL_MAUL;
|
||||
case BASE_ITEM_NUNCHAKU: return FEAT_IMPROVED_CRITICAL_NUNCHAKU;
|
||||
case BASE_ITEM_SAI: return FEAT_IMPROVED_CRITICAL_SAI;
|
||||
case BASE_ITEM_SAP: return FEAT_IMPROVED_CRITICAL_SAP;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
@@ -548,9 +613,23 @@ int GetOverwhelmingCriticalFeatOfWeaponType(int iWeaponType)
|
||||
case BASE_ITEM_WARHAMMER: return FEAT_EPIC_OVERWHELMING_CRITICAL_WARHAMMER;
|
||||
case BASE_ITEM_WHIP: return FEAT_EPIC_OVERWHELMING_CRITICAL_WHIP;
|
||||
|
||||
case BASE_ITEM_ELVEN_LIGHTBLADE: return FEAT_EPIC_OVERWHELMING_CRITICAL_ELVEN_LIGHTBLADE;
|
||||
case BASE_ITEM_ELVEN_THINBLADE: return FEAT_EPIC_OVERWHELMING_CRITICAL_ELVEN_THINBLADE;
|
||||
case BASE_ITEM_ELVEN_COURTBLADE: return FEAT_EPIC_OVERWHELMING_CRITICAL_ELVEN_COURTBLADE;
|
||||
//:: new item types
|
||||
case BASE_ITEM_DOUBLE_SCIMITAR: return FEAT_EPIC_OVERWHELMING_CRITICAL_DBL_SCIMITAR;
|
||||
case BASE_ITEM_EAGLE_CLAW: return FEAT_EPIC_OVERWHELMING_CRITICAL_EAGLE_CLAW;
|
||||
case BASE_ITEM_ELVEN_LIGHTBLADE: return FEAT_EPIC_OVERWHELMING_CRITICAL_ELVEN_LIGHTBLADE;
|
||||
case BASE_ITEM_ELVEN_THINBLADE: return FEAT_EPIC_OVERWHELMING_CRITICAL_ELVEN_THINBLADE;
|
||||
case BASE_ITEM_ELVEN_COURTBLADE: return FEAT_EPIC_OVERWHELMING_CRITICAL_ELVEN_COURTBLADE;
|
||||
case BASE_ITEM_FALCHION: return FEAT_EPIC_OVERWHELMING_CRITICAL_FALCHION;
|
||||
case BASE_ITEM_GOAD: return FEAT_EPIC_OVERWHELMING_CRITICAL_GOAD;
|
||||
case BASE_ITEM_HEAVY_MACE: return FEAT_EPIC_OVERWHELMING_CRITICAL_HEAVY_MACE;
|
||||
case BASE_ITEM_HEAVY_PICK: return FEAT_EPIC_OVERWHELMING_CRITICAL_HEAVY_PICK;
|
||||
case BASE_ITEM_KATAR: return FEAT_EPIC_OVERWHELMING_CRITICAL_KATAR;
|
||||
case BASE_ITEM_LIGHT_LANCE: return FEAT_EPIC_OVERWHELMING_CRITICAL_LIGHT_LANCE;
|
||||
case BASE_ITEM_LIGHT_PICK: return FEAT_EPIC_OVERWHELMING_CRITICAL_LIGHT_PICK;
|
||||
case BASE_ITEM_MAUL: return FEAT_EPIC_OVERWHELMING_CRITICAL_MAUL;
|
||||
case BASE_ITEM_NUNCHAKU: return FEAT_EPIC_OVERWHELMING_CRITICAL_NUNCHAKU;
|
||||
case BASE_ITEM_SAI: return FEAT_EPIC_OVERWHELMING_CRITICAL_SAI;
|
||||
case BASE_ITEM_SAP: return FEAT_EPIC_OVERWHELMING_CRITICAL_SAP;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
@@ -604,10 +683,23 @@ int GetDevastatingCriticalFeatOfWeaponType(int iWeaponType)
|
||||
case BASE_ITEM_WARHAMMER: return FEAT_EPIC_DEVASTATING_CRITICAL_WARHAMMER;
|
||||
case BASE_ITEM_WHIP: return FEAT_EPIC_DEVASTATING_CRITICAL_WHIP;
|
||||
|
||||
// new item types
|
||||
case BASE_ITEM_ELVEN_LIGHTBLADE: return FEAT_EPIC_DEVASTATING_CRITICAL_ELVEN_LIGHTBLADE;
|
||||
case BASE_ITEM_ELVEN_THINBLADE: return FEAT_EPIC_DEVASTATING_CRITICAL_ELVEN_THINBLADE;
|
||||
case BASE_ITEM_ELVEN_COURTBLADE: return FEAT_EPIC_DEVASTATING_CRITICAL_ELVEN_COURTBLADE;
|
||||
//:: new item types
|
||||
case BASE_ITEM_DOUBLE_SCIMITAR: return FEAT_EPIC_DEVASTATING_CRITICAL_DBL_SCIMITAR;
|
||||
case BASE_ITEM_EAGLE_CLAW: return FEAT_EPIC_DEVASTATING_CRITICAL_EAGLE_CLAW;
|
||||
case BASE_ITEM_ELVEN_LIGHTBLADE: return FEAT_EPIC_DEVASTATING_CRITICAL_ELVEN_LIGHTBLADE;
|
||||
case BASE_ITEM_ELVEN_THINBLADE: return FEAT_EPIC_DEVASTATING_CRITICAL_ELVEN_THINBLADE;
|
||||
case BASE_ITEM_ELVEN_COURTBLADE: return FEAT_EPIC_DEVASTATING_CRITICAL_ELVEN_COURTBLADE;
|
||||
case BASE_ITEM_FALCHION: return FEAT_EPIC_DEVASTATING_CRITICAL_FALCHION;
|
||||
case BASE_ITEM_GOAD: return FEAT_EPIC_DEVASTATING_CRITICAL_GOAD;
|
||||
case BASE_ITEM_HEAVY_MACE: return FEAT_EPIC_DEVASTATING_CRITICAL_HEAVY_MACE;
|
||||
case BASE_ITEM_HEAVY_PICK: return FEAT_EPIC_DEVASTATING_CRITICAL_HEAVY_PICK;
|
||||
case BASE_ITEM_KATAR: return FEAT_EPIC_DEVASTATING_CRITICAL_KATAR;
|
||||
case BASE_ITEM_LIGHT_LANCE: return FEAT_EPIC_DEVASTATING_CRITICAL_LIGHT_LANCE;
|
||||
case BASE_ITEM_LIGHT_PICK: return FEAT_EPIC_DEVASTATING_CRITICAL_LIGHT_PICK;
|
||||
case BASE_ITEM_MAUL: return FEAT_EPIC_DEVASTATING_CRITICAL_MAUL;
|
||||
case BASE_ITEM_NUNCHAKU: return FEAT_EPIC_DEVASTATING_CRITICAL_NUNCHAKU;
|
||||
case BASE_ITEM_SAI: return FEAT_EPIC_DEVASTATING_CRITICAL_SAI;
|
||||
case BASE_ITEM_SAP: return FEAT_EPIC_DEVASTATING_CRITICAL_SAP;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
@@ -648,10 +740,23 @@ int GetWeaponOfChoiceFeatOfWeaponType(int iWeaponType)
|
||||
case BASE_ITEM_WARHAMMER: return FEAT_WEAPON_OF_CHOICE_WARHAMMER;
|
||||
case BASE_ITEM_WHIP: return FEAT_WEAPON_OF_CHOICE_WHIP;
|
||||
|
||||
// new item types
|
||||
case BASE_ITEM_ELVEN_LIGHTBLADE: return FEAT_WEAPON_OF_CHOICE_ELVEN_LIGHTBLADE;
|
||||
case BASE_ITEM_ELVEN_THINBLADE: return FEAT_WEAPON_OF_CHOICE_ELVEN_THINBLADE;
|
||||
case BASE_ITEM_ELVEN_COURTBLADE: return FEAT_WEAPON_OF_CHOICE_ELVEN_COURTBLADE;
|
||||
//:: new item types
|
||||
case BASE_ITEM_DOUBLE_SCIMITAR: return FEAT_WEAPON_OF_CHOICE_DBL_SCIMITAR;
|
||||
case BASE_ITEM_EAGLE_CLAW: return FEAT_WEAPON_OF_CHOICE_EAGLE_CLAW;
|
||||
case BASE_ITEM_ELVEN_LIGHTBLADE: return FEAT_WEAPON_OF_CHOICE_ELVEN_LIGHTBLADE;
|
||||
case BASE_ITEM_ELVEN_THINBLADE: return FEAT_WEAPON_OF_CHOICE_ELVEN_THINBLADE;
|
||||
case BASE_ITEM_ELVEN_COURTBLADE: return FEAT_WEAPON_OF_CHOICE_ELVEN_COURTBLADE;
|
||||
case BASE_ITEM_FALCHION: return FEAT_WEAPON_OF_CHOICE_FALCHION;
|
||||
case BASE_ITEM_GOAD: return FEAT_WEAPON_OF_CHOICE_GOAD;
|
||||
case BASE_ITEM_HEAVY_MACE: return FEAT_WEAPON_OF_CHOICE_HEAVY_MACE;
|
||||
case BASE_ITEM_HEAVY_PICK: return FEAT_WEAPON_OF_CHOICE_HEAVY_PICK;
|
||||
case BASE_ITEM_KATAR: return FEAT_WEAPON_OF_CHOICE_KATAR;
|
||||
case BASE_ITEM_LIGHT_LANCE: return FEAT_WEAPON_OF_CHOICE_LIGHT_LANCE;
|
||||
case BASE_ITEM_LIGHT_PICK: return FEAT_WEAPON_OF_CHOICE_LIGHT_PICK;
|
||||
case BASE_ITEM_MAUL: return FEAT_WEAPON_OF_CHOICE_MAUL;
|
||||
case BASE_ITEM_NUNCHAKU: return FEAT_WEAPON_OF_CHOICE_NUNCHAKU;
|
||||
case BASE_ITEM_SAI: return FEAT_WEAPON_OF_CHOICE_SAI;
|
||||
case BASE_ITEM_SAP: return FEAT_WEAPON_OF_CHOICE_SAP;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -739,6 +739,38 @@ void PRCBonusDamage(object oTarget, object oCaster = OBJECT_SELF)
|
||||
|
||||
// Bonus damage to a spell for Spell Betrayal Ability
|
||||
int SpellBetrayalDamage(object oTarget, object oCaster)
|
||||
{
|
||||
int iDam = 0;
|
||||
|
||||
// Combine caster and spell ID into a unique key
|
||||
int nSpellId = PRCGetSpellId();
|
||||
string sFlag = "BETRAYAL_" + ObjectToString(oCaster) + "_" + IntToString(nSpellId);
|
||||
|
||||
// Only apply once per spell cast from this caster
|
||||
if (GetLocalInt(oTarget, sFlag))
|
||||
return 0;
|
||||
|
||||
int ThrallLevel = GetLevelByClass(CLASS_TYPE_THRALL_OF_GRAZZT_A, oCaster) +
|
||||
GetLevelByClass(CLASS_TYPE_THRALL_OF_GRAZZT_D, oCaster);
|
||||
|
||||
if (ThrallLevel >= 2)
|
||||
{
|
||||
if (GetIsDeniedDexBonusToAC(oTarget, oCaster, TRUE))
|
||||
{
|
||||
ThrallLevel /= 2;
|
||||
iDam = d6(ThrallLevel);
|
||||
|
||||
// Mark target as affected for this spell instance by this caster
|
||||
SetLocalInt(oTarget, sFlag, TRUE);
|
||||
DelayCommand(2.5, DeleteLocalInt(oTarget, sFlag));
|
||||
}
|
||||
}
|
||||
|
||||
return iDam;
|
||||
}
|
||||
|
||||
|
||||
/* int SpellBetrayalDamage(object oTarget, object oCaster)
|
||||
{
|
||||
int iDam = 0;
|
||||
int ThrallLevel = GetLevelByClass(CLASS_TYPE_THRALL_OF_GRAZZT_A, oCaster) + GetLevelByClass(CLASS_TYPE_THRALL_OF_GRAZZT_D, oCaster);
|
||||
@@ -753,7 +785,7 @@ int SpellBetrayalDamage(object oTarget, object oCaster)
|
||||
}
|
||||
|
||||
return iDam;
|
||||
}
|
||||
} */
|
||||
|
||||
// Bonus damage to a spell for Spellstrike Ability
|
||||
int SpellStrikeDamage(object oTarget, object oCaster)
|
||||
|
||||
@@ -702,6 +702,7 @@ int IsWeaponMartial(int nBaseItemType, object oPC)
|
||||
case BASE_ITEM_TRIDENT:
|
||||
case BASE_ITEM_THROWINGAXE:
|
||||
case BASE_ITEM_SCYTHE:
|
||||
case BASE_ITEM_SAP:
|
||||
case BASE_ITEM_MAUL:
|
||||
case BASE_ITEM_FALCHION:
|
||||
case BASE_ITEM_HEAVY_PICK:
|
||||
|
||||
@@ -167,6 +167,9 @@ 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_IMPROVED_CRITICAL_EAGLE_CLAW = 15876;
|
||||
const int IP_CONST_FEAT_IMPROVED_CRITICAL_TRIDENT = 15877;
|
||||
|
||||
|
||||
const int IP_CONST_FEAT_SF_CODE = 381;
|
||||
const int IP_CONST_FEAT_UNCANNY_DODGE1 = 382;
|
||||
@@ -310,6 +313,7 @@ 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_TRIDENT = 1072;
|
||||
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;
|
||||
@@ -325,8 +329,7 @@ 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_FOCUS_ELVEN_COURTBLADE = 15991;
|
||||
|
||||
const int IP_CONST_FEAT_WEAPON_SPECIALIZATION_CLUB = 16000;
|
||||
const int IP_CONST_FEAT_WEAPON_SPECIALIZATION_DAGGER = 16001;
|
||||
@@ -1255,7 +1258,7 @@ const int IP_CONST_NSB_AUTO_STILL = 4689;
|
||||
const int IP_CONST_NSB_AUTO_QUICKEN = 4690;
|
||||
const int IP_CONST_NSB_AUTO_SILENT = 4691;
|
||||
|
||||
//Sanctify Martial Strike
|
||||
//:: Sanctify Martial Strike
|
||||
const int IP_CONST_FEAT_SANCTIFY_MARTIAL_SICKLE = 24721;
|
||||
const int IP_CONST_FEAT_SANCTIFY_MARTIAL_DWARVENAXE = 24722;
|
||||
const int IP_CONST_FEAT_SANCTIFY_MARTIAL_CLUB = 24723;
|
||||
@@ -1295,8 +1298,25 @@ const int IP_CONST_FEAT_SANCTIFY_MARTIAL_DART = 24756;
|
||||
const int IP_CONST_FEAT_SANCTIFY_MARTIAL_WHIP = 24757;
|
||||
const int IP_CONST_FEAT_SANCTIFY_MARTIAL_TRIDENT = 24758;
|
||||
const int IP_CONST_FEAT_SANCTIFY_MARTIAL_MINDBLADE = 24759;
|
||||
//:: New Weapons
|
||||
const int IP_CONST_FEAT_SANCTIFY_MARTIAL_EAGLE_CLAW = 26550;
|
||||
const int IP_CONST_FEAT_SANCTIFY_MARTIAL_LIGHT_LANCE = 26551;
|
||||
const int IP_CONST_FEAT_SANCTIFY_MARTIAL_HEAVY_PICK = 26552;
|
||||
const int IP_CONST_FEAT_SANCTIFY_MARTIAL_LIGHT_PICK = 26553;
|
||||
const int IP_CONST_FEAT_SANCTIFY_MARTIAL_SAI = 26554;
|
||||
const int IP_CONST_FEAT_SANCTIFY_MARTIAL_NUNCHAKU = 26555;
|
||||
const int IP_CONST_FEAT_SANCTIFY_MARTIAL_FALCHION = 26556;
|
||||
const int IP_CONST_FEAT_SANCTIFY_MARTIAL_SAP = 26557;
|
||||
const int IP_CONST_FEAT_SANCTIFY_MARTIAL_KATAR = 26558;
|
||||
const int IP_CONST_FEAT_SANCTIFY_MARTIAL_HEAVY_MACE = 26559;
|
||||
const int IP_CONST_FEAT_SANCTIFY_MARTIAL_MAUL = 26560;
|
||||
const int IP_CONST_FEAT_SANCTIFY_MARTIAL_DBL_SCIMITAR = 26561;
|
||||
const int IP_CONST_FEAT_SANCTIFY_MARTIAL_GOAD = 26562;
|
||||
const int IP_CONST_FEAT_SANCTIFY_MARTIAL_ELVEN_LIGHTBLADE = 26563;
|
||||
const int IP_CONST_FEAT_SANCTIFY_MARTIAL_ELVEN_THINBLADE = 26564;
|
||||
const int IP_CONST_FEAT_SANCTIFY_MARTIAL_ELVEN_COURTBLADE = 26565;
|
||||
|
||||
//Vile Martial Strike
|
||||
//:: Vile Martial Strike
|
||||
const int IP_CONST_FEAT_VILE_MARTIAL_CLUB = 24760;
|
||||
const int IP_CONST_FEAT_VILE_MARTIAL_DAGGER = 24761;
|
||||
const int IP_CONST_FEAT_VILE_MARTIAL_LIGHTMACE = 24762;
|
||||
@@ -1336,6 +1356,24 @@ const int IP_CONST_FEAT_VILE_MARTIAL_DWARVENAXE = 24795;
|
||||
const int IP_CONST_FEAT_VILE_MARTIAL_WHIP = 24796;
|
||||
const int IP_CONST_FEAT_VILE_MARTIAL_TRIDENT = 24797;
|
||||
const int IP_CONST_FEAT_VILE_MARTIAL_MINDBLADE = 24898;
|
||||
//:: New Weapons
|
||||
const int IP_CONST_FEAT_VILE_MARTIAL_EAGLE_CLAW = 26500;
|
||||
const int IP_CONST_FEAT_VILE_MARTIAL_LIGHT_LANCE = 26501;
|
||||
const int IP_CONST_FEAT_VILE_MARTIAL_HEAVY_PICK = 26502;
|
||||
const int IP_CONST_FEAT_VILE_MARTIAL_LIGHT_PICK = 26503;
|
||||
const int IP_CONST_FEAT_VILE_MARTIAL_SAI = 26504;
|
||||
const int IP_CONST_FEAT_VILE_MARTIAL_NUNCHAKU = 26505;
|
||||
const int IP_CONST_FEAT_VILE_MARTIAL_FALCHION = 26506;
|
||||
const int IP_CONST_FEAT_VILE_MARTIAL_SAP = 26507;
|
||||
const int IP_CONST_FEAT_VILE_MARTIAL_KATAR = 26508;
|
||||
const int IP_CONST_FEAT_VILE_MARTIAL_HEAVY_MACE = 26509;
|
||||
const int IP_CONST_FEAT_VILE_MARTIAL_MAUL = 26510;
|
||||
const int IP_CONST_FEAT_VILE_MARTIAL_DBL_SCIMITAR = 26511;
|
||||
const int IP_CONST_FEAT_VILE_MARTIAL_GOAD = 26512;
|
||||
const int IP_CONST_FEAT_VILE_MARTIAL_ELVEN_LIGHTBLADE = 26513;
|
||||
const int IP_CONST_FEAT_VILE_MARTIAL_ELVEN_THINBLADE = 26514;
|
||||
const int IP_CONST_FEAT_VILE_MARTIAL_ELVEN_COURTBLADE = 26515;
|
||||
|
||||
|
||||
//Epic Dodge, Epic Prowess
|
||||
const int IP_CONST_FEAT_EPIC_DODGE = 24799;
|
||||
|
||||
@@ -19,6 +19,9 @@ const string OPTION_CRITICAL_WEAPON_2 = "PRC_WEAPAPT_CRITICAL_2";
|
||||
|
||||
const string WEAPON_FILE = "prc_weap_items";
|
||||
|
||||
//:: Test void
|
||||
//:: void main (){}
|
||||
|
||||
int GetFeatItemProperty(int nFeatNumber, int nStart, int nEnd)
|
||||
{
|
||||
if (nFeatNumber >= 0)
|
||||
@@ -42,15 +45,41 @@ int GetWeaponFocusFeatItemProperty(int nFeatNumber)
|
||||
int nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_WEAPON_FOCUS_CLUB, IP_CONST_FEAT_WEAPON_FOCUS_RAY);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_WeapFocCreature, IP_CONST_FEAT_WeapFocCreature);
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_WEAPON_FOCUS_TRIDENT, IP_CONST_FEAT_WEAPON_FOCUS_TRIDENT);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_WEAPON_FOCUS_LIGHT_LANCE, IP_CONST_FEAT_WEAPON_FOCUS_GOAD);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_WEAPON_FOCUS_ELVEN_LIGHTBLADE, IP_CONST_FEAT_WEAPON_FOCUS_ELVEN_LIGHTBLADE);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_WEAPON_FOCUS_EAGLE_CLAW, IP_CONST_FEAT_WEAPON_FOCUS_EAGLE_CLAW);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_WEAPON_FOCUS_ELVEN_THINBLADE, IP_CONST_FEAT_WEAPON_FOCUS_ELVEN_THINBLADE);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_WEAPON_FOCUS_ELVEN_COURTBLADE, IP_CONST_FEAT_WEAPON_FOCUS_ELVEN_COURTBLADE);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_WeapFocCreature, IP_CONST_FEAT_WeapFocCreature);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
return -1;
|
||||
}
|
||||
|
||||
int GetEpicWeaponFocusFeatItemProperty(int nFeatNumber)
|
||||
{
|
||||
int nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_EPIC_WEAPON_FOCUS_CLUB, IP_CONST_FEAT_EPIC_WEAPON_FOCUS_RAY);
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_EPIC_WEAPON_FOCUS_TRIDENT, IP_CONST_FEAT_EPIC_WEAPON_FOCUS_TRIDENT);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_EPIC_WEAPON_FOCUS_EAGLE_CLAW, IP_CONST_FEAT_EPIC_WEAPON_FOCUS_EAGLE_CLAW);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_EPIC_WEAPON_FOCUS_CLUB, IP_CONST_FEAT_EPIC_WEAPON_FOCUS_RAY);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_EPIC_WEAPON_FOCUS_LIGHT_LANCE, IP_CONST_FEAT_EPIC_WEAPON_FOCUS_GOAD);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_EPIC_WEAPON_FOCUS_ELVEN_LIGHTBLADE, IP_CONST_FEAT_EPIC_WEAPON_FOCUS_ELVEN_LIGHTBLADE);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_EPIC_WEAPON_FOCUS_ELVEN_THINBLADE, IP_CONST_FEAT_EPIC_WEAPON_FOCUS_ELVEN_THINBLADE);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_EPIC_WEAPON_FOCUS_ELVEN_COURTBLADE, IP_CONST_FEAT_EPIC_WEAPON_FOCUS_ELVEN_COURTBLADE);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_WeapEpicFocCreature, IP_CONST_FEAT_WeapEpicFocCreature);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
return -1;
|
||||
}
|
||||
@@ -60,6 +89,18 @@ int GetWeaponSpecializationFeatItemProperty(int nFeatNumber)
|
||||
int nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_WEAPON_SPECIALIZATION_CLUB, IP_CONST_FEAT_WEAPON_SPECIALIZATION_MINDBLADE);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_WEAPON_SPECIALIZATION_TRIDENT, IP_CONST_FEAT_WEAPON_SPECIALIZATION_TRIDENT);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_WEAPON_SPECIALIZATION_EAGLE_CLAW, IP_CONST_FEAT_WEAPON_SPECIALIZATION_EAGLE_CLAW);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_WEAPON_SPECIALIZATION_LIGHT_LANCE, IP_CONST_FEAT_WEAPON_SPECIALIZATION_GOAD);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_WEAPON_SPECIALIZATION_ELVEN_LIGHTBLADE, IP_CONST_FEAT_WEAPON_SPECIALIZATION_ELVEN_LIGHTBLADE);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_WEAPON_SPECIALIZATION_ELVEN_THINBLADE, IP_CONST_FEAT_WEAPON_SPECIALIZATION_ELVEN_THINBLADE);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_WEAPON_SPECIALIZATION_ELVEN_COURTBLADE, IP_CONST_FEAT_WEAPON_SPECIALIZATION_ELVEN_COURTBLADE);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_WeapSpecCreature, IP_CONST_FEAT_WeapSpecCreature);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
return -1;
|
||||
@@ -68,8 +109,18 @@ int GetWeaponSpecializationFeatItemProperty(int nFeatNumber)
|
||||
int GetEpicWeaponSpecializationFeatItemProperty(int nFeatNumber)
|
||||
{
|
||||
int nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_EPIC_WEAPON_SPECIALIZATION_CLUB, IP_CONST_FEAT_EPIC_WEAPON_SPECIALIZATION_MINDBLADE);
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_EPIC_WEAPON_SPECIALIZATION_EAGLE_CLAW, IP_CONST_FEAT_EPIC_WEAPON_SPECIALIZATION_EAGLE_CLAW);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_EPIC_WEAPON_SPECIALIZATION_TRIDENT, IP_CONST_FEAT_EPIC_WEAPON_SPECIALIZATION_TRIDENT);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_EPIC_WEAPON_SPECIALIZATION_LIGHT_LANCE, IP_CONST_FEAT_EPIC_WEAPON_SPECIALIZATION_GOAD);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_EPIC_WEAPON_SPECIALIZATION_ELVEN_LIGHTBLADE, IP_CONST_FEAT_EPIC_WEAPON_SPECIALIZATION_ELVEN_LIGHTBLADE);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_EPIC_WEAPON_SPECIALIZATION_ELVEN_THINBLADE, IP_CONST_FEAT_EPIC_WEAPON_SPECIALIZATION_ELVEN_THINBLADE);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_EPIC_WEAPON_SPECIALIZATION_ELVEN_COURTBLADE, IP_CONST_FEAT_EPIC_WEAPON_SPECIALIZATION_ELVEN_COURTBLADE);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_WeapEpicSpecCreature, IP_CONST_FEAT_WeapEpicSpecCreature);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
return -1;
|
||||
@@ -80,6 +131,18 @@ int GetImprovedCriticalFeatItemProperty(int nFeatNumber)
|
||||
int nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_IMPROVED_CRITICAL_DAGGER, IP_CONST_FEAT_IMPROVED_CRITICAL_MINDBLADE);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_IMPROVED_CRITICAL_LIGHT_LANCE, IP_CONST_FEAT_IMPROVED_CRITICAL_GOAD);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_IMPROVED_CRITICAL_ELVEN_LIGHTBLADE, IP_CONST_FEAT_IMPROVED_CRITICAL_ELVEN_LIGHTBLADE);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_IMPROVED_CRITICAL_ELVEN_THINBLADE, IP_CONST_FEAT_IMPROVED_CRITICAL_ELVEN_THINBLADE);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_IMPROVED_CRITICAL_ELVEN_COURTBLADE, IP_CONST_FEAT_IMPROVED_CRITICAL_ELVEN_COURTBLADE);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_IMPROVED_CRITICAL_EAGLE_CLAW, IP_CONST_FEAT_IMPROVED_CRITICAL_EAGLE_CLAW);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_IMPROVED_CRITICAL_TRIDENT, IP_CONST_FEAT_IMPROVED_CRITICAL_TRIDENT);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_ImpCritCreature, IP_CONST_FEAT_ImpCritCreature);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_IMPROVED_CRITICAL_UNARMED, IP_CONST_FEAT_IMPROVED_CRITICAL_UNARMED);
|
||||
@@ -90,8 +153,20 @@ int GetImprovedCriticalFeatItemProperty(int nFeatNumber)
|
||||
int GetOverwhelmingCriticalFeatItemProperty(int nFeatNumber)
|
||||
{
|
||||
int nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_EPIC_OVERWHELMING_CRITICAL_CLUB, IP_CONST_FEAT_EPIC_OVERWHELMING_CRITICAL_MINDBLADE);
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_EPIC_OVERWHELMING_CRITICAL_TRIDENT, IP_CONST_FEAT_EPIC_OVERWHELMING_CRITICAL_TRIDENT);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_EPIC_OVERWHELMING_CRITICAL_EAGLE_CLAW, IP_CONST_FEAT_EPIC_OVERWHELMING_CRITICAL_EAGLE_CLAW);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_EPIC_OVERWHELMING_CRITICAL_CLUB, IP_CONST_FEAT_EPIC_OVERWHELMING_CRITICAL_MINDBLADE);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_EPIC_OVERWHELMING_CRITICAL_LIGHT_LANCE, IP_CONST_FEAT_EPIC_OVERWHELMING_CRITICAL_GOAD);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_OVERWHELMING_CRITICAL_ELVEN_LIGHTBLADE, IP_CONST_FEAT_OVERWHELMING_CRITICAL_ELVEN_LIGHTBLADE);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_OVERWHELMING_CRITICAL_ELVEN_THINBLADE, IP_CONST_FEAT_OVERWHELMING_CRITICAL_ELVEN_THINBLADE);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_OVERWHELMING_CRITICAL_ELVEN_COURTBLADE, IP_CONST_FEAT_OVERWHELMING_CRITICAL_ELVEN_COURTBLADE);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_OVERCRITICAL_CREATURE, IP_CONST_FEAT_OVERCRITICAL_CREATURE);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
return -1;
|
||||
@@ -100,8 +175,20 @@ int GetOverwhelmingCriticalFeatItemProperty(int nFeatNumber)
|
||||
int GetDevastatingCriticalFeatItemProperty(int nFeatNumber)
|
||||
{
|
||||
int nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_EPIC_DEVASTATING_CRITICAL_CLUB, IP_CONST_FEAT_EPIC_DEVASTATING_CRITICAL_MINDBLADE);
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_EPIC_DEVASTATING_CRITICAL_TRIDENT, IP_CONST_FEAT_EPIC_DEVASTATING_CRITICAL_TRIDENT);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_EPIC_DEVASTATING_CRITICAL_EAGLE_CLAW, IP_CONST_FEAT_EPIC_DEVASTATING_CRITICAL_EAGLE_CLAW);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_EPIC_DEVASTATING_CRITICAL_LIGHT_LANCE, IP_CONST_FEAT_EPIC_DEVASTATING_CRITICAL_MINDBLADE);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_DEVASTATING_CRITICAL_ELVEN_LIGHTBLADE, IP_CONST_FEAT_DEVASTATING_CRITICAL_ELVEN_LIGHTBLADE);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_DEVASTATING_CRITICAL_ELVEN_THINBLADE, IP_CONST_FEAT_DEVASTATING_CRITICAL_ELVEN_THINBLADE);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_DEVASTATING_CRITICAL_ELVEN_COURTBLADE, IP_CONST_FEAT_DEVASTATING_CRITICAL_ELVEN_COURTBLADE);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_EPIC_DEVASTATING_CRITICAL_CLUB, IP_CONST_FEAT_EPIC_DEVASTATING_CRITICAL_MINDBLADE);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_DEVCRITICAL_CREATURE, IP_CONST_FEAT_DEVCRITICAL_CREATURE);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
return -1;
|
||||
@@ -110,8 +197,21 @@ int GetDevastatingCriticalFeatItemProperty(int nFeatNumber)
|
||||
int GetWeaponOfChoiceFeatItemProperty(int nFeatNumber)
|
||||
{
|
||||
int nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_WEAPON_OF_CHOICE_TRIDENT, IP_CONST_FEAT_WEAPON_OF_CHOICE_TRIDENT);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_WEAPON_OF_CHOICE_EAGLE_CLAW, IP_CONST_FEAT_WEAPON_OF_CHOICE_EAGLE_CLAW);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_WEAPON_OF_CHOICE_SICKLE, IP_CONST_FEAT_WEAPON_OF_CHOICE_MINDBLADE);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_WEAPON_OF_CHOICE_LIGHT_LANCE, IP_CONST_FEAT_WEAPON_OF_CHOICE_GOAD);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_WEAPON_OF_CHOICE_ELVEN_LIGHTBLADE, IP_CONST_FEAT_WEAPON_OF_CHOICE_ELVEN_LIGHTBLADE);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_WEAPON_OF_CHOICE_ELVEN_THINBLADE, IP_CONST_FEAT_WEAPON_OF_CHOICE_ELVEN_THINBLADE);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_WEAPON_OF_CHOICE_ELVEN_COURTBLADE, IP_CONST_FEAT_WEAPON_OF_CHOICE_ELVEN_COURTBLADE);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -120,6 +220,8 @@ int GetSanctifyMartialStrikeFeatItemProperty(int nFeatNumber)
|
||||
int nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_SANCTIFY_MARTIAL_SICKLE, IP_CONST_FEAT_SANCTIFY_MARTIAL_MINDBLADE);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_SANCTIFY_MARTIAL_EAGLE_CLAW, IP_CONST_FEAT_SANCTIFY_MARTIAL_ELVEN_COURTBLADE);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
return -1;
|
||||
}
|
||||
|
||||
@@ -128,8 +230,11 @@ int GetVileMartialStrikeFeatItemProperty(int nFeatNumber)
|
||||
int nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_VILE_MARTIAL_CLUB, IP_CONST_FEAT_VILE_MARTIAL_MINDBLADE);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
nItemProperty = GetFeatItemProperty(nFeatNumber, IP_CONST_FEAT_VILE_MARTIAL_EAGLE_CLAW, IP_CONST_FEAT_VILE_MARTIAL_ELVEN_COURTBLADE);
|
||||
if(nItemProperty != -1) return nItemProperty;
|
||||
return -1;
|
||||
}
|
||||
|
||||
struct WeaponFeat TakeWeaponFeatCensus(object oPC)
|
||||
{
|
||||
struct WeaponFeat rWeaponFeatCensus = InitWeaponFeat(0);
|
||||
|
||||
Reference in New Issue
Block a user