diff --git a/nwn/nwnprc/trunk/2das/cls_feat_brage.2da b/nwn/nwnprc/trunk/2das/cls_feat_brage.2da index 2890af4c..599c4f62 100644 --- a/nwn/nwnprc/trunk/2das/cls_feat_brage.2da +++ b/nwn/nwnprc/trunk/2das/cls_feat_brage.2da @@ -1,213 +1,213 @@ 2DA V2.0 - FeatLabel FeatIndex List GrantedOnLevel OnMenu -0 BarbarianRage 293 0 -1 1 -1 SkillFocInt 916 3 1 0 -2 ResistPoi 383 3 1 0 -3 KnockDown 23 3 2 0 -4 AuraCourage 300 3 2 0 -5 ImpStrike 21 3 3 0 -6 ImpKnock 17 3 4 0 -7 GreatCleave 391 3 4 0 -8 DefArrow 8 0 -1 0 -9 TwoWeap 41 0 -1 0 -10 Ambidex 1 0 -1 0 -11 FEAT_PRC_EPIC_MIGHT_RAGE 3516 1 -1 0 -12 FEAT_EPIC_THUNDERING_RAGE 988 1 -1 0 -13 FEAT_EPIC_DAMAGE_REDUCTION_3 492 1 -1 0 -14 FEAT_EPIC_DAMAGE_REDUCTION_6 493 1 -1 0 -15 FEAT_EPIC_DAMAGE_REDUCTION_9 494 1 -1 0 -16 FEAT_EPIC_DEVASTATING_CRITICAL_CLUB 495 1 -1 0 -17 FEAT_EPIC_DEVASTATING_CRITICAL_DAGGER 496 1 -1 0 -18 FEAT_EPIC_DEVASTATING_CRITICAL_DART 497 1 -1 0 -19 FEAT_EPIC_DEVASTATING_CRITICAL_HEAVYCROSSBOW 498 1 -1 0 -20 FEAT_EPIC_DEVASTATING_CRITICAL_LIGHTCROSSBOW 499 1 -1 0 -21 FEAT_EPIC_DEVASTATING_CRITICAL_LIGHTMACE 500 1 -1 0 -22 FEAT_EPIC_DEVASTATING_CRITICAL_MORNINGSTAR 501 1 -1 0 -23 FEAT_EPIC_DEVASTATING_CRITICAL_QUARTERSTAFF 502 1 -1 0 -24 FEAT_EPIC_DEVASTATING_CRITICAL_SHORTSPEAR 503 1 -1 0 -25 FEAT_EPIC_DEVASTATING_CRITICAL_SICKLE 504 1 -1 0 -26 FEAT_EPIC_DEVASTATING_CRITICAL_SLING 505 1 -1 0 -27 FEAT_EPIC_DEVASTATING_CRITICAL_UNARMED 506 1 -1 0 -28 FEAT_EPIC_DEVASTATING_CRITICAL_LONGBOW 507 1 -1 0 -29 FEAT_EPIC_DEVASTATING_CRITICAL_SHORTBOW 508 1 -1 0 -30 FEAT_EPIC_DEVASTATING_CRITICAL_SHORTSWORD 509 1 -1 0 -31 FEAT_EPIC_DEVASTATING_CRITICAL_RAPIER 510 1 -1 0 -32 FEAT_EPIC_DEVASTATING_CRITICAL_SCIMITAR 511 1 -1 0 -33 FEAT_EPIC_DEVASTATING_CRITICAL_LONGSWORD 512 1 -1 0 -34 FEAT_EPIC_DEVASTATING_CRITICAL_GREATSWORD 513 1 -1 0 -35 FEAT_EPIC_DEVASTATING_CRITICAL_HANDAXE 514 1 -1 0 -36 FEAT_EPIC_DEVASTATING_CRITICAL_THROWINGAXE 515 1 -1 0 -37 FEAT_EPIC_DEVASTATING_CRITICAL_BATTLEAXE 516 1 -1 0 -38 FEAT_EPIC_DEVASTATING_CRITICAL_GREATAXE 517 1 -1 0 -39 FEAT_EPIC_DEVASTATING_CRITICAL_HALBERD 518 1 -1 0 -40 FEAT_EPIC_DEVASTATING_CRITICAL_LIGHTHAMMER 519 1 -1 0 -41 FEAT_EPIC_DEVASTATING_CRITICAL_LIGHTFLAIL 520 1 -1 0 -42 FEAT_EPIC_DEVASTATING_CRITICAL_WARHAMMER 521 1 -1 0 -43 FEAT_EPIC_DEVASTATING_CRITICAL_HEAVYFLAIL 522 1 -1 0 -44 FEAT_EPIC_DEVASTATING_CRITICAL_KAMA 523 1 -1 0 -45 FEAT_EPIC_DEVASTATING_CRITICAL_KUKRI 524 1 -1 0 -46 FEAT_EPIC_DEVASTATING_CRITICAL_SHURIKEN 525 1 -1 0 -47 FEAT_EPIC_DEVASTATING_CRITICAL_SCYTHE 526 1 -1 0 -48 FEAT_EPIC_DEVASTATING_CRITICAL_KATANA 527 1 -1 0 -49 FEAT_EPIC_DEVASTATING_CRITICAL_BASTARDSWORD 528 1 -1 0 -50 FEAT_EPIC_DEVASTATING_CRITICAL_DIREMACE 529 1 -1 0 -51 FEAT_EPIC_DEVASTATING_CRITICAL_DOUBLEAXE 530 1 -1 0 -52 FEAT_EPIC_DEVASTATING_CRITICAL_TWOBLADEDSWORD 531 1 -1 0 -53 FEAT_EPIC_DEVASTATING_CRITICAL_TRIDENT 1075 1 -1 0 -54 FEAT_EPIC_TOUGHNESS_1 754 1 -1 0 -55 FEAT_EPIC_TOUGHNESS_2 755 1 -1 0 -56 FEAT_EPIC_TOUGHNESS_3 756 1 -1 0 -57 FEAT_EPIC_TOUGHNESS_4 757 1 -1 0 -58 FEAT_EPIC_TOUGHNESS_5 758 1 -1 0 -59 FEAT_EPIC_TOUGHNESS_6 759 1 -1 0 -60 FEAT_EPIC_TOUGHNESS_7 760 1 -1 0 -61 FEAT_EPIC_TOUGHNESS_8 761 1 -1 0 -62 FEAT_EPIC_TOUGHNESS_9 762 1 -1 0 -63 FEAT_EPIC_TOUGHNESS_10 763 1 -1 0 -64 FEAT_EPIC_DEVASTATING_CRITICAL_DWAXE 955 1 -1 0 -65 FEAT_EPIC_WEAPON_FOCUS_CLUB 619 1 -1 0 -66 FEAT_EPIC_WEAPON_FOCUS_DAGGER 620 1 -1 0 -67 FEAT_EPIC_WEAPON_FOCUS_DART 621 1 -1 0 -68 FEAT_EPIC_WEAPON_FOCUS_HEAVYCROSSBOW 622 1 -1 0 -69 FEAT_EPIC_WEAPON_FOCUS_LIGHTCROSSBOW 623 1 -1 0 -70 FEAT_EPIC_WEAPON_FOCUS_LIGHTMACE 624 1 -1 0 -71 FEAT_EPIC_WEAPON_FOCUS_MORNINGSTAR 625 1 -1 0 -72 FEAT_EPIC_WEAPON_FOCUS_QUARTERSTAFF 626 1 -1 0 -73 FEAT_EPIC_WEAPON_FOCUS_SHORTSPEAR 627 1 -1 0 -74 FEAT_EPIC_WEAPON_FOCUS_SICKLE 628 1 -1 0 -75 FEAT_EPIC_WEAPON_FOCUS_SLING 629 1 -1 0 -76 FEAT_EPIC_WEAPON_FOCUS_UNARMED 630 1 -1 0 -77 FEAT_EPIC_WEAPON_FOCUS_LONGBOW 631 1 -1 0 -78 FEAT_EPIC_WEAPON_FOCUS_SHORTBOW 632 1 -1 0 -79 FEAT_EPIC_WEAPON_FOCUS_SHORTSWORD 633 1 -1 0 -80 FEAT_EPIC_WEAPON_FOCUS_RAPIER 634 1 -1 0 -81 FEAT_EPIC_WEAPON_FOCUS_SCIMITAR 635 1 -1 0 -82 FEAT_EPIC_WEAPON_FOCUS_LONGSWORD 636 1 -1 0 -83 FEAT_EPIC_WEAPON_FOCUS_GREATSWORD 637 1 -1 0 -84 FEAT_EPIC_WEAPON_FOCUS_HANDAXE 638 1 -1 0 -85 FEAT_EPIC_WEAPON_FOCUS_THROWINGAXE 639 1 -1 0 -86 FEAT_EPIC_WEAPON_FOCUS_BATTLEAXE 640 1 -1 0 -87 FEAT_EPIC_WEAPON_FOCUS_GREATAXE 641 1 -1 0 -88 FEAT_EPIC_WEAPON_FOCUS_HALBERD 642 1 -1 0 -89 FEAT_EPIC_WEAPON_FOCUS_LIGHTHAMMER 643 1 -1 0 -90 FEAT_EPIC_WEAPON_FOCUS_LIGHTFLAIL 644 1 -1 0 -91 FEAT_EPIC_WEAPON_FOCUS_WARHAMMER 645 1 -1 0 -92 FEAT_EPIC_WEAPON_FOCUS_HEAVYFLAIL 646 1 -1 0 -93 FEAT_EPIC_WEAPON_FOCUS_KAMA 647 1 -1 0 -94 FEAT_EPIC_WEAPON_FOCUS_KUKRI 648 1 -1 0 -95 FEAT_EPIC_WEAPON_FOCUS_SHURIKEN 649 1 -1 0 -96 FEAT_EPIC_WEAPON_FOCUS_SCYTHE 650 1 -1 0 -97 FEAT_EPIC_WEAPON_FOCUS_KATANA 651 1 -1 0 -98 FEAT_EPIC_WEAPON_FOCUS_BASTARDSWORD 652 1 -1 0 -99 FEAT_EPIC_WEAPON_FOCUS_DIREMACE 653 1 -1 0 -100 FEAT_EPIC_WEAPON_FOCUS_DOUBLEAXE 654 1 -1 0 -101 FEAT_EPIC_WEAPON_FOCUS_TWOBLADEDSWORD 655 1 -1 0 -102 FEAT_EPIC_WEAPON_FOCUS_DWAXE 956 1 -1 0 -103 FEAT_EPIC_WEAPON_FOCUS_TRIDENT 1076 1 -1 0 -104 FEAT_EPIC_OVERWHELMING_CRITICAL_CLUB 709 1 -1 0 -105 FEAT_EPIC_OVERWHELMING_CRITICAL_DAGGER 710 1 -1 0 -106 FEAT_EPIC_OVERWHELMING_CRITICAL_DART 711 1 -1 0 -107 FEAT_EPIC_OVERWHELMING_CRITICAL_HEAVYCROSSBOW 712 1 -1 0 -108 FEAT_EPIC_OVERWHELMING_CRITICAL_LIGHTCROSSBOW 713 1 -1 0 -109 FEAT_EPIC_OVERWHELMING_CRITICAL_LIGHTMACE 714 1 -1 0 -110 FEAT_EPIC_OVERWHELMING_CRITICAL_MORNINGSTAR 715 1 -1 0 -111 FEAT_EPIC_OVERWHELMING_CRITICAL_QUARTERSTAFF 716 1 -1 0 -112 FEAT_EPIC_OVERWHELMING_CRITICAL_SHORTSPEAR 717 1 -1 0 -113 FEAT_EPIC_OVERWHELMING_CRITICAL_SICKLE 718 1 -1 0 -114 FEAT_EPIC_OVERWHELMING_CRITICAL_SLING 719 1 -1 0 -115 FEAT_EPIC_OVERWHELMING_CRITICAL_UNARMED 720 1 -1 0 -116 FEAT_EPIC_OVERWHELMING_CRITICAL_LONGBOW 721 1 -1 0 -117 FEAT_EPIC_OVERWHELMING_CRITICAL_SHORTBOW 722 1 -1 0 -118 FEAT_EPIC_OVERWHELMING_CRITICAL_SHORTSWORD 723 1 -1 0 -119 FEAT_EPIC_OVERWHELMING_CRITICAL_RAPIER 724 1 -1 0 -120 FEAT_EPIC_OVERWHELMING_CRITICAL_SCIMITAR 725 1 -1 0 -121 FEAT_EPIC_OVERWHELMING_CRITICAL_LONGSWORD 726 1 -1 0 -122 FEAT_EPIC_OVERWHELMING_CRITICAL_GREATSWORD 727 1 -1 0 -123 FEAT_EPIC_OVERWHELMING_CRITICAL_HANDAXE 728 1 -1 0 -124 FEAT_EPIC_OVERWHELMING_CRITICAL_THROWINGAXE 729 1 -1 0 -125 FEAT_EPIC_OVERWHELMING_CRITICAL_BATTLEAXE 730 1 -1 0 -126 FEAT_EPIC_OVERWHELMING_CRITICAL_GREATAXE 731 1 -1 0 -127 FEAT_EPIC_OVERWHELMING_CRITICAL_HALBERD 732 1 -1 0 -128 FEAT_EPIC_OVERWHELMING_CRITICAL_LIGHTHAMMER 733 1 -1 0 -129 FEAT_EPIC_OVERWHELMING_CRITICAL_LIGHTFLAIL 734 1 -1 0 -130 FEAT_EPIC_OVERWHELMING_CRITICAL_WARHAMMER 735 1 -1 0 -131 FEAT_EPIC_OVERWHELMING_CRITICAL_HEAVYFLAIL 736 1 -1 0 -132 FEAT_EPIC_OVERWHELMING_CRITICAL_KAMA 737 1 -1 0 -133 FEAT_EPIC_OVERWHELMING_CRITICAL_KUKRI 738 1 -1 0 -134 FEAT_EPIC_OVERWHELMING_CRITICAL_SHURIKEN 739 1 -1 0 -135 FEAT_EPIC_OVERWHELMING_CRITICAL_SCYTHE 740 1 -1 0 -136 FEAT_EPIC_OVERWHELMING_CRITICAL_KATANA 741 1 -1 0 -137 FEAT_EPIC_OVERWHELMING_CRITICAL_BASTARDSWORD 742 1 -1 0 -138 FEAT_EPIC_OVERWHELMING_CRITICAL_DIREMACE 743 1 -1 0 -139 FEAT_EPIC_OVERWHELMING_CRITICAL_DOUBLEAXE 744 1 -1 0 -140 FEAT_EPIC_OVERWHELMING_CRITICAL_TWOBLADEDSWORD 745 1 -1 0 -141 FEAT_EPIC_OVERWHELMING_CRITICAL_DWAXE 958 1 -1 0 -142 FEAT_EPIC_OVERWHELMING_CRITICAL_TRIDENT 1078 1 -1 0 -143 FEAT_EPIC_SUPERIOR_INITIATIVE 753 1 -1 0 -144 FEAT_EPIC_PROWESS 584 1 -1 0 -145 FEAT_EPIC_WEAPON_FOCUS_WHIP 997 1 -1 0 -146 FEAT_EPIC_DEVASTATING_CRITICAL_WHIP 996 1 -1 0 -147 FEAT_EPIC_OVERWHELMING_CRITICAL_WHIP 999 1 -1 0 -148 FEAT_EPIC_BLINDING_SPEED 491 0 -1 1 -149 FEAT_EPIC_GREAT_STRENGTH_1 814 1 -1 0 -150 FEAT_EPIC_GREAT_STRENGTH_2 815 1 -1 0 -151 FEAT_EPIC_GREAT_STRENGTH_3 816 1 -1 0 -152 FEAT_EPIC_GREAT_STRENGTH_4 817 1 -1 0 -153 FEAT_EPIC_GREAT_STRENGTH_5 818 1 -1 0 -154 FEAT_EPIC_GREAT_STRENGTH_6 819 1 -1 0 -155 FEAT_EPIC_GREAT_STRENGTH_7 820 1 -1 0 -156 FEAT_EPIC_GREAT_STRENGTH_8 821 1 -1 0 -157 FEAT_EPIC_GREAT_STRENGTH_9 822 1 -1 0 -158 FEAT_EPIC_GREAT_STRENGTH_10 823 1 -1 0 -159 FEAT_NEW_POWER_ATTACK 3143 0 99 1 -160 FEAT_NEW_IMPROVED_POWER_ATTACK 3144 0 99 1 -161 FEAT_PRC_POWER_ATTACK_QUICKS_RADIAL 3179 0 99 1 -162 OverWCrit_Mindblade 3615 1 -1 0 -163 DevCrit_Mindblade 3616 1 -1 0 -164 Epic_WeaponFocus_Mindblade 3618 1 -1 0 -165 EPIC_WEAPON_FOCUS_LANCE 24613 0 -1 0 -166 EPIC_WEAPON_FOCUS_HEAVY_PICK 24614 0 -1 0 -167 EPIC_WEAPON_FOCUS_LIGHT_PICK 24615 0 -1 0 -168 EPIC_WEAPON_FOCUS_SAI 24616 0 -1 0 -169 EPIC_WEAPON_FOCUS_NUNCHAKU 24617 0 -1 0 -170 EPIC_WEAPON_FOCUS_FALCHION 24618 0 -1 0 -171 EPIC_WEAPON_FOCUS_SAP 24619 0 -1 0 -172 EPIC_WEAPON_FOCUS_KATAR 24620 0 -1 0 -173 EPIC_WEAPON_FOCUS_HEAVY_MACE 24621 0 -1 0 -174 EPIC_WEAPON_FOCUS_MAUL 24622 0 -1 0 -175 EPIC_WEAPON_FOCUS_DBL_SCIMITAR 24623 0 -1 0 -176 EPIC_WEAPON_FOCUS_GOAD 24624 0 -1 0 -177 OVERWHELMING_CRITICAL_LIGHT_LANCE 24661 0 -1 0 -178 OVERWHELMING_CRITICAL_HEAVY_PICK 24662 0 -1 0 -179 OVERWHELMING_CRITICAL_LIGHT_PICK 24663 0 -1 0 -180 OVERWHELMING_CRITICAL_SAI 24664 0 -1 0 -181 OVERWHELMING_CRITICAL_NUNCHAKU 24665 0 -1 0 -182 OVERWHELMING_CRITICAL_FALCHION 24666 0 -1 0 -183 OVERWHELMING_CRITICAL_SAP 24667 0 -1 0 -184 OVERWHELMING_CRITICAL_KATAR 24668 0 -1 0 -185 OVERWHELMING_CRITICAL_HEAVY_MACE 24669 0 -1 0 -186 OVERWHELMING_CRITICAL_MAUL 24670 0 -1 0 -187 OVERWHELMING_CRITICAL_DBL_SCIMITAR 24671 0 -1 0 -188 OVERWHELMING_CRITICAL_GOAD 24672 0 -1 0 -189 DEVASTATING_CRITICAL_LIGHT_LANCE 24673 0 -1 0 -190 DEVASTATING_CRITICAL_HEAVY_PICK 24674 0 -1 0 -191 DEVASTATING_CRITICAL_LIGHT_PICK 24675 0 -1 0 -192 DEVASTATING_CRITICAL_SAI 24676 0 -1 0 -193 DEVASTATING_CRITICAL_NUNCHAKU 24677 0 -1 0 -194 DEVASTATING_CRITICAL_FALCHION 24678 0 -1 0 -195 DEVASTATING_CRITICAL_SAP 24679 0 -1 0 -196 DEVASTATING_CRITICAL_KATAR 24680 0 -1 0 -197 DEVASTATING_CRITICAL_HEAVY_MACE 24681 0 -1 0 -198 DEVASTATING_CRITICAL_MAUL 24682 0 -1 0 -199 DEVASTATING_CRITICAL_DBL_SCIMITAR 24683 0 -1 0 -200 DEVASTATING_CRITICAL_GOAD 24684 0 -1 0 -201 EPIC_WEAPON_FOCUS_ELVEN_LIGHTBLADE 24698 0 -1 0 -202 OVERWHELMING_CRITICAL_ELVEN_LIGHTBLADE 24702 0 -1 0 -203 DEVASTATING_CRITICAL_ELVEN_LIGHTBLADE 24703 0 -1 0 -204 EPIC_WEAPON_FOCUS_ELVEN_THINBLADE 24706 0 -1 0 -205 OVERWHELMING_CRITICAL_ELVEN_THINBLADE 24710 0 -1 0 -206 DEVASTATING_CRITICAL_ELVEN_THINBLADE 24711 0 -1 0 -207 EPIC_WEAPON_FOCUS_ELVEN_COURTBLADE 24714 0 -1 0 -208 OVERWHELMING_CRITICAL_ELVEN_COURTBLADE 24718 0 -1 0 -209 DEVASTATING_CRITICAL_ELVEN_COURTBLADE 24719 0 -1 0 + FeatLabel FeatIndex List GrantedOnLevel OnMenu +0 BarbarianRage 293 0 -1 1 +1 SkillFocInt 916 3 1 0 +2 ResistPoi 383 3 1 0 +3 ImprovedTrip 2807 3 2 0 +4 AuraCourage 300 3 2 0 +5 ImpStrike 21 3 3 0 +6 Reckless_Offense 4816 3 4 0 +7 GreatCleave 391 3 4 0 +8 DefArrow 8 0 -1 0 +9 TwoWeap 41 0 -1 0 +10 Ambidex 1 0 -1 0 +11 FEAT_PRC_EPIC_MIGHT_RAGE 3516 1 -1 0 +12 FEAT_EPIC_THUNDERING_RAGE 988 1 -1 0 +13 FEAT_EPIC_DAMAGE_REDUCTION_3 492 1 -1 0 +14 FEAT_EPIC_DAMAGE_REDUCTION_6 493 1 -1 0 +15 FEAT_EPIC_DAMAGE_REDUCTION_9 494 1 -1 0 +16 FEAT_EPIC_DEVASTATING_CRITICAL_CLUB 495 1 -1 0 +17 FEAT_EPIC_DEVASTATING_CRITICAL_DAGGER 496 1 -1 0 +18 FEAT_EPIC_DEVASTATING_CRITICAL_DART 497 1 -1 0 +19 FEAT_EPIC_DEVASTATING_CRITICAL_HEAVYCROSSBOW 498 1 -1 0 +20 FEAT_EPIC_DEVASTATING_CRITICAL_LIGHTCROSSBOW 499 1 -1 0 +21 FEAT_EPIC_DEVASTATING_CRITICAL_LIGHTMACE 500 1 -1 0 +22 FEAT_EPIC_DEVASTATING_CRITICAL_MORNINGSTAR 501 1 -1 0 +23 FEAT_EPIC_DEVASTATING_CRITICAL_QUARTERSTAFF 502 1 -1 0 +24 FEAT_EPIC_DEVASTATING_CRITICAL_SHORTSPEAR 503 1 -1 0 +25 FEAT_EPIC_DEVASTATING_CRITICAL_SICKLE 504 1 -1 0 +26 FEAT_EPIC_DEVASTATING_CRITICAL_SLING 505 1 -1 0 +27 FEAT_EPIC_DEVASTATING_CRITICAL_UNARMED 506 1 -1 0 +28 FEAT_EPIC_DEVASTATING_CRITICAL_LONGBOW 507 1 -1 0 +29 FEAT_EPIC_DEVASTATING_CRITICAL_SHORTBOW 508 1 -1 0 +30 FEAT_EPIC_DEVASTATING_CRITICAL_SHORTSWORD 509 1 -1 0 +31 FEAT_EPIC_DEVASTATING_CRITICAL_RAPIER 510 1 -1 0 +32 FEAT_EPIC_DEVASTATING_CRITICAL_SCIMITAR 511 1 -1 0 +33 FEAT_EPIC_DEVASTATING_CRITICAL_LONGSWORD 512 1 -1 0 +34 FEAT_EPIC_DEVASTATING_CRITICAL_GREATSWORD 513 1 -1 0 +35 FEAT_EPIC_DEVASTATING_CRITICAL_HANDAXE 514 1 -1 0 +36 FEAT_EPIC_DEVASTATING_CRITICAL_THROWINGAXE 515 1 -1 0 +37 FEAT_EPIC_DEVASTATING_CRITICAL_BATTLEAXE 516 1 -1 0 +38 FEAT_EPIC_DEVASTATING_CRITICAL_GREATAXE 517 1 -1 0 +39 FEAT_EPIC_DEVASTATING_CRITICAL_HALBERD 518 1 -1 0 +40 FEAT_EPIC_DEVASTATING_CRITICAL_LIGHTHAMMER 519 1 -1 0 +41 FEAT_EPIC_DEVASTATING_CRITICAL_LIGHTFLAIL 520 1 -1 0 +42 FEAT_EPIC_DEVASTATING_CRITICAL_WARHAMMER 521 1 -1 0 +43 FEAT_EPIC_DEVASTATING_CRITICAL_HEAVYFLAIL 522 1 -1 0 +44 FEAT_EPIC_DEVASTATING_CRITICAL_KAMA 523 1 -1 0 +45 FEAT_EPIC_DEVASTATING_CRITICAL_KUKRI 524 1 -1 0 +46 FEAT_EPIC_DEVASTATING_CRITICAL_SHURIKEN 525 1 -1 0 +47 FEAT_EPIC_DEVASTATING_CRITICAL_SCYTHE 526 1 -1 0 +48 FEAT_EPIC_DEVASTATING_CRITICAL_KATANA 527 1 -1 0 +49 FEAT_EPIC_DEVASTATING_CRITICAL_BASTARDSWORD 528 1 -1 0 +50 FEAT_EPIC_DEVASTATING_CRITICAL_DIREMACE 529 1 -1 0 +51 FEAT_EPIC_DEVASTATING_CRITICAL_DOUBLEAXE 530 1 -1 0 +52 FEAT_EPIC_DEVASTATING_CRITICAL_TWOBLADEDSWORD 531 1 -1 0 +53 FEAT_EPIC_DEVASTATING_CRITICAL_TRIDENT 1075 1 -1 0 +54 FEAT_EPIC_TOUGHNESS_1 754 1 -1 0 +55 FEAT_EPIC_TOUGHNESS_2 755 1 -1 0 +56 FEAT_EPIC_TOUGHNESS_3 756 1 -1 0 +57 FEAT_EPIC_TOUGHNESS_4 757 1 -1 0 +58 FEAT_EPIC_TOUGHNESS_5 758 1 -1 0 +59 FEAT_EPIC_TOUGHNESS_6 759 1 -1 0 +60 FEAT_EPIC_TOUGHNESS_7 760 1 -1 0 +61 FEAT_EPIC_TOUGHNESS_8 761 1 -1 0 +62 FEAT_EPIC_TOUGHNESS_9 762 1 -1 0 +63 FEAT_EPIC_TOUGHNESS_10 763 1 -1 0 +64 FEAT_EPIC_DEVASTATING_CRITICAL_DWAXE 955 1 -1 0 +65 FEAT_EPIC_WEAPON_FOCUS_CLUB 619 1 -1 0 +66 FEAT_EPIC_WEAPON_FOCUS_DAGGER 620 1 -1 0 +67 FEAT_EPIC_WEAPON_FOCUS_DART 621 1 -1 0 +68 FEAT_EPIC_WEAPON_FOCUS_HEAVYCROSSBOW 622 1 -1 0 +69 FEAT_EPIC_WEAPON_FOCUS_LIGHTCROSSBOW 623 1 -1 0 +70 FEAT_EPIC_WEAPON_FOCUS_LIGHTMACE 624 1 -1 0 +71 FEAT_EPIC_WEAPON_FOCUS_MORNINGSTAR 625 1 -1 0 +72 FEAT_EPIC_WEAPON_FOCUS_QUARTERSTAFF 626 1 -1 0 +73 FEAT_EPIC_WEAPON_FOCUS_SHORTSPEAR 627 1 -1 0 +74 FEAT_EPIC_WEAPON_FOCUS_SICKLE 628 1 -1 0 +75 FEAT_EPIC_WEAPON_FOCUS_SLING 629 1 -1 0 +76 FEAT_EPIC_WEAPON_FOCUS_UNARMED 630 1 -1 0 +77 FEAT_EPIC_WEAPON_FOCUS_LONGBOW 631 1 -1 0 +78 FEAT_EPIC_WEAPON_FOCUS_SHORTBOW 632 1 -1 0 +79 FEAT_EPIC_WEAPON_FOCUS_SHORTSWORD 633 1 -1 0 +80 FEAT_EPIC_WEAPON_FOCUS_RAPIER 634 1 -1 0 +81 FEAT_EPIC_WEAPON_FOCUS_SCIMITAR 635 1 -1 0 +82 FEAT_EPIC_WEAPON_FOCUS_LONGSWORD 636 1 -1 0 +83 FEAT_EPIC_WEAPON_FOCUS_GREATSWORD 637 1 -1 0 +84 FEAT_EPIC_WEAPON_FOCUS_HANDAXE 638 1 -1 0 +85 FEAT_EPIC_WEAPON_FOCUS_THROWINGAXE 639 1 -1 0 +86 FEAT_EPIC_WEAPON_FOCUS_BATTLEAXE 640 1 -1 0 +87 FEAT_EPIC_WEAPON_FOCUS_GREATAXE 641 1 -1 0 +88 FEAT_EPIC_WEAPON_FOCUS_HALBERD 642 1 -1 0 +89 FEAT_EPIC_WEAPON_FOCUS_LIGHTHAMMER 643 1 -1 0 +90 FEAT_EPIC_WEAPON_FOCUS_LIGHTFLAIL 644 1 -1 0 +91 FEAT_EPIC_WEAPON_FOCUS_WARHAMMER 645 1 -1 0 +92 FEAT_EPIC_WEAPON_FOCUS_HEAVYFLAIL 646 1 -1 0 +93 FEAT_EPIC_WEAPON_FOCUS_KAMA 647 1 -1 0 +94 FEAT_EPIC_WEAPON_FOCUS_KUKRI 648 1 -1 0 +95 FEAT_EPIC_WEAPON_FOCUS_SHURIKEN 649 1 -1 0 +96 FEAT_EPIC_WEAPON_FOCUS_SCYTHE 650 1 -1 0 +97 FEAT_EPIC_WEAPON_FOCUS_KATANA 651 1 -1 0 +98 FEAT_EPIC_WEAPON_FOCUS_BASTARDSWORD 652 1 -1 0 +99 FEAT_EPIC_WEAPON_FOCUS_DIREMACE 653 1 -1 0 +100 FEAT_EPIC_WEAPON_FOCUS_DOUBLEAXE 654 1 -1 0 +101 FEAT_EPIC_WEAPON_FOCUS_TWOBLADEDSWORD 655 1 -1 0 +102 FEAT_EPIC_WEAPON_FOCUS_DWAXE 956 1 -1 0 +103 FEAT_EPIC_WEAPON_FOCUS_TRIDENT 1076 1 -1 0 +104 FEAT_EPIC_OVERWHELMING_CRITICAL_CLUB 709 1 -1 0 +105 FEAT_EPIC_OVERWHELMING_CRITICAL_DAGGER 710 1 -1 0 +106 FEAT_EPIC_OVERWHELMING_CRITICAL_DART 711 1 -1 0 +107 FEAT_EPIC_OVERWHELMING_CRITICAL_HEAVYCROSSBOW 712 1 -1 0 +108 FEAT_EPIC_OVERWHELMING_CRITICAL_LIGHTCROSSBOW 713 1 -1 0 +109 FEAT_EPIC_OVERWHELMING_CRITICAL_LIGHTMACE 714 1 -1 0 +110 FEAT_EPIC_OVERWHELMING_CRITICAL_MORNINGSTAR 715 1 -1 0 +111 FEAT_EPIC_OVERWHELMING_CRITICAL_QUARTERSTAFF 716 1 -1 0 +112 FEAT_EPIC_OVERWHELMING_CRITICAL_SHORTSPEAR 717 1 -1 0 +113 FEAT_EPIC_OVERWHELMING_CRITICAL_SICKLE 718 1 -1 0 +114 FEAT_EPIC_OVERWHELMING_CRITICAL_SLING 719 1 -1 0 +115 FEAT_EPIC_OVERWHELMING_CRITICAL_UNARMED 720 1 -1 0 +116 FEAT_EPIC_OVERWHELMING_CRITICAL_LONGBOW 721 1 -1 0 +117 FEAT_EPIC_OVERWHELMING_CRITICAL_SHORTBOW 722 1 -1 0 +118 FEAT_EPIC_OVERWHELMING_CRITICAL_SHORTSWORD 723 1 -1 0 +119 FEAT_EPIC_OVERWHELMING_CRITICAL_RAPIER 724 1 -1 0 +120 FEAT_EPIC_OVERWHELMING_CRITICAL_SCIMITAR 725 1 -1 0 +121 FEAT_EPIC_OVERWHELMING_CRITICAL_LONGSWORD 726 1 -1 0 +122 FEAT_EPIC_OVERWHELMING_CRITICAL_GREATSWORD 727 1 -1 0 +123 FEAT_EPIC_OVERWHELMING_CRITICAL_HANDAXE 728 1 -1 0 +124 FEAT_EPIC_OVERWHELMING_CRITICAL_THROWINGAXE 729 1 -1 0 +125 FEAT_EPIC_OVERWHELMING_CRITICAL_BATTLEAXE 730 1 -1 0 +126 FEAT_EPIC_OVERWHELMING_CRITICAL_GREATAXE 731 1 -1 0 +127 FEAT_EPIC_OVERWHELMING_CRITICAL_HALBERD 732 1 -1 0 +128 FEAT_EPIC_OVERWHELMING_CRITICAL_LIGHTHAMMER 733 1 -1 0 +129 FEAT_EPIC_OVERWHELMING_CRITICAL_LIGHTFLAIL 734 1 -1 0 +130 FEAT_EPIC_OVERWHELMING_CRITICAL_WARHAMMER 735 1 -1 0 +131 FEAT_EPIC_OVERWHELMING_CRITICAL_HEAVYFLAIL 736 1 -1 0 +132 FEAT_EPIC_OVERWHELMING_CRITICAL_KAMA 737 1 -1 0 +133 FEAT_EPIC_OVERWHELMING_CRITICAL_KUKRI 738 1 -1 0 +134 FEAT_EPIC_OVERWHELMING_CRITICAL_SHURIKEN 739 1 -1 0 +135 FEAT_EPIC_OVERWHELMING_CRITICAL_SCYTHE 740 1 -1 0 +136 FEAT_EPIC_OVERWHELMING_CRITICAL_KATANA 741 1 -1 0 +137 FEAT_EPIC_OVERWHELMING_CRITICAL_BASTARDSWORD 742 1 -1 0 +138 FEAT_EPIC_OVERWHELMING_CRITICAL_DIREMACE 743 1 -1 0 +139 FEAT_EPIC_OVERWHELMING_CRITICAL_DOUBLEAXE 744 1 -1 0 +140 FEAT_EPIC_OVERWHELMING_CRITICAL_TWOBLADEDSWORD 745 1 -1 0 +141 FEAT_EPIC_OVERWHELMING_CRITICAL_DWAXE 958 1 -1 0 +142 FEAT_EPIC_OVERWHELMING_CRITICAL_TRIDENT 1078 1 -1 0 +143 FEAT_EPIC_SUPERIOR_INITIATIVE 753 1 -1 0 +144 FEAT_EPIC_PROWESS 584 1 -1 0 +145 FEAT_EPIC_WEAPON_FOCUS_WHIP 997 1 -1 0 +146 FEAT_EPIC_DEVASTATING_CRITICAL_WHIP 996 1 -1 0 +147 FEAT_EPIC_OVERWHELMING_CRITICAL_WHIP 999 1 -1 0 +148 FEAT_EPIC_BLINDING_SPEED 491 0 -1 1 +149 FEAT_EPIC_GREAT_STRENGTH_1 814 1 -1 0 +150 FEAT_EPIC_GREAT_STRENGTH_2 815 1 -1 0 +151 FEAT_EPIC_GREAT_STRENGTH_3 816 1 -1 0 +152 FEAT_EPIC_GREAT_STRENGTH_4 817 1 -1 0 +153 FEAT_EPIC_GREAT_STRENGTH_5 818 1 -1 0 +154 FEAT_EPIC_GREAT_STRENGTH_6 819 1 -1 0 +155 FEAT_EPIC_GREAT_STRENGTH_7 820 1 -1 0 +156 FEAT_EPIC_GREAT_STRENGTH_8 821 1 -1 0 +157 FEAT_EPIC_GREAT_STRENGTH_9 822 1 -1 0 +158 FEAT_EPIC_GREAT_STRENGTH_10 823 1 -1 0 +159 FEAT_NEW_POWER_ATTACK 3143 0 99 1 +160 FEAT_NEW_IMPROVED_POWER_ATTACK 3144 0 99 1 +161 FEAT_PRC_POWER_ATTACK_QUICKS_RADIAL 3179 0 99 1 +162 OverWCrit_Mindblade 3615 1 -1 0 +163 DevCrit_Mindblade 3616 1 -1 0 +164 Epic_WeaponFocus_Mindblade 3618 1 -1 0 +165 EPIC_WEAPON_FOCUS_LANCE 24613 0 -1 0 +166 EPIC_WEAPON_FOCUS_HEAVY_PICK 24614 0 -1 0 +167 EPIC_WEAPON_FOCUS_LIGHT_PICK 24615 0 -1 0 +168 EPIC_WEAPON_FOCUS_SAI 24616 0 -1 0 +169 EPIC_WEAPON_FOCUS_NUNCHAKU 24617 0 -1 0 +170 EPIC_WEAPON_FOCUS_FALCHION 24618 0 -1 0 +171 EPIC_WEAPON_FOCUS_SAP 24619 0 -1 0 +172 EPIC_WEAPON_FOCUS_KATAR 24620 0 -1 0 +173 EPIC_WEAPON_FOCUS_HEAVY_MACE 24621 0 -1 0 +174 EPIC_WEAPON_FOCUS_MAUL 24622 0 -1 0 +175 EPIC_WEAPON_FOCUS_DBL_SCIMITAR 24623 0 -1 0 +176 EPIC_WEAPON_FOCUS_GOAD 24624 0 -1 0 +177 OVERWHELMING_CRITICAL_LIGHT_LANCE 24661 0 -1 0 +178 OVERWHELMING_CRITICAL_HEAVY_PICK 24662 0 -1 0 +179 OVERWHELMING_CRITICAL_LIGHT_PICK 24663 0 -1 0 +180 OVERWHELMING_CRITICAL_SAI 24664 0 -1 0 +181 OVERWHELMING_CRITICAL_NUNCHAKU 24665 0 -1 0 +182 OVERWHELMING_CRITICAL_FALCHION 24666 0 -1 0 +183 OVERWHELMING_CRITICAL_SAP 24667 0 -1 0 +184 OVERWHELMING_CRITICAL_KATAR 24668 0 -1 0 +185 OVERWHELMING_CRITICAL_HEAVY_MACE 24669 0 -1 0 +186 OVERWHELMING_CRITICAL_MAUL 24670 0 -1 0 +187 OVERWHELMING_CRITICAL_DBL_SCIMITAR 24671 0 -1 0 +188 OVERWHELMING_CRITICAL_GOAD 24672 0 -1 0 +189 DEVASTATING_CRITICAL_LIGHT_LANCE 24673 0 -1 0 +190 DEVASTATING_CRITICAL_HEAVY_PICK 24674 0 -1 0 +191 DEVASTATING_CRITICAL_LIGHT_PICK 24675 0 -1 0 +192 DEVASTATING_CRITICAL_SAI 24676 0 -1 0 +193 DEVASTATING_CRITICAL_NUNCHAKU 24677 0 -1 0 +194 DEVASTATING_CRITICAL_FALCHION 24678 0 -1 0 +195 DEVASTATING_CRITICAL_SAP 24679 0 -1 0 +196 DEVASTATING_CRITICAL_KATAR 24680 0 -1 0 +197 DEVASTATING_CRITICAL_HEAVY_MACE 24681 0 -1 0 +198 DEVASTATING_CRITICAL_MAUL 24682 0 -1 0 +199 DEVASTATING_CRITICAL_DBL_SCIMITAR 24683 0 -1 0 +200 DEVASTATING_CRITICAL_GOAD 24684 0 -1 0 +201 EPIC_WEAPON_FOCUS_ELVEN_LIGHTBLADE 24698 0 -1 0 +202 OVERWHELMING_CRITICAL_ELVEN_LIGHTBLADE 24702 0 -1 0 +203 DEVASTATING_CRITICAL_ELVEN_LIGHTBLADE 24703 0 -1 0 +204 EPIC_WEAPON_FOCUS_ELVEN_THINBLADE 24706 0 -1 0 +205 OVERWHELMING_CRITICAL_ELVEN_THINBLADE 24710 0 -1 0 +206 DEVASTATING_CRITICAL_ELVEN_THINBLADE 24711 0 -1 0 +207 EPIC_WEAPON_FOCUS_ELVEN_COURTBLADE 24714 0 -1 0 +208 OVERWHELMING_CRITICAL_ELVEN_COURTBLADE 24718 0 -1 0 +209 DEVASTATING_CRITICAL_ELVEN_COURTBLADE 24719 0 -1 0 diff --git a/nwn/nwnprc/trunk/2das/cls_feat_duskbl.2da.bak b/nwn/nwnprc/trunk/2das/cls_feat_duskbl.2da.bak deleted file mode 100644 index e8e85790..00000000 --- a/nwn/nwnprc/trunk/2das/cls_feat_duskbl.2da.bak +++ /dev/null @@ -1,1021 +0,0 @@ -2DA V2.0 - - FeatLabel FeatIndex List GrantedOnLevel OnMenu -0 WeapProfSim 46 3 1 0 -1 WeapProfSim_Dart 7914 3 1 0 -2 WeapProfSim_Light_Mace 7908 3 1 0 -3 WeapProfSim_Morningstar 7923 3 1 0 -4 WeapProfSim_Shortspear 7927 3 1 0 -5 WeapProfSim_Sickle 7929 3 1 0 -6 WeapProfSim_Sling 7930 3 1 0 -7 WeapProfMar 45 3 1 0 -8 WeapProfMar_Battleaxe 7903 3 1 0 -9 WeapProfMar_Greataxe 7913 3 1 0 -10 WeapProfMar_Greatsword 7912 3 1 0 -11 WeapProfMar_Halberd 7909 3 1 0 -12 WeapProfMar_Handaxe 7919 3 1 0 -13 WeapProfMar_Heavy_Flail 7917 3 1 0 -14 WeapProfMar_Light_Flail 7905 3 1 0 -15 WeapProfMar_Light_Hammer 7918 3 1 0 -16 WeapProfMar_Longbow 7907 3 1 0 -17 WeapProfMar_Longsword 7902 3 1 0 -18 WeapProfMar_Rapier 7924 3 1 0 -19 WeapProfMar_Scimitar 7925 3 1 0 -20 WeapProfMar_Shortbow 7910 3 1 0 -21 WeapProfMar_Shortsword 7901 3 1 0 -22 WeapProfMar_Throwing_Axe 7931 3 1 0 -23 WeapProfMar_Trident 7932 3 1 0 -24 WeapProfMar_Warhammer 7906 3 1 0 -25 WP_Scythe 7926 3 1 0 -26 WP_Goad 7949 3 1 0 -27 WP_Heavy_Mace 7946 3 1 0 -28 WP_Katar 7945 3 1 0 -29 WP_Sap 7944 3 1 0 -30 WP_Light_Lance 7938 3 1 0 -31 WP_Heavy_Pick 7939 3 1 0 -32 WP_Light_Pick 7940 3 1 0 -33 WP_Falchion 7943 3 1 0 -34 WP_Maul 7947 3 1 0 -35 ArmProfLgt 3 3 1 0 -36 ArmProfMed 4 3 1 0 -37 ArmProfHvy 2 3 1 0 -38 Shield 32 3 1 0 -39 DB_Armored_Mage_light 3691 3 1 0 -40 CmbtCast 7 3 2 0 -41 DB_Arcane_Channeling 3694 3 3 1 -42 DB_Armored_Mage_medium 3692 3 4 0 -43 DB_Quick_Cast_1 3696 3 5 1 -44 DB_Spellpower_2 3704 3 6 0 -45 DB_Armored_Mage_shields 3693 3 7 0 -46 DB_Quick_Cast_2 3697 3 10 1 -47 DB_Spellpower_3 3705 3 11 0 -48 DB_Arcane_Channeling_full 3695 3 13 1 -49 DB_Quick_Cast_3 3698 3 15 1 -50 DB_Spellpower_4 3706 3 16 0 -51 DB_Spellpower_5 3707 3 18 0 -52 DB_Quick_Cast_4 3699 3 20 1 -53 DB_Spellpower_6 3708 3 21 0 -54 Epic_Duskblade 3690 3 21 0 -55 DB_Quick_Cast_5 3700 3 25 1 -56 DB_Spellpower_7 3709 3 26 0 -57 DB_Quick_Cast_6 3701 3 30 1 -58 DB_Spellpower_8 3710 3 31 0 -59 DB_Quick_Cast_7 3702 3 35 1 -60 DB_Spellpower_9 3711 3 36 0 -61 DB_Spellpower_10 3712 3 38 0 -62 DB_Quick_Cast_8 3703 3 40 1 -63 BattleCaster 23589 0 -1 0 -64 DefArrow 8 0 -1 0 -65 Quicken 29 0 -1 0 -66 SpellFocusCon 166 0 -1 0 -67 SpellFocusDiv 167 0 -1 0 -68 SpellFocusEvo 169 0 -1 0 -69 SpellFocusIll 170 0 -1 0 -70 SpellFocusAbj 35 0 -1 0 -71 SpellFocusEnc 168 0 -1 0 -72 SpellFocusNec 171 0 -1 0 -73 SpellFocusTra 172 0 -1 0 -74 FEAT_EPIC_IMPROVED_COMBAT_CASTING 696 1 -1 0 -75 FEAT_EPIC_BLINDING_SPEED 491 0 -1 1 -76 FEAT_EPIC_ARMOR_SKIN 490 1 -1 0 -77 FEAT_EPIC_PROWESS 584 1 -1 0 -78 FEAT_EPIC_DEVASTATING_CRITICAL_CLUB 495 1 -1 0 -79 FEAT_EPIC_DEVASTATING_CRITICAL_DAGGER 496 1 -1 0 -80 FEAT_EPIC_DEVASTATING_CRITICAL_DART 497 1 -1 0 -81 FEAT_EPIC_DEVASTATING_CRITICAL_HEAVYCROSSBOW 498 1 -1 0 -82 FEAT_EPIC_DEVASTATING_CRITICAL_LIGHTCROSSBOW 499 1 -1 0 -83 FEAT_EPIC_DEVASTATING_CRITICAL_LIGHTMACE 500 1 -1 0 -84 FEAT_EPIC_DEVASTATING_CRITICAL_MORNINGSTAR 501 1 -1 0 -85 FEAT_EPIC_DEVASTATING_CRITICAL_QUARTERSTAFF 502 1 -1 0 -86 FEAT_EPIC_DEVASTATING_CRITICAL_SHORTSPEAR 503 1 -1 0 -87 FEAT_EPIC_DEVASTATING_CRITICAL_SICKLE 504 1 -1 0 -88 FEAT_EPIC_DEVASTATING_CRITICAL_SLING 505 1 -1 0 -89 FEAT_EPIC_DEVASTATING_CRITICAL_UNARMED 506 1 -1 0 -90 FEAT_EPIC_DEVASTATING_CRITICAL_LONGBOW 507 1 -1 0 -91 FEAT_EPIC_DEVASTATING_CRITICAL_SHORTBOW 508 1 -1 0 -92 FEAT_EPIC_DEVASTATING_CRITICAL_SHORTSWORD 509 1 -1 0 -93 FEAT_EPIC_DEVASTATING_CRITICAL_RAPIER 510 1 -1 0 -94 FEAT_EPIC_DEVASTATING_CRITICAL_SCIMITAR 511 1 -1 0 -95 FEAT_EPIC_DEVASTATING_CRITICAL_LONGSWORD 512 1 -1 0 -96 FEAT_EPIC_DEVASTATING_CRITICAL_GREATSWORD 513 1 -1 0 -97 FEAT_EPIC_DEVASTATING_CRITICAL_HANDAXE 514 1 -1 0 -98 FEAT_EPIC_DEVASTATING_CRITICAL_THROWINGAXE 515 1 -1 0 -99 FEAT_EPIC_DEVASTATING_CRITICAL_BATTLEAXE 516 1 -1 0 -100 FEAT_EPIC_DEVASTATING_CRITICAL_GREATAXE 517 1 -1 0 -101 FEAT_EPIC_DEVASTATING_CRITICAL_HALBERD 518 1 -1 0 -102 FEAT_EPIC_DEVASTATING_CRITICAL_LIGHTHAMMER 519 1 -1 0 -103 FEAT_EPIC_DEVASTATING_CRITICAL_LIGHTFLAIL 520 1 -1 0 -104 FEAT_EPIC_DEVASTATING_CRITICAL_WARHAMMER 521 1 -1 0 -105 FEAT_EPIC_DEVASTATING_CRITICAL_HEAVYFLAIL 522 1 -1 0 -106 FEAT_EPIC_DEVASTATING_CRITICAL_KAMA 523 1 -1 0 -107 FEAT_EPIC_DEVASTATING_CRITICAL_KUKRI 524 1 -1 0 -108 FEAT_EPIC_DEVASTATING_CRITICAL_SHURIKEN 525 1 -1 0 -109 FEAT_EPIC_DEVASTATING_CRITICAL_SCYTHE 526 1 -1 0 -110 FEAT_EPIC_DEVASTATING_CRITICAL_KATANA 527 1 -1 0 -111 FEAT_EPIC_DEVASTATING_CRITICAL_BASTARDSWORD 528 1 -1 0 -112 FEAT_EPIC_DEVASTATING_CRITICAL_DIREMACE 529 1 -1 0 -113 FEAT_EPIC_DEVASTATING_CRITICAL_DOUBLEAXE 530 1 -1 0 -114 FEAT_EPIC_DEVASTATING_CRITICAL_TWOBLADEDSWORD 531 1 -1 0 -115 FEAT_EPIC_SPELL_FOCUS_ABJURATION 610 1 -1 0 -116 FEAT_EPIC_SPELL_FOCUS_CONJURATION 611 1 -1 0 -117 FEAT_EPIC_SPELL_FOCUS_DIVINATION 612 1 -1 0 -118 FEAT_EPIC_SPELL_FOCUS_ENCHANTMENT 613 1 -1 0 -119 FEAT_EPIC_SPELL_FOCUS_EVOCATION 614 1 -1 0 -120 FEAT_EPIC_SPELL_FOCUS_ILLUSION 615 1 -1 0 -121 FEAT_EPIC_SPELL_FOCUS_NECROMANCY 616 1 -1 0 -122 FEAT_EPIC_SPELL_FOCUS_TRANSMUTATION 617 1 -1 0 -123 FEAT_EPIC_SPELL_PENETRATION 618 1 -1 0 -124 FEAT_EPIC_DEVASTATING_CRITICAL_WHIP 996 1 -1 0 -125 FEAT_EPIC_AUTOMATIC_QUICKEN_1 857 1 -1 0 -126 FEAT_EPIC_AUTOMATIC_QUICKEN_2 858 1 -1 0 -127 FEAT_EPIC_AUTOMATIC_QUICKEN_3 859 1 -1 0 -128 FEAT_EPIC_AUTOMATIC_SILENT_SPELL_1 860 1 -1 0 -129 FEAT_EPIC_AUTOMATIC_SILENT_SPELL_2 861 1 -1 0 -130 FEAT_EPIC_AUTOMATIC_SILENT_SPELL_3 862 1 -1 0 -131 FEAT_EPIC_AUTOMATIC_STILL_SPELL_1 863 1 -1 0 -132 FEAT_EPIC_AUTOMATIC_STILL_SPELL_2 864 1 -1 0 -133 FEAT_EPIC_AUTOMATIC_STILL_SPELL_3 865 1 -1 0 -134 FEAT_EPIC_GREAT_INTELLIGENCE_1 794 1 -1 0 -135 FEAT_EPIC_GREAT_INTELLIGENCE_2 795 1 -1 0 -136 FEAT_EPIC_GREAT_INTELLIGENCE_3 796 1 -1 0 -137 FEAT_EPIC_GREAT_INTELLIGENCE_4 797 1 -1 0 -138 FEAT_EPIC_GREAT_INTELLIGENCE_5 798 1 -1 0 -139 FEAT_EPIC_GREAT_INTELLIGENCE_6 799 1 -1 0 -140 FEAT_EPIC_GREAT_INTELLIGENCE_7 800 1 -1 0 -141 FEAT_EPIC_GREAT_INTELLIGENCE_8 801 1 -1 0 -142 FEAT_EPIC_GREAT_INTELLIGENCE_9 802 1 -1 0 -143 FEAT_EPIC_GREAT_INTELLIGENCE_10 803 1 -1 0 -144 FEAT_EPIC_WEAPON_FOCUS_CLUB 619 1 -1 0 -145 FEAT_EPIC_WEAPON_FOCUS_DAGGER 620 1 -1 0 -146 FEAT_EPIC_WEAPON_FOCUS_DART 621 1 -1 0 -147 FEAT_EPIC_WEAPON_FOCUS_HEAVYCROSSBOW 622 1 -1 0 -148 FEAT_EPIC_WEAPON_FOCUS_LIGHTCROSSBOW 623 1 -1 0 -149 FEAT_EPIC_WEAPON_FOCUS_LIGHTMACE 624 1 -1 0 -150 FEAT_EPIC_WEAPON_FOCUS_MORNINGSTAR 625 1 -1 0 -151 FEAT_EPIC_WEAPON_FOCUS_QUARTERSTAFF 626 1 -1 0 -152 FEAT_EPIC_WEAPON_FOCUS_SHORTSPEAR 627 1 -1 0 -153 FEAT_EPIC_WEAPON_FOCUS_SICKLE 628 1 -1 0 -154 FEAT_EPIC_WEAPON_FOCUS_SLING 629 1 -1 0 -155 FEAT_EPIC_WEAPON_FOCUS_UNARMED 630 1 -1 0 -156 FEAT_EPIC_WEAPON_FOCUS_LONGBOW 631 1 -1 0 -157 FEAT_EPIC_WEAPON_FOCUS_SHORTBOW 632 1 -1 0 -158 FEAT_EPIC_WEAPON_FOCUS_SHORTSWORD 633 1 -1 0 -159 FEAT_EPIC_WEAPON_FOCUS_RAPIER 634 1 -1 0 -160 FEAT_EPIC_WEAPON_FOCUS_SCIMITAR 635 1 -1 0 -161 FEAT_EPIC_WEAPON_FOCUS_LONGSWORD 636 1 -1 0 -162 FEAT_EPIC_WEAPON_FOCUS_GREATSWORD 637 1 -1 0 -163 FEAT_EPIC_WEAPON_FOCUS_HANDAXE 638 1 -1 0 -164 FEAT_EPIC_WEAPON_FOCUS_THROWINGAXE 639 1 -1 0 -165 FEAT_EPIC_WEAPON_FOCUS_BATTLEAXE 640 1 -1 0 -166 FEAT_EPIC_WEAPON_FOCUS_GREATAXE 641 1 -1 0 -167 FEAT_EPIC_WEAPON_FOCUS_HALBERD 642 1 -1 0 -168 FEAT_EPIC_WEAPON_FOCUS_LIGHTHAMMER 643 1 -1 0 -169 FEAT_EPIC_WEAPON_FOCUS_LIGHTFLAIL 644 1 -1 0 -170 FEAT_EPIC_WEAPON_FOCUS_WARHAMMER 645 1 -1 0 -171 FEAT_EPIC_WEAPON_FOCUS_HEAVYFLAIL 646 1 -1 0 -172 FEAT_EPIC_WEAPON_FOCUS_KAMA 647 1 -1 0 -173 FEAT_EPIC_WEAPON_FOCUS_KUKRI 648 1 -1 0 -174 FEAT_EPIC_WEAPON_FOCUS_SHURIKEN 649 1 -1 0 -175 FEAT_EPIC_WEAPON_FOCUS_SCYTHE 650 1 -1 0 -176 FEAT_EPIC_WEAPON_FOCUS_KATANA 651 1 -1 0 -177 FEAT_EPIC_WEAPON_FOCUS_BASTARDSWORD 652 1 -1 0 -178 FEAT_EPIC_WEAPON_FOCUS_DIREMACE 653 1 -1 0 -179 FEAT_EPIC_WEAPON_FOCUS_DOUBLEAXE 654 1 -1 0 -180 FEAT_EPIC_WEAPON_FOCUS_TWOBLADEDSWORD 655 1 -1 0 -181 FEAT_EPIC_OVERWHELMING_CRITICAL_CLUB 709 1 -1 0 -182 FEAT_EPIC_OVERWHELMING_CRITICAL_DAGGER 710 1 -1 0 -183 FEAT_EPIC_OVERWHELMING_CRITICAL_DART 711 1 -1 0 -184 FEAT_EPIC_OVERWHELMING_CRITICAL_HEAVYCROSSBOW 712 1 -1 0 -185 FEAT_EPIC_OVERWHELMING_CRITICAL_LIGHTCROSSBOW 713 1 -1 0 -186 FEAT_EPIC_OVERWHELMING_CRITICAL_LIGHTMACE 714 1 -1 0 -187 FEAT_EPIC_OVERWHELMING_CRITICAL_MORNINGSTAR 715 1 -1 0 -188 FEAT_EPIC_OVERWHELMING_CRITICAL_QUARTERSTAFF 716 1 -1 0 -189 FEAT_EPIC_OVERWHELMING_CRITICAL_SHORTSPEAR 717 1 -1 0 -190 FEAT_EPIC_OVERWHELMING_CRITICAL_SICKLE 718 1 -1 0 -191 FEAT_EPIC_OVERWHELMING_CRITICAL_SLING 719 1 -1 0 -192 FEAT_EPIC_OVERWHELMING_CRITICAL_UNARMED 720 1 -1 0 -193 FEAT_EPIC_OVERWHELMING_CRITICAL_LONGBOW 721 1 -1 0 -194 FEAT_EPIC_OVERWHELMING_CRITICAL_SHORTBOW 722 1 -1 0 -195 FEAT_EPIC_OVERWHELMING_CRITICAL_SHORTSWORD 723 1 -1 0 -196 FEAT_EPIC_OVERWHELMING_CRITICAL_RAPIER 724 1 -1 0 -197 FEAT_EPIC_OVERWHELMING_CRITICAL_SCIMITAR 725 1 -1 0 -198 FEAT_EPIC_OVERWHELMING_CRITICAL_LONGSWORD 726 1 -1 0 -199 FEAT_EPIC_OVERWHELMING_CRITICAL_GREATSWORD 727 1 -1 0 -200 FEAT_EPIC_OVERWHELMING_CRITICAL_HANDAXE 728 1 -1 0 -201 FEAT_EPIC_OVERWHELMING_CRITICAL_THROWINGAXE 729 1 -1 0 -202 FEAT_EPIC_OVERWHELMING_CRITICAL_BATTLEAXE 730 1 -1 0 -203 FEAT_EPIC_OVERWHELMING_CRITICAL_GREATAXE 731 1 -1 0 -204 FEAT_EPIC_OVERWHELMING_CRITICAL_HALBERD 732 1 -1 0 -205 FEAT_EPIC_OVERWHELMING_CRITICAL_LIGHTHAMMER 733 1 -1 0 -206 FEAT_EPIC_OVERWHELMING_CRITICAL_LIGHTFLAIL 734 1 -1 0 -207 FEAT_EPIC_OVERWHELMING_CRITICAL_WARHAMMER 735 1 -1 0 -208 FEAT_EPIC_OVERWHELMING_CRITICAL_HEAVYFLAIL 736 1 -1 0 -209 FEAT_EPIC_OVERWHELMING_CRITICAL_KAMA 737 1 -1 0 -210 FEAT_EPIC_OVERWHELMING_CRITICAL_KUKRI 738 1 -1 0 -211 FEAT_EPIC_OVERWHELMING_CRITICAL_SHURIKEN 739 1 -1 0 -212 FEAT_EPIC_OVERWHELMING_CRITICAL_SCYTHE 740 1 -1 0 -213 FEAT_EPIC_OVERWHELMING_CRITICAL_KATANA 741 1 -1 0 -214 FEAT_EPIC_OVERWHELMING_CRITICAL_BASTARDSWORD 742 1 -1 0 -215 FEAT_EPIC_OVERWHELMING_CRITICAL_DIREMACE 743 1 -1 0 -216 FEAT_EPIC_OVERWHELMING_CRITICAL_DOUBLEAXE 744 1 -1 0 -217 FEAT_EPIC_OVERWHELMING_CRITICAL_TWOBLADEDSWORD 745 1 -1 0 -218 FEAT_EPIC_DEVASTATING_CRITICAL_TRIDENT 1075 1 -1 0 -219 FEAT_EPIC_WEAPON_FOCUS_TRIDENT 1076 1 -1 0 -220 FEAT_EPIC_OVERWHELMING_CRITICAL_TRIDENT 1078 1 -1 0 -221 EPIC_WEAPON_FOCUS_LANCE 24637 1 -1 0 -222 EPIC_WEAPON_FOCUS_HEAVY_PICK 24638 1 -1 0 -223 EPIC_WEAPON_FOCUS_LIGHT_PICK 24639 1 -1 0 -224 EPIC_WEAPON_FOCUS_SAI 24640 1 -1 0 -225 EPIC_WEAPON_FOCUS_NUNCHAKU 24641 1 -1 0 -226 EPIC_WEAPON_FOCUS_FALCHION 24642 1 -1 0 -227 EPIC_WEAPON_FOCUS_SAP 24643 1 -1 0 -228 EPIC_WEAPON_FOCUS_KATAR 24644 1 -1 0 -229 EPIC_WEAPON_FOCUS_HEAVY_MACE 24645 1 -1 0 -230 EPIC_WEAPON_FOCUS_MAUL 24646 1 -1 0 -231 EPIC_WEAPON_FOCUS_DBL_SCIMITAR 24647 1 -1 0 -232 EPIC_WEAPON_FOCUS_GOAD 24648 1 -1 0 -233 EPIC_WEAPON_FOCUS_ELVEN_LIGHTBLADE 24698 1 -1 0 -234 EPIC_WEAPON_FOCUS_ELVEN_THINBLADE 24706 1 -1 0 -235 EPIC_WEAPON_FOCUS_ELVEN_COURTBLADE 24714 1 -1 0 -236 OVERWHELMING_CRITICAL_LIGHT_LANCE 24661 1 -1 0 -237 OVERWHELMING_CRITICAL_HEAVY_PICK 24662 1 -1 0 -238 OVERWHELMING_CRITICAL_LIGHT_PICK 24663 1 -1 0 -239 OVERWHELMING_CRITICAL_SAI 24664 1 -1 0 -240 OVERWHELMING_CRITICAL_NUNCHAKU 24665 1 -1 0 -241 OVERWHELMING_CRITICAL_FALCHION 24666 1 -1 0 -242 OVERWHELMING_CRITICAL_SAP 24667 1 -1 0 -243 OVERWHELMING_CRITICAL_KATAR 24668 1 -1 0 -244 OVERWHELMING_CRITICAL_HEAVY_MACE 24669 1 -1 0 -245 OVERWHELMING_CRITICAL_MAUL 24670 1 -1 0 -246 OVERWHELMING_CRITICAL_DBL_SCIMITAR 24671 1 -1 0 -247 OVERWHELMING_CRITICAL_GOAD 24672 1 -1 0 -248 OVERWHELMING_CRITICAL_ELVEN_LIGHTBLADE 24702 1 -1 0 -249 OVERWHELMING_CRITICAL_ELVEN_THINBLADE 24710 1 -1 0 -250 OVERWHELMING_CRITICAL_ELVEN_COURTBLADE 24718 1 -1 0 -251 DEVASTATING_CRITICAL_LIGHT_LANCE 24673 1 -1 0 -252 DEVASTATING_CRITICAL_HEAVY_PICK 24674 1 -1 0 -253 DEVASTATING_CRITICAL_LIGHT_PICK 24675 1 -1 0 -254 DEVASTATING_CRITICAL_SAI 24676 1 -1 0 -255 DEVASTATING_CRITICAL_NUNCHAKU 24677 1 -1 0 -256 DEVASTATING_CRITICAL_FALCHION 24678 1 -1 0 -257 DEVASTATING_CRITICAL_SAP 24679 1 -1 0 -258 DEVASTATING_CRITICAL_KATAR 24680 1 -1 0 -259 DEVASTATING_CRITICAL_HEAVY_MACE 24681 1 -1 0 -260 DEVASTATING_CRITICAL_MAUL 24682 1 -1 0 -261 DEVASTATING_CRITICAL_DBL_SCIMITAR 24683 1 -1 0 -262 DEVASTATING_CRITICAL_GOAD 24684 1 -1 0 -263 DEVASTATING_CRITICAL_ELVEN_LIGHTBLADE 24703 1 -1 0 -264 DEVASTATING_CRITICAL_ELVEN_THINBLADE 24711 1 -1 0 -265 DEVASTATING_CRITICAL_ELVEN_COURTBLADE 24719 1 -1 0 -266 FEAT_EPIC_GREAT_INTELLIGENCE_1 814 1 -1 0 -267 FEAT_EPIC_GREAT_INTELLIGENCE_2 815 1 -1 0 -268 FEAT_EPIC_GREAT_INTELLIGENCE_3 816 1 -1 0 -269 FEAT_EPIC_GREAT_INTELLIGENCE_4 817 1 -1 0 -270 FEAT_EPIC_GREAT_INTELLIGENCE_5 818 1 -1 0 -271 FEAT_EPIC_GREAT_INTELLIGENCE_6 819 1 -1 0 -272 FEAT_EPIC_GREAT_INTELLIGENCE_7 820 1 -1 0 -273 FEAT_EPIC_GREAT_INTELLIGENCE_8 821 1 -1 0 -274 FEAT_EPIC_GREAT_INTELLIGENCE_9 822 1 -1 0 -275 FEAT_EPIC_GREAT_INTELLIGENCE_10 823 1 -1 0 -276 FEAT_EPIC_OVERWHELMING_CRITICAL_WHIP 999 1 -1 0 -277 FEAT_EPIC_WEAPON_FOCUS_WHIP 997 1 -1 0 -278 FocusedSpellPenetrCon 3128 1 -1 0 -279 FocusedSpellPenetrDiv 3129 1 -1 0 -280 FocusedSpellPenetrEnc 3130 1 -1 0 -281 FocusedSpellPenetrEvo 3131 1 -1 0 -282 FocusedSpellPenetrIll 3132 1 -1 0 -283 FocusedSpellPenetrNec 3133 1 -1 0 -284 FocusedSpellPenetrTra 3134 1 -1 0 -285 FocusedSpellPenetrAbj 3135 1 -1 0 -286 FEAT_EXTEND_SPELL_ABILITY 23595 0 99 1 -287 FEAT_SILENT_SPELL_ABILITY 23596 0 99 1 -288 FEAT_STILL_SPELL_ABILITY 23597 0 99 1 -289 FEAT_EMPOWER_SPELL_ABILITY 23598 0 99 1 -290 FEAT_MAXIMIZE_SPELL_ABILITY 23599 0 99 1 -291 FEAT_QUICKEN_SPELL_ABILITY 23600 0 99 1 -292 SuddenEmpower 2830 0 -1 1 -293 SuddenExtend 2831 0 -1 1 -294 SuddenMaximize 2832 0 -1 1 -295 SuddenWiden 2833 0 -1 1 -296 FEAT_ESCHEW_MATERIALS 2596 0 1 0 -297 Bane_Magic_Aberration 23556 0 -1 0 -298 Bane_Magic_Animal 23557 0 -1 0 -299 Bane_Magic_Beast 23558 0 -1 0 -300 Bane_Magic_Construct 23559 0 -1 0 -301 Bane_Magic_Dragon 23560 0 -1 0 -302 Bane_Magic_Dwarf 23561 0 -1 0 -303 Bane_Magic_Elemental 23562 0 -1 0 -304 Bane_Magic_Elf 23563 0 -1 0 -305 Bane_Magic_Fey 23564 0 -1 0 -306 Bane_Magic_Giant 23565 0 -1 0 -307 Bane_Magic_Gnome 23566 0 -1 0 -308 Bane_Magic_HalfElf 23567 0 -1 0 -309 Bane_Magic_Halfling 23568 0 -1 0 -310 Bane_Magic_HalfOrc 23569 0 -1 0 -311 Bane_Magic_Human 23570 0 -1 0 -312 Bane_Magic_Humanoid_Goblinoid 23571 0 -1 0 -313 Bane_Magic_Humanoid_Monstrous 23572 0 -1 0 -314 Bane_Magic_Humanoid_Orc 23573 0 -1 0 -315 Bane_Magic_Humanoid_Reptilian 23574 0 -1 0 -316 Bane_Magic_Magical_Beast 23575 0 -1 0 -317 Bane_Magic_Outsider 23576 0 -1 0 -318 Bane_Magic_Shapechanger 23577 0 -1 0 -319 Bane_Magic_Undead 23578 0 -1 0 -320 Bane_Magic_Vermin 23579 0 -1 0 -321 ###cls_feat_allBaseClasses_BEGIN### **** **** **** **** -322 **Bio169Feats** **** **** **** **** -323 FEAT_HORSE_MENU 1089 3 1 1 -324 PLAYER_TOOL_01 1106 1 999 1 -325 PLAYER_TOOL_02 1107 1 999 1 -326 PLAYER_TOOL_03 1108 1 999 1 -327 PLAYER_TOOL_04 1109 1 999 1 -328 PLAYER_TOOL_05 1110 1 999 1 -329 PLAYER_TOOL_06 1111 1 999 1 -330 PLAYER_TOOL_07 1112 1 999 1 -331 PLAYER_TOOL_08 1113 1 999 1 -332 PLAYER_TOOL_09 1114 1 999 1 -333 PLAYER_TOOL_10 1115 1 999 1 -334 **FeatsGrantedToAll** **** **** **** **** -335 FEAT_JUMP 2884 3 1 1 -336 FEAT_CLIMB 3112 3 1 1 -337 FEAT_POWER_ATTACK_SINGLE_RADIAL 3143 0 999 1 -338 FEAT_POWER_ATTACK_FIVES_RADIAL 3144 0 999 1 -339 FEAT_PRC_POWER_ATTACK_QUICKS_RADIAL 3179 0 999 1 -340 ACP_QUICK_FEAT 3479 0 999 1 -341 ACP_HEAVY_FEAT 3480 0 999 1 -342 ACP_UNARMED_FEAT 3481 0 999 1 -343 TeleportManagementRadial 4235 3 1 1 -344 SWITCH_FEAT 2285 3 1 1 -345 FEAT_READ_RECIPE 2919 3 1 1 -346 FEAT_SPELLS_TOUCH_ATTACK 4092 3 1 1 -347 FEAT_SPELLS_HOLD_CHARGE_TOGGLE 4095 3 1 1 -348 EndSpellEffects 2468 3 1 1 -349 CombatMove_RadialMaster 2898 3 1 1 -350 CombatMove_RadialMaster2 5195 3 1 1 -351 CombatMove_RadialMaster3 3415 3 1 1 -352 **** **** **** **** **** -353 **GeneralActivatableFeats** **** **** **** **** -354 FEAT_EPIC_SWARM_OF_ARROWS 25995 0 -1 1 -355 DivineIntercession 5283 0 -1 1 -356 FEAT_INLINDL_SCHOOL 5284 0 -1 1 -357 FEAT_DESPANA_SCHOOL 5324 0 -1 1 -358 FEAT_ATTUNE_GEM 2472 0 -1 1 -359 FEAT_INSCRIBE_RUNE 2462 0 -1 1 -360 FEAT_CRAFT_SKULL_TALISMAN 3004 0 -1 1 -361 FEAT_THRALL_TO_DEMON 2616 0 -1 1 -362 FEAT_HOLYRADIANCE 3164 0 -1 1 -363 FEAT_NIMBUSOFLIGHT 3165 0 -1 1 -364 FEAT_MANYSHOT 3306 0 -1 1 -365 FEAT_IMP_MANYSHOT 3350 0 -1 1 -366 Pinpoint_Accuracy 3351 0 -1 1 -367 FEAT_SERVHEAVEN 3355 0 -1 1 -368 FEAT_DISCIPLE_OF_DARKNESS 4012 0 -1 1 -369 FEAT_BLOOD_OF_THE_WARLORD 4608 0 -1 1 -370 Cloak_Dance 4817 0 -1 1 -371 Reckless_Offense 4816 0 -1 1 -372 ZoneOfAnimation 2891 0 -1 1 -373 FEAT_SPELLFIRE_WIELDER 4368 0 -1 1 -374 FEAT_SPELLFIRE_INCREASE 4369 0 999 1 -375 FEAT_SPELLFIRE_DECREASE 4370 0 999 1 -376 FEAT_SPELLFIRE_QUICKSELECT 4371 0 999 1 -377 FEAT_DISCIPLE_OF_THE_SUN 3127 0 -1 1 -378 Dragonfire_Assault 1842 0 -1 1 -379 Dragonfire_Channeling 1843 0 -1 1 -380 Dragonfire_Inspiration 1844 0 -1 1 -381 DauntingPresence 24025 0 -1 1 -382 ProfaneLifeLeech 24026 0 -1 1 -383 ProfaneAgony 5282 0 -1 1 -384 SacredVitality 24027 0 -1 1 -385 SacredVengeance 24028 0 -1 1 -386 DeformityEyes 24029 0 -1 1 -387 DeformityParasite 24031 0 -1 1 -388 DarkSpeech 24033 0 -1 1 -389 DarkWhispers 24034 0 -1 1 -390 MastersWill 24035 0 -1 1 -391 DeformityMadness 24036 0 -1 1 -392 ReflexivePsychosis 24037 0 -1 1 -393 ChosenOfEvil 24038 0 -1 1 -394 Avenging_Strike 4297 0 -1 1 -395 SnowflakeWardance 4489 0 -1 1 -396 MasterWand 5312 0 -1 1 -397 RecklessWandWielder 5313 0 -1 1 -398 DoubleWandWielder 5315 0 -1 1 -399 Wandstrike 5316 0 -1 1 -400 Snap_Kick 4398 0 -1 1 -401 HighSwordLowAxe 5288 0 -1 1 -402 ScorpionsGrasp 5178 0 -1 1 -403 WeaponAndTorch 5291 0 -1 1 -404 ShieldCharge 3256 0 -1 1 -405 ShieldSlam 3257 0 -1 1 -406 AwesomeBlow 5370 0 -1 1 -407 Spinning_Halberd 5287 0 -1 1 -408 FEAT_RAY_CHARM_PERSON 2220 0 999 1 -409 FEAT_RAY_CHARM_MONSTER 2221 0 999 1 -410 FEAT_RAY_SLEEP 2222 0 999 1 -411 FEAT_RAY_FLESH_TO_STONE 2223 0 999 1 -412 FEAT_RAY_DISINTIGRATE 2224 0 999 1 -413 FEAT_RAY_FEAR 2225 0 999 1 -414 FEAT_RAY_SLOW 2226 0 999 1 -415 FEAT_RAY_INFLICT_MODERATE_WOUNDS 2227 0 999 1 -416 FEAT_WANDER_UNSEEN 5028 0 999 1 -417 BonesOfTheEarth_Feat 2864 0 999 1 -418 FEAT_MYSTIC_BACKLASH 24737 0 -1 1 -419 FEAT_ACIDIC_SPLATTER 24738 0 -1 1 -420 FEAT_FIERY_BURST 24739 0 -1 1 -421 FEAT_STORM_BOLT 24740 0 -1 1 -422 FEAT_WINTERS_BLAST 24741 0 -1 1 -423 FEAT_CLAP_OF_THUNDER 24742 0 -1 1 -424 FEAT_SICKENING_GRASP 24743 0 -1 1 -425 FEAT_TOUCH_OF_HEALING 24744 0 -1 1 -426 FEAT_DIMENSIONAL_JAUNT 24745 0 -1 1 -427 FEAT_CLUTCH_OF_EARTH 24746 0 -1 1 -428 FEAT_BORNE_ALOFT 24747 0 -1 1 -429 FEAT_PROTECTIVE_WARD 24748 0 -1 1 -430 FEAT_SHADOW_VEIL 24749 0 -1 1 -431 FEAT_SUNLIGHT_EYES 24750 0 -1 1 -432 FEAT_TOUCH_OF_DISTRACTION 24751 0 -1 1 -433 FEAT_UMBRAL_SHROUD 24752 0 -1 1 -434 FEAT_CHARNEL_MIASMA 24753 0 -1 1 -435 FEAT_DROWNING_GLANCE 24754 0 -1 1 -436 FEAT_INVISIBLE_NEEDLE 24755 0 -1 1 -437 FEAT_SUMMON_ELEMENTAL 24756 0 -1 1 -438 FEAT_DIMENSIONAL_REACH 24757 0 -1 1 -439 FEAT_HURRICANE_BREATH 24758 0 -1 1 -440 FEAT_MINOR_SHAPESHIFT 24759 0 -1 1 -441 FEAT_FACECHANGER 24760 0 -1 1 -442 **** **** **** **** **** -443 **Metabreath_and_Channeling** **** **** **** **** -444 FEAT_CLINGING_BREATH 4966 0 -1 1 -445 FEAT_LINGERING_BREATH 4967 0 -1 1 -446 FEAT_ENLARGE_BREATH 4968 0 -1 1 -447 FEAT_HEIGHTEN_BREATH 4969 0 -1 1 -448 FEAT_MAXIMIZE_BREATH 4970 0 -1 1 -449 FEAT_SHAPE_BREATH 4972 0 -1 1 -450 FEAT_SPREAD_BREATH 4973 0 -1 1 -451 FEAT_TEMPEST_BREATH 4974 0 -1 1 -452 FEAT_ENTANGLING_EXHALATION 4975 0 -1 1 -453 FEAT_EXHALED_BARRIER 4976 0 -1 1 -454 FEAT_EXHALED_IMMUNITY 4977 0 -1 1 -455 **** **** **** **** **** -456 **DraconicAuras** **** **** **** **** -457 FEAT_BONUS_AURA_ENERGYACID 1828 0 -1 1 -458 FEAT_BONUS_AURA_ENERGYCOLD 1829 0 -1 1 -459 FEAT_BONUS_AURA_ENERGYELEC 1830 0 -1 1 -460 FEAT_BONUS_AURA_ENERGYFIRE 1831 0 -1 1 -461 FEAT_BONUS_AURA_TOUGHNESS 1894 0 -1 1 -462 FEAT_BONUS_AURA_SENSES 1891 0 -1 1 -463 FEAT_BONUS_AURA_PRESENCE 1885 0 -1 1 -464 FEAT_BONUS_AURA_INSIGHT 1884 0 -1 1 -465 FEAT_BONUS_AURA_RESOLVE 1890 0 -1 1 -466 FEAT_BONUS_AURA_STAMINA 1892 0 -1 1 -467 FEAT_BONUS_AURA_SWIFTNESS 1893 0 -1 1 -468 FEAT_BONUS_AURA_RESISTACID 1886 0 -1 1 -469 FEAT_BONUS_AURA_RESISTCOLD 1887 0 -1 1 -470 FEAT_BONUS_AURA_RESISTELEC 1888 0 -1 1 -471 FEAT_BONUS_AURA_RESISTFIRE 1889 0 -1 1 -472 FEAT_BONUS_AURA_MAGICPOWER 1840 0 -1 1 -473 FEAT_SECOND_AURA_POWER 1853 0 999 1 -474 FEAT_SECOND_AURA_ENERGYSHLD 1854 0 999 1 -475 FEAT_SECOND_AURA_TOUGHNESS 1855 0 999 1 -476 FEAT_SECOND_AURA_SENSES 1856 0 999 1 -477 FEAT_SECOND_AURA_VIGOR 1857 0 999 1 -478 FEAT_SECOND_AURA_RESISTANCE 1858 0 999 1 -479 FEAT_SECOND_AURA_PRESENCE 1859 0 999 1 -480 FEAT_SECOND_AURA_INSIGHT 1860 0 999 1 -481 FEAT_SECOND_AURA_RESOLVE 1861 0 999 1 -482 FEAT_SECOND_AURA_STAMINA 1862 0 999 1 -483 FEAT_SECOND_AURA_SWIFTNESS 1863 0 999 1 -484 FEAT_SECOND_AURA_RESISTACID 1864 0 999 1 -485 FEAT_SECOND_AURA_RESISTCOLD 1865 0 999 1 -486 FEAT_SECOND_AURA_RESISTELEC 1866 0 999 1 -487 FEAT_SECOND_AURA_RESISTFIRE 1867 0 999 1 -488 FEAT_SECOND_AURA_MAGICPOWER 1841 0 999 1 -489 FEAT_SECOND_AURA_ENERGYACID 1824 0 999 1 -490 FEAT_SECOND_AURA_ENERGYCOLD 1825 0 999 1 -491 FEAT_SECOND_AURA_ENERGYELEC 1826 0 999 1 -492 FEAT_SECOND_AURA_ENERGYFIRE 1827 0 999 1 -493 FEAT_SECOND_AURA_ENERGY 1836 0 999 1 -494 **** **** **** **** **** -495 **PsionicFeats** **** **** **** **** -496 Psionic_Focus 4818 0 999 1 -497 Invest_Armour 3643 0 -1 1 -498 Mental_Leap 4809 0 -1 1 -499 Psionic_Fist 4800 0 -1 1 -500 Greater_Psionic_Fist 4821 0 -1 1 -501 Psionic_Weapon 4822 0 -1 1 -502 Greater_Psionic_Weapon 4823 0 -1 1 -503 Psionic_Shot 4824 0 -1 1 -504 Greater_Psionic_Shot 4825 0 -1 1 -505 Psionic_Meditation 4827 0 -1 1 -506 Unavoidable_Strike 4830 0 -1 1 -507 Wounding_Attack 4832 0 -1 1 -508 Deep_Impact 4852 0 -1 1 -509 Fell_Shot 4853 0 -1 1 -510 Strength_of_Two 4965 0 -1 1 -511 **** **** **** **** **** -512 **IncarnumFeats** **** **** **** **** -513 InvestEssentiaConversation 8800 0 999 1 -514 HealingSoul 8882 0 999 1 -515 MidnightAugmentation 8884 0 999 1 -516 PsycarnumBlade 8887 0 999 1 -517 DivineSoultouch 8891 0 999 1 -518 PsycarnumInfusion 8896 0 999 1 -519 **** **** **** **** **** -520 **BindingFeats** **** **** **** **** -521 BindVestige 9131 0 -1 1 -522 ExpelVestige 9136 0 -1 1 -523 MalphasArcaneEye 9040 0 999 1 -524 SavnokCallArmor 9043 0 999 1 -525 AndromaliusSee_Invisibility 9048 0 999 1 -526 FocalorAuraSadness 9049 0 999 1 -527 KarsusSenses 9052 0 999 1 -528 **** **** **** **** **** -529 **RacialFeats** **** **** **** **** -530 FEAT_STONECHILD_MAGIC_STONE 5179 0 999 1 -531 FEAT_ASHERATI_BODY_DAZZLE 5213 0 999 1 -532 FEAT_ASHERATI_BODY_LAMP 5214 0 999 1 -533 FEAT_URDINNIR_STONESKIN 4644 0 999 1 -534 FEAT_AVARIEL_DIVE 4645 0 999 1 -535 FEAT_AYUAN_FEAR 4646 0 999 1 -536 FEAT_AYUAN_ENTANGLE 4647 0 999 1 -537 FEAT_AYUAN_DARKNESS 4648 0 999 1 -538 FEAT_AYUAN_NEUTRALIZE_POISON 4649 0 999 1 -539 FEAT_AASIMAR_LIGHT 4650 0 999 1 -540 FEAT_TIEFLING_DARK 4651 0 999 1 -541 FEAT_SVIRF_BLIND_DEAF 4652 0 999 1 -542 FEAT_SVIRF_BLUR 4653 0 999 1 -543 FEAT_SVIRF_DISGUISE 4654 0 999 1 -544 FEAT_SVIRF_REVERT 4655 0 999 1 -545 FEAT_RAK_DISGUISE 4656 0 999 1 -546 FEAT_RAK_CHANGE_SHAPE 4657 0 999 1 -547 FEAT_PYUAN_CHARM 4658 0 999 1 -548 FEAT_PYUAN_DARKNESS 4659 0 999 1 -549 FEAT_PYUAN_ENTANGLE 4660 0 999 1 -550 FEAT_PYUAN_FEAR 4661 0 999 1 -551 FEAT_PIXIE_INVIS 4662 0 999 1 -552 FEAT_PIXIE_CONFUSE 4663 0 999 1 -553 FEAT_PIXIE_ENTANGLE 4664 0 999 1 -554 FEAT_PIXIE_DISPEL_MAGIC 4665 0 999 1 -555 FEAT_PIXIE_POLYMORPH 4666 0 999 1 -556 FEAT_PIXIE_REVERT 4667 0 999 1 -557 FEAT_MINOTAUR_CHARGE 4668 0 999 1 -558 FEAT_ILLITHID_CHARM 4669 0 999 1 -559 FEAT_ILLITHID_BLAST 4670 0 999 1 -560 FEAT_ILLITHID_SUCKBRAIN 4671 0 999 1 -561 FEAT_GITHZERAI_DAZE 4672 0 999 1 -562 FEAT_GITHYANKI_DAZE 4673 0 999 1 -563 FEAT_GITHYANKI_BLUR 4674 0 999 1 -564 FEAT_FEYRI_CHARMPERSON 4675 0 999 1 -565 FEAT_FEYRI_CLAIRAUDIENCE 4676 0 999 1 -566 FEAT_FEYRI_DARKNESS 4677 0 999 1 -567 FEAT_FEYRI_ENERVATION 4678 0 999 1 -568 FEAT_FEYRI_ALTER 4679 0 999 1 -569 FEAT_FEYRI_REVERT 4680 0 999 1 -570 FEAT_DUERGAR_INVIS 4681 0 999 1 -571 FEAT_DROW_DARKNESS 4682 0 999 1 -572 FEAT_DROW_FAERIE_FIRE 4683 0 999 1 -573 BROWNIE_RAKSHASA_HIPS 433 0 999 0 -574 FEAT_WGNOME_SILENCE 4555 0 999 1 -575 FEAT_WGNOME_MAGEHAND 4519 0 999 1 -576 FEAT_HOUND_AID 4574 0 999 1 -577 FEAT_HOUND_AURAMENACE 4548 0 999 1 -578 FEAT_HOUND_CONTFLAME 4514 0 999 1 -579 FEAT_HOUND_DETECTEVIL 4618 0 999 1 -580 FEAT_HOUND_DISGUISE 4513 0 999 1 -581 FEAT_HOUND_MAGICCIRCLE 4515 0 999 1 -582 FEAT_HOUND_TELEPORT 4516 0 999 1 -583 FEAT_RACE_ENERGYRAY 4856 0 999 1 -584 FEAT_RACE_ENERGYRAYSONIC 4520 0 999 1 -585 FEAT_ELAN_RESISTANCE 4521 0 999 1 -586 FEAT_ELAN_RESILIANCE 4522 0 999 1 -587 FEAT_PSIRACE_STOMP 4524 0 999 1 -588 FEAT_MAENAD_OUTBURST 4525 0 999 1 -589 FEAT_XEPH_BURST 4526 0 999 1 -590 FEAT_ZENYTH_TRUESTRIKE 4536 0 999 1 -591 FEAT_TULADH_MAGIC_CIRCL 4533 0 999 1 -592 FEAT_NATHRI_EXP_RETREAT 4534 0 999 1 -593 FEAT_BLADELING_RAZOR_STORM 4539 0 999 1 -594 FEAT_KAPAK_SALIVA 4546 0 999 1 -595 FEAT_IRDA_FLARE 4551 0 999 1 -596 FEAT_ZAKYA_CHILLTOUCH 4570 0 999 1 -597 FEAT_ZAKYA_TRUESTRIKE 4557 0 999 1 -598 FEAT_ZAKYA_VAMPTOUCH 4558 0 999 1 -599 FEAT_MINOR_CHANGE_SHAPE 4560 0 999 1 -600 FEAT_CHANGELING_CHANGE_SHAPE 4561 0 999 1 -601 FEAT_IRDA_CHANGE_SHAPE 4562 0 999 1 -602 FEAT_QUICK_CHANGE_SHAPE 4563 0 999 1 -603 FEAT_SHIFTER_SHIFTING 4566 0 999 1 -604 FEAT_RAK_SHADOW_JUMP 3307 0 999 1 -605 FEAT_NIXIE_CHARM_PERSON 4597 0 999 1 -606 FEAT_NIXIE_WATERBREATHING 4641 0 999 1 -607 FEAT_NYMPH_DIMENSION_DOOR 4755 0 999 1 -608 FEAT_NYMPH_STUNNING_GLANCE 4684 0 999 1 -609 FEAT_NYMPH_BLINDING_BEAUTY 4685 0 999 1 -610 FEAT_GRIG_PYROTECHNICS 4686 0 999 1 -611 FEAT_GRIG_INVIS 4687 0 999 1 -612 FEAT_GRIG_ENTANGLE 4635 0 999 1 -613 FEAT_BRALANI_LIGHTNING_BOLT 4995 0 999 1 -614 FEAT_BRALANI_CURE_SERIOUS 4996 0 999 1 -615 FEAT_BRALANI_BLUR 4997 0 999 1 -616 FEAT_BRALANI_CHARM_PERSON 4998 0 999 1 -617 FEAT_BRALANI_MIRROR_IMAGE 4999 0 999 1 -618 FEAT_BRALANI_GUST_OF_WIND 4978 0 999 1 -619 FEAT_TOUCH_OF_LUCK 4634 0 999 1 -620 FEAT_FORESTLORD_TREEWALK 4633 0 999 1 -621 FEAT_TROGLODYTE_STENCH 23549 0 999 1 -622 Skarn_spines 5180 0 999 1 -623 Killoren_Aspect_H 5209 0 999 1 -624 Killoren_Aspect_D 5210 0 999 1 -625 Killoren_Aspect_A 5211 0 999 1 -626 FrostFolk_IceBlast 5372 0 999 1 -627 Uldra_RayFrost 5373 0 999 1 -628 Uldra_Fatigue 5374 0 999 1 -629 Marrulurk_DA 2930 0 999 1 -630 Marrulurk_NauseatingBreath 5375 0 999 1 -631 ExtaminaarCharmAnimal 5379 0 999 1 -632 Marrusault_Howl 3308 0 999 1 -633 FEAT_HYBSIL_MIRROR_IMAGE 5382 0 999 1 -634 FEAT_HYBSIL_DANCLIGHTS 5383 0 999 1 -635 FEAT_HYBSIL_JUMP 5384 0 999 1 -636 FEAT_WILDREN_FURY 5386 0 999 1 -637 Turlemoi_RockThrowing 5419 0 999 1 -638 Arkamoi_ArcaneMastermind 5424 0 999 1 -639 Muckdweller_Squirt 5425 0 999 1 -640 Aranea_AlternateForm 5426 0 999 1 -641 Aranea_Web 5427 0 999 1 -642 Mephling_breath 5429 0 999 1 -643 FEAT_FOG_CLOUD_BREATH 5434 0 999 1 -644 Warsoul_CultPower 1805 0 999 1 -645 Warsoul_SoulTyrant 1806 0 999 1 -646 **** **** **** **** **** -647 **BonusDomains** **** **** **** **** -648 FEAT_CHECK_DOMAIN_SLOTS 2000 0 999 1 -649 FEAT_CAST_DOMAIN_LEVEL_ONE 2049 0 999 1 -650 FEAT_CAST_DOMAIN_LEVEL_TWO 2050 0 999 1 -651 FEAT_CAST_DOMAIN_LEVEL_THREE 2051 0 999 1 -652 FEAT_CAST_DOMAIN_LEVEL_FOUR 2052 0 999 1 -653 FEAT_CAST_DOMAIN_LEVEL_FIVE 2053 0 999 1 -654 FEAT_CAST_DOMAIN_LEVEL_SIX 2054 0 999 1 -655 FEAT_CAST_DOMAIN_LEVEL_SEVEN 2055 0 999 1 -656 FEAT_CAST_DOMAIN_LEVEL_EIGHT 2056 0 999 1 -657 FEAT_CAST_DOMAIN_LEVEL_NINE 2057 0 999 1 -658 Strength_Domain_Power 307 0 999 1 -659 Protection_Domain_Power 308 0 999 1 -660 Death_Domain_Power 310 0 999 1 -661 Air_Domain_Power 311 0 999 1 -662 Destruction_Domain_Power 313 0 999 1 -663 Earth_Domain_Power 314 0 999 1 -664 Fire_Domain_Power 316 0 999 1 -665 Plant_Domain_Power 321 0 999 1 -666 Sun_Domain_Power 322 0 999 1 -667 Travel_Domain_Power 323 0 999 1 -668 Trickery_Domain_Power 324 0 999 1 -669 Water_Domain_Power 325 0 999 1 -670 FEAT_ORC_DOMAIN 4041 0 999 1 -671 FEAT_SLIME_DOMAIN 4043 0 999 1 -672 FEAT_CHARM_DOMAIN 4045 0 999 1 -673 FEAT_FAMILY_DOMAIN 4051 0 999 1 -674 FEAT_HALFLING_DOMAIN 4052 0 999 1 -675 FEAT_ILLUSION_DOMAIN 4053 0 999 0 -676 FEAT_HATRED_DOMAIN 4054 0 999 1 -677 FEAT_NOBILITY_DOMAIN 4055 0 999 1 -678 FEAT_SCALEYKIND_DOMAIN 4057 0 999 1 -679 FEAT_RENEWAL_DOMAIN 4060 0 999 1 -680 FEAT_SPIDER_DOMAIN 4061 0 999 1 -681 FEAT_BLIGHTBRINGER 2250 0 999 1 -682 **** **** **** **** **** -683 **Templates** **** **** **** **** -684 Celestial_Smite_Evil 22601 0 999 1 -685 Fiendish_Smite_Good 22603 0 999 1 -686 Half_Celestial_Smite_Evil 22605 0 999 1 -687 Half_Celestial_Protection_from_Evil 22606 0 999 1 -688 Half_Celestial_Bless 22607 0 999 1 -689 Half_Celestial_Aid 22608 0 999 1 -690 Half_Celestial_Detect_Evil 22609 0 999 1 -691 Half_Celestial_Cure_Serious_Wounds 22610 0 999 1 -692 Half_Celestial_Neutralize_Poison 22611 0 999 1 -693 Half_Celestial_HolySmite **** 0 999 1 -694 Half_Celestial_Remove_Disease 22613 0 999 1 -695 Half_Celestial_DispelEvil **** 0 999 1 -696 Half_Celestial_Holy_Word 22615 0 999 1 -697 Half_Celestial_HolyAura 22616 0 999 1 -698 Half_Celestial_Hallow **** 0 999 1 -699 Half_Celestial_Mass_Charm 22618 0 999 1 -700 Half_Celestial_Summon_Creature_IX 22619 0 999 1 -701 Half_Celestial_Resurrection 22620 0 999 1 -702 Half_Celestial_Daylight 22621 0 999 1 -703 Half_Fiendish_Smite_Good 22624 0 999 1 -704 Half_Fiendish_Darkness 22625 0 999 1 -705 Half_Fiendish_Desecrate **** 0 999 1 -706 Half_Fiendish_Unholy_Blight **** 0 999 1 -707 Half_Fiendish_Poison 22628 0 999 1 -708 Half_Fiendish_Contagion 22629 0 999 1 -709 Half_Fiendish_Blasphemy 22630 0 999 1 -710 Half_Fiendish_Unholy_Aura **** 0 999 1 -711 Half_Fiendish_Unhallow **** 0 999 1 -712 Half_Fiendish_Horrid_Wilting 22633 0 999 1 -713 Half_Fiendish_Summon_Creature_IX 22634 0 999 1 -714 Half_Fiendish_Destruction 22635 0 999 1 -715 Lich_Fear_Aura 22637 0 999 1 -716 Lich_Paralyzing_Touch 22638 0 999 1 -717 Lich_Appearance 22639 0 999 1 -718 Demilich_Alter_Self 22641 0 999 1 -719 Demilich_Astral_Projection **** 0 999 1 -720 Demilich_Create_Greater_Undead 22643 0 999 1 -721 Demilich_Create_Undead 22644 0 999 1 -722 Demilich_Death_Knell **** 0 999 1 -723 Demilich_Enervation 22646 0 999 1 -724 Demilich_Greater_Dispel_Magic 22647 0 999 1 -725 Demilich_Harm 22648 0 999 1 -726 Demilich_Summon_Creature_I 22649 0 999 1 -727 Demilich_Summon_Creature_II 22650 0 999 1 -728 Demilich_Summon_Creature_III 22651 0 999 1 -729 Demilich_Summon_Creature_IV 22652 0 999 1 -730 Demilich_Summon_Creature_V 22653 0 999 1 -731 Demilich_Summon_Creature_VI 22654 0 999 1 -732 Demilich_Summon_Creature_VII 22655 0 999 1 -733 Demilich_Summon_Creature_VIII 22656 0 999 1 -734 Demilich_Summon_Creature_IX 22657 0 999 1 -735 Demilich_Telekinesis **** 0 999 1 -736 Demilich_Weird 22659 0 999 1 -737 Demilich_Greater_Planar_Ally 22660 0 999 1 -738 HalfDragon_Breath_Weapon 22662 0 999 1 -739 Earth_Strike 5328 0 999 1 -740 BloodedOne_War_Cry 5377 0 999 1 -741 RethDekala_VilefireBlast 5409 0 999 1 -742 RethDekala_MartialSpirit 5410 0 999 1 -743 RethDekala_ThicketOfBlades 5411 0 999 1 -744 RethDekala_DauntingStrike 5412 0 999 1 -745 RethDekala_DeathFromAbove 5413 0 999 1 -746 RethDekala_DisarmingStrike 5414 0 999 1 -747 RethDekala_EntanglingBlade 5415 0 999 1 -748 RethDekala_WallOfBlades 5416 0 999 1 -749 RethDekala_RecoverManeuvers 5417 0 999 1 -750 ArchlichTurnUndead 22701 0 999 1 -751 FEAT_ANIMATE_DEAD 3574 0 999 1 -752 FEAT_PROJECTION 3579 0 999 1 -753 FEAT_END_PROJECTION 3575 0 999 1 -754 **** **** **** **** **** -755 Saint_Bless 22702 0 999 1 -756 Saint_Guidance_Placeholder **** **** **** **** -757 Saint_Resistance 22704 0 999 1 -758 Saint_Virtue 22705 0 999 1 -759 Saint_Protective_Aura 22706 0 999 1 -760 **** **** **** **** **** -761 **WeaponsOfLegacy** **** **** **** **** -762 BBB_Darkvision 22710 0 999 1 -763 BBB_Longstrider 22711 0 999 1 -764 BBB_Lesser_Restoration 22712 0 999 1 -765 BBB_Teleport_SelfOnly 22713 0 999 1 -766 BBB_Protection_from_Evil 22714 0 999 1 -767 BBB_Drowseeker 22715 0 999 1 -768 BBB_ShockingShot 22716 0 999 1 -769 BBB_PierceTheBlackHeart 22717 0 999 1 -770 Steadfast_vigor 22718 0 999 1 -771 Steadfast_slow 22719 0 999 1 -772 Flay_SnakeSting 22720 0 999 1 -773 Flay_WhipWrap 22721 0 999 1 -774 CrimsonRuination_FrozenFate 22722 0 999 1 -775 Devious_DetectThoughts 22723 0 999 1 -776 SimpleBow_TrueSeeing 22724 0 999 1 -777 SimpleBow_Prescience 22725 0 999 1 -778 SimpleBow_Focus 22726 0 999 1 -779 Aradros_Extend 22727 0 999 1 -780 Aradros_Survive 22728 0 999 1 -781 Guurgal_Force 22729 0 999 1 -782 Guurgal_Rage 22730 0 999 1 -783 DivSpark_Fear 22731 0 999 1 -784 DivSpark_Light 22732 0 999 1 -785 Wargirds_Haste 22733 0 999 1 -786 Wargirds_Stoneskin 22734 0 999 1 -787 DesertWind_FierySlash 22735 0 999 1 -788 DesertWind_HowlingWind 22736 0 999 1 -789 DesertWind_FanFlames 22737 0 999 1 -790 DesertWind_DustDesert 22738 0 999 1 -791 Mindsplinter_VirtueDenied 22739 0 999 1 -792 Mindsplinter_KissOfDeath 22740 0 999 1 -793 Mindsplinter_BattleShriek 22741 0 999 1 -794 Mindsplinter_RuinousHowl 22742 0 999 1 -795 NotchedSpear_ParliamentOfFishes 22743 0 999 1 -796 NotchedSpear_ConcealmentKraken 22744 0 999 1 -797 NotchedSpear_ScionSea 22745 0 999 1 -798 NotchedSpear_CommandSeaChildren 22746 0 999 1 -799 Ur_SwiftStride 22747 0 999 1 -800 Ur_HealingTotem 22748 0 999 1 -801 Ur_SavageTransformation 22749 0 999 1 -802 FlamecastersBolt_MarkTarget 22750 0 999 1 -803 FlamecastersBolt_Morale 22751 0 999 1 -804 FlamecastersBolt_Fireball 22752 0 999 1 -805 StalkersBow_StalkersInsight 22753 0 999 1 -806 StalkersBow_Ethereal 22754 0 999 1 -807 Exordius_Guidance 22755 0 999 1 -808 Exordius_Cure 22756 0 999 1 -809 Exordius_Dismissal 22757 0 999 1 -810 Caladbolg_Imprison 22758 0 999 1 -811 HammerWitches_Detect 22759 0 999 1 -812 HammerWitches_Spellbreaker 22760 0 999 1 -813 HammerWitches_AMF 22761 0 999 1 -814 HammerWitches_Dispel 22762 0 999 1 -815 HammerWitches_Mantle 22763 0 999 1 -816 SlingOfTheDireWind_StunningStone 22764 0 999 1 -817 SlingOfTheDireWind_GustOfWind 22765 0 999 1 -818 SlingOfTheDireWind_WindWall 22766 0 999 1 -819 Treebrother_Shillelagh 22767 0 999 1 -820 Treebrother_Charm_Plant 22768 0 999 1 -821 Treebrother_Entangle 22769 0 999 1 -822 Treebrother_Owls_Insight 22770 0 999 1 -823 Treebrother_Changestaff 22771 0 999 1 -824 FullMoonsTrick_Rage 22772 0 999 1 -825 FullMoonsTrick_Invis 22773 0 999 1 -826 FiendkillersFlail_Darkvis 22774 0 999 1 -827 FiendkillersFlail_Detect 22775 0 999 1 -828 ScalesBalance_Detect 22776 0 999 1 -829 ScalesBalance_Cure 22777 0 999 1 -830 ScalesBalance_Knell 22778 0 999 1 -831 ScalesBalance_Enerv 22779 0 999 1 -832 ScalesBalance_Heal 22780 0 999 1 -833 ScalesBalance_Finger 22781 0 999 1 -834 ShishiO_Charm 22782 0 999 1 -835 ShishiO_Summon 22783 0 999 1 -836 ShishiO_Poly 22784 0 999 1 -837 ShishiO_Shout 22785 0 999 1 -838 Dymondheart_ShedBolts 22786 0 999 1 -839 Dymondheart_Deflect 22787 0 999 1 -840 Dymondheart_Daylight 22788 0 999 1 -841 Dymondheart_Cure 22789 0 999 1 -842 Dymondheart_Banish 22790 0 999 1 -843 Sunsword_Daylight 22791 0 999 1 -844 Sunsword_Death_Ward 22792 0 999 1 -845 Sunsword_Banish 22793 0 999 1 -846 Sunsword_Undeath 22794 0 999 1 -847 Blackrazor_Detect 22795 0 999 1 -848 Blackrazor_Knell 22796 0 999 1 -849 Blackrazor_Haste 22797 0 999 1 -850 Ramethene_Detect 22798 0 999 1 -851 Ramethene_Smite 22799 0 999 1 -852 Ramethene_Resist_Elements 22800 0 999 1 -853 Ramethene_Cloudkill 22801 0 999 1 -854 Ramethene_SuddenMaximize 22802 0 999 1 -855 Ramethene_Horrid_Wilting 22803 0 999 1 -856 Wyrmbane_Cause_Fear 22804 0 999 1 -857 Wyrmbane_Lightning_Bolt 22805 0 999 1 -858 Wyrmbane_Sudden_Emp 22806 0 999 1 -859 Wyrmbane_Breath_Lightning 22807 0 999 1 -860 Whelm_Detect_Giant 22808 0 999 1 -861 Whelm_Locate_Object 22809 0 999 1 -862 Whelm_Detect_Goblin 22810 0 999 1 -863 Ravenkind_Dancing_Lights 22811 0 999 1 -864 Ravenkind_Light 22812 0 999 1 -865 Ravenkind_Flare 22813 0 999 1 -866 Ravenkind_Detect_Undead 22814 0 999 1 -867 Ravenkind_Halt_Undead 22815 0 999 1 -868 Ravenkind_Cure_Light_Wounds 22816 0 999 1 -869 Ravenkind_Daylight 22817 0 999 1 -870 Ravenkind_Death_Ward 22818 0 999 1 -871 Ravenkind_Break_Enchantment 22819 0 999 1 -872 Ravenkind_Mass_Heal 22820 0 999 1 -873 LastCitadel_LeadingTheAttack 22821 0 999 1 -874 LastCitadel_Prayer 22822 0 999 1 -875 LastCitadel_Remove_Fear 22823 0 999 1 -876 LastCitadel_Cure_Critical_Wounds 22824 0 999 1 -877 LastCitadel_Blade_Barrier 22825 0 999 1 -878 LastCitadel_Heal 22826 0 999 1 -879 Unfettered_ChargingMinotaur 22827 0 999 1 -880 Unfettered_ENLARGE_PERSON 22828 0 999 1 -881 Unfettered_Etherealness 22829 0 999 1 -882 Unfettered_Stoneskin 22830 0 999 1 -883 Unfettered_Mordenkainens_Sword 22831 0 999 1 -884 Hillcrusher_Earthen_Might 22832 0 999 1 -885 Hillcrusher_Soften_Earth 22833 0 999 1 -886 Hillcrusher_Fangs_of_Stone 22834 0 999 1 -887 Hillcrusher_Raise_the_Earth 22835 0 999 1 -888 Hillcrusher_Shake_the_Earth 22836 0 999 1 -889 DesertWindToB_BurningBlade 22837 0 999 1 -890 DesertWindToB_FanTheFlames 22838 0 999 1 -891 DesertWindToB_WyrmsFlame 22839 0 999 1 -892 Faithful_Detect_Evil 22840 0 999 1 -893 Faithful_Lesser_Restoration 22841 0 999 1 -894 Faithful_Restoration 22842 0 999 1 -895 Faithful_Resiliency 22843 0 999 1 -896 Faithful_ImmortalFortitude 22844 0 999 1 -897 SupernalClarity_SapphireNightmareBlade 22845 0 999 1 -898 SupernalClarity_PsychicPoise 22846 0 999 1 -899 SupernalClarity_Haste 22847 0 999 1 -900 SupernalClarity_Freeeeeedom 22848 0 999 1 -901 SupernalClarity_Time_Stop 22849 0 999 1 -902 Kamate_SteelWind 22850 0 999 1 -903 Kamate_ShockingGrasp 22851 0 999 1 -904 Kamate_Lightning_Bolt 22852 0 999 1 -905 Kamate_Chain_Lightning 22853 0 999 1 -906 Kamate_True_Strike 22854 0 999 1 -907 Eventide_CometThrow 22855 0 999 1 -908 Eventide_BafflingDefense 22856 0 999 1 -909 Eventide_Improved_Invisibility 22857 0 999 1 -910 Umbral_Invisibility 22858 0 999 1 -911 Umbral_Shadowstep 22859 0 999 1 -912 TigerFang_FrenziedCharge 22860 0 999 1 -913 TigerFang_BattleFever 22861 0 999 1 -914 TigerFang_Haste 22862 0 999 1 -915 Bullybasher_KnockSilly 22863 0 999 1 -916 Bullybasher_StoneGathering 22864 0 999 1 -917 Bullybasher_LightningPunch 22865 0 999 1 -918 Bullybasher_GiantBearing 26000 0 999 1 -919 Lorestealer_Read_Magic 22866 0 999 1 -920 Lorestealer_DetectMagic 22867 0 999 1 -921 Lorestealer_Axecasting 22868 0 999 1 -922 Durindana_Daylight 22869 0 999 1 -923 Durindana_Death_Ward 22870 0 999 1 -924 Durindana_Hallow 22871 0 999 1 -925 Durindana_Dazzle 22872 0 999 1 -926 Thaas_Detect_Demon 22873 0 999 1 -927 Thaas_ObstructSummoning 22874 0 999 1 -928 Thaas_Banishment 22875 0 999 1 -929 Thaas_Teleport 22876 0 999 1 -930 Quickspur_Entropic_Shield 22877 0 999 1 -931 Quickspur_Resist_Elements 22878 0 999 1 -932 Quickspur_PhantomSteed 22879 0 999 1 -933 Quickspur_Blur 22880 0 999 1 -934 Quickspur_Stoneskin 22881 0 999 1 -935 BES_FIRE_OF_THE_HEART 22882 0 999 1 -936 BES_ENTHRALLING_LIGHT 22883 0 999 1 -937 BES_COLOR_SPRAY 22884 0 999 1 -938 BES_BLINDING_FLASH 22885 0 999 1 -939 BES_SHOOTING_STARS 22886 0 999 1 -940 BES_GLITTERING_MOTES 22887 0 999 1 -941 BES_TWINKLE 22888 0 999 1 -942 BES_SILVER_STARLIGHT 22889 0 999 1 -943 BES_STARLIGHT_DISPELLING 22890 0 999 1 -944 BES_TALES_IN_THE_SKY 22891 0 999 1 -945 BES_CALL_DOWN_A_STAR 22892 0 999 1 -946 ###cls_feat_allBaseClasses_END### **** **** **** **** -947 ####START_OF_NEW_SPELLBOOK_RESERVE **** **** **** **** -948 Duskblade_Acid_Splash 11583 0 99 1 -949 Duskblade_DisruptUndead 11584 0 99 1 -950 Duskblade_Ray_of_Frost 11585 0 99 1 -951 Duskblade_Blade_of_Blood 11586 0 99 1 -952 Duskblade_Kelgores_Fire_Bolt 11587 0 99 1 -953 Duskblade_Lesser_Deflect 11588 0 99 1 -954 Duskblade_Rouse 11589 0 99 1 -955 Duskblade_Bigbys_Tripping_Hand 11590 0 99 1 -956 Duskblade_Burning_Hands 11591 0 99 1 -957 Duskblade_Chill_Touch 11592 0 99 1 -958 Duskblade_Color_Spray 11593 0 99 1 -959 Duskblade_Expeditious_Retreat 11594 0 99 1 -960 Duskblade_Spell_Jump 11595 0 99 1 -961 Duskblade_Magic_Weapon 11596 0 99 1 -962 Duskblade_Obscuring_Mist 11597 0 99 1 -963 Duskblade_Ray_of_Enfeeblement 11598 0 99 1 -964 Duskblade_Cause_Fear 11599 0 99 1 -965 Duskblade_True_Strike 11600 0 99 1 -966 Duskblade_Resist_Elements 11601 0 99 1 -967 Duskblade_ShockingGrasp 11602 0 99 1 -968 Duskblade_Animalistic_Power 11603 0 99 1 -969 Duskblade_Deflect 11604 0 99 1 -970 Duskblade_Dimension_Hop 11605 0 99 1 -971 Duskblade_Seeking_Ray 11606 0 99 1 -972 Duskblade_Sure_Strike 11607 0 99 1 -973 Duskblade_Bigbys_Striking_Fist 11608 0 99 1 -974 Duskblade_Bulls_Strength 11609 0 99 1 -975 Duskblade_Cats_Grace 11610 0 99 1 -976 Duskblade_Endurance 11611 0 99 1 -977 Duskblade_Ghoul_Touch 11612 0 99 1 -978 Duskblade_Invisibility 11613 0 99 1 -979 Duskblade_Melfs_Acid_Arrow 11614 0 99 1 -980 Duskblade_TouchIdiocy 11615 0 99 1 -981 Duskblade_See_Invisibility 11616 0 99 1 -982 Duskblade_ScorchingRay 11617 0 99 1 -983 Duskblade_Crown_Might 11618 0 99 1 -984 Duskblade_Crown_Protection 11619 0 99 1 -985 Duskblade_Dispelling_Touch 11620 0 99 1 -986 Duskblade_Doom_Scarabs 11621 0 99 1 -987 Duskblade_Energy_Aegis 11622 0 99 1 -988 Duskblade_Energy_Surge 11623 0 99 1 -989 Duskblade_Halt 11624 0 99 1 -990 Duskblade_Regroup 11625 0 99 1 -991 Duskblade_Greater_Magic_Weapon 11626 0 99 1 -992 Duskblade_Keen_Edge 11627 0 99 1 -993 Duskblade_Protection_from_Elements 11628 0 99 1 -994 Duskblade_Vampiric_Touch 11629 0 99 1 -995 Duskblade_RayofExhaustion 11630 0 99 1 -996 Duskblade_Channeled_Pyroburst 11631 0 99 1 -997 Duskblade_DimensionDoor_RadialMaster 11632 0 99 1 -998 Duskblade_Elemental_Shield 11633 0 99 1 -999 Duskblade_Enervation 11634 0 99 1 -1000 Duskblade_Phantasmal_Killer 11635 0 99 1 -1001 Duskblade_Shout 11636 0 99 1 -1002 Duskblade_Bigbys_Interposing_Hand 11637 0 99 1 -1003 Duskblade_Dispel_Magic 11638 0 99 1 -1004 Duskblade_Slashing_Dispel 11639 0 99 1 -1005 Duskblade_Sonic_Shield 11640 0 99 1 -1006 Duskblade_Hold_Monster 11641 0 99 1 -1007 Duskblade_Chain_Lightning 11642 0 99 1 -1008 Duskblade_Disintegrate 11643 0 99 1 -1009 Duskblade_Bigbys_Clenched_Fist 11644 0 99 1 -1010 Duskblade_PolarRay 11645 0 99 1 -1011 Duskblade_WavesofFatigue 11646 0 99 1 -1012 **** **** **** **** **** -1013 **** **** **** **** **** -1014 **** **** **** **** **** -1015 **** **** **** **** **** -1016 **** **** **** **** **** -1017 ####END_OF_NEW_SPELLBOOK_RESERVE **** **** **** **** diff --git a/nwn/nwnprc/trunk/2das/cls_feat_ninja.2da b/nwn/nwnprc/trunk/2das/cls_feat_ninja.2da index c4a2314b..c7b208a3 100644 --- a/nwn/nwnprc/trunk/2das/cls_feat_ninja.2da +++ b/nwn/nwnprc/trunk/2das/cls_feat_ninja.2da @@ -63,7 +63,7 @@ 59 FEAT_BLACKGUARD_SNEAK_ATTACK_12D6 1014 3 32 0 60 FEAT_BLACKGUARD_SNEAK_ATTACK_13D6 1015 3 35 0 61 FEAT_BLACKGUARD_SNEAK_ATTACK_14D6 1016 3 38 0 -62 FEAT_RACE_HIPS 3457 3 4 1 +62 HiPS 433 3 4 0 63 FEAT_USE_POISON 960 3 1 0 64 VenomImmunity 203 3 8 0 65 FEAT_PRESTIGE_INVISIBILITY_2 471 3 10 1 diff --git a/nwn/nwnprc/trunk/2das/feat.2da b/nwn/nwnprc/trunk/2das/feat.2da index 72762351..08ed2b6b 100644 --- a/nwn/nwnprc/trunk/2das/feat.2da +++ b/nwn/nwnprc/trunk/2das/feat.2da @@ -8194,7 +8194,7 @@ 8190 Crusader_BolsteringVoice 16837209 16830172 im_BolsterVoice **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 15993 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** 0 **** **** **** **** **** 0 8191 Crusader_ClarionCall 16837210 16830174 im_ClarionCall **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 15994 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** 0 **** **** **** **** **** 0 8192 Crusader_CoveringStrike 16837211 16830176 im_CoverStrike **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 15995 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** 0 **** **** **** **** **** 0 -8193 Crusader_DouseTheFlames 16837212 16830178 im_DouseTheFlames **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 15996 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** 0 **** **** **** **** **** 0 +8193 Crusader_DouseTheFlames 16837212 16830178 im_douse_flames **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 15996 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** 0 **** **** **** **** **** 0 8194 Crusader_FlankingManeuver 16837213 16830180 im_FlankManeuver **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 15997 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** 0 **** **** **** **** **** 0 8195 Crusader_LeadingTheAttack 16837214 16830182 im_LeadTheAttack **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 15998 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** 0 **** **** **** **** **** 0 8196 Crusader_LeadingTheCharge 16837215 16830120 im_LeadTheCharge **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 15999 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** 0 **** **** **** **** **** 0 @@ -8402,7 +8402,7 @@ 8398 Swordsage_BolsteringVoice 16837420 16830172 im_BolsterVoice **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 16204 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** 0 **** **** **** **** **** 0 8399 Swordsage_ClarionCall 16837421 16830174 im_ClarionCall **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 16205 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** 0 **** **** **** **** **** 0 8400 Swordsage_CoveringStrike 16837422 16830176 im_CoverStrike **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 16206 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** 0 **** **** **** **** **** 0 -8401 Swordsage_DouseTheFlames 16837423 16830178 im_DouseTheFlames **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 16207 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** 0 **** **** **** **** **** 0 +8401 Swordsage_DouseTheFlames 16837423 16830178 im_douse_flames **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 16207 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** 0 **** **** **** **** **** 0 8402 Swordsage_FlankingManeuver 16837424 16830180 im_FlankManeuver **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 16208 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** 0 **** **** **** **** **** 0 8403 Swordsage_LeadingTheAttack 16837425 16830182 im_LeadTheAttack **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 16209 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** 0 **** **** **** **** **** 0 8404 Swordsage_LeadingTheCharge 16837426 16830120 im_LeadTheCharge **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 16210 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** 0 **** **** **** **** **** 0 @@ -8610,7 +8610,7 @@ 8606 Warblade_BolsteringVoice 16837631 16830172 im_BolsterVoice **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 17637 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** 0 **** **** **** **** **** 0 8607 Warblade_ClarionCall 16837632 16830174 im_ClarionCall **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 17638 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** 0 **** **** **** **** **** 0 8608 Warblade_CoveringStrike 16837633 16830176 im_CoverStrike **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 17639 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** 0 **** **** **** **** **** 0 -8609 Warblade_DouseTheFlames 16837634 16830178 im_DouseTheFlames **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 17640 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** 0 **** **** **** **** **** 0 +8609 Warblade_DouseTheFlames 16837634 16830178 im_douse_flames **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 17640 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** 0 **** **** **** **** **** 0 8610 Warblade_FlankingManeuver 16837635 16830180 im_FlankManeuver **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 17641 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** 0 **** **** **** **** **** 0 8611 Warblade_LeadingTheAttack 16837636 16830182 im_LeadTheAttack **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 17642 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** 0 **** **** **** **** **** 0 8612 Warblade_LeadingTheCharge 16837637 16830120 im_LeadTheCharge **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 17643 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** 0 **** **** **** **** **** 0 @@ -24002,7 +24002,7 @@ 23998 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 1 23999 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 1 24000 SkillFocusAlchemy 16847243 424 ife_X2BrewPotion **** **** **** **** **** **** **** **** **** **** **** 1 1 4 **** **** **** **** **** 4 **** **** **** **** **** **** **** **** **** **** FEAT_SKILL_FOCUS_ALCHEMY **** 0 **** **** **** **** **** 1 -24001 EpicSkillFocusAlchemy 16847245 4063 ife_X2BrewPotion **** **** **** **** **** **** **** **** **** **** **** 1 1 15 **** **** **** **** **** **** **** **** **** **** **** **** 34 20 **** **** FEAT_EPIC_SKILL_FOCUS_ALCHEMY **** 0 **** **** **** **** 1 1 +24001 EpicSkillFocusAlchemy 16847245 4063 ife_X2BrewPotion **** **** **** **** **** **** **** **** **** **** **** 1 1 15 **** **** **** **** **** 16 **** **** **** **** **** **** 34 20 **** **** FEAT_EPIC_SKILL_FOCUS_ALCHEMY **** 0 **** **** **** **** 1 1 24002 MagicalArtisanMagicArmsAndArmor 16847247 16847257 ife_crftarmarmor **** **** **** **** **** **** **** **** 2926 **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** FEAT_MAGICAL_ARTISAN_CRAFT_MAGIC_ARMS **** 0 **** **** **** **** **** 1 24003 MagicalArtisanCraftRod 16847248 16847257 ife_craft_rod **** **** **** **** **** **** **** **** 2927 **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** FEAT_MAGICAL_ARTISAN_CRAFT_ROD **** 0 **** **** **** **** **** 1 24004 MagicalArtisanCraftStaff 16847249 16847257 ife_craft_staff **** **** **** **** **** **** **** **** 2928 **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** FEAT_MAGICAL_ARTISAN_CRAFT_STAFF **** 0 **** **** **** **** **** 1 diff --git a/nwn/nwnprc/trunk/2das/iprp_damagecost.2da.bak b/nwn/nwnprc/trunk/2das/iprp_damagecost.2da.bak deleted file mode 100644 index 13417c33..00000000 --- a/nwn/nwnprc/trunk/2das/iprp_damagecost.2da.bak +++ /dev/null @@ -1,106 +0,0 @@ -2DA V2.0 - - Name Label Cost NumDice Die Rank GameString VFX -0 **** Random 0 **** **** **** **** 0 -1 1035 1 0.125 0 1 1 **** 0 -2 1036 2 0.25 0 2 2 **** 0 -3 1037 3 0.5 0 3 4 **** 0 -4 1038 4 0.75 0 4 6 **** 1 -5 1039 5 1 0 5 7 **** 1 -6 1040 1d4 0.375 1 4 5 58314 0 -7 1041 1d6 0.625 1 6 8 58315 1 -8 1042 1d8 0.875 1 8 12 58316 1 -9 1043 1d10 1.125 1 10 15 58317 1 -10 1044 2d6 1.5 2 6 20 58318 1 -11 83572 2d8 2 2 8 27 83571 1 -12 83592 2d4 1 2 4 11 83595 1 -13 83590 2d10 2.5 2 10 34 83594 1 -14 83591 1d12 1.375 1 12 21 83596 1 -15 83598 2d12 3 2 12 42 83597 1 -16 83585 6 1.25 0 6 9 84297 1 -17 83586 7 1.5 0 7 10 84298 1 -18 83587 8 1.75 0 8 13 84299 1 -19 83588 9 2 0 9 14 84300 1 -20 83589 10 2.25 0 10 16 84301 1 -21 84251 11 2.5 0 11 17 84302 1 -22 84252 12 2.75 0 12 22 84303 1 -23 84253 13 3 0 13 23 84304 1 -24 84254 14 3.25 0 14 24 84305 1 -25 84255 15 3.5 0 15 25 84306 1 -26 84256 16 3.75 0 16 28 84307 1 -27 84257 17 4 0 17 29 84308 1 -28 84258 18 4.25 0 18 31 84309 1 -29 84259 19 4.5 0 19 32 84310 1 -30 84260 20 4.75 0 20 35 84311 1 -31 5068 3d6 2.375 3 6 30 16825573 1 -32 5069 4d6 3.25 4 6 40 16825574 1 -33 5070 5d6 4.125 5 6 50 16825575 1 -34 5071 6d6 5 6 6 61 16825576 1 -35 5072 7d6 5.875 7 6 72 16825577 1 -36 5073 8d6 6.75 8 6 79 16825578 1 -37 16823558 3d4 1.625 3 4 19 16823562 1 -38 16823559 4d4 2.25 4 4 26 16823563 1 -39 16823560 5d4 2.875 5 4 33 16823564 1 -40 16823561 6d4 3.5 6 4 39 16823565 1 -41 5077 3d8 3.125 3 8 41 16826366 1 -42 5078 4d8 4.25 4 8 55 16826367 1 -43 5079 5d8 5.375 5 8 67 16826368 1 -44 5080 6d8 6.5 6 8 80 16826369 1 -45 5081 7d8 7.625 7 8 87 16826370 1 -46 5082 8d8 8.75 8 8 91 16826371 1 -47 5083 9d8 9.875 9 8 94 16826372 1 -48 5084 10d8 11 10 8 97 16826373 1 -49 16825739 7d4 4.125 7 4 47 16825738 1 -50 16825741 8d4 4.75 8 4 54 16825740 1 -51 16825743 9d4 5.375 9 4 60 16825742 1 -52 16825745 10d4 6 10 4 69 16825744 1 -53 16825747 9d6 7.625 9 6 86 16825746 1 -54 16825749 10d6 8.5 10 6 90 16825748 1 -55 16825751 3d10 3.875 3 10 51 16825750 1 -56 16825753 4d10 5.25 4 10 68 16825752 1 -57 16825755 5d10 6.625 5 10 84 16825754 1 -58 16825757 6d10 8 6 10 88 16825756 1 -59 16825759 7d10 9.375 7 10 93 16825758 1 -60 16825761 8d10 10.75 8 10 96 16825760 1 -61 16825763 9d10 12.125 9 10 99 16825762 1 -62 16825765 10d10 13.5 10 10 101 16825764 1 -63 16825767 3d12 4.625 3 12 62 16825766 1 -64 16825769 4d12 6.25 4 12 81 16825768 1 -65 16825771 5d12 7.875 5 12 89 16825770 1 -66 16825773 6d12 9.5 6 12 92 16825772 1 -67 16825775 7d12 11.125 7 12 95 16825774 1 -68 16825777 8d12 12.75 8 12 98 16825776 1 -69 16825779 9d12 14.375 9 12 100 16825778 1 -70 16825781 10d12 16 10 12 102 16825780 1 -71 16833095 1d3 0.25 1 3 3 16833128 0 -72 16833129 4d3 1.625 4 3 18 16833130 1 -73 16857216 21 5.25 0 21 36 16857217 1 -74 16857218 22 5.5 0 22 37 16857219 1 -75 16857220 23 5.75 0 23 38 16857221 1 -76 16857222 24 6 0 24 43 16857223 1 -77 16857224 25 6.25 0 25 44 16857225 1 -78 16857226 26 6.5 0 26 45 16857227 1 -79 16857228 27 6.75 0 27 46 16857229 1 -80 16857230 28 7 0 28 48 16857231 1 -81 16857232 29 7.25 0 29 49 16857233 1 -82 16857234 30 7.5 0 30 52 16857235 1 -83 16857236 31 7.75 0 31 53 16857237 1 -84 16857238 32 8 0 32 56 16857239 1 -85 16857240 33 8.25 0 33 57 16857241 1 -86 16857242 34 8.5 0 34 58 16857243 1 -87 16857244 35 8.75 0 35 59 16857245 1 -88 16857246 36 9 0 36 63 16857247 1 -89 16857248 37 9.25 0 37 64 16857249 1 -90 16857250 38 9.5 0 38 65 16857251 1 -91 16857252 39 9.75 0 39 66 16857253 1 -92 16857254 40 10 0 40 70 16857255 1 -93 16857256 41 10.25 0 41 71 16857257 1 -94 16857258 42 10.5 0 42 73 16857259 1 -95 16857260 43 10.75 0 43 74 16857261 1 -96 16857262 44 11 0 44 75 16857263 1 -97 16857264 45 11.25 0 45 76 16857265 1 -98 16857266 46 11.5 0 46 77 16857267 1 -99 16857268 47 11.75 0 47 78 16857269 1 -100 16857270 48 12 0 48 82 16857271 1 -101 16857272 49 12.25 0 49 83 16857273 1 -102 16857274 50 12.5 0 50 85 16857275 1 diff --git a/nwn/nwnprc/trunk/2das/iprp_feats.2DA b/nwn/nwnprc/trunk/2das/iprp_feats.2DA index 416cb0f3..fd581f88 100644 --- a/nwn/nwnprc/trunk/2das/iprp_feats.2DA +++ b/nwn/nwnprc/trunk/2das/iprp_feats.2DA @@ -25016,7 +25016,7 @@ 25012 **** **** **** **** 25013 **** **** **** **** 25014 **** **** **** **** -25015 **** **** **** **** +25015 16836433 FEAT_MONKEY_GRIP 1 5197 25016 **** **** **** **** 25017 **** **** **** **** 25018 **** **** **** **** diff --git a/nwn/nwnprc/trunk/2das/prc_domains.2da.bak b/nwn/nwnprc/trunk/2das/prc_domains.2da.bak deleted file mode 100644 index 74596e95..00000000 --- a/nwn/nwnprc/trunk/2das/prc_domains.2da.bak +++ /dev/null @@ -1,63 +0,0 @@ -2DA V2.0 - - Label Name Level_1 Level_2 Level_3 Level_4 Level_5 Level_6 Level_7 Level_8 Level_9 CastableFeat -0 AIR 5610 3085 **** 11 75 **** 14 3854 **** 48 1 -1 ANIMAL 5611 **** 81 43 177 **** **** **** 182 161 0 -2 **** **** **** **** **** **** **** **** **** **** **** **** -3 DEATH 5613 155 **** 2 38 164 30 366 29 190 1 -4 DESTRUCTION 5614 432 **** 27 435 3213 77 3111 426 87 1 -5 EARTH 5615 3853 **** **** 172 **** 3106 547 423 **** 1 -6 EVIL 5616 371 **** 370 52 **** **** 56 51 **** 0 -7 FIRE 5617 10 3109 150 58 369 **** 57 39 **** 1 -8 GOOD 5618 138 1 104 96 172 128 **** **** 69 0 -9 HEALING 5619 32 35 35 3137 79 **** **** **** **** 0 -10 KNOWLEDGE 5620 86 93 20 **** 186 376 **** **** **** 0 -11 **** **** **** **** **** **** **** **** **** **** **** **** -12 **** **** **** **** **** **** **** **** **** **** **** **** -13 MAGIC 5623 102 115 370 172 368 **** 1567 **** **** 0 -14 PLANT 5624 53 3 **** **** **** **** 364 **** 2098 1 -15 PROTECTION 5625 417 546 38 369 **** 74 **** **** **** 1 -16 STRENGTH 5626 3160 **** 42 3139 172 **** **** **** **** 1 -17 SUN 5627 537 156 **** **** **** **** 183 427 **** 1 -18 TRAVEL 5628 456 **** 62 2890 2874 **** 2893 **** **** 1 -19 TRICKERY 5629 **** 90 92 3209 88 **** **** **** **** 1 -20 WAR 5630 **** 3152 3163 **** **** **** **** **** 3112 0 -21 WATER 5631 **** **** **** 368 25 **** 437 **** 3182 1 -22 **** **** **** **** **** **** **** **** **** **** **** **** -23 **** **** **** **** **** **** **** **** **** **** **** **** -24 **** **** **** **** **** **** **** **** **** **** **** **** -25 **** **** **** **** **** **** **** **** **** **** **** **** -26 **** **** **** **** **** **** **** **** **** **** **** **** -27 **** **** **** **** **** **** **** **** **** **** **** **** -28 **** **** **** **** **** **** **** **** **** **** **** **** -29 **** **** **** **** **** **** **** **** **** **** **** **** -30 DARKNESS 16825534 **** 8 2091 2095 2092 **** **** 132 131 0 -31 STORM 16827720 **** **** 11 75 **** 368 **** 173 **** 0 -32 METAL 16827719 **** 545 539 **** 5 **** **** **** **** 0 -33 PORTAL 16827722 **** 3150 **** 2890 430 **** **** 63 **** 0 -34 FORCE 16827724 102 107 3141 3174 **** **** **** **** 3180 0 -35 SLIME 16827726 66 115 **** **** 375 437 **** **** 3182 1 -36 TYRANNY 16827728 **** 4 54 **** **** **** 461 44 **** 0 -37 DOMINATION 16827788 16 **** **** 45 **** **** 3107 **** 3108 0 -38 SPIDER 16827730 **** 192 3184 **** 3185 **** **** 364 **** 1 -39 UNDEATH 16827732 **** 2 **** **** 28 **** 29 56 **** 0 -40 TIME 16827734 456 **** **** 78 **** **** 113 **** 134 0 -41 DWARF 16827736 **** **** 549 **** 172 **** **** 141 **** 0 -42 CHARM 16827738 **** **** 15 **** 45 **** 111 **** 44 1 -43 ELF 16827740 415 13 **** **** 3120 **** **** 427 **** 0 -44 FAMILY 16827742 3157 **** 3163 **** **** **** 141 **** **** 1 -45 FATE 16827744 **** 4 3154 164 **** **** **** 134 **** 0 -46 GNOME 16827746 24 3208 3209 **** **** **** 135 **** 193 0 -47 ILLUSION 16827750 **** 3208 3209 127 **** **** **** 160 **** 0 -48 HATRED 16827752 **** 4 422 3139 **** **** **** **** 190 1 -49 HALFLING 16827748 421 13 62 **** **** 88 **** **** **** 1 -50 NOBILITY 16827754 **** 16 3133 **** 3134 **** **** **** 44 1 -51 OCEAN 16827756 3178 3171 **** **** 437 **** **** 3182 **** 0 -52 ORC 16827758 **** 133 42 **** **** **** **** 44 131 1 -53 RENEWAL 16827760 97 **** 152 142 **** 153 **** **** **** 1 -54 RETRIBUTION 16827762 **** 519 **** 47 **** **** 366 173 **** 0 -55 RUNE 16827764 **** **** 549 **** **** **** 2096 541 **** 0 -56 SPELLS 16827768 **** **** **** 98 169 **** 141 **** 73 0 -57 SCALEYKIND 16827766 452 **** 3127 453 3185 **** **** **** 364 1 -58 BLIGHTBRINGER 16824921 **** **** 27 **** 25 56 **** 367 51 1 -59 DRAGON 16832488 452 150 453 **** 186 172 3388 **** 44 0 diff --git a/nwn/nwnprc/trunk/2das/spells.2da b/nwn/nwnprc/trunk/2das/spells.2da index 3ffd17e4..ad7d7bf1 100644 --- a/nwn/nwnprc/trunk/2das/spells.2da +++ b/nwn/nwnprc/trunk/2das/spells.2da @@ -15997,7 +15997,7 @@ 15993 Crusader_BolsteringVoice 16837209 im_BolsterVoice N P 0 0x01 0x09 tob_CRU_generic **** **** **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 2 16830172 0 **** **** **** 8190 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 15994 Crusader_ClarionCall 16837210 im_ClarionCall N P 0 0x04 0x09 tob_CRU_generic **** **** **** **** **** **** 7 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 2 16830174 0 **** **** **** 8191 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 15995 Crusader_CoveringStrike 16837211 im_CoverStrike N T 0 0x04 0x0a tob_CRU_generic **** **** **** **** **** **** 4 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 2 16830176 0 **** **** **** 8192 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** -15996 Crusader_DouseTheFlames 16837212 im_DouseTheFlames N T 0 0x02 0x0a tob_CRU_generic **** **** **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 2 16830178 0 **** **** **** 8193 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +15996 Crusader_DouseTheFlames 16837212 im_douse_flames N T 0 0x02 0x0a tob_CRU_generic **** **** **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 2 16830178 0 **** **** **** 8193 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 15997 Crusader_FlankingManeuver 16837213 im_FlankManeuver N T 0 0x02 0x0a tob_CRU_generic **** **** **** **** **** **** 5 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 2 16830180 0 **** **** **** 8194 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 15998 Crusader_LeadingTheAttack 16837214 im_LeadTheAttack N T 0 0x02 0x0a tob_CRU_generic **** **** **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 2 16830182 0 **** **** **** 8195 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 15999 Crusader_LeadingTheCharge 16837215 im_LeadTheCharge N P 0 0x01 0x09 tob_CRU_generic **** **** **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 2 16830120 0 **** **** **** 8196 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** @@ -16208,7 +16208,7 @@ 16204 Swordsage_BolsteringVoice 16837420 im_BolsterVoice N P 0 0x01 0x09 tob_SWD_generic **** **** **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 2 16830172 0 **** **** **** 8398 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 16205 Swordsage_ClarionCall 16837421 im_ClarionCall N P 0 0x04 0x09 tob_SWD_generic **** **** **** **** **** **** 7 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 2 16830174 0 **** **** **** 8399 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 16206 Swordsage_CoveringStrike 16837422 im_CoverStrike N T 0 0x04 0x0a tob_SWD_generic **** **** **** **** **** **** 4 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 2 16830176 0 **** **** **** 8400 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** -16207 Swordsage_DouseTheFlames 16837423 im_DouseTheFlames N T 0 0x02 0x0a tob_SWD_generic **** **** **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 2 16830178 0 **** **** **** 8401 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +16207 Swordsage_DouseTheFlames 16837423 im_douse_flames N T 0 0x02 0x0a tob_SWD_generic **** **** **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 2 16830178 0 **** **** **** 8401 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 16208 Swordsage_FlankingManeuver 16837424 im_FlankManeuver N T 0 0x02 0x0a tob_SWD_generic **** **** **** **** **** **** 5 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 2 16830180 0 **** **** **** 8402 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 16209 Swordsage_LeadingTheAttack 16837425 im_LeadTheAttack N T 0 0x02 0x0a tob_SWD_generic **** **** **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 2 16830182 0 **** **** **** 8403 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 16210 Swordsage_LeadingTheCharge 16837426 im_LeadTheCharge N P 0 0x01 0x09 tob_SWD_generic **** **** **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 2 16830120 0 **** **** **** 8404 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** @@ -17497,7 +17497,7 @@ 17493 BolsteringVoice 16830171 im_BolsterVoice N P 0 0x01 0x09 tob_wtrn_blsrvc **** **** **** **** **** **** 1 0 **** **** **** **** **** **** **** attack 0 **** **** **** **** 0 **** **** **** **** **** **** 0 **** **** **** **** **** 9 **** 2 16830172 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 17494 ClarionCall 16830173 im_ClarionCall N P 0 0x04 0x09 tob_wtrn_clrncll **** **** **** **** **** **** 7 0 **** **** **** **** **** **** **** attack 0 **** **** **** **** 0 **** **** **** **** **** **** 0 **** **** **** **** **** 9 **** 2 16830174 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 17495 CoveringStrike 16830175 im_CoverStrike N T 0 0x04 0x0a tob_wtrn_cvrstrk **** **** **** **** **** **** 4 0 **** **** **** **** **** **** **** attack 0 **** **** **** **** 0 **** **** **** **** **** **** 0 **** **** **** **** **** 9 **** 2 16830176 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** -17496 DouseTheFlames 16830177 im_DouseTheFlames N T 0 0x02 0x0a tob_wtrn_dsflms **** **** **** **** **** **** 1 0 **** **** **** **** **** **** **** attack 0 **** **** **** **** 0 **** **** **** **** **** **** 0 **** **** **** **** **** 9 **** 2 16830178 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +17496 DouseTheFlames 16830177 im_douse_flames N T 0 0x02 0x0a tob_wtrn_dsflms **** **** **** **** **** **** 1 0 **** **** **** **** **** **** **** attack 0 **** **** **** **** 0 **** **** **** **** **** **** 0 **** **** **** **** **** 9 **** 2 16830178 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 17497 FlankingManeuver 16830179 im_FlankManeuver N T 0 0x02 0x0a tob_wtrn_flnkmvr **** **** **** **** **** **** 5 0 **** **** **** **** **** **** **** attack 0 **** **** **** **** 0 **** **** **** **** **** **** 0 **** **** **** **** **** 9 **** 2 16830180 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 17498 LeadingTheAttack 16830181 im_LeadTheAttack N T 0 0x02 0x0a tob_wtrn_ldngatk **** **** **** **** **** **** 1 0 **** **** **** **** **** **** **** attack 0 **** **** **** **** 0 **** **** **** **** **** **** 0 **** **** **** **** **** 9 **** 2 16830182 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 17499 LeadingTheCharge 16830119 im_LeadTheCharge N P 0 0x01 0x09 tob_wtrn_ldchrg **** **** **** **** **** **** 1 0 **** **** **** **** **** **** **** attack 0 **** **** **** **** 0 **** **** **** **** **** **** 0 **** **** **** **** **** 9 **** 2 16830120 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** @@ -17641,7 +17641,7 @@ 17637 Warblade_BolsteringVoice 16837631 im_BolsterVoice N P 0 0x01 0x09 tob_WAR_generic **** **** **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 2 16830172 0 **** **** **** 8606 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 17638 Warblade_ClarionCall 16837632 im_ClarionCall N P 0 0x04 0x09 tob_WAR_generic **** **** **** **** **** **** 7 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 2 16830174 0 **** **** **** 8607 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 17639 Warblade_CoveringStrike 16837633 im_CoverStrike N T 0 0x04 0x0a tob_WAR_generic **** **** **** **** **** **** 4 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 2 16830176 0 **** **** **** 8608 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** -17640 Warblade_DouseTheFlames 16837634 im_DouseTheFlames N T 0 0x02 0x0a tob_WAR_generic **** **** **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 2 16830178 0 **** **** **** 8609 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +17640 Warblade_DouseTheFlames 16837634 im_douse_flames N T 0 0x02 0x0a tob_WAR_generic **** **** **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 2 16830178 0 **** **** **** 8609 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 17641 Warblade_FlankingManeuver 16837635 im_FlankManeuver N T 0 0x02 0x0a tob_WAR_generic **** **** **** **** **** **** 5 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 2 16830180 0 **** **** **** 8610 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 17642 Warblade_LeadingTheAttack 16837636 im_LeadTheAttack N T 0 0x02 0x0a tob_WAR_generic **** **** **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 2 16830182 0 **** **** **** 8611 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 17643 Warblade_LeadingTheCharge 16837637 im_LeadTheCharge N P 0 0x01 0x09 tob_WAR_generic **** **** **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 9 **** 2 16830120 0 **** **** **** 8612 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** diff --git a/nwn/nwnprc/trunk/epicspellscripts/ss_ep_fleetness.nss b/nwn/nwnprc/trunk/epicspellscripts/ss_ep_fleetness.nss index 8db02e86..07824fc5 100644 --- a/nwn/nwnprc/trunk/epicspellscripts/ss_ep_fleetness.nss +++ b/nwn/nwnprc/trunk/epicspellscripts/ss_ep_fleetness.nss @@ -31,7 +31,8 @@ void main() effect eSpeed = EffectMovementSpeedIncrease(99); effect eLink = EffectLinkEffects(eSpeed, eDur); float fDelay; - if(GetIsReactionTypeFriendly(oTarget) || GetFactionEqual(oTarget)) + //if(GetIsReactionTypeFriendly(oTarget) || GetFactionEqual(oTarget)) + if(!GetIsEnemy(oTarget, OBJECT_SELF)) { fDelay = PRCGetRandomDelay(0.4, 1.1); //Fire spell cast at event for target diff --git a/nwn/nwnprc/trunk/include/nw_inc_nui.nss b/nwn/nwnprc/trunk/include/nw_inc_nui.nss index 96fc3da4..a37f13fc 100644 --- a/nwn/nwnprc/trunk/include/nw_inc_nui.nss +++ b/nwn/nwnprc/trunk/include/nw_inc_nui.nss @@ -40,6 +40,24 @@ const float NUI_STYLE_TERTIARY_HEIGHT = 30.0; const float NUI_STYLE_ROW_HEIGHT = 25.0; +// ----------------------- +// Bind params + +// These currently only affect presentation and serve as a +// optimisation to let the client do the heavy lifting on this. +// In particular, this enables you to bind an array of values and +// transform them all at once on the client, instead of having to +// have the server transform them before sending. + +// NB: These must be OR-ed together into a bitmask. + +const int NUI_NUMBER_FLAG_HEX = 0x001; + +// NB: These must be OR-ed together into a bitmask. + +const int NUI_TEXT_FLAG_LOWERCASE = 0x001; +const int NUI_TEXT_FLAG_UPPERCASE = 0x002; + // ----------------------- // Window @@ -47,24 +65,41 @@ const float NUI_STYLE_ROW_HEIGHT = 25.0; // * Set the window title to JsonBool(FALSE), Collapse to JsonBool(FALSE) and bClosable to FALSE // to hide the title bar. // Note: You MUST provide a way to close the window some other way, or the user will be stuck with it. -json // Window -NuiWindow( - json jRoot, // Layout-ish (NuiRow, NuiCol, NuiGroup) - json jTitle, // Bind:String - json jGeometry, // Bind:Rect Set x and/or y to -1.0 to center the window on that axis - // Set x and/or y to -2.0 to position the window's top left at the mouse cursor's position of that axis - // Set x and/or y to -3.0 to center the window on the mouse cursor's position of that axis - json jResizable, // Bind:Bool Set to JsonBool(TRUE) or JsonNull() to let user resize without binding. - json jCollapsed, // Bind:Bool Set to a static value JsonBool(FALSE) to disable collapsing. - // Set to JsonNull() to let user collapse without binding. - // For better UX, leave collapsing on. - json jClosable, // Bind:Bool You must provide a way to close the window if you set this to FALSE. - // For better UX, handle the window "closed" event. - json jTransparent, // Bind:Bool Do not render background - json jBorder, // Bind:Bool Do not render border - json jAcceptsInput = // Bind:Bool Set JsonBool(FALSE) to disable all input. - JSON_TRUE // All hover, clicks and keypresses will fall through. -); +// * Set a minimum size constraint equal to the maximmum size constraint in the same dimension to prevent +// a window from being resized in that dimension. +// - jRoot: Layout-ish (NuiRow, NuiCol, NuiGroup) +// - jTitle: Bind:String +// - jGeometry: Bind:Rect +// Set x and/or y to -1.0 to center the window on that axis. +// Set x and/or y to -2.0 to position the window's top left at the mouse cursor's position of that axis. +// Set x and/or y to -3.0 to center the window on the mouse cursor's position of that axis. +// - jResizable: Bind:Bool +// Set to JsonBool(TRUE) or JsonNull() to let user resize without binding. +// - jCollapsed: Bind:Bool +// Set to a static value JsonBool(FALSE) to disable collapsing. +// Set to JsonNull() to let user collapse without binding. +// For better UX, leave collapsing on. +// - jCloseable: Bind:Bool +// You provide a way to close the window if you set this to FALSE. +// For better UX, handle the window "closed" event. +// - jTransparent: Bind:Bool +// Do not render background +// - jBorder: Bind:Bool +// Do not render border +// - jAcceptsInput: Bind:Bool +// Set JsonBool(FALSE) to disable all input. +// All hover, clicks and keypresses will fall through. +// - jSizeConstraint: Bind:Rect +// Constrains minimum and maximum size of window. +// Set x to minimum width, y to minimum height, w to maximum width, h to maximum height. +// Set any individual constraint to 0.0 to ignore that constraint. +// - jEdgeConstraint: Bind:Rect +// Prevents a window from being rendered within the specified margins. +// Set x to left margin, y to top margin, w to right margin, h to bottom margin. +// Set any individual constraint to 0.0 to ignore that constraint +// - jFont: Bind:String +// Override font used on window, including decorations. See NuiStyleFont() for details. +json NuiWindow(json jRoot, json jTitle, json jGeometry, json jResizable,json jCollapsed,json jClosable, json jTransparent, json jBorder, json jAcceptsInput = JSON_TRUE, json jSizeConstraint = JSON_NULL, json jEdgeConstraint = JSON_NULL, json jFont = JSON_STRING); // ----------------------- // Values @@ -74,144 +109,111 @@ NuiWindow( // NuiSetBind(.., "mybindlabel", JsonString("hi")); // To create static values, just use the json types directly: // JsonString("hi"); -json // Bind -NuiBind( - string sId -); +// +// You can parametrise this particular bind with the given flags. +// These flags only apply to that particular usage of this bind value. +// +// - sId: string +// - nNumberFlags: bitmask of NUI_NUMBER_FLAG_* +// - nNumberPrecision: Precision to print number with (int or float) +// - nTextFlags: bitmask of NUI_TEXT_FLAG_* +json NuiBind(string sId, int nNumberFlags = 0, int nNumberPrecision = 0, int nTextFlags = 0); // Tag the given element with a id. // Only tagged elements will send events to the server. -json // Element -NuiId( - json jElem, // Element - string sId // String -); +json NuiId(json jElem, string sId); // A shim/helper that can be used to render or bind a strref where otherwise // a string value would go. -json -NuiStrRef( - int nStrRef // STRREF -); +json NuiStrRef(int nStrRef); // ----------------------- // Layout // A column will auto-space all elements inside of it and advise the parent // about it's desired size. -json // Layout -NuiCol( - json jList // Layout[] or Element[] -); +// - jList: Layout[] or Element[] +json NuiCol(json jList); // A row will auto-space all elements inside of it and advise the parent // about it's desired size. -json // Layout -NuiRow( - json jList // Layout[] or Element[] -); +// - jList: Layout[] or Element[] +json NuiRow(json jList); // A group, usually with a border and some padding, holding a single element. Can scroll. // Will not advise parent of size, so you need to let it fill a span (col/row) as if it was // a element. -json // Layout -NuiGroup( - json jChild, // Layout or Element - int bBorder = TRUE, - int nScroll = NUI_SCROLLBARS_AUTO -); +// - jChild: Layout or Element +json NuiGroup(json jChild, int bBorder = TRUE, int nScroll = NUI_SCROLLBARS_AUTO); // Modifiers/Attributes: These are all static and cannot be bound, since the UI system // cannot easily reflow once the layout is set up. You need to swap the layout if you // want to change element geometry. -json // Element -NuiWidth( - json jElem, // Element - float fWidth // Float: Element width in pixels (strength=required). -); +// - jElem: Element +// - fWidth: Float: Element width in pixels (strength=required). +json NuiWidth(json jElem, float fWidth); -json // Element -NuiHeight( - json jElem, // Element - float fHeight // Float: Height in pixels (strength=required). -); +// - jElem: Element +// - fHeight: Float: Height in pixels (strength=required). +json NuiHeight(json jElem, float fHeight); -json // Element -NuiAspect( - json jElem, // Element - float fAspect // Float: Ratio of x/y. -); +// - jElem: Element +// - fAspect: Float: Ratio of x/y +json NuiAspect(json jElem, float fAspect); // Set a margin on the widget. The margin is the spacing outside of the widget. -json // Element -NuiMargin( - json jElem, // Element - float fMargin // Float -); +json NuiMargin(json jElem, float fMargin); // Set padding on the widget. The margin is the spacing inside of the widget. -json // Element -NuiPadding( - json jElem, // Element - float fPadding // Float -); +json NuiPadding(json jElem, float fPadding); // Disabled elements are non-interactive and greyed out. -json // Element -NuiEnabled( - json jElem, // Element - json jEnabler // Bind:Bool -); +// - jElem: Element +// - jEnabled: Bind:Bool +json NuiEnabled(json jElem, json jEnabler); // Invisible elements do not render at all, but still take up layout space. -json // Element -NuiVisible( - json jElem, // Element - json jVisible // Bind:Bool -); +// - jElem: Element +// - jVisible: Bind:Bool +json NuiVisible(json jElem, json jVisible); // Tooltips show on mouse hover. -json // Element -NuiTooltip( - json jElem, // Element - json jTooltip // Bind:String -); +// - jElem: Element +// - jTooltip: Bind:String +json NuiTooltip(json jElem, json jTooltip); // Tooltips for disabled elements show on mouse hover. -json // Element -NuiDisabledTooltip( - json jElem, // Element - json jTooltip // Bind:String -); +// - jElem: Element +// - jTooltip: Bind:String +json NuiDisabledTooltip(json jElem, json jTooltip); // Encouraged elements have a breathing animated glow inside of it. -json // Element -NuiEncouraged( - json jElem, // Element - json jEncouraged // Bind:Bool -); +// - jElem: Element +// - jEncouraged: Bind:Bool +json NuiEncouraged(json jElem, json jEncouraged); // ----------------------- // Props & Style -json // Vec2 -NuiVec(float x, float y); +json NuiVec(float x, float y); -json // Rect -NuiRect(float x, float y, float w, float h); +json NuiRect(float x, float y, float w, float h); -json // Color -NuiColor(int r, int g, int b, int a = 255); +json NuiColor(int r, int g, int b, int a = 255); -// Style the foreground color of the widget. This is dependent on the widget +// Style the foreground color of a widget or window title. This is dependent on the widget // in question and only supports solid/full colors right now (no texture skinning). // For example, labels would style their text color; progress bars would style the bar. -json // Element -NuiStyleForegroundColor( - json jElem, // Element - json jColor // Bind:Color -); +// - jElem: Element +// - jColor: Bind:Color +json NuiStyleForegroundColor(json jElem, json jColor); + +// Override the font used for this element. The font and it's properties needs to be listed in +// nui_skin.tml, as all fonts are pre-baked into a texture atlas at content load. +// - jElem: Element +// - jColor: Bind:String ([[fonts]].name in nui_skin.tml) +json NuiStyleFont(json jElem, json jFont); // ----------------------- // Widgets @@ -219,119 +221,87 @@ NuiStyleForegroundColor( // A special widget that just takes up layout space. // If you add multiple spacers to a span, they will try to size equally. // e.g.: [ ] will try to center the button. -json // Element -NuiSpacer(); +json NuiSpacer(); // Create a label field. Labels are single-line stylable non-editable text fields. -json // Element -NuiLabel( - json jValue, // Bind:String - json jHAlign, // Bind:Int:NUI_HALIGN_* - json jVAlign // Bind:Int:NUI_VALIGN_* -); +// - jValue: Bind:String +// - jHAlign: Bind:Int:NUI_HALIGN_* +// - jVAlign: Bind:Int:NUI_VALIGN_* +json NuiLabel(json jValue, json jHAlign, json jVAlign); // Create a non-editable text field. Note: This text field internally implies a NuiGroup wrapped // around it, which is providing the optional border and scrollbars. -json // Element -NuiText( - json jValue, // Bind:String - int bBorder = TRUE, // Bool - int nScroll = NUI_SCROLLBARS_AUTO // Int:NUI_SCROLLBARS_* -); +// - jValue: Bind:String +// - bBorder: Bool +// - nScroll: Int:NUI_SCROLLBARS_* +json NuiText(json jValue, int bBorder = TRUE, int nScroll = NUI_SCROLLBARS_AUTO); // A clickable button with text as the label. // Sends "click" events on click. -json // Element -NuiButton( - json jLabel // Bind:String -); +// - jLabel: Bind:String +json NuiButton(json jLabel); // A clickable button with an image as the label. // Sends "click" events on click. -json // Element -NuiButtonImage( - json jResRef // Bind:ResRef -); +// - jResRef: Bind:String +json NuiButtonImage(json jResRef); // A clickable button with text as the label. // Same as the normal button, but this one is a toggle. // Sends "click" events on click. -json // Element -NuiButtonSelect( - json jLabel, // Bind:String - json jValue // Bind:Bool -); +// - jLabel: Bind:String +// - jValue: Bind:Bool +json NuiButtonSelect(json jLabel, json jValue); // A checkbox with a label to the right of it. -json // Element -NuiCheck( - json jLabel, // Bind:String - json jBool // Bind:Bool -); +// - jLabel: Bind:String +// - jBool: Bind:Bool +json NuiCheck(json jLabel, json jBool); // A image, with no border or padding. -json // Element -NuiImage( - json jResRef, // Bind:ResRef - json jAspect, // Bind:Int:NUI_ASPECT_* - json jHAlign, // Bind:Int:NUI_HALIGN_* - json jVAlign // Bind:Int:NUI_VALIGN_* -); +// - jResRef: Bind:String +// - jAspect: Bind:Int:NUI_ASPECT_* +// - jHAlign: Bind:Int:NUI_HALIGN_* +// - jVAlign: Bind:Int:NUI_VALIGN_* +json NuiImage(json jResRef, json jAspect, json jHAlign, json jVAlign); -// Optionally render only subregion of jImage. +// Optionally render only subregion of jImage. This property can be set on +// NuiImage and NuiButtonImage widgets. // jRegion is a NuiRect (x, y, w, h) to indicate the render region inside the image. -json // NuiImage -NuiImageRegion( - json jImage, // NuiImage - json jRegion // Bind:NuiRect -); +json NuiImageRegion(json jImage, json jRegion); // A combobox/dropdown. -json // Element -NuiCombo( - json jElements, // Bind:ComboEntry[] - json jSelected // Bind:Int (index into jElements) -); +// - jElements: Bind:ComboEntry[] +// - jSelected: Bind:Int (index into jElements) +json NuiCombo(json jElements, json jSelected); -json // ComboEntry -NuiComboEntry( - string sLabel, - int nValue -); +json NuiComboEntry(string sLabel, int nValue); // A floating-point slider. A good step size for normal-sized sliders is 0.01. -json // Element -NuiSliderFloat( - json jValue, // Bind:Float - json jMin, // Bind:Float - json jMax, // Bind:Float - json jStepSize // Bind:Float -); +// - jValue: Bind:Float +// - jMin: Bind:Float +// - jMax: Bind:Float +// - jStepSize: Bind:Float +json NuiSliderFloat(json jValue, json jMin, json jMax, json jStepSize); // A integer/discrete slider. -json // Element -NuiSlider( - json jValue, // Bind:Int - json jMin, // Bind:Int - json jMax, // Bind:Int - json jStepSize // Bind:Int -); +// - jValue: Bind:Int +// - jMin: Bind:Int +// - jMax: Bind:Int +// - jStepSize: Bind:Int +json NuiSlider(json jValue, json jMin, json jMax, json jStepSize); // A progress bar. Progress is always from 0.0 to 1.0. -json // Element -NuiProgress( - json jValue // Bind:Float (0.0->1.0) -); +// - jValue: Bind:Float (0.0->1.0 +json NuiProgress(json jValue); // A editable text field. -json // Element -NuiTextEdit( - json jPlaceholder, // Bind:String - json jValue, // Bind:String - int nMaxLength, // UInt >= 1, <= 65535 - int bMultiline, // Bool - int bWordWrap = TRUE // Bool -); +// - jPlaceholder: Bind:String +// - jValue: Bind:String +// - nMaxLength: UInt >= 1, <= 65535 +// - bMultiLine: Bool +// - bWordWrap: Bool +json NuiTextEdit(json jPlaceholder, json jValue, int nMaxLength, int bMultiline, int bWordWrap = TRUE); // Creates a list view of elements. // jTemplate needs to be an array of NuiListTemplateCell instances. @@ -339,67 +309,52 @@ NuiTextEdit( // e.g. when rendering a NuiLabel(), the bound label String should be an array of strings. // You can pass in one of the template jRowCount into jSize as a convenience. The array // size will be uses as the Int bind. -// jRowHeight defines the height of the rendered rows. -json // Element -NuiList( - json jTemplate, // NuiListTemplateCell[] (max: 16) - json jRowCount, // Bind:Int - float fRowHeight = NUI_STYLE_ROW_HEIGHT, - int bBorder = TRUE, - int nScroll = NUI_SCROLLBARS_Y // Note: Cannot be AUTO. -); +// fRowHeight defines the height of the rendered rows. +// - jTemplate: NuiListTemplateCell[] (max: 16) +// - jRowCount: Bind:Int +// - bBorder: Bool +// - nScroll: Int:NUI_SCROLLBARS_*, Note: Cannot be AUTO +json NuiList(json jTemplate, json jRowCount, float fRowHeight = NUI_STYLE_ROW_HEIGHT, int bBorder = TRUE, int nScroll = NUI_SCROLLBARS_Y); -json // NuiListTemplateCell -NuiListTemplateCell( - json jElem, // Element - float fWidth, // Float:0 = auto, >1 = pixel width - int bVariable // Bool:Cell can grow if space is available; otherwise static -); +// - jElem: Element +// - fWidth: Float:0 = auto, >1 = pixel width +// - bVariable: Bool:Cell can grow if space is available; otherwise static +json NuiListTemplateCell(json jElem, float fWidth, int bVariable); // A simple color picker, with no border or spacing. -json // Element -NuiColorPicker( - json jColor // Bind:Color -); +// - jColor: Bind:Color +json NuiColorPicker(json jColor); // A list of options (radio buttons). Only one can be selected // at a time. jValue is updated every time a different element is // selected. The special value -1 means "nothing". -json // Element -NuiOptions( - int nDirection, // NUI_DIRECTION_* - json jElements, // JsonArray of string labels - json jValue // Bind:Int -); +// - nDirection: NUI_DIRECTION_* +// - jElements: JsonArray of string labels +// - jValue: Bind:UInt +json NuiOptions(int nDirection, json jElements, json jValue); -// A group of buttons. Only one can be selected at a time. jValue -// is updated every time a different button is selected. The special +// A group of buttons. Only one can be selected at a time. jValue +// is updated every time a different button is selected. The special // value -1 means "nothing". -json // Element -NuiToggles( - int nDirection, // NUI_DIRECTION_* - json jElements, // JsonArray of string labels - json jValue // Bind:Int -); +// - nDirection: NUI_DIRECTION_* +// - jElements: JsonArray of string labels +// - jValue: Bind:Int +json NuiToggles(int nDirection, json jElements, json jValue); const int NUI_CHART_TYPE_LINES = 0; const int NUI_CHART_TYPE_COLUMN = 1; -json // NuiChartSlot -NuiChartSlot( - int nType, // Int:NUI_CHART_TYPE_* - json jLegend, // Bind:String - json jColor, // Bind:NuiColor - json jData // Bind:Float[] -); +// - nType: Int:NUI_CHART_TYPE_* +// - jLegend: Bind:String +// - jColor: Bind:NuiColor +// - jData: Bind:Float[] +json NuiChartSlot(int nType, json jLegend, json jColor, json jData); // Renders a chart. // Currently, min and max values are determined automatically and // cannot be influenced. -json // Element -NuiChart( - json jSlots // NuiChartSlot[] -); +// - jSlots: NuiChartSlot[] +json NuiChart( json jSlots); // ----------------------- // Draw Lists @@ -417,6 +372,7 @@ const int NUI_DRAW_LIST_ITEM_TYPE_ARC = 3; const int NUI_DRAW_LIST_ITEM_TYPE_TEXT = 4; const int NUI_DRAW_LIST_ITEM_TYPE_IMAGE = 5; const int NUI_DRAW_LIST_ITEM_TYPE_LINE = 6; +const int NUI_DRAW_LIST_ITEM_TYPE_RECT = 7; // You can order draw list items to be painted either before, or after the // builtin render of the widget in question. This enables you to paint "behind" @@ -438,100 +394,100 @@ const int NUI_DRAW_LIST_ITEM_RENDER_MOUSE_RIGHT = 4; // Only render while MMB is held down. const int NUI_DRAW_LIST_ITEM_RENDER_MOUSE_MIDDLE = 5; -json // DrawListItem -NuiDrawListPolyLine( - json jEnabled, // Bind:Bool - json jColor, // Bind:Color - json jFill, // Bind:Bool - json jLineThickness, // Bind:Float - json jPoints, // Bind:Float[] Always provide points in pairs - int nOrder = NUI_DRAW_LIST_ITEM_ORDER_AFTER, // Int:NUI_DRAW_LIST_ITEM_ORDER_* - int nRender = NUI_DRAW_LIST_ITEM_RENDER_ALWAYS // Int:NUI_DRAW_LIST_ITEM_RENDER_* -); +// - jEnabled: Bind:Bool +// - jColor: Bind:Color +// - jFill: Bind:Bool +// - jLineThickness: Bind:Float +// - jPoints: Bind:Float[] Always provide points in pairs +// - nOrder: Int:NUI_DRAW_LIST_ITEM_ORDER_* +// - nRender: Int:NUI_DRAW_LIST_ITEM_RENDER_* +// - nBindArrays: Values in binds are considered arrays-of-values +json NuiDrawListPolyLine(json jEnabled, json jColor, json jFill, json jLineThickness, json jPoints, int nOrder = NUI_DRAW_LIST_ITEM_ORDER_AFTER, int nRender = NUI_DRAW_LIST_ITEM_RENDER_ALWAYS, int nBindArrays = FALSE); -json // DrawListItem -NuiDrawListCurve( - json jEnabled, // Bind:Bool - json jColor, // Bind:Color - json jLineThickness, // Bind:Float - json jA, // Bind:Vec2 - json jB, // Bind:Vec2 - json jCtrl0, // Bind:Vec2 - json jCtrl1, // Bind:Vec2 - int nOrder = NUI_DRAW_LIST_ITEM_ORDER_AFTER, // Int:NUI_DRAW_LIST_ITEM_ORDER_* - int nRender = NUI_DRAW_LIST_ITEM_RENDER_ALWAYS // Int:NUI_DRAW_LIST_ITEM_RENDER_* -); +// - jEnabled: Bind:Bool +// - jColor: Bind:Color +// - jLineThickness: Bind:Float +// - jA: Bind:Vec2 +// - jB: Bind:Vec2 +// - jCtrl0: Bind:Vec2 +// - jCtrl1: Bind:Vec2 +// - nOrder: Int:NUI_DRAW_LIST_ITEM_ORDER_* +// - nRender: Int:NUI_DRAW_LIST_ITEM_RENDER_* +// - nBindArrays: Values in binds are considered arrays-of-values +json NuiDrawListCurve(json jEnabled, json jColor, json jLineThickness, json jA, json jB, json jCtrl0, json jCtrl1, int nOrder = NUI_DRAW_LIST_ITEM_ORDER_AFTER, int nRender = NUI_DRAW_LIST_ITEM_RENDER_ALWAYS, int nBindArrays = FALSE); -json // DrawListItem -NuiDrawListCircle( - json jEnabled, // Bind:Bool - json jColor, // Bind:Color - json jFill, // Bind:Bool - json jLineThickness, // Bind:Float - json jRect, // Bind:Rect - int nOrder = NUI_DRAW_LIST_ITEM_ORDER_AFTER, // Int:NUI_DRAW_LIST_ITEM_ORDER_* - int nRender = NUI_DRAW_LIST_ITEM_RENDER_ALWAYS // Int:NUI_DRAW_LIST_ITEM_RENDER_* -); +// - jEnabled: Bind:Bool +// - jColor: Bind:Color +// - jFill: Bind:Bool +// - jLineThickness: Bind:Float +// - jRect: Bind:Rect +// - nOrder: Int:NUI_DRAW_LIST_ITEM_ORDER_* +// - nRender: Int:NUI_DRAW_LIST_ITEM_RENDER_* +// - nBindArrays: Values in binds are considered arrays-of-values +json NuiDrawListCircle(json jEnabled, json jColor, json jFill, json jLineThickness, json jRect, int nOrder = NUI_DRAW_LIST_ITEM_ORDER_AFTER, int nRender = NUI_DRAW_LIST_ITEM_RENDER_ALWAYS, int nBindArrays = FALSE); -json // DrawListItem -NuiDrawListArc( - json jEnabled, // Bind:Bool - json jColor, // Bind:Color - json jFill, // Bind:Bool - json jLineThickness, // Bind:Float - json jCenter, // Bind:Vec2 - json jRadius, // Bind:Float - json jAMin, // Bind:Float - json jAMax, // Bind:Float - int nOrder = NUI_DRAW_LIST_ITEM_ORDER_AFTER, // Int:NUI_DRAW_LIST_ITEM_ORDER_* - int nRender = NUI_DRAW_LIST_ITEM_RENDER_ALWAYS // Int:NUI_DRAW_LIST_ITEM_RENDER_* -); +// - jEnabled: Bind:Bool +// - jColor: Bind:Color +// - jFill: Bind:Bool +// - jLineThickness: Bind:Float +// - jCenter: Bind:Rect +// - jRadius: Bind:Float +// - jAMin: Bind:Float +// - jAMax: Bind:Float +// - nOrder: Int:NUI_DRAW_LIST_ITEM_ORDER_* +// - nRender: Int:NUI_DRAW_LIST_ITEM_RENDER_* +// - nBindArrays: Values in binds are considered arrays-of-values +json NuiDrawListArc(json jEnabled, json jColor, json jFill, json jLineThickness, json jCenter, json jRadius, json jAMin, json jAMax, int nOrder = NUI_DRAW_LIST_ITEM_ORDER_AFTER, int nRender = NUI_DRAW_LIST_ITEM_RENDER_ALWAYS, int nBindArrays = FALSE); -json // DrawListItem -NuiDrawListText( - json jEnabled, // Bind:Bool - json jColor, // Bind:Color - json jRect, // Bind:Rect - json jText, // Bind:String - int nOrder = NUI_DRAW_LIST_ITEM_ORDER_AFTER, // Int:NUI_DRAW_LIST_ITEM_ORDER_* - int nRender = NUI_DRAW_LIST_ITEM_RENDER_ALWAYS // Int:NUI_DRAW_LIST_ITEM_RENDER_* -); +// - jEnabled: Bind:Bool +// - jColor: Bind:Color +// - jRect: Bind:Rect +// - jText: Bind:String +// - nOrder: Int:NUI_DRAW_LIST_ITEM_ORDER_* +// - nRender: Int:NUI_DRAW_LIST_ITEM_RENDER_* +// - nBindArrays: Values in binds are considered arrays-of-values +// - jFont: Bind:String +json NuiDrawListText(json jEnabled, json jColor, json jRect, json jText, int nOrder = NUI_DRAW_LIST_ITEM_ORDER_AFTER, int nRender = NUI_DRAW_LIST_ITEM_RENDER_ALWAYS, int nBindArrays = FALSE, json jFont = JSON_STRING); -json // DrawListItem -NuiDrawListImage( - json jEnabled, // Bind:Bool - json jResRef, // Bind:ResRef - json jPos, // Bind:Rect - json jAspect, // Bind:Int:NUI_ASPECT_* - json jHAlign, // Bind:Int:NUI_HALIGN_* - json jVAlign, // Bind:Int:NUI_VALIGN_* - int nOrder = NUI_DRAW_LIST_ITEM_ORDER_AFTER, // Int:NUI_DRAW_LIST_ITEM_ORDER_* - int nRender = NUI_DRAW_LIST_ITEM_RENDER_ALWAYS // Int:NUI_DRAW_LIST_ITEM_RENDER_* -); +// - jEnabled: Bind:Bool +// - jResRef: Bind:String +// - jPos: Bind:Rect +// - jAspect: Bind:Int:NUI_ASPECT_* +// - jHAlign: Bind:Int:NUI_HALIGN_* +// - jVAlign: Bind:Int:NUI_VALIGN_* +// - nOrder: Int:NUI_DRAW_LIST_ITEM_ORDER_* +// - nRender: Int:NUI_DRAW_LIST_ITEM_RENDER_* +// - nBindArrays: Values in binds are considered arrays-of-values +json NuiDrawListImage(json jEnabled, json jResRef, json jPos, json jAspect, json jHAlign, json jVAlign, int nOrder = NUI_DRAW_LIST_ITEM_ORDER_AFTER, int nRender = NUI_DRAW_LIST_ITEM_RENDER_ALWAYS, int nBindArrays = FALSE); -json // DrawListItemImage -NuiDrawListImageRegion( - json jDrawListImage, // DrawListItemImage - json jRegion // Bind:NuiRect -); +// - jDrawListImage: DrawListItemImage +// - jRegion: Bind:NuiRect +json NuiDrawListImageRegion(json jDrawListImage, json jRegion); -json // DrawListItem -NuiDrawListLine( - json jEnabled, // Bind:Bool - json jColor, // Bind:Color - json jLineThickness, // Bind:Float - json jA, // Bind:Vec2 - json jB, // Bind:Vec2 - int nOrder = NUI_DRAW_LIST_ITEM_ORDER_AFTER, // Int:NUI_DRAW_LIST_ITEM_ORDER_* - int nRender = NUI_DRAW_LIST_ITEM_RENDER_ALWAYS // Int:NUI_DRAW_LIST_ITEM_RENDER_* -); +// - jEnabled: Bind:Bool +// - jColor: Bind:Color +// - jLineThickness: Bind:Float +// - jA: Bind:Vec2 +// - jB: Bind:Vec2 +// - nOrder: Int:NUI_DRAW_LIST_ITEM_ORDER_* +// - nRender: Int:NUI_DRAW_LIST_ITEM_RENDER_* +// - nBindArrays: Values in binds are considered arrays-of-values +json NuiDrawListLine(json jEnabled, json jColor, json jLineThickness, json jA, json jB, int nOrder = NUI_DRAW_LIST_ITEM_ORDER_AFTER, int nRender = NUI_DRAW_LIST_ITEM_RENDER_ALWAYS, int nBindArrays = FALSE); -json // Element -NuiDrawList( - json jElem, // Element - json jScissor, // Bind:Bool Constrain painted elements to widget bounds. - json jList // DrawListItem[] -); +// - jEnabled: Bind:Bool +// - jColor: Bind:Color +// - jFill: Bind:Bool +// - jLineThickness: Bind:Float +// - jRext: Bind:Rect +// - nOrder: Int:NUI_DRAW_LIST_ITEM_ORDER_* +// - nRender: Int:NUI_DRAW_LIST_ITEM_RENDER_* +// - nBindArrays: Values in binds are considered arrays-of-values +json NuiDrawListRect(json jEnabled, json jColor, json jFill, json jLineThickness, json jRect, int nOrder = NUI_DRAW_LIST_ITEM_ORDER_AFTER, int nRender = NUI_DRAW_LIST_ITEM_RENDER_ALWAYS, int nBindArrays = FALSE); + +// - jElem: Element +// - jScissor: Bind:Bool, Constrain painted elements to widget bounds. +// - jList: DrawListItem[] +json NuiDrawList(json jElem, json jScissor, json jList); // ----------------------- // Implementation @@ -546,21 +502,27 @@ NuiWindow( json jClosable, json jTransparent, json jBorder, - json jAcceptsInput + json jAcceptsInput = JSON_TRUE, + json jWindowConstraint = JSON_NULL, + json jEdgeConstraint = JSON_NULL, + json jFont = JSON_STRING ) { json ret = JsonObject(); // Currently hardcoded and here to catch backwards-incompatible data in the future. - ret = JsonObjectSet(ret, "version", JsonInt(1)); - ret = JsonObjectSet(ret, "title", jTitle); - ret = JsonObjectSet(ret, "root", jRoot); - ret = JsonObjectSet(ret, "geometry", jGeometry); - ret = JsonObjectSet(ret, "resizable", jResizable); - ret = JsonObjectSet(ret, "collapsed", jCollapsed); - ret = JsonObjectSet(ret, "closable", jClosable); - ret = JsonObjectSet(ret, "transparent", jTransparent); - ret = JsonObjectSet(ret, "border", jBorder); - ret = JsonObjectSet(ret, "accepts_input", jAcceptsInput); + JsonObjectSetInplace(ret, "version", JsonInt(1)); + JsonObjectSetInplace(ret, "title", jTitle); + JsonObjectSetInplace(ret, "root", jRoot); + JsonObjectSetInplace(ret, "geometry", jGeometry); + JsonObjectSetInplace(ret, "resizable", jResizable); + JsonObjectSetInplace(ret, "collapsed", jCollapsed); + JsonObjectSetInplace(ret, "closable", jClosable); + JsonObjectSetInplace(ret, "transparent", jTransparent); + JsonObjectSetInplace(ret, "border", jBorder); + JsonObjectSetInplace(ret, "accepts_input", jAcceptsInput); + JsonObjectSetInplace(ret, "size_constraint", jWindowConstraint); + JsonObjectSetInplace(ret, "edge_constraint", jEdgeConstraint); + JsonObjectSetInplace(ret, "font", jFont); return ret; } @@ -572,18 +534,26 @@ NuiElement( ) { json ret = JsonObject(); - ret = JsonObjectSet(ret, "type", JsonString(sType)); - ret = JsonObjectSet(ret, "label", jLabel); - ret = JsonObjectSet(ret, "value", jValue); + JsonObjectSetInplace(ret, "type", JsonString(sType)); + JsonObjectSetInplace(ret, "label", jLabel); + JsonObjectSetInplace(ret, "value", jValue); return ret; } json NuiBind( - string sId + string sId, + int nNumberFlags = 0, + int nNumberPrecision = 0, + int nTextFlags = 0 ) { - return JsonObjectSet(JsonObject(), "bind", JsonString(sId)); + json ret = JsonObject(); + JsonObjectSetInplace(ret, "bind", JsonString(sId)); + JsonObjectSetInplace(ret, "number_flags", JsonInt(nNumberFlags)); + JsonObjectSetInplace(ret, "number_precision", JsonInt(nNumberPrecision)); + JsonObjectSetInplace(ret, "text_flags", JsonInt(nTextFlags)); + return ret; } json @@ -601,7 +571,7 @@ NuiStrRef( ) { json ret = JsonObject(); - ret = JsonObjectSet(ret, "strref", JsonInt(nStrRef)); + JsonObjectSetInplace(ret, "strref", JsonInt(nStrRef)); return ret; } @@ -629,9 +599,9 @@ NuiGroup( ) { json ret = NuiElement("group", JsonNull(), JsonNull()); - ret = JsonObjectSet(ret, "children", JsonArrayInsert(JsonArray(), jChild)); - ret = JsonObjectSet(ret, "border", JsonBool(bBorder)); - ret = JsonObjectSet(ret, "scrollbars", JsonInt(nScroll)); + JsonObjectSetInplace(ret, "children", JsonArrayInsert(JsonArray(), jChild)); + JsonObjectSetInplace(ret, "border", JsonBool(bBorder)); + JsonObjectSetInplace(ret, "scrollbars", JsonInt(nScroll)); return ret; } @@ -720,8 +690,8 @@ json NuiVec(float x, float y) { json ret = JsonObject(); - ret = JsonObjectSet(ret, "x", JsonFloat(x)); - ret = JsonObjectSet(ret, "y", JsonFloat(y)); + JsonObjectSetInplace(ret, "x", JsonFloat(x)); + JsonObjectSetInplace(ret, "y", JsonFloat(y)); return ret; } @@ -729,10 +699,10 @@ json NuiRect(float x, float y, float w, float h) { json ret = JsonObject(); - ret = JsonObjectSet(ret, "x", JsonFloat(x)); - ret = JsonObjectSet(ret, "y", JsonFloat(y)); - ret = JsonObjectSet(ret, "w", JsonFloat(w)); - ret = JsonObjectSet(ret, "h", JsonFloat(h)); + JsonObjectSetInplace(ret, "x", JsonFloat(x)); + JsonObjectSetInplace(ret, "y", JsonFloat(y)); + JsonObjectSetInplace(ret, "w", JsonFloat(w)); + JsonObjectSetInplace(ret, "h", JsonFloat(h)); return ret; } @@ -740,10 +710,10 @@ json NuiColor(int r, int g, int b, int a = 255) { json ret = JsonObject(); - ret = JsonObjectSet(ret, "r", JsonInt(r)); - ret = JsonObjectSet(ret, "g", JsonInt(g)); - ret = JsonObjectSet(ret, "b", JsonInt(b)); - ret = JsonObjectSet(ret, "a", JsonInt(a)); + JsonObjectSetInplace(ret, "r", JsonInt(r)); + JsonObjectSetInplace(ret, "g", JsonInt(g)); + JsonObjectSetInplace(ret, "b", JsonInt(b)); + JsonObjectSetInplace(ret, "a", JsonInt(a)); return ret; } @@ -756,6 +726,15 @@ NuiStyleForegroundColor( return JsonObjectSet(jElem, "foreground_color", jColor); } +json +NuiStyleFont( + json jElem, + json jFont +) +{ + return JsonObjectSet(jElem, "font", jFont); +} + json NuiSpacer() { @@ -770,8 +749,8 @@ NuiLabel( ) { json ret = NuiElement("label", JsonNull(), jValue); - ret = JsonObjectSet(ret, "text_halign", jHAlign); - ret = JsonObjectSet(ret, "text_valign", jVAlign); + JsonObjectSetInplace(ret, "text_halign", jHAlign); + JsonObjectSetInplace(ret, "text_valign", jVAlign); return ret; } @@ -783,8 +762,8 @@ NuiText( ) { json ret = NuiElement("text", JsonNull(), jValue); - ret = JsonObjectSet(ret, "border", JsonBool(bBorder)); - ret = JsonObjectSet(ret, "scrollbars", JsonInt(nScroll)); + JsonObjectSetInplace(ret, "border", JsonBool(bBorder)); + JsonObjectSetInplace(ret, "scrollbars", JsonInt(nScroll)); return ret; } @@ -831,9 +810,9 @@ NuiImage( ) { json img = NuiElement("image", JsonNull(), jResRef); - img = JsonObjectSet(img, "image_aspect", jAspect); - img = JsonObjectSet(img, "image_halign", jHAlign); - img = JsonObjectSet(img, "image_valign", jVAlign); + JsonObjectSetInplace(img, "image_aspect", jAspect); + JsonObjectSetInplace(img, "image_halign", jHAlign); + JsonObjectSetInplace(img, "image_valign", jVAlign); return img; } @@ -873,9 +852,9 @@ NuiSliderFloat( ) { json ret = NuiElement("sliderf", JsonNull(), jValue); - ret = JsonObjectSet(ret, "min", jMin); - ret = JsonObjectSet(ret, "max", jMax); - ret = JsonObjectSet(ret, "step", jStepSize); + JsonObjectSetInplace(ret, "min", jMin); + JsonObjectSetInplace(ret, "max", jMax); + JsonObjectSetInplace(ret, "step", jStepSize); return ret; } @@ -888,9 +867,9 @@ NuiSlider( ) { json ret = NuiElement("slider", JsonNull(), jValue); - ret = JsonObjectSet(ret, "min", jMin); - ret = JsonObjectSet(ret, "max", jMax); - ret = JsonObjectSet(ret, "step", jStepSize); + JsonObjectSetInplace(ret, "min", jMin); + JsonObjectSetInplace(ret, "max", jMax); + JsonObjectSetInplace(ret, "step", jStepSize); return ret; } @@ -912,9 +891,9 @@ NuiTextEdit( ) { json ret = NuiElement("textedit", jPlaceholder, jValue); - ret = JsonObjectSet(ret, "max", JsonInt(nMaxLength)); - ret = JsonObjectSet(ret, "multiline", JsonBool(bMultiline)); - ret = JsonObjectSet(ret, "wordwrap", JsonBool(bWordWrap)); + JsonObjectSetInplace(ret, "max", JsonInt(nMaxLength)); + JsonObjectSetInplace(ret, "multiline", JsonBool(bMultiline)); + JsonObjectSetInplace(ret, "wordwrap", JsonBool(bWordWrap)); return ret; } @@ -928,11 +907,11 @@ NuiList( ) { json ret = NuiElement("list", JsonNull(), JsonNull()); - ret = JsonObjectSet(ret, "row_template", jTemplate); - ret = JsonObjectSet(ret, "row_count", jRowCount); - ret = JsonObjectSet(ret, "row_height", JsonFloat(fRowHeight)); - ret = JsonObjectSet(ret, "border", JsonBool(bBorder)); - ret = JsonObjectSet(ret, "scrollbars", JsonInt(nScroll)); + JsonObjectSetInplace(ret, "row_template", jTemplate); + JsonObjectSetInplace(ret, "row_count", jRowCount); + JsonObjectSetInplace(ret, "row_height", JsonFloat(fRowHeight)); + JsonObjectSetInplace(ret, "border", JsonBool(bBorder)); + JsonObjectSetInplace(ret, "scrollbars", JsonInt(nScroll)); return ret; } @@ -944,9 +923,9 @@ NuiListTemplateCell( ) { json ret = JsonArray(); - ret = JsonArrayInsert(ret, jElem); - ret = JsonArrayInsert(ret, JsonFloat(fWidth)); - ret = JsonArrayInsert(ret, JsonBool(bVariable)); + JsonArrayInsertInplace(ret, jElem); + JsonArrayInsertInplace(ret, JsonFloat(fWidth)); + JsonArrayInsertInplace(ret, JsonBool(bVariable)); return ret; } @@ -967,8 +946,8 @@ NuiOptions( ) { json ret = NuiElement("options", JsonNull(), jValue); - ret = JsonObjectSet(ret, "direction", JsonInt(nDirection)); - ret = JsonObjectSet(ret, "elements", jElements); + JsonObjectSetInplace(ret, "direction", JsonInt(nDirection)); + JsonObjectSetInplace(ret, "elements", jElements); return ret; } @@ -980,8 +959,8 @@ NuiToggles( ) { json ret = NuiElement("tabbar", JsonNull(), jValue); - ret = JsonObjectSet(ret, "direction", JsonInt(nDirection)); - ret = JsonObjectSet(ret, "elements", jElements); + JsonObjectSetInplace(ret, "direction", JsonInt(nDirection)); + JsonObjectSetInplace(ret, "elements", jElements); return ret; } @@ -994,10 +973,10 @@ NuiChartSlot( ) { json ret = JsonObject(); - ret = JsonObjectSet(ret, "type", JsonInt(nType)); - ret = JsonObjectSet(ret, "legend", jLegend); - ret = JsonObjectSet(ret, "color", jColor); - ret = JsonObjectSet(ret, "data", jData); + JsonObjectSetInplace(ret, "type", JsonInt(nType)); + JsonObjectSetInplace(ret, "legend", jLegend); + JsonObjectSetInplace(ret, "color", jColor); + JsonObjectSetInplace(ret, "data", jData); return ret; } @@ -1018,17 +997,19 @@ NuiDrawListItem( json jFill, json jLineThickness, int nOrder = NUI_DRAW_LIST_ITEM_ORDER_AFTER, - int nRender = NUI_DRAW_LIST_ITEM_RENDER_ALWAYS + int nRender = NUI_DRAW_LIST_ITEM_RENDER_ALWAYS, + int nBindArrays = FALSE ) { json ret = JsonObject(); - ret = JsonObjectSet(ret, "type", JsonInt(nType)); - ret = JsonObjectSet(ret, "enabled", jEnabled); - ret = JsonObjectSet(ret, "color", jColor); - ret = JsonObjectSet(ret, "fill", jFill); - ret = JsonObjectSet(ret, "line_thickness", jLineThickness); - ret = JsonObjectSet(ret, "order", JsonInt(nOrder)); - ret = JsonObjectSet(ret, "render", JsonInt(nRender)); + JsonObjectSetInplace(ret, "type", JsonInt(nType)); + JsonObjectSetInplace(ret, "enabled", jEnabled); + JsonObjectSetInplace(ret, "color", jColor); + JsonObjectSetInplace(ret, "fill", jFill); + JsonObjectSetInplace(ret, "line_thickness", jLineThickness); + JsonObjectSetInplace(ret, "order", JsonInt(nOrder)); + JsonObjectSetInplace(ret, "render", JsonInt(nRender)); + JsonObjectSetInplace(ret, "arrayBinds", JsonBool(nBindArrays)); return ret; } @@ -1040,11 +1021,12 @@ NuiDrawListPolyLine( json jLineThickness, json jPoints, int nOrder = NUI_DRAW_LIST_ITEM_ORDER_AFTER, - int nRender = NUI_DRAW_LIST_ITEM_RENDER_ALWAYS + int nRender = NUI_DRAW_LIST_ITEM_RENDER_ALWAYS, + int nBindArrays = FALSE ) { - json ret = NuiDrawListItem(NUI_DRAW_LIST_ITEM_TYPE_POLYLINE, jEnabled, jColor, jFill, jLineThickness, nOrder, nRender); - ret = JsonObjectSet(ret, "points", jPoints); + json ret = NuiDrawListItem(NUI_DRAW_LIST_ITEM_TYPE_POLYLINE, jEnabled, jColor, jFill, jLineThickness, nOrder, nRender, nBindArrays); + JsonObjectSetInplace(ret, "points", jPoints); return ret; } @@ -1058,14 +1040,15 @@ NuiDrawListCurve( json jCtrl0, json jCtrl1, int nOrder = NUI_DRAW_LIST_ITEM_ORDER_AFTER, - int nRender = NUI_DRAW_LIST_ITEM_RENDER_ALWAYS + int nRender = NUI_DRAW_LIST_ITEM_RENDER_ALWAYS, + int nBindArrays = FALSE ) { - json ret = NuiDrawListItem(NUI_DRAW_LIST_ITEM_TYPE_CURVE, jEnabled, jColor, JsonBool(0), jLineThickness, nOrder, nRender); - ret = JsonObjectSet(ret, "a", jA); - ret = JsonObjectSet(ret, "b", jB); - ret = JsonObjectSet(ret, "ctrl0", jCtrl0); - ret = JsonObjectSet(ret, "ctrl1", jCtrl1); + json ret = NuiDrawListItem(NUI_DRAW_LIST_ITEM_TYPE_CURVE, jEnabled, jColor, JsonBool(0), jLineThickness, nOrder, nRender, nBindArrays); + JsonObjectSetInplace(ret, "a", jA); + JsonObjectSetInplace(ret, "b", jB); + JsonObjectSetInplace(ret, "ctrl0", jCtrl0); + JsonObjectSetInplace(ret, "ctrl1", jCtrl1); return ret; } @@ -1077,11 +1060,12 @@ NuiDrawListCircle( json jLineThickness, json jRect, int nOrder = NUI_DRAW_LIST_ITEM_ORDER_AFTER, - int nRender = NUI_DRAW_LIST_ITEM_RENDER_ALWAYS + int nRender = NUI_DRAW_LIST_ITEM_RENDER_ALWAYS, + int nBindArrays = FALSE ) { - json ret = NuiDrawListItem(NUI_DRAW_LIST_ITEM_TYPE_CIRCLE, jEnabled, jColor, jFill, jLineThickness, nOrder, nRender); - ret = JsonObjectSet(ret, "rect", jRect); + json ret = NuiDrawListItem(NUI_DRAW_LIST_ITEM_TYPE_CIRCLE, jEnabled, jColor, jFill, jLineThickness, nOrder, nRender, nBindArrays); + JsonObjectSetInplace(ret, "rect", jRect); return ret; } @@ -1096,14 +1080,15 @@ NuiDrawListArc( json jAMin, json jAMax, int nOrder = NUI_DRAW_LIST_ITEM_ORDER_AFTER, - int nRender = NUI_DRAW_LIST_ITEM_RENDER_ALWAYS + int nRender = NUI_DRAW_LIST_ITEM_RENDER_ALWAYS, + int nBindArrays = FALSE ) { - json ret = NuiDrawListItem(NUI_DRAW_LIST_ITEM_TYPE_ARC, jEnabled, jColor, jFill, jLineThickness, nOrder, nRender); - ret = JsonObjectSet(ret, "c", jCenter); - ret = JsonObjectSet(ret, "radius", jRadius); - ret = JsonObjectSet(ret, "amin", jAMin); - ret = JsonObjectSet(ret, "amax", jAMax); + json ret = NuiDrawListItem(NUI_DRAW_LIST_ITEM_TYPE_ARC, jEnabled, jColor, jFill, jLineThickness, nOrder, nRender, nBindArrays); + JsonObjectSetInplace(ret, "c", jCenter); + JsonObjectSetInplace(ret, "radius", jRadius); + JsonObjectSetInplace(ret, "amin", jAMin); + JsonObjectSetInplace(ret, "amax", jAMax); return ret; } @@ -1114,12 +1099,15 @@ NuiDrawListText( json jRect, json jText, int nOrder = NUI_DRAW_LIST_ITEM_ORDER_AFTER, - int nRender = NUI_DRAW_LIST_ITEM_RENDER_ALWAYS + int nRender = NUI_DRAW_LIST_ITEM_RENDER_ALWAYS, + int nBindArrays = FALSE, + json jFont = JSON_STRING ) { - json ret = NuiDrawListItem(NUI_DRAW_LIST_ITEM_TYPE_TEXT, jEnabled, jColor, JsonNull(), JsonNull(), nOrder, nRender); - ret = JsonObjectSet(ret, "rect", jRect); - ret = JsonObjectSet(ret, "text", jText); + json ret = NuiDrawListItem(NUI_DRAW_LIST_ITEM_TYPE_TEXT, jEnabled, jColor, JsonNull(), JsonNull(), nOrder, nRender, nBindArrays); + JsonObjectSetInplace(ret, "rect", jRect); + JsonObjectSetInplace(ret, "text", jText); + ret = NuiStyleFont(ret, jFont); return ret; } @@ -1132,15 +1120,16 @@ NuiDrawListImage( json jHAlign, json jVAlign, int nOrder = NUI_DRAW_LIST_ITEM_ORDER_AFTER, - int nRender = NUI_DRAW_LIST_ITEM_RENDER_ALWAYS + int nRender = NUI_DRAW_LIST_ITEM_RENDER_ALWAYS, + int nBindArrays = FALSE ) { - json ret = NuiDrawListItem(NUI_DRAW_LIST_ITEM_TYPE_IMAGE, jEnabled, JsonNull(), JsonNull(), JsonNull(), nOrder, nRender); - ret = JsonObjectSet(ret, "image", jResRef); - ret = JsonObjectSet(ret, "rect", jRect); - ret = JsonObjectSet(ret, "image_aspect", jAspect); - ret = JsonObjectSet(ret, "image_halign", jHAlign); - ret = JsonObjectSet(ret, "image_valign", jVAlign); + json ret = NuiDrawListItem(NUI_DRAW_LIST_ITEM_TYPE_IMAGE, jEnabled, JsonNull(), JsonNull(), JsonNull(), nOrder, nRender, nBindArrays); + JsonObjectSetInplace(ret, "image", jResRef); + JsonObjectSetInplace(ret, "rect", jRect); + JsonObjectSetInplace(ret, "image_aspect", jAspect); + JsonObjectSetInplace(ret, "image_halign", jHAlign); + JsonObjectSetInplace(ret, "image_valign", jVAlign); return ret; } @@ -1161,12 +1150,30 @@ NuiDrawListLine( json jA, json jB, int nOrder = NUI_DRAW_LIST_ITEM_ORDER_AFTER, - int nRender = NUI_DRAW_LIST_ITEM_RENDER_ALWAYS + int nRender = NUI_DRAW_LIST_ITEM_RENDER_ALWAYS, + int nBindArrays = FALSE ) { - json ret = NuiDrawListItem(NUI_DRAW_LIST_ITEM_TYPE_LINE, jEnabled, jColor, JsonNull(), jLineThickness, nOrder, nRender); - ret = JsonObjectSet(ret, "a", jA); - ret = JsonObjectSet(ret, "b", jB); + json ret = NuiDrawListItem(NUI_DRAW_LIST_ITEM_TYPE_LINE, jEnabled, jColor, JsonNull(), jLineThickness, nOrder, nRender, nBindArrays); + JsonObjectSetInplace(ret, "a", jA); + JsonObjectSetInplace(ret, "b", jB); + return ret; +} + +json +NuiDrawListRect( + json jEnabled, + json jColor, + json jFill, + json jLineThickness, + json jRect, + int nOrder = NUI_DRAW_LIST_ITEM_ORDER_AFTER, + int nRender = NUI_DRAW_LIST_ITEM_RENDER_ALWAYS, + int nBindArrays = FALSE +) +{ + json ret = NuiDrawListItem(NUI_DRAW_LIST_ITEM_TYPE_RECT, jEnabled, jColor, jFill, jLineThickness, nOrder, nRender, nBindArrays); + JsonObjectSetInplace(ret, "rect", jRect); return ret; } @@ -1178,7 +1185,7 @@ NuiDrawList( ) { json ret = JsonObjectSet(jElem, "draw_list", jList); - ret = JsonObjectSet(ret, "draw_list_scissor", jScissor); + JsonObjectSetInplace(ret, "draw_list_scissor", jScissor); return ret; } @@ -1190,4 +1197,3 @@ NuiDrawList( // json ret = NuiElement("canvas", JsonNull(), jList); // return ret; // } - diff --git a/nwn/nwnprc/trunk/include/prc_inc_combat.nss b/nwn/nwnprc/trunk/include/prc_inc_combat.nss index 3cdbab51..df4a5b74 100644 --- a/nwn/nwnprc/trunk/include/prc_inc_combat.nss +++ b/nwn/nwnprc/trunk/include/prc_inc_combat.nss @@ -1206,6 +1206,7 @@ int GetIsDoubleSidedWeaponType(int iWeaponType) return ( iWeaponType == BASE_ITEM_DIREMACE || iWeaponType == BASE_ITEM_DOUBLEAXE || iWeaponType == BASE_ITEM_TWOBLADEDSWORD + || iWeaponType == BASE_ITEM_DOUBLE_SCIMITAR ); } diff --git a/nwn/nwnprc/trunk/include/prc_inc_skills.nss b/nwn/nwnprc/trunk/include/prc_inc_skills.nss index f1311ed5..06746048 100644 --- a/nwn/nwnprc/trunk/include/prc_inc_skills.nss +++ b/nwn/nwnprc/trunk/include/prc_inc_skills.nss @@ -115,11 +115,11 @@ int PerformJump(object oPC, location lLoc, int bDoKnockDown = TRUE) iBonus = 4; } } - /*if (GetHasSpellEffect(MOVE_TC_LEAPING_DRAGON, oPC)) + if (GetHasSpellEffect(MOVE_TC_LEAPING_DRAGON, oPC)) { bIsRunningJump = TRUE; - iBonus = 10; - } */ + //iBonus = 10; //:: This is granted in the stance. + } // PnP rules are height * 6 for run and height * 2 for jump. // I can't get height so that is assumed to be 6. // Changed maxed jump distance because the NwN distance is rather short diff --git a/nwn/nwnprc/trunk/include/prc_inc_wpnrest.nss b/nwn/nwnprc/trunk/include/prc_inc_wpnrest.nss index c101e784..9dcf65a8 100644 --- a/nwn/nwnprc/trunk/include/prc_inc_wpnrest.nss +++ b/nwn/nwnprc/trunk/include/prc_inc_wpnrest.nss @@ -40,13 +40,31 @@ int IsProficient(object oPC, int nBaseItem) case BASE_ITEM_CLUB: return GetHasFeat(FEAT_WEAPON_PROFICIENCY_SIMPLE, oPC) - || GetHasFeat(FEAT_WEAPON_PROFICIENCY_DRUID, oPC) - || GetHasFeat(FEAT_WEAPON_PROFICIENCY_CLUB, oPC); + || GetHasFeat(FEAT_WEAPON_PROFICIENCY_DRUID, oPC) + || GetHasFeat(FEAT_WEAPON_PROFICIENCY_WIZARD, oPC) + || GetHasFeat(FEAT_WEAPON_PROFICIENCY_ROGUE, oPC) + || GetHasFeat(FEAT_WEAPON_PROFICIENCY_CLUB, oPC); + + case BASE_ITEM_HEAVYCROSSBOW: + return GetHasFeat(FEAT_WEAPON_PROFICIENCY_SIMPLE, oPC) + || GetHasFeat(FEAT_WEAPON_PROFICIENCY_DRUID, oPC) + || GetHasFeat(FEAT_WEAPON_PROFICIENCY_WIZARD, oPC) + || GetHasFeat(FEAT_WEAPON_PROFICIENCY_ROGUE, oPC) + || GetHasFeat(FEAT_WEAPON_PROFICIENCY_HEAVY_XBOW, oPC); + + case BASE_ITEM_LIGHTCROSSBOW: + return GetHasFeat(FEAT_WEAPON_PROFICIENCY_SIMPLE, oPC) + || GetHasFeat(FEAT_WEAPON_PROFICIENCY_DRUID, oPC) + || GetHasFeat(FEAT_WEAPON_PROFICIENCY_WIZARD, oPC) + || GetHasFeat(FEAT_WEAPON_PROFICIENCY_ROGUE, oPC) + || GetHasFeat(FEAT_WEAPON_PROFICIENCY_LIGHT_XBOW, oPC); case BASE_ITEM_DAGGER: return GetHasFeat(FEAT_WEAPON_PROFICIENCY_SIMPLE, oPC) - || GetHasFeat(FEAT_WEAPON_PROFICIENCY_DRUID, oPC) - || GetHasFeat(FEAT_WEAPON_PROFICIENCY_DAGGER, oPC); + || GetHasFeat(FEAT_WEAPON_PROFICIENCY_DRUID, oPC) + || GetHasFeat(FEAT_WEAPON_PROFICIENCY_WIZARD, oPC) + || GetHasFeat(FEAT_WEAPON_PROFICIENCY_ROGUE, oPC) + || GetHasFeat(FEAT_WEAPON_PROFICIENCY_DAGGER, oPC); case BASE_ITEM_LONGSWORD: return GetHasFeat(FEAT_WEAPON_PROFICIENCY_MARTIAL, oPC) @@ -152,12 +170,14 @@ int IsProficient(object oPC, int nBaseItem) || GetHasFeat(FEAT_WEAPON_PROFICIENCY_ROGUE, oPC); case BASE_ITEM_QUARTERSTAFF: - return GetHasFeat(FEAT_WEAPON_PROFICIENCY_SIMPLE, oPC) + return GetHasFeat(FEAT_WEAPON_PROFICIENCY_QUARTERSTAFF, oPC) + ||GetHasFeat(FEAT_WEAPON_PROFICIENCY_SIMPLE, oPC) || GetHasFeat(FEAT_WEAPON_PROFICIENCY_DRUID, oPC) - || GetHasFeat(FEAT_WEAPON_PROFICIENCY_WIZARD, oPC); + || GetHasFeat(FEAT_WEAPON_PROFICIENCY_WIZARD, oPC); case BASE_ITEM_MAGICSTAFF: - return GetHasFeat(FEAT_WEAPON_PROFICIENCY_SIMPLE, oPC) + return GetHasFeat(FEAT_WEAPON_PROFICIENCY_QUARTERSTAFF, oPC) + ||GetHasFeat(FEAT_WEAPON_PROFICIENCY_SIMPLE, oPC) || GetHasFeat(FEAT_WEAPON_PROFICIENCY_DRUID, oPC) || GetHasFeat(FEAT_WEAPON_PROFICIENCY_WIZARD, oPC); @@ -300,167 +320,185 @@ int GetWeaponProfFeatByType(int nBaseType) { switch(nBaseType) { - case BASE_ITEM_SHORTSWORD: - return FEAT_WEAPON_PROFICIENCY_SHORTSWORD; + case BASE_ITEM_CLUB: + return FEAT_WEAPON_PROFICIENCY_CLUB; + + case BASE_ITEM_QUARTERSTAFF: + return FEAT_WEAPON_PROFICIENCY_QUARTERSTAFF; - case BASE_ITEM_LONGSWORD: - return FEAT_WEAPON_PROFICIENCY_LONGSWORD; + case BASE_ITEM_MAGICSTAFF: + return FEAT_WEAPON_PROFICIENCY_QUARTERSTAFF; + + case BASE_ITEM_DAGGER: + return FEAT_WEAPON_PROFICIENCY_DAGGER; - case BASE_ITEM_BATTLEAXE: - return FEAT_WEAPON_PROFICIENCY_BATTLEAXE; + case BASE_ITEM_HEAVYCROSSBOW: + return FEAT_WEAPON_PROFICIENCY_HEAVY_XBOW; - case BASE_ITEM_BASTARDSWORD: - return FEAT_WEAPON_PROFICIENCY_BASTARD_SWORD; + case BASE_ITEM_LIGHTCROSSBOW: + return FEAT_WEAPON_PROFICIENCY_LIGHT_XBOW; + + case BASE_ITEM_SHORTSWORD: + return FEAT_WEAPON_PROFICIENCY_SHORTSWORD; - case BASE_ITEM_LIGHTFLAIL: - return FEAT_WEAPON_PROFICIENCY_LIGHT_FLAIL; + case BASE_ITEM_LONGSWORD: + return FEAT_WEAPON_PROFICIENCY_LONGSWORD; - case BASE_ITEM_WARHAMMER: - return FEAT_WEAPON_PROFICIENCY_WARHAMMER; + case BASE_ITEM_BATTLEAXE: + return FEAT_WEAPON_PROFICIENCY_BATTLEAXE; - case BASE_ITEM_LONGBOW: - return FEAT_WEAPON_PROFICIENCY_LONGBOW; + case BASE_ITEM_BASTARDSWORD: + return FEAT_WEAPON_PROFICIENCY_BASTARD_SWORD; - case BASE_ITEM_LIGHTMACE: - return FEAT_WEAPON_PROFICIENCY_LIGHT_MACE; + case BASE_ITEM_LIGHTFLAIL: + return FEAT_WEAPON_PROFICIENCY_LIGHT_FLAIL; - case BASE_ITEM_HALBERD: - return FEAT_WEAPON_PROFICIENCY_HALBERD; + case BASE_ITEM_WARHAMMER: + return FEAT_WEAPON_PROFICIENCY_WARHAMMER; - case BASE_ITEM_SHORTBOW: + case BASE_ITEM_LONGBOW: + return FEAT_WEAPON_PROFICIENCY_LONGBOW; + + case BASE_ITEM_LIGHTMACE: + return FEAT_WEAPON_PROFICIENCY_LIGHT_MACE; + + case BASE_ITEM_HALBERD: + return FEAT_WEAPON_PROFICIENCY_HALBERD; + + case BASE_ITEM_SHORTBOW: return FEAT_WEAPON_PROFICIENCY_SHORTBOW; - case BASE_ITEM_TWOBLADEDSWORD: + case BASE_ITEM_TWOBLADEDSWORD: return FEAT_WEAPON_PROFICIENCY_TWO_BLADED_SWORD; - case BASE_ITEM_GREATSWORD: + case BASE_ITEM_GREATSWORD: return FEAT_WEAPON_PROFICIENCY_GREATSWORD; - case BASE_ITEM_GREATAXE: + case BASE_ITEM_GREATAXE: return FEAT_WEAPON_PROFICIENCY_GREATAXE; - case BASE_ITEM_DART: + case BASE_ITEM_DART: return FEAT_WEAPON_PROFICIENCY_DART; - case BASE_ITEM_DIREMACE: + case BASE_ITEM_DIREMACE: return FEAT_WEAPON_PROFICIENCY_DIRE_MACE; - case BASE_ITEM_DOUBLEAXE: + case BASE_ITEM_DOUBLEAXE: return FEAT_WEAPON_PROFICIENCY_DOUBLE_AXE; - case BASE_ITEM_HEAVYFLAIL: + case BASE_ITEM_HEAVYFLAIL: return FEAT_WEAPON_PROFICIENCY_HEAVY_FLAIL; - case BASE_ITEM_LIGHTHAMMER: + case BASE_ITEM_LIGHTHAMMER: return FEAT_WEAPON_PROFICIENCY_LIGHT_HAMMER; - case BASE_ITEM_HANDAXE: + case BASE_ITEM_HANDAXE: return FEAT_WEAPON_PROFICIENCY_HANDAXE; - case BASE_ITEM_KAMA: + case BASE_ITEM_KAMA: return FEAT_WEAPON_PROFICIENCY_KAMA; - case BASE_ITEM_KATANA: + case BASE_ITEM_KATANA: return FEAT_WEAPON_PROFICIENCY_KATANA; - case BASE_ITEM_KUKRI: + case BASE_ITEM_KUKRI: return FEAT_WEAPON_PROFICIENCY_KUKRI; - case BASE_ITEM_MORNINGSTAR: + case BASE_ITEM_MORNINGSTAR: return FEAT_WEAPON_PROFICIENCY_MORNINGSTAR; - case BASE_ITEM_RAPIER: + case BASE_ITEM_RAPIER: return FEAT_WEAPON_PROFICIENCY_RAPIER; - case BASE_ITEM_SCIMITAR: + case BASE_ITEM_SCIMITAR: return FEAT_WEAPON_PROFICIENCY_SCIMITAR; - case BASE_ITEM_SCYTHE: + case BASE_ITEM_SCYTHE: return FEAT_WEAPON_PROFICIENCY_SCYTHE; - case BASE_ITEM_SHORTSPEAR: + case BASE_ITEM_SHORTSPEAR: return FEAT_WEAPON_PROFICIENCY_SHORTSPEAR; - case BASE_ITEM_SHURIKEN: + case BASE_ITEM_SHURIKEN: return FEAT_WEAPON_PROFICIENCY_SHURIKEN; - case BASE_ITEM_SICKLE: + case BASE_ITEM_SICKLE: return FEAT_WEAPON_PROFICIENCY_SICKLE; - case BASE_ITEM_SLING: + case BASE_ITEM_SLING: return FEAT_WEAPON_PROFICIENCY_SLING; - case BASE_ITEM_THROWINGAXE: + case BASE_ITEM_THROWINGAXE: return FEAT_WEAPON_PROFICIENCY_THROWING_AXE; - case BASE_ITEM_CSLASHWEAPON: + case BASE_ITEM_CSLASHWEAPON: return FEAT_WEAPON_PROFICIENCY_CREATURE; - case BASE_ITEM_CPIERCWEAPON: + case BASE_ITEM_CPIERCWEAPON: return FEAT_WEAPON_PROFICIENCY_CREATURE; - case BASE_ITEM_CBLUDGWEAPON: + case BASE_ITEM_CBLUDGWEAPON: return FEAT_WEAPON_PROFICIENCY_CREATURE; - case BASE_ITEM_CSLSHPRCWEAP: + case BASE_ITEM_CSLSHPRCWEAP: return FEAT_WEAPON_PROFICIENCY_CREATURE; - case BASE_ITEM_TRIDENT: + case BASE_ITEM_TRIDENT: return FEAT_WEAPON_PROFICIENCY_TRIDENT; - case BASE_ITEM_DWARVENWARAXE: + case BASE_ITEM_DWARVENWARAXE: return FEAT_WEAPON_PROFICIENCY_DWARVEN_WARAXE; - case BASE_ITEM_WHIP: + case BASE_ITEM_WHIP: return FEAT_WEAPON_PROFICIENCY_WHIP; - case BASE_ITEM_ELVEN_LIGHTBLADE: + case BASE_ITEM_ELVEN_LIGHTBLADE: return FEAT_WEAPON_PROFICIENCY_ELVEN_LIGHTBLADE; - case BASE_ITEM_ELVEN_THINBLADE: + case BASE_ITEM_ELVEN_THINBLADE: return FEAT_WEAPON_PROFICIENCY_ELVEN_THINBLADE; - case BASE_ITEM_ELVEN_COURTBLADE: + case BASE_ITEM_ELVEN_COURTBLADE: return FEAT_WEAPON_PROFICIENCY_ELVEN_COURTBLADE; - case BASE_ITEM_HEAVY_PICK: + case BASE_ITEM_HEAVY_PICK: return FEAT_WEAPON_PROFICIENCY_HEAVY_PICK; - case BASE_ITEM_LIGHT_PICK: + case BASE_ITEM_LIGHT_PICK: return FEAT_WEAPON_PROFICIENCY_LIGHT_PICK; - case BASE_ITEM_SAI: + case BASE_ITEM_SAI: return FEAT_WEAPON_PROFICIENCY_SAI; - case BASE_ITEM_NUNCHAKU: + case BASE_ITEM_NUNCHAKU: return FEAT_WEAPON_PROFICIENCY_NUNCHAKU; - case BASE_ITEM_FALCHION: + case BASE_ITEM_FALCHION: return FEAT_WEAPON_PROFICIENCY_FALCHION; - case BASE_ITEM_SAP: + case BASE_ITEM_SAP: return FEAT_WEAPON_PROFICIENCY_SAP; - case BASE_ITEM_KATAR: + case BASE_ITEM_KATAR: return FEAT_WEAPON_PROFICIENCY_KATAR; - case BASE_ITEM_HEAVY_MACE: + case BASE_ITEM_HEAVY_MACE: return FEAT_WEAPON_PROFICIENCY_HEAVY_MACE; - case BASE_ITEM_MAUL: + case BASE_ITEM_MAUL: return FEAT_WEAPON_PROFICIENCY_MAUL; - case BASE_ITEM_DOUBLE_SCIMITAR: + case BASE_ITEM_DOUBLE_SCIMITAR: return FEAT_WEAPON_PROFICIENCY_DOUBLE_SCIMITAR; - case BASE_ITEM_GOAD: + case BASE_ITEM_GOAD: return FEAT_WEAPON_PROFICIENCY_GOAD; - case BASE_ITEM_EAGLE_CLAW: + case BASE_ITEM_EAGLE_CLAW: return FEAT_WEAPON_PROFICIENCY_EAGLE_CLAW; - default: - return FEAT_WEAPON_PROFICIENCY_SIMPLE; + default: + return FEAT_WEAPON_PROFICIENCY_SIMPLE; } return 0; diff --git a/nwn/nwnprc/trunk/newspellbook/tob_tgcw_lpdrgn.nss b/nwn/nwnprc/trunk/newspellbook/tob_tgcw_lpdrgn.nss index cb3aeef4..75fcee2e 100644 --- a/nwn/nwnprc/trunk/newspellbook/tob_tgcw_lpdrgn.nss +++ b/nwn/nwnprc/trunk/newspellbook/tob_tgcw_lpdrgn.nss @@ -49,6 +49,7 @@ void main() { eDur = EffectLinkEffects(eDur, EffectMovementSpeedIncrease(33)); eDur = EffectLinkEffects(eDur, EffectACIncrease(1)); + eDur = EffectLinkEffects(eDur, EffectSkillIncrease(SKILL_JUMP, 10)); } if (GetLocalInt(oInitiator, "TigerFangSharpClaw")) eDur = EffectLinkEffects(eDur, EffectDamageIncrease(DAMAGE_BONUS_1, DAMAGE_TYPE_BASE_WEAPON)); SPApplyEffectToObject(DURATION_TYPE_PERMANENT, ExtraordinaryEffect(eDur), oTarget); diff --git a/nwn/nwnprc/trunk/psionics/psi_pow_identify.nss b/nwn/nwnprc/trunk/psionics/psi_pow_identify.nss index 603b4241..6a64ef9a 100644 --- a/nwn/nwnprc/trunk/psionics/psi_pow_identify.nss +++ b/nwn/nwnprc/trunk/psionics/psi_pow_identify.nss @@ -58,9 +58,9 @@ void main() if(manif.bCanManifest) { effect eVis = EffectVisualEffect(VFX_IMP_MAGICAL_VISION); + + SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eVis, oManifester, 4.0f, FALSE); - SetIdentified(oTarget, TRUE); - - SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eVis, oTarget, 4.5f, FALSE); + SetIdentified(oTarget, TRUE); } } \ No newline at end of file diff --git a/nwn/nwnprc/trunk/racescripts/race_skin.nss b/nwn/nwnprc/trunk/racescripts/race_skin.nss index d8d8cdb3..bb735205 100644 --- a/nwn/nwnprc/trunk/racescripts/race_skin.nss +++ b/nwn/nwnprc/trunk/racescripts/race_skin.nss @@ -452,7 +452,7 @@ void main() ipIP =ItemPropertyImmunityMisc(IP_CONST_IMMUNITYMISC_PARALYSIS); IPSafeAddItemProperty(oSkin, ipIP, 0.0, X2_IP_ADDPROP_POLICY_REPLACE_EXISTING, FALSE, FALSE); } - if(GetRacialType(oPC) == RACIAL_TYPE_GLOURA) + if(GetRacialType(oPC) == RACIAL_TYPE_GLOURA /* || GetRacialType(oPC) == RACIAL_TYPE_PIXIE */) { SetCreatureWingType(CREATURE_WING_TYPE_BUTTERFLY, oPC); } diff --git a/nwn/nwnprc/trunk/scripts/ft_vowofpoverty.nss b/nwn/nwnprc/trunk/scripts/ft_vowofpoverty.nss index bcaf4340..f6c94858 100644 --- a/nwn/nwnprc/trunk/scripts/ft_vowofpoverty.nss +++ b/nwn/nwnprc/trunk/scripts/ft_vowofpoverty.nss @@ -84,19 +84,9 @@ void main() //Applying stat boosts if(GetPersistantLocalInt(oPC, "VoPBoost"+IntToString(nLevelCheck)) >= 10) { - if(!GetLocalInt(oPC, "VoPBoostGiven"+IntToString(nLevelCheck))) - { - SetLocalInt(oPC, "VoPBoostGiven"+IntToString(nLevelCheck), 0); - } - int oldValue = GetLocalInt(oPC, "VoPBoostGiven"+IntToString(nLevelCheck)); - int newValue = 2 * (1 + (nLevel - nLevelCheck) / 4); int stat = GetPersistantLocalInt(oPC, "VoPBoost"+IntToString(nLevelCheck)) - 10; - if (oldValue < newValue) - { - ApplyEffectToObject(DURATION_TYPE_PERMANENT,UnyieldingEffect(EffectAbilityIncrease(stat, newValue - oldValue)), oPC); - SetLocalInt(oPC, "VoPBoostGiven"+IntToString(nLevelCheck), newValue); - } - + int value = 2 * (1 + (nLevel - nLevelCheck) / 4); + SetCompositeBonus(oSkin, "VoPBoostStat"+IntToString(stat), value, ITEM_PROPERTY_ABILITY_BONUS, stat); } //Call exalted feat for each even level @@ -117,12 +107,7 @@ void main() //Resistance (Ex): At 7th level, an ascetic gains a +1 resistance bonus on all saving throws. This bonus increases to +2 at 13th level, and to +3 at 17th level. if (nLevel>=7) { - int oldValue = GetLocalInt(oPC, "VoPResistance"); - if (nResist > oldValue) - { - ApplyEffectToObject(DURATION_TYPE_PERMANENT, ExtraordinaryEffect(EffectSavingThrowIncrease(SAVING_THROW_ALL, nResist - oldValue, SAVING_THROW_TYPE_ALL)), oPC); - SetLocalInt(oPC, "VoPResistance", nResist); - } + SetCompositeBonus(oSkin, "VoPResist", nResist, ITEM_PROPERTY_SAVING_THROW_BONUS, SAVING_THROW_ALL); } //Natural Armor +1 each 8 levels @@ -172,16 +157,19 @@ void main() for (nSlot=0; nSlot < 13; nSlot++) //All but creatures slots { oItem=GetItemInSlot(nSlot, oPC); - if((GetIsItemPropertyValid(GetFirstItemProperty(oItem)) && !(GetItemPropertyTag(GetFirstItemProperty(oItem)) == "Tag_PRC_OnHitKeeper") - && !(nSlot == 4 || nSlot == 5)) //Check if it is magical (all items but on the hands) - || (nSlot == 1 && GetBaseAC(oItem) >= 1) //Check if it is an armor (AC>0) - || (nSlot == 5 && GetBaseItemType(oItem) == BASE_ITEM_SMALLSHIELD || //Check if it is a shield - GetBaseItemType(oItem) == BASE_ITEM_LARGESHIELD || - GetBaseItemType(oItem) == BASE_ITEM_TOWERSHIELD)) + if (!(GetTag(oItem) == "xp1_mystrashand") && !(GetTag(oItem) == "H2_SenseiAmulet")) { - AssignCommand(oPC, ClearAllActions(TRUE)); - AssignCommand(oPC, ActionUnequipItem(oItem)); - FloatingTextStringOnCreature(GetName(oItem)+" would break your vow!", oPC, FALSE); + if((GetIsItemPropertyValid(GetFirstItemProperty(oItem)) && !(GetItemPropertyTag(GetFirstItemProperty(oItem)) == "Tag_PRC_OnHitKeeper") + && !(nSlot == 4 || nSlot == 5)) //Check if it is magical (all items but on the hands) + || (nSlot == 1 && GetBaseAC(oItem) >= 1) //Check if it is an armor (AC>0) + || (nSlot == 5 && GetBaseItemType(oItem) == BASE_ITEM_SMALLSHIELD || //Check if it is a shield + GetBaseItemType(oItem) == BASE_ITEM_LARGESHIELD || + GetBaseItemType(oItem) == BASE_ITEM_TOWERSHIELD)) + { + AssignCommand(oPC, ClearAllActions(TRUE)); + AssignCommand(oPC, ActionUnequipItem(oItem)); + FloatingTextStringOnCreature(GetName(oItem)+" would break your vow!", oPC, FALSE); + } } } @@ -222,14 +210,16 @@ void main() && !(GetItemPropertyTag(eCheckIP) == "Sanctify4")) iMagic = 1; eCheckIP = GetNextItemProperty(oItem); } - - if((IPGetIsMeleeWeapon(oItem) || GetWeaponRanged(oItem)) && (iMagic || !iWeaponAllowed)) //Check if weapon is magical or not on allowed list + if (!(GetTag(oItem) == "xp1_mystrashand") && !(GetTag(oItem) == "H2_SenseiAmulet")) { - if(!(GetBaseItemType(oItem) == BASE_ITEM_SLING && GetItemPropertyType(GetFirstItemProperty(oItem)) == ITEM_PROPERTY_MIGHTY)) //Allow Mighty Bonus on Slings + if((IPGetIsMeleeWeapon(oItem) || GetWeaponRanged(oItem)) && (iMagic || !iWeaponAllowed)) //Check if weapon is magical or not on allowed list { - AssignCommand(oPC, ClearAllActions(TRUE)); - AssignCommand(oPC, ActionUnequipItem(oItem)); - FloatingTextStringOnCreature(GetName(oItem)+" would break your vow!", oPC, FALSE); + if(!(GetBaseItemType(oItem) == BASE_ITEM_SLING && GetItemPropertyType(GetFirstItemProperty(oItem)) == ITEM_PROPERTY_MIGHTY)) //Allow Mighty Bonus on Slings + { + AssignCommand(oPC, ClearAllActions(TRUE)); + AssignCommand(oPC, ActionUnequipItem(oItem)); + FloatingTextStringOnCreature(GetName(oItem)+" would break your vow!", oPC, FALSE); + } } } } diff --git a/nwn/nwnprc/trunk/scripts/prc_switchesc.nss b/nwn/nwnprc/trunk/scripts/prc_switchesc.nss index 8981e5bb..91d6a180 100644 --- a/nwn/nwnprc/trunk/scripts/prc_switchesc.nss +++ b/nwn/nwnprc/trunk/scripts/prc_switchesc.nss @@ -77,11 +77,14 @@ const int STAGE_SPELL_SHOPS_LEVEL_FILTER = 48; const int STAGE_SPELL_SHOPS_ALPHABETICAL_FILTER = 49; const int STAGE_PLANTSHAPE_SLOTS = 50; const int STAGE_PLANTSHAPE_SHAPE = 51; +const int STAGE_WIELDING = 52; +const int STAGE_WIELDING_ONE = 53; +const int STAGE_WIELDING_TWO = 54; +const int STAGE_WIELDING_POLEARM = 55; // Confirmation stage for registering cohort const int STAGE_REGISTER_CONFIRM = 200; - const int STAGE_CDKEY_ADD = 509; const int STAGE_APPEARANCE = 510; const int STAGE_HEAD = 520; @@ -433,6 +436,11 @@ void main() // The stage is used to determine the active conversation node. // 0 is the entry node. int nStage = GetStage(oPC); + + object oWeaponR = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC); + object oWeaponL = GetItemInSlot(INVENTORY_SLOT_LEFTHAND, oPC); + + int bRanged = GetWeaponRanged(oWeaponR); // Check which of the conversation scripts called the scripts if(nValue == 0) // All of them set the DynConv_Var to non-zero value, so something is wrong -> abort @@ -477,7 +485,11 @@ void main() AddChoice("Miscellaneous options.", 11); if(DEBUG)//TO DO: add separate switch AddChoice("Wipe PRC Spellbooks", 12); - + if((!bRanged && oWeaponR != OBJECT_INVALID) && (PRCGetCreatureSize(oPC) > 1 && PRCGetCreatureSize(oPC) < 5)) + { + AddChoice("Set weapon wielding.", 52); + } + MarkStageSetUp(nStage, oPC); SetDefaultTokens(); // Set the next, previous, exit and wait tokens to default values } @@ -1298,6 +1310,340 @@ void main() AddChoice("Back", CHOICE_RETURN_TO_PREVIOUS); MarkStageSetUp(nStage, oPC); } + else if (nStage == STAGE_WIELDING) + { + string sHeader = "With this option you can change the how you wield certain melee weapons."; + SetHeader(sHeader); + + int bShield = GetIsShield(oWeaponL); + int bTorch = (GetBaseItemType(oWeaponL) == BASE_ITEM_TORCH); + + int bUnarmed = (oWeaponR == OBJECT_INVALID); + int bOneHand = (!bUnarmed && oWeaponL == OBJECT_INVALID); + + int bMonkey = GetHasFeat(FEAT_MONKEY_GRIP); + int bPowerful = GetHasFeat(FEAT_RACE_POWERFUL_BUILD); + + int bTwoHand = GetIsTwoHandedMeleeWeapon(oWeaponR); + int bDouble = GetIsDoubleSidedWeapon(oWeaponR); + + int bPolearm = (GetBaseItemType(oWeaponR) == BASE_ITEM_HALBERD || + GetBaseItemType(oWeaponR) == BASE_ITEM_QUARTERSTAFF || + GetBaseItemType(oWeaponR) == BASE_ITEM_SHORTSPEAR || + GetBaseItemType(oWeaponR) == BASE_ITEM_MAGICSTAFF); + + int iSize = PRCGetCreatureSize(oPC); + int iWeaponSize = GetWeaponSize(oWeaponR); + + if (iSize == CREATURE_SIZE_TINY) + { + int bAdded1H = FALSE; + + if (iWeaponSize == 1 && !bShield && !bTorch) + { + AddChoice("Wield tiny weapon one-handed.", 1); + AddChoice("Wield tiny weapon two-handed.", 2); + bAdded1H = TRUE; + } + else if (iWeaponSize == 1 && (bShield || bTorch)) + { + AddChoice("Wield tiny weapon one-handed.", 1); + bAdded1H = TRUE; + } + if (iWeaponSize == 2 && (bMonkey || bPowerful)) + { + AddChoice("Wield small weapon one-handed.", 1); + AddChoice("Wield small weapon two-handed.", 2); + bAdded1H = TRUE; + } + else if (iWeaponSize == 2 && !bMonkey && !bPowerful && !bShield && !bTorch) + { + AddChoice("Wield small weapon two-handed.", 2); + + bAdded1H = TRUE; + } + } + else if (iSize == CREATURE_SIZE_SMALL) + { + int bAdded1H = FALSE; + + if (!bShield && !bTorch && bTwoHand && !bPolearm) + { + AddChoice("Wield a large weapon two-handed.", 2); + } + else if (!bShield && !bTorch && bTwoHand && bPolearm) + { + AddChoice("Wield a polearm two-handed.", 2); + } + if (iWeaponSize == 1 && !bShield && !bTorch) + { + AddChoice("Wield tiny weapon one-handed.", 1); + AddChoice("Wield tiny weapon two-handed.", 2); + bAdded1H = TRUE; + } + else if (iWeaponSize == 1 && (bShield || bTorch)) + { + AddChoice("Wield tiny weapon one-handed.", 1); + bAdded1H = TRUE; + } + if (iWeaponSize == 2 && (bShield || bTorch)) + { + AddChoice("Wield small weapon one-handed.", 1); + bAdded1H = TRUE; + } + else if (iWeaponSize == 2 && !bShield && !bTorch) + { + AddChoice("Wield small weapon one-handed.", 1); + AddChoice("Wield small weapon two-handed.", 2); + bAdded1H = TRUE; + } + if (iWeaponSize == 3 && !bShield && !bTorch && !bMonkey && !bPowerful) + { + AddChoice("Wield medium weapon two-handed.", 2); + } + else if (iWeaponSize == 3 && !bShield && !bTorch && (bMonkey || bPowerful)) + { + AddChoice("Wield medium weapon one-handed.", 1); + AddChoice("Wield medium weapon two-handed.", 2); + } + else if (iWeaponSize == 3 && (bMonkey || bPowerful) && (bShield && bTorch)) + { + AddChoice("Wield medium weapon one-handed.", 1); + } + } + else if (iSize == CREATURE_SIZE_MEDIUM) + { + int bAdded1H = FALSE; + + if (bDouble && !bShield && !bTorch && (!bMonkey || !bPowerful)) + { + AddChoice("Wield a double-sided weapon two-handed.", 3); + } + else if (bDouble && !bShield && !bTorch && (bMonkey || bPowerful)) + { + AddChoice("Wield a double-sided weapon one-handed.", 1); + AddChoice("Wield a double-sided weapon two-handed.", 3); + bAdded1H = TRUE; + } + else if (bDouble && (bMonkey || bPowerful) && (bShield || bTorch)) + { + AddChoice("Wield a double-sided weapon one-handed.", 1); + bAdded1H = TRUE; + } + if (!bTwoHand && !bPolearm && !bDouble && (bShield || bTorch)) + { + AddChoice("Wield a small or medium weapon one-handed.", 1); + bAdded1H = TRUE; + } + else if (!bTwoHand && !bPolearm && !bDouble && (bMonkey || bPowerful) && (!bShield || !bTorch)) + { + AddChoice("Wield a small or medium weapon one-handed.", 1); + AddChoice("Wield a small or medium weapon two-handed.", 2); + bAdded1H = TRUE; + } + + if (bTwoHand && !bDouble && !bPolearm && !bDouble && (bMonkey || bPowerful) && (bShield || bTorch)) + { + AddChoice("Wield a large weapon one-handed.", 1); + } + else if (bTwoHand && !bDouble && bPolearm && !bDouble && (bMonkey || bPowerful) && (bShield || bTorch)) + { + AddChoice("Wield a polearm one-handed.", 1); + } + + if (!bShield && !bTorch && !bDouble && bTwoHand && !bPolearm && (bMonkey || bPowerful)) + { + AddChoice("Wield a large weapon one-handed.", 1); + AddChoice("Wield a large weapon two-handed.", 2); + } + + if (!bShield && !bTorch && bTwoHand && !bMonkey && !bPowerful && !bPolearm && !bDouble) + { + AddChoice("Wield a large weapon two-handed.", 2); + } + + if (!bShield && !bTorch && bPolearm && !bDouble && (bMonkey || bPowerful)) + { + AddChoice("Wield a polearm one-handed.", 1); + AddChoice("Wield a polearm two-handed.", 3); + } + else if (bShield && bTorch && bPolearm && !bDouble && (bMonkey || bPowerful)) + { + AddChoice("Wield a polearm one-handed.", 1); + } + + if (!bShield && !bTorch && bPolearm && !bDouble && !bMonkey && !bPowerful) + { + AddChoice("Wield a polearm two-handed.", 3); + } + + if (!bAdded1H && !bShield && !bTorch && !bPolearm && !bDouble && !bTwoHand) + { + AddChoice("Wield a small or medium weapon one-handed.", 1); + } + } + else if (iSize == CREATURE_SIZE_LARGE) + { + int bAdded1H = FALSE; + + if (bDouble && bOneHand && !bShield && !bTorch ) + { + AddChoice("Wield a double-sided weapon one-handed.", 1); + AddChoice("Wield a double-sided weapon two-handed.", 3); + } + + else if (bDouble && (!bOneHand || bShield || bTorch)) + { + AddChoice("Wield a double-sided weapon one-handed.", 1); + } + if (bTwoHand && !bPolearm && bOneHand && !bShield && !bTorch ) + { + AddChoice("Wield a large weapon one-handed.", 1); + AddChoice("Wield a large weapon two-handed.", 2); + } + + else if (bTwoHand && !bPolearm && (!bOneHand || bShield || bTorch)) + { + AddChoice("Wield a large weapon one-handed.", 1); + } + if (bPolearm && bOneHand && !bShield && !bTorch ) + { + AddChoice("Wield a polearm one-handed.", 1); + AddChoice("Wield a polearm two-handed.", 3); + } + + else if (bPolearm && (!bOneHand || bShield || bTorch)) + { + AddChoice("Wield a polearm one-handed.", 1); + } + if((iWeaponSize == 3) && bOneHand && !bShield && !bTorch ) + { + AddChoice("Wield a medium weapon one-handed.", 1); + AddChoice("Wield a medium weapon two-handed.", 2); + } + else if(iWeaponSize == 3 && (!bOneHand || bShield || bTorch)) + { + AddChoice("Wield a medium weapon one-handed.", 1); + } + else if(iWeaponSize == 2) + { + AddChoice("Wield a small weapon one-handed.", 1); + } + } + + AddChoice("Back", CHOICE_RETURN_TO_PREVIOUS); + MarkStageSetUp(nStage, oPC); + + } + else if (nStage == STAGE_WIELDING_ONE) + { + string sHeader = "One handed attack animations set."; + SetHeader(sHeader); + + ReplaceObjectAnimation(oPC, "1hreadyr", ""); + ReplaceObjectAnimation(oPC, "1hreadyl", ""); + ReplaceObjectAnimation(oPC, "1hslashl", ""); + ReplaceObjectAnimation(oPC, "1hslashr", ""); + ReplaceObjectAnimation(oPC, "1hstab", ""); + ReplaceObjectAnimation(oPC, "1hcloseh", ""); + ReplaceObjectAnimation(oPC, "1hclosel", ""); + ReplaceObjectAnimation(oPC, "1hreach", ""); + ReplaceObjectAnimation(oPC, "1hparryl", ""); + ReplaceObjectAnimation(oPC, "1hparryr", ""); + ReplaceObjectAnimation(oPC, "1hslasho", ""); + + ReplaceObjectAnimation(oPC, "2hreadyr", "1hreadyr"); + ReplaceObjectAnimation(oPC, "2hreadyl", "1hreadyl"); + ReplaceObjectAnimation(oPC, "2hslashl", "1hslashl"); + ReplaceObjectAnimation(oPC, "2hslashr", "1hslashr"); + ReplaceObjectAnimation(oPC, "2hstab", "1hstab"); + ReplaceObjectAnimation(oPC, "2hcloseh", "1hcloseh"); + ReplaceObjectAnimation(oPC, "2hclosel", "1hclosel"); + ReplaceObjectAnimation(oPC, "2hreach", "1hreach"); + ReplaceObjectAnimation(oPC, "2hparryl", "1hparryl"); + ReplaceObjectAnimation(oPC, "2hparryr", "1hparryr"); + ReplaceObjectAnimation(oPC, "2hslasho", "1hslasho"); + + ReplaceObjectAnimation(oPC, "plreadyr", "1hreadyr"); + ReplaceObjectAnimation(oPC, "plreadyl", "1hreadyl"); + ReplaceObjectAnimation(oPC, "plslashl", "1hslashl"); + ReplaceObjectAnimation(oPC, "plslashr", "1hslashr"); + ReplaceObjectAnimation(oPC, "plstab", "1hstab"); + ReplaceObjectAnimation(oPC, "plcloseh", "1hcloseh"); + ReplaceObjectAnimation(oPC, "plclosel", "1hclosel"); + ReplaceObjectAnimation(oPC, "plreach", "1hreach"); + ReplaceObjectAnimation(oPC, "plparryl", "1hparryl"); + ReplaceObjectAnimation(oPC, "plparryr", "1hparryr"); + ReplaceObjectAnimation(oPC, "plslasho", "1hslasho"); + + AddChoice("Back", CHOICE_RETURN_TO_PREVIOUS); + MarkStageSetUp(nStage, oPC); + } + else if (nStage == STAGE_WIELDING_TWO) + { + string sHeader = "Two-handed attack animations set."; + SetHeader(sHeader); + + ReplaceObjectAnimation(oPC, "1hreadyr", "2hreadyr"); + ReplaceObjectAnimation(oPC, "1hreadyl", "2hreadyl"); + ReplaceObjectAnimation(oPC, "1hslashl", "2hslashl"); + ReplaceObjectAnimation(oPC, "1hslashr", "2hslashr"); + ReplaceObjectAnimation(oPC, "1hstab", "2hstab"); + ReplaceObjectAnimation(oPC, "1hcloseh", "2hcloseh"); + ReplaceObjectAnimation(oPC, "1hclosel", "2hclosel"); + ReplaceObjectAnimation(oPC, "1hreach", "2hreach"); + ReplaceObjectAnimation(oPC, "1hparryl", "2hparryl"); + ReplaceObjectAnimation(oPC, "1hparryr", "2hparryr"); + ReplaceObjectAnimation(oPC, "1hslasho", "2hslasho"); + + ReplaceObjectAnimation(oPC, "2hreadyr", ""); + ReplaceObjectAnimation(oPC, "2hreadyl", ""); + ReplaceObjectAnimation(oPC, "2hslashl", ""); + ReplaceObjectAnimation(oPC, "2hslashr", ""); + ReplaceObjectAnimation(oPC, "2hstab", ""); + ReplaceObjectAnimation(oPC, "2hcloseh", ""); + ReplaceObjectAnimation(oPC, "2hclosel", ""); + ReplaceObjectAnimation(oPC, "2hreach", ""); + ReplaceObjectAnimation(oPC, "2hparryl", ""); + ReplaceObjectAnimation(oPC, "2hparryr", ""); + ReplaceObjectAnimation(oPC, "2hslasho", ""); + + ReplaceObjectAnimation(oPC, "plreadyr", ""); + ReplaceObjectAnimation(oPC, "plreadyl", ""); + ReplaceObjectAnimation(oPC, "plslashl", ""); + ReplaceObjectAnimation(oPC, "plslashr", ""); + ReplaceObjectAnimation(oPC, "plstab", ""); + ReplaceObjectAnimation(oPC, "plcloseh", ""); + ReplaceObjectAnimation(oPC, "plclosel", ""); + ReplaceObjectAnimation(oPC, "plreach", ""); + ReplaceObjectAnimation(oPC, "plparryl", ""); + ReplaceObjectAnimation(oPC, "plparryr", ""); + ReplaceObjectAnimation(oPC, "plslasho", ""); + + AddChoice("Back", CHOICE_RETURN_TO_PREVIOUS); + MarkStageSetUp(nStage, oPC); + } + else if (nStage == STAGE_WIELDING_POLEARM) + { + string sHeader = "Polearm attack animations set."; + SetHeader(sHeader); + + ReplaceObjectAnimation(oPC, "plreadyr", ""); + ReplaceObjectAnimation(oPC, "plreadyl", ""); + ReplaceObjectAnimation(oPC, "plslashl", ""); + ReplaceObjectAnimation(oPC, "plslashr", ""); + ReplaceObjectAnimation(oPC, "plstab", ""); + ReplaceObjectAnimation(oPC, "plcloseh", ""); + ReplaceObjectAnimation(oPC, "plclosel", ""); + ReplaceObjectAnimation(oPC, "plreach", ""); + ReplaceObjectAnimation(oPC, "plparryl", ""); + ReplaceObjectAnimation(oPC, "plparryr", ""); + ReplaceObjectAnimation(oPC, "plslasho", ""); + + AddChoice("Back", CHOICE_RETURN_TO_PREVIOUS); + MarkStageSetUp(nStage, oPC); + } + } // Do token setup @@ -1379,6 +1725,8 @@ void main() nStage = STAGE_LA_BUYOFF; else if(nChoice == 42) nStage = STAGE_ENCOUNTER_AREAS; + else if(nChoice == 52) + nStage = STAGE_WIELDING; else if(nChoice == 10) nStage = STAGE_APPEARANCE; else if(nChoice == 11) @@ -2091,7 +2439,125 @@ void main() nStage = STAGE_ENTRY; MarkStageNotSetUp(nStage, oPC); } + else if (nStage == STAGE_WIELDING) + { + if(nChoice == CHOICE_RETURN_TO_PREVIOUS) + { + nStage = STAGE_ENTRY; + MarkStageNotSetUp(nStage, oPC); + } + + if(nChoice == 1) + { + string sHeader = "One handed attack animations set."; + SetHeader(sHeader); + + ReplaceObjectAnimation(oPC, "1hreadyr", ""); + ReplaceObjectAnimation(oPC, "1hreadyl", ""); + ReplaceObjectAnimation(oPC, "1hslashl", ""); + ReplaceObjectAnimation(oPC, "1hslashr", ""); + ReplaceObjectAnimation(oPC, "1hstab", ""); + ReplaceObjectAnimation(oPC, "1hcloseh", ""); + ReplaceObjectAnimation(oPC, "1hclosel", ""); + ReplaceObjectAnimation(oPC, "1hreach", ""); + ReplaceObjectAnimation(oPC, "1hparryl", ""); + ReplaceObjectAnimation(oPC, "1hparryr", ""); + ReplaceObjectAnimation(oPC, "1hslasho", ""); + + ReplaceObjectAnimation(oPC, "2hreadyr", "1hreadyr"); + ReplaceObjectAnimation(oPC, "2hreadyl", "1hreadyl"); + ReplaceObjectAnimation(oPC, "2hslashl", "1hslashl"); + ReplaceObjectAnimation(oPC, "2hslashr", "1hslashr"); + ReplaceObjectAnimation(oPC, "2hstab", "1hstab"); + ReplaceObjectAnimation(oPC, "2hcloseh", "1hcloseh"); + ReplaceObjectAnimation(oPC, "2hclosel", "1hclosel"); + ReplaceObjectAnimation(oPC, "2hreach", "1hreach"); + ReplaceObjectAnimation(oPC, "2hparryl", "1hparryl"); + ReplaceObjectAnimation(oPC, "2hparryr", "1hparryr"); + ReplaceObjectAnimation(oPC, "2hslasho", "1hslasho"); + + ReplaceObjectAnimation(oPC, "plreadyr", "1hreadyr"); + ReplaceObjectAnimation(oPC, "plreadyl", "1hreadyl"); + ReplaceObjectAnimation(oPC, "plslashl", "1hslashl"); + ReplaceObjectAnimation(oPC, "plslashr", "1hslashr"); + ReplaceObjectAnimation(oPC, "plstab", "1hstab"); + ReplaceObjectAnimation(oPC, "plcloseh", "1hcloseh"); + ReplaceObjectAnimation(oPC, "plclosel", "1hclosel"); + ReplaceObjectAnimation(oPC, "plreach", "1hreach"); + ReplaceObjectAnimation(oPC, "plparryl", "1hparryl"); + ReplaceObjectAnimation(oPC, "plparryr", "1hparryr"); + ReplaceObjectAnimation(oPC, "plslasho", "1hslasho"); + + //AddChoice("Back", CHOICE_RETURN_TO_PREVIOUS); + MarkStageSetUp(nStage, oPC); + } + if(nChoice == 2) + { + string sHeader = "Two-handed attack animations set."; + SetHeader(sHeader); + + ReplaceObjectAnimation(oPC, "1hreadyr", "2hreadyr"); + ReplaceObjectAnimation(oPC, "1hreadyl", "2hreadyl"); + ReplaceObjectAnimation(oPC, "1hslashl", "2hslashl"); + ReplaceObjectAnimation(oPC, "1hslashr", "2hslashr"); + ReplaceObjectAnimation(oPC, "1hstab", "2hstab"); + ReplaceObjectAnimation(oPC, "1hcloseh", "2hcloseh"); + ReplaceObjectAnimation(oPC, "1hclosel", "2hclosel"); + ReplaceObjectAnimation(oPC, "1hreach", "2hreach"); + ReplaceObjectAnimation(oPC, "1hparryl", "2hparryl"); + ReplaceObjectAnimation(oPC, "1hparryr", "2hparryr"); + ReplaceObjectAnimation(oPC, "1hslasho", "2hslasho"); + + ReplaceObjectAnimation(oPC, "2hreadyr", ""); + ReplaceObjectAnimation(oPC, "2hreadyl", ""); + ReplaceObjectAnimation(oPC, "2hslashl", ""); + ReplaceObjectAnimation(oPC, "2hslashr", ""); + ReplaceObjectAnimation(oPC, "2hstab", ""); + ReplaceObjectAnimation(oPC, "2hcloseh", ""); + ReplaceObjectAnimation(oPC, "2hclosel", ""); + ReplaceObjectAnimation(oPC, "2hreach", ""); + ReplaceObjectAnimation(oPC, "2hparryl", ""); + ReplaceObjectAnimation(oPC, "2hparryr", ""); + ReplaceObjectAnimation(oPC, "2hslasho", ""); + + ReplaceObjectAnimation(oPC, "plreadyr", ""); + ReplaceObjectAnimation(oPC, "plreadyl", ""); + ReplaceObjectAnimation(oPC, "plslashl", ""); + ReplaceObjectAnimation(oPC, "plslashr", ""); + ReplaceObjectAnimation(oPC, "plstab", ""); + ReplaceObjectAnimation(oPC, "plcloseh", ""); + ReplaceObjectAnimation(oPC, "plclosel", ""); + ReplaceObjectAnimation(oPC, "plreach", ""); + ReplaceObjectAnimation(oPC, "plparryl", ""); + ReplaceObjectAnimation(oPC, "plparryr", ""); + ReplaceObjectAnimation(oPC, "plslasho", ""); + + //AddChoice("Back", CHOICE_RETURN_TO_PREVIOUS); + MarkStageSetUp(nStage, oPC); + } + + if(nChoice == 3) + { + string sHeader = "Polearm attack animations set."; + SetHeader(sHeader); + + ReplaceObjectAnimation(oPC, "plreadyr", ""); + ReplaceObjectAnimation(oPC, "plreadyl", ""); + ReplaceObjectAnimation(oPC, "plslashl", ""); + ReplaceObjectAnimation(oPC, "plslashr", ""); + ReplaceObjectAnimation(oPC, "plstab", ""); + ReplaceObjectAnimation(oPC, "plcloseh", ""); + ReplaceObjectAnimation(oPC, "plclosel", ""); + ReplaceObjectAnimation(oPC, "plreach", ""); + ReplaceObjectAnimation(oPC, "plparryl", ""); + ReplaceObjectAnimation(oPC, "plparryr", ""); + ReplaceObjectAnimation(oPC, "plslasho", ""); + + //AddChoice("Back", CHOICE_RETURN_TO_PREVIOUS); + MarkStageSetUp(nStage, oPC); + } + } // Store the stage value. If it has been changed, this clears out the choices SetStage(nStage, oPC); } diff --git a/nwn/nwnprc/trunk/tlk/prc8_consortium.tlk b/nwn/nwnprc/trunk/tlk/prc8_consortium.tlk index a26b4d04..19a33f1e 100644 Binary files a/nwn/nwnprc/trunk/tlk/prc8_consortium.tlk and b/nwn/nwnprc/trunk/tlk/prc8_consortium.tlk differ diff --git a/nwn/nwnprc/trunk/tlk/prc8_consortium.tlk.xml b/nwn/nwnprc/trunk/tlk/prc8_consortium.tlk.xml index 7d0c957f..44cc7fdf 100644 --- a/nwn/nwnprc/trunk/tlk/prc8_consortium.tlk.xml +++ b/nwn/nwnprc/trunk/tlk/prc8_consortium.tlk.xml @@ -183,11 +183,11 @@ Level Resist Poison - Bestows a +4 bonus to all Fortitude saving throws vs. poison. Feat - Skill Focus: Intimidate - Provides a +3 bonus to all skill checks involving Intimidate. 2: Aura of Courage - The Battlerager becomes immune to fear. - Feat - Knockdown. + Feat - Improved Trip. 3: Battle Rage - 2/day. Feat - Improved Unarmed Strike. 4: Feat - Great Cleave. - Feat - Improved Knockdown. + Feat - Reckless Offense. 5: Battle Rage - 3/day. Natural Armor - The Battlerager's skin hardens, granting a +2 bonus to natural AC. @@ -2002,7 +2002,7 @@ An unwilling creature can't be teleported by word of recall. Likewise, a creatur Knowledge is power and the quest for knowledge never ends. There is an ever lasting supply of divine lore for you, the epic archivist, to discover. Hit Die: d6 -Skill Points: 4 + Int modifier. +- Skill Points: 4+ Int Modifier. Dark Knowledge (Ex): At 21st level and every 3 levels thereafter, the epic archivist gains an additional use of Dark Knowledge. Lore Mastery (Ex): The archivist adds an additional +1 bonus on all Lore skill checks at level 23 and every 5 levels thereafter. Bonus Feats: The epic archivist gains a bonus feat (selected from the list of epic class bonus feats) every three levels higher than 20th. @@ -38928,7 +38928,7 @@ Descriptor(s): Component(s): Verbal, Somatic Range: Personal Area of Effect / Target: Colossal, centered on you -Duration: Instant +Duration: 1 Round / Level Additional Counter Spells: Save: None Spell Resistance: Yes (for detrimental effects) @@ -52416,6 +52416,9 @@ The target creature is struck blind and deaf. Type of Feat: General Prerequisite: BAB +1 Benefit: You can equip a weapon of one size larger than normal. You take a -2 penalty to all attack rolls when using Monkey Grip. + +* due to engine limitations, Tiny, Large and Huge creatures see no benefit from Monkey Grip. + Use: Automatic COMBAT MANEUVER Step 1 @@ -73945,7 +73948,7 @@ Hit Die: d10 Skill Points at Each Additional Level: 2 + Int Modifier Bonus Feats: The epic Soldier of Light gains a bonus feat every three levels after 10th. -ABILITIES: +CLASS FEATURES: Level 13: Healing Domain - Healing spells are empowered. diff --git a/nwn/nwnprc/trunk/tlk/prc_consortium.tlk b/nwn/nwnprc/trunk/tlk/prc_consortium.tlk index a26b4d04..19a33f1e 100644 Binary files a/nwn/nwnprc/trunk/tlk/prc_consortium.tlk and b/nwn/nwnprc/trunk/tlk/prc_consortium.tlk differ