New WF_IpropToFeat for NWNxEE related functions

New WF_IpropToFeat for NWNxEE related functions.
Updated Dragonfire Adept's tlk & bonus feats for epic progression.
Removed Bane of Enemies from Soulknife bonus feats.
This commit is contained in:
Jaysyn904
2025-05-08 23:30:03 -04:00
parent dd56af35e2
commit b64f5b90af
8 changed files with 2232 additions and 1870 deletions

View File

@@ -1729,6 +1729,72 @@ int FeatToIprop(int nFeat)
return - 1;
}
// This maps the Weapon Focus IPRP constants to actual Weapon Focus Feat constants
int WF_IpropToFeat(int nIPFeat)
{
switch (nIPFeat)
{
case IP_CONST_FEAT_WEAPON_FOCUS_BASTARD_SWORD: return FEAT_WEAPON_FOCUS_BASTARD_SWORD;
case IP_CONST_FEAT_WEAPON_FOCUS_BATTLE_AXE: return FEAT_WEAPON_FOCUS_BATTLE_AXE;
case IP_CONST_FEAT_WEAPON_FOCUS_CLUB: return FEAT_WEAPON_FOCUS_CLUB;
case IP_CONST_FEAT_WEAPON_FOCUS_DAGGER: return FEAT_WEAPON_FOCUS_DAGGER;
case IP_CONST_FEAT_WEAPON_FOCUS_DART: return FEAT_WEAPON_FOCUS_DART;
case IP_CONST_FEAT_WEAPON_FOCUS_DIRE_MACE: return FEAT_WEAPON_FOCUS_DIRE_MACE;
case IP_CONST_FEAT_WEAPON_FOCUS_DOUBLE_AXE: return FEAT_WEAPON_FOCUS_DOUBLE_AXE;
case IP_CONST_FEAT_WEAPON_FOCUS_DOUBLE_SCIMITAR: return FEAT_WEAPON_FOCUS_DOUBLE_SCIMITAR;
case IP_CONST_FEAT_WEAPON_FOCUS_DWAXE: return FEAT_WEAPON_FOCUS_DWAXE;
case IP_CONST_FEAT_WEAPON_FOCUS_EAGLE_CLAW: return FEAT_WEAPON_FOCUS_EAGLE_CLAW;
case IP_CONST_FEAT_WEAPON_FOCUS_ELVEN_COURTBLADE: return FEAT_WEAPON_FOCUS_ELVEN_COURTBLADE;
case IP_CONST_FEAT_WEAPON_FOCUS_ELVEN_LIGHTBLADE: return FEAT_WEAPON_FOCUS_ELVEN_LIGHTBLADE;
case IP_CONST_FEAT_WEAPON_FOCUS_ELVEN_THINBLADE: return FEAT_WEAPON_FOCUS_ELVEN_THINBLADE;
case IP_CONST_FEAT_WEAPON_FOCUS_FALCHION: return FEAT_WEAPON_FOCUS_FALCHION;
case IP_CONST_FEAT_WEAPON_FOCUS_GOAD: return FEAT_WEAPON_FOCUS_GOAD;
case IP_CONST_FEAT_WEAPON_FOCUS_GREAT_AXE: return FEAT_WEAPON_FOCUS_GREAT_AXE;
case IP_CONST_FEAT_WEAPON_FOCUS_GREAT_SWORD: return FEAT_WEAPON_FOCUS_GREAT_SWORD;
case IP_CONST_FEAT_WEAPON_FOCUS_HALBERD: return FEAT_WEAPON_FOCUS_HALBERD;
case IP_CONST_FEAT_WEAPON_FOCUS_HAND_AXE: return FEAT_WEAPON_FOCUS_HAND_AXE;
case IP_CONST_FEAT_WEAPON_FOCUS_HEAVY_CROSSBOW: return FEAT_WEAPON_FOCUS_HEAVY_CROSSBOW;
case IP_CONST_FEAT_WEAPON_FOCUS_HEAVY_FLAIL: return FEAT_WEAPON_FOCUS_HEAVY_FLAIL;
case IP_CONST_FEAT_WEAPON_FOCUS_HEAVY_MACE: return FEAT_WEAPON_FOCUS_HEAVY_MACE;
case IP_CONST_FEAT_WEAPON_FOCUS_HEAVY_PICK: return FEAT_WEAPON_FOCUS_HEAVY_PICK;
case IP_CONST_FEAT_WEAPON_FOCUS_KAMA: return FEAT_WEAPON_FOCUS_KAMA;
case IP_CONST_FEAT_WEAPON_FOCUS_KATANA: return FEAT_WEAPON_FOCUS_KATANA;
case IP_CONST_FEAT_WEAPON_FOCUS_KATAR: return FEAT_WEAPON_FOCUS_KATAR;
case IP_CONST_FEAT_WEAPON_FOCUS_KUKRI: return FEAT_WEAPON_FOCUS_KUKRI;
case IP_CONST_FEAT_WEAPON_FOCUS_LIGHT_CROSSBOW: return FEAT_WEAPON_FOCUS_LIGHT_CROSSBOW;
case IP_CONST_FEAT_WEAPON_FOCUS_LIGHT_FLAIL: return FEAT_WEAPON_FOCUS_LIGHT_FLAIL;
case IP_CONST_FEAT_WEAPON_FOCUS_LIGHT_HAMMER: return FEAT_WEAPON_FOCUS_LIGHT_HAMMER;
case IP_CONST_FEAT_WEAPON_FOCUS_LIGHT_LANCE: return FEAT_WEAPON_FOCUS_LIGHT_LANCE;
case IP_CONST_FEAT_WEAPON_FOCUS_LIGHT_MACE: return FEAT_WEAPON_FOCUS_LIGHT_MACE;
case IP_CONST_FEAT_WEAPON_FOCUS_LIGHT_PICK: return FEAT_WEAPON_FOCUS_LIGHT_PICK;
case IP_CONST_FEAT_WEAPON_FOCUS_LONGBOW: return FEAT_WEAPON_FOCUS_LONGBOW;
case IP_CONST_FEAT_WEAPON_FOCUS_LONG_SWORD: return FEAT_WEAPON_FOCUS_LONG_SWORD;
case IP_CONST_FEAT_WEAPON_FOCUS_MAUL: return FEAT_WEAPON_FOCUS_MAUL;
case IP_CONST_FEAT_WEAPON_FOCUS_MINDBLADE: return FEAT_WEAPON_FOCUS_MINDBLADE;
case IP_CONST_FEAT_WEAPON_FOCUS_MORNING_STAR: return FEAT_WEAPON_FOCUS_MORNING_STAR;
case IP_CONST_FEAT_WEAPON_FOCUS_NUNCHAKU: return FEAT_WEAPON_FOCUS_NUNCHAKU;
case IP_CONST_FEAT_WEAPON_FOCUS_RAPIER: return FEAT_WEAPON_FOCUS_RAPIER;
case IP_CONST_FEAT_WEAPON_FOCUS_RAY: return FEAT_WEAPON_FOCUS_RAY;
case IP_CONST_FEAT_WEAPON_FOCUS_SAI: return FEAT_WEAPON_FOCUS_SAI;
case IP_CONST_FEAT_WEAPON_FOCUS_SAP: return FEAT_WEAPON_FOCUS_SAP;
case IP_CONST_FEAT_WEAPON_FOCUS_SCIMITAR: return FEAT_WEAPON_FOCUS_SCIMITAR;
case IP_CONST_FEAT_WEAPON_FOCUS_SCYTHE: return FEAT_WEAPON_FOCUS_SCYTHE;
case IP_CONST_FEAT_WEAPON_FOCUS_SHORTBOW: return FEAT_WEAPON_FOCUS_SHORTBOW;
case IP_CONST_FEAT_WEAPON_FOCUS_SHORT_SWORD: return FEAT_WEAPON_FOCUS_SHORT_SWORD;
case IP_CONST_FEAT_WEAPON_FOCUS_SHURIKEN: return FEAT_WEAPON_FOCUS_SHURIKEN;
case IP_CONST_FEAT_WEAPON_FOCUS_SICKLE: return FEAT_WEAPON_FOCUS_SICKLE;
case IP_CONST_FEAT_WEAPON_FOCUS_SLING: return FEAT_WEAPON_FOCUS_SLING;
case IP_CONST_FEAT_WEAPON_FOCUS_SPEAR: return FEAT_WEAPON_FOCUS_SPEAR;
case IP_CONST_FEAT_WEAPON_FOCUS_STAFF: return FEAT_WEAPON_FOCUS_STAFF;
case IP_CONST_FEAT_WEAPON_FOCUS_THROWING_AXE: return FEAT_WEAPON_FOCUS_THROWING_AXE;
case IP_CONST_FEAT_WEAPON_FOCUS_TWO_BLADED_SWORD: return FEAT_WEAPON_FOCUS_TWO_BLADED_SWORD;
case IP_CONST_FEAT_WEAPON_FOCUS_UNARMED_STRIKE: return FEAT_WEAPON_FOCUS_UNARMED_STRIKE;
case IP_CONST_FEAT_WEAPON_FOCUS_WAR_HAMMER: return FEAT_WEAPON_FOCUS_WAR_HAMMER;
}
return -1; // Invalid or unmapped
}
int FocusToWeapProf(int nFeat)
{
switch(nFeat)