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:
@@ -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;
|
||||
|
Reference in New Issue
Block a user