2025/05/15 Update
Fist of Raziel now gains Sanctified Martial Strike via dialog. Tweaked Fist of Raziel's bonus feat progression. Tweaked Fist of Raziel's bonus feat list. Updated FeatToIprop() for Sanctified Martial Strike. Added GetSanctifedMartialFeat() Added IsMeleeWeapon() Updated GetOverwhelmingCriticalFeatOfWeaponType(), GetDevastatingCriticalFeatOfWeaponType() & GetWeaponOfChoiceFeatOfWeaponType() for Elven blades. Made sure race_sla.nss was clearing variables.
This commit is contained in:
@@ -1625,107 +1625,148 @@ 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;
|
||||
|
||||
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 ;
|
||||
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_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_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_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;
|
||||
case FEAT_SANCTIFY_MARTIAL_HEAVYCROSSBOW: return IP_CONST_FEAT_SANCTIFY_MARTIAL_HEAVYCROSSBOW;
|
||||
case FEAT_SANCTIFY_MARTIAL_LIGHTCROSSBOW: return IP_CONST_FEAT_SANCTIFY_MARTIAL_LIGHTCROSSBOW;
|
||||
case FEAT_SANCTIFY_MARTIAL_LIGHTMACE: return IP_CONST_FEAT_SANCTIFY_MARTIAL_LIGHTMACE;
|
||||
case FEAT_SANCTIFY_MARTIAL_MORNINGSTAR: return IP_CONST_FEAT_SANCTIFY_MARTIAL_MORNINGSTAR;
|
||||
case FEAT_SANCTIFY_MARTIAL_QUARTERSTAFF: return IP_CONST_FEAT_SANCTIFY_MARTIAL_QUARTERSTAFF;
|
||||
case FEAT_SANCTIFY_MARTIAL_SHORTSPEAR: return IP_CONST_FEAT_SANCTIFY_MARTIAL_SHORTSPEAR;
|
||||
case FEAT_SANCTIFY_MARTIAL_SICKLE: return IP_CONST_FEAT_SANCTIFY_MARTIAL_SICKLE;
|
||||
case FEAT_SANCTIFY_MARTIAL_SLING: return IP_CONST_FEAT_SANCTIFY_MARTIAL_SLING;
|
||||
case FEAT_SANCTIFY_MARTIAL_LONGBOW: return IP_CONST_FEAT_SANCTIFY_MARTIAL_LONGBOW;
|
||||
case FEAT_SANCTIFY_MARTIAL_SHORTBOW: return IP_CONST_FEAT_SANCTIFY_MARTIAL_SHORTBOW;
|
||||
case FEAT_SANCTIFY_MARTIAL_SHORTSWORD: return IP_CONST_FEAT_SANCTIFY_MARTIAL_SHORTSWORD;
|
||||
case FEAT_SANCTIFY_MARTIAL_RAPIER: return IP_CONST_FEAT_SANCTIFY_MARTIAL_RAPIER;
|
||||
case FEAT_SANCTIFY_MARTIAL_SCIMITAR: return IP_CONST_FEAT_SANCTIFY_MARTIAL_SCIMITAR;
|
||||
case FEAT_SANCTIFY_MARTIAL_LONGSWORD: return IP_CONST_FEAT_SANCTIFY_MARTIAL_LONGSWORD;
|
||||
case FEAT_SANCTIFY_MARTIAL_GREATSWORD: return IP_CONST_FEAT_SANCTIFY_MARTIAL_GREATSWORD;
|
||||
case FEAT_SANCTIFY_MARTIAL_HANDAXE: return IP_CONST_FEAT_SANCTIFY_MARTIAL_HANDAXE;
|
||||
case FEAT_SANCTIFY_MARTIAL_BATTLEAXE: return IP_CONST_FEAT_SANCTIFY_MARTIAL_BATTLEAXE;
|
||||
case FEAT_SANCTIFY_MARTIAL_GREATAXE: return IP_CONST_FEAT_SANCTIFY_MARTIAL_GREATAXE;
|
||||
case FEAT_SANCTIFY_MARTIAL_HALBERD: return IP_CONST_FEAT_SANCTIFY_MARTIAL_HALBERD;
|
||||
case FEAT_SANCTIFY_MARTIAL_LIGHTHAMMER: return IP_CONST_FEAT_SANCTIFY_MARTIAL_LIGHTHAMMER;
|
||||
case FEAT_SANCTIFY_MARTIAL_LIGHTFLAIL: return IP_CONST_FEAT_SANCTIFY_MARTIAL_LIGHTFLAIL;
|
||||
case FEAT_SANCTIFY_MARTIAL_WARHAMMER: return IP_CONST_FEAT_SANCTIFY_MARTIAL_WARHAMMER;
|
||||
case FEAT_SANCTIFY_MARTIAL_HEAVYFLAIL: return IP_CONST_FEAT_SANCTIFY_MARTIAL_HEAVYFLAIL;
|
||||
case FEAT_SANCTIFY_MARTIAL_KAMA: return IP_CONST_FEAT_SANCTIFY_MARTIAL_KAMA;
|
||||
case FEAT_SANCTIFY_MARTIAL_KUKRI: return IP_CONST_FEAT_SANCTIFY_MARTIAL_KUKRI;
|
||||
case FEAT_SANCTIFY_MARTIAL_SHURIKEN: return IP_CONST_FEAT_SANCTIFY_MARTIAL_SHURIKEN;
|
||||
case FEAT_SANCTIFY_MARTIAL_SCYTHE: return IP_CONST_FEAT_SANCTIFY_MARTIAL_SCYTHE;
|
||||
case FEAT_SANCTIFY_MARTIAL_KATANA: return IP_CONST_FEAT_SANCTIFY_MARTIAL_KATANA;
|
||||
case FEAT_SANCTIFY_MARTIAL_BASTARDSWORD: return IP_CONST_FEAT_SANCTIFY_MARTIAL_BASTARDSWORD;
|
||||
case FEAT_SANCTIFY_MARTIAL_DIREMACE: return IP_CONST_FEAT_SANCTIFY_MARTIAL_DIREMACE;
|
||||
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;
|
||||
}
|
||||
|
||||
return - 1;
|
||||
}
|
||||
|
||||
|
@@ -429,6 +429,58 @@ int Vile_Feat(int iTypeWeap)
|
||||
|
||||
const int IPRP_CONST_ONHIT_DURATION_5_PERCENT_1_ROUNDS = 20;
|
||||
|
||||
int GetSanctifedMartialFeat(int iTypeWeap)
|
||||
{
|
||||
switch(iTypeWeap)
|
||||
{
|
||||
case BASE_ITEM_BASTARDSWORD: return FEAT_SANCTIFY_MARTIAL_BASTARDSWORD;
|
||||
case BASE_ITEM_BATTLEAXE: return FEAT_SANCTIFY_MARTIAL_BATTLEAXE;
|
||||
case BASE_ITEM_CLUB: return FEAT_SANCTIFY_MARTIAL_CLUB;
|
||||
case BASE_ITEM_DAGGER: return FEAT_SANCTIFY_MARTIAL_DAGGER;
|
||||
case BASE_ITEM_DART: return FEAT_SANCTIFY_MARTIAL_DART;
|
||||
case BASE_ITEM_DIREMACE: return FEAT_SANCTIFY_MARTIAL_DIREMACE;
|
||||
case BASE_ITEM_DOUBLEAXE: return FEAT_SANCTIFY_MARTIAL_DOUBLEAXE;
|
||||
case BASE_ITEM_DWARVENWARAXE: return FEAT_SANCTIFY_MARTIAL_DWAXE;
|
||||
case BASE_ITEM_GREATAXE: return FEAT_SANCTIFY_MARTIAL_GREATAXE;
|
||||
case BASE_ITEM_GREATSWORD: return FEAT_SANCTIFY_MARTIAL_GREATSWORD;
|
||||
case BASE_ITEM_HALBERD: return FEAT_SANCTIFY_MARTIAL_HALBERD;
|
||||
case BASE_ITEM_HANDAXE: return FEAT_SANCTIFY_MARTIAL_HANDAXE;
|
||||
case BASE_ITEM_HEAVYCROSSBOW: return FEAT_SANCTIFY_MARTIAL_HEAVYCROSSBOW;
|
||||
case BASE_ITEM_HEAVYFLAIL: return FEAT_SANCTIFY_MARTIAL_HEAVYFLAIL;
|
||||
case BASE_ITEM_KAMA: return FEAT_SANCTIFY_MARTIAL_KAMA;
|
||||
case BASE_ITEM_KATANA: return FEAT_SANCTIFY_MARTIAL_KATANA;
|
||||
case BASE_ITEM_KUKRI: return FEAT_SANCTIFY_MARTIAL_KUKRI;
|
||||
case BASE_ITEM_LIGHTCROSSBOW: return FEAT_SANCTIFY_MARTIAL_LIGHTCROSSBOW;
|
||||
case BASE_ITEM_LIGHTFLAIL: return FEAT_SANCTIFY_MARTIAL_LIGHTFLAIL;
|
||||
case BASE_ITEM_LIGHTHAMMER: return FEAT_SANCTIFY_MARTIAL_LIGHTHAMMER;
|
||||
case BASE_ITEM_LIGHTMACE: return FEAT_SANCTIFY_MARTIAL_MACE;
|
||||
case BASE_ITEM_LONGBOW: return FEAT_SANCTIFY_MARTIAL_LONGBOW;
|
||||
case BASE_ITEM_LONGSWORD: return FEAT_SANCTIFY_MARTIAL_LONGSWORD;
|
||||
case BASE_ITEM_MORNINGSTAR: return FEAT_SANCTIFY_MARTIAL_MORNINGSTAR;
|
||||
case BASE_ITEM_QUARTERSTAFF: return FEAT_SANCTIFY_MARTIAL_QUARTERSTAFF;
|
||||
case BASE_ITEM_RAPIER: return FEAT_SANCTIFY_MARTIAL_RAPIER;
|
||||
case BASE_ITEM_SCIMITAR: return FEAT_SANCTIFY_MARTIAL_SCIMITAR;
|
||||
case BASE_ITEM_SCYTHE: return FEAT_SANCTIFY_MARTIAL_SCYTHE;
|
||||
case BASE_ITEM_SHORTBOW: return FEAT_SANCTIFY_MARTIAL_SHORTBOW;
|
||||
case BASE_ITEM_SHORTSPEAR: return FEAT_SANCTIFY_MARTIAL_SPEAR;
|
||||
case BASE_ITEM_SHORTSWORD: return FEAT_SANCTIFY_MARTIAL_SHORTSWORD;
|
||||
case BASE_ITEM_SHURIKEN: return FEAT_SANCTIFY_MARTIAL_SHURIKEN;
|
||||
case BASE_ITEM_SLING: return FEAT_SANCTIFY_MARTIAL_SLING;
|
||||
case BASE_ITEM_SICKLE: return FEAT_SANCTIFY_MARTIAL_SICKLE;
|
||||
case BASE_ITEM_TWOBLADEDSWORD: return FEAT_SANCTIFY_MARTIAL_TWOBLADED;
|
||||
case BASE_ITEM_WARHAMMER: return FEAT_SANCTIFY_MARTIAL_WARHAMMER;
|
||||
case BASE_ITEM_WHIP: return FEAT_SANCTIFY_MARTIAL_WHIP;
|
||||
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;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
int Sanctify_Feat(int iTypeWeap)
|
||||
{
|
||||
switch(iTypeWeap)
|
||||
@@ -467,15 +519,15 @@ int Sanctify_Feat(int iTypeWeap)
|
||||
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);
|
||||
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);
|
||||
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;
|
||||
@@ -576,7 +628,6 @@ int FeatIniDmg(object oItem)
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
void AddIniDmg(object oPC)
|
||||
{
|
||||
|
||||
|
@@ -547,6 +547,10 @@ int GetOverwhelmingCriticalFeatOfWeaponType(int iWeaponType)
|
||||
case BASE_ITEM_TWOBLADEDSWORD: return FEAT_EPIC_OVERWHELMING_CRITICAL_TWOBLADEDSWORD;
|
||||
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;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
@@ -599,6 +603,11 @@ int GetDevastatingCriticalFeatOfWeaponType(int iWeaponType)
|
||||
case BASE_ITEM_TWOBLADEDSWORD: return FEAT_EPIC_DEVASTATING_CRITICAL_TWOBLADEDSWORD;
|
||||
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;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
@@ -638,6 +647,11 @@ int GetWeaponOfChoiceFeatOfWeaponType(int iWeaponType)
|
||||
case BASE_ITEM_TWOBLADEDSWORD: return FEAT_WEAPON_OF_CHOICE_TWOBLADEDSWORD;
|
||||
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;
|
||||
}
|
||||
return -1;
|
||||
}
|
||||
|
@@ -149,6 +149,7 @@ void SetupCharacterData(object oPC)
|
||||
case CLASS_TYPE_ETERNAL_BLADE: sScript = "tob_eternalblade"; break;
|
||||
case CLASS_TYPE_FACTOTUM: sScript = "prc_factotum"; break;
|
||||
case CLASS_TYPE_FAVOURED_SOUL: sScript = "prc_favouredsoul"; iData |= 0x03; break;
|
||||
case CLASS_TYPE_FISTRAZIEL: sScript = "prc_fistraziel"; break;
|
||||
case CLASS_TYPE_FIST_OF_ZUOKEN: sScript = "psi_zuoken"; iData |= 0x01; break;
|
||||
case CLASS_TYPE_FOCHLUCAN_LYRIST: sScript = "prc_fochlyr"; break;
|
||||
case CLASS_TYPE_FOE_HUNTER: sScript = "prc_foe_hntr"; break;
|
||||
|
@@ -22,8 +22,7 @@
|
||||
* @param oItem The item in question.
|
||||
* @param nHand The hand the weapon is wielded in. In the form of
|
||||
* ATTACK_BONUS_ONHAND or ATTACK_BONUS_OFFHAND.
|
||||
*/
|
||||
|
||||
*/
|
||||
void DoRacialEquip(object oPC, int nBaseType);
|
||||
|
||||
//return if PC has proficiency in an item
|
||||
@@ -605,6 +604,82 @@ void DoWeaponFeatUnequip(object oPC, object oItem, int nHand)
|
||||
}
|
||||
}
|
||||
|
||||
int IsMeleeWeapon(int nBaseItemType)
|
||||
{
|
||||
// Reject invalid base item values.
|
||||
if (nBaseItemType == BASE_ITEM_INVALID)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
// Only want melee weapons, exclude all others.
|
||||
switch (nBaseItemType)
|
||||
{
|
||||
case BASE_ITEM_ALCHEMY:
|
||||
case BASE_ITEM_AMULET:
|
||||
case BASE_ITEM_ARMOR:
|
||||
case BASE_ITEM_ARROW:
|
||||
case BASE_ITEM_BELT:
|
||||
case BASE_ITEM_BLANK_POTION:
|
||||
case BASE_ITEM_BLANK_SCROLL:
|
||||
case BASE_ITEM_BLANK_WAND:
|
||||
case BASE_ITEM_BOLT:
|
||||
case BASE_ITEM_BOOK:
|
||||
case BASE_ITEM_BOOTS:
|
||||
case BASE_ITEM_BRACER:
|
||||
case BASE_ITEM_BULLET:
|
||||
case BASE_ITEM_CLOAK:
|
||||
case BASE_ITEM_CRAFTED_ROD:
|
||||
case BASE_ITEM_CRAFTED_STAFF:
|
||||
case BASE_ITEM_CRAFTMATERIALMED:
|
||||
case BASE_ITEM_CRAFTMATERIALSML:
|
||||
case BASE_ITEM_CREATUREITEM:
|
||||
case BASE_ITEM_ENCHANTED_POTION:
|
||||
case BASE_ITEM_ENCHANTED_SCROLL:
|
||||
case BASE_ITEM_ENCHANTED_WAND:
|
||||
case BASE_ITEM_GEM:
|
||||
case BASE_ITEM_GLOVES:
|
||||
case BASE_ITEM_GOLD:
|
||||
case BASE_ITEM_GOLEM:
|
||||
case BASE_ITEM_GRENADE:
|
||||
case BASE_ITEM_HEALERSKIT:
|
||||
case BASE_ITEM_HEAVYCROSSBOW:
|
||||
case BASE_ITEM_HELMET:
|
||||
case BASE_ITEM_KEY:
|
||||
case BASE_ITEM_LARGEBOX:
|
||||
case BASE_ITEM_LARGESHIELD:
|
||||
case BASE_ITEM_LIGHTCROSSBOW:
|
||||
case BASE_ITEM_LONGBOW:
|
||||
case BASE_ITEM_MAGICROD:
|
||||
case BASE_ITEM_MAGICSTAFF:
|
||||
case BASE_ITEM_MAGICWAND:
|
||||
case BASE_ITEM_MISCLARGE:
|
||||
case BASE_ITEM_MISCMEDIUM:
|
||||
case BASE_ITEM_MISCSMALL:
|
||||
case BASE_ITEM_MISCTALL:
|
||||
case BASE_ITEM_MISCTHIN:
|
||||
case BASE_ITEM_MISCWIDE:
|
||||
case BASE_ITEM_POISON:
|
||||
case BASE_ITEM_POTIONS:
|
||||
case BASE_ITEM_RING:
|
||||
case BASE_ITEM_SCROLL:
|
||||
case BASE_ITEM_SHORTBOW:
|
||||
case BASE_ITEM_SHURIKEN:
|
||||
case BASE_ITEM_SLING:
|
||||
case BASE_ITEM_SMALLSHIELD:
|
||||
case BASE_ITEM_SPELLSCROLL:
|
||||
case BASE_ITEM_THIEVESTOOLS:
|
||||
case BASE_ITEM_THROWINGAXE:
|
||||
case BASE_ITEM_TORCH:
|
||||
case BASE_ITEM_TOWERSHIELD:
|
||||
case BASE_ITEM_TRAPKIT:
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
// Everything else assumed to be melee weapon.
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
int IsWeaponMartial(int nBaseItemType, object oPC)
|
||||
{
|
||||
switch(nBaseItemType)
|
||||
@@ -651,6 +726,32 @@ int IsWeaponMartial(int nBaseItemType, object oPC)
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
int IsWeaponExotic(int nBaseItemType)
|
||||
{
|
||||
switch(nBaseItemType)
|
||||
{
|
||||
case BASE_ITEM_BASTARDSWORD:
|
||||
case BASE_ITEM_TWOBLADEDSWORD:
|
||||
case BASE_ITEM_DIREMACE:
|
||||
case BASE_ITEM_DOUBLEAXE:
|
||||
case BASE_ITEM_KAMA:
|
||||
case BASE_ITEM_KATANA:
|
||||
case BASE_ITEM_KUKRI:
|
||||
case BASE_ITEM_SHURIKEN:
|
||||
case BASE_ITEM_DWARVENWARAXE:
|
||||
case BASE_ITEM_WHIP:
|
||||
case BASE_ITEM_ELVEN_LIGHTBLADE:
|
||||
case BASE_ITEM_ELVEN_COURTBLADE:
|
||||
case BASE_ITEM_ELVEN_THINBLADE:
|
||||
case BASE_ITEM_SAI:
|
||||
case BASE_ITEM_NUNCHAKU:
|
||||
case BASE_ITEM_DOUBLE_SCIMITAR:
|
||||
case BASE_ITEM_EAGLE_CLAW:
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
//checks to see if the PC can wield the weapon. If not, applies a -4 penalty.
|
||||
void DoProficiencyCheck(object oPC, object oItem, int nHand)
|
||||
|
Reference in New Issue
Block a user