Expanded Justice of Weald & Woe for epic progression

Expanded Justice of Weald & Woe for epic progression.
Updated DoFortification()
Moved Dread Necro over to use DoFortification().
This commit is contained in:
Jaysyn904 2025-05-11 01:20:36 -04:00
parent 2792ed00fc
commit f384d43821
11 changed files with 1361 additions and 1201 deletions

View File

@ -158,7 +158,7 @@
154 Diabolist 16790639 16822386 16822387 16822388 16822389 IR_ACOLYTE 4 CLS_ATK_3 CLS_FEAT_DIABOL CLS_SAVTHR_WIZ CLS_SKILL_DIABOL CLS_BFEAT_DIABOL 2 **** **** 1 0 12 16 14 8 14 12 INT 0X0D 0X3 0 CLASS_TYPE_DIABOLIST 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 CLS_PRES_DIABOL 40 0 1 0 10 10 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 154 Diabolist 16790639 16822386 16822387 16822388 16822389 IR_ACOLYTE 4 CLS_ATK_3 CLS_FEAT_DIABOL CLS_SAVTHR_WIZ CLS_SKILL_DIABOL CLS_BFEAT_DIABOL 2 **** **** 1 0 12 16 14 8 14 12 INT 0X0D 0X3 0 CLASS_TYPE_DIABOLIST 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 CLS_PRES_DIABOL 40 0 1 0 10 10 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
155 Fist_Hextor 16790640 16822390 16822391 16822392 16822393 IR_HEXTOR 10 CLS_ATK_1 CLS_FEAT_HEXTOR CLS_SAVTHR_FIGHT CLS_SKILL_HEXTOR CLS_BFEAT_HEXTOR 2 **** **** 1 0 12 16 14 8 14 12 STR 0X0C 0X3 0 CLASS_TYPE_HEXTOR 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 CLS_PRES_HEXTOR 40 0 0 0 10 0 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 155 Fist_Hextor 16790640 16822390 16822391 16822392 16822393 IR_HEXTOR 10 CLS_ATK_1 CLS_FEAT_HEXTOR CLS_SAVTHR_FIGHT CLS_SKILL_HEXTOR CLS_BFEAT_HEXTOR 2 **** **** 1 0 12 16 14 8 14 12 STR 0X0C 0X3 0 CLASS_TYPE_HEXTOR 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 CLS_PRES_HEXTOR 40 0 0 0 10 0 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
156 IncandescentChampion 16790641 16837917 16837918 16837919 16837920 IR_TEMPEST 10 CLS_ATK_2 CLS_FEAT_INCAND CLS_SAVTHR_WIZ CLS_SKILL_INCAND CLS_BFEAT_INCAND 2 **** **** 1 0 16 14 14 14 10 8 STR 0X08 0X2 1 CLASS_TYPE_INCANDESCENT_CHAMPION 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 CLS_PRES_INCAND 40 0 0 0 10 17 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 156 IncandescentChampion 16790641 16837917 16837918 16837919 16837920 IR_TEMPEST 10 CLS_ATK_2 CLS_FEAT_INCAND CLS_SAVTHR_WIZ CLS_SKILL_INCAND CLS_BFEAT_INCAND 2 **** **** 1 0 16 14 14 14 10 8 STR 0X08 0X2 1 CLASS_TYPE_INCANDESCENT_CHAMPION 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 CLS_PRES_INCAND 40 0 0 0 10 17 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
157 JusticeOfWealdAndWoe 16790642 16847276 16847277 16847278 16847279 IR_JUSTWW 8 CLS_ATK_2 CLS_FEAT_JUSTWW CLS_SAVTHR_WILD CLS_SKILL_JUSTWW CLS_BFEAT_JUSTWW 4 CLS_SPGN_JUSTWW CLS_SPKN_JUSTWW 1 1 12 16 14 8 14 12 DEX 0x00 0x0 0 CLASS_TYPE_JUSTICEWW 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 CLS_PRES_JUSTWW 10 0 0 0 10 4 3 **** **** **** **** **** **** **** **** **** Justiceww **** **** **** **** **** 157 JusticeOfWealdAndWoe 16790642 16847276 16847277 16847278 16847279 IR_JUSTWW 8 CLS_ATK_2 CLS_FEAT_JUSTWW CLS_SAVTHR_WILD CLS_SKILL_JUSTWW CLS_BFEAT_JUSTWW 4 CLS_SPGN_JUSTWW CLS_SPKN_JUSTWW 1 1 12 16 14 8 14 12 DEX 0x00 0x0 0 CLASS_TYPE_JUSTICEWW 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 CLS_PRES_JUSTWW 40 0 0 0 10 4 3 **** **** **** **** **** **** **** **** **** Justiceww **** **** **** **** ****
158 AcolyteOfTheEgo 16790643 16834483 16834484 16834484 16834486 ir_acolyteego 8 CLS_ATK_1 CLS_FEAT_ACEGO CLS_SAVTHR_FIGHT CLS_SKILL_ACEGO CLS_BFEAT_ACEGO 4 **** **** 1 0 15 9 14 13 10 15 WIS 0X00 0X0 0 CLASS_TYPE_ACOLYTE_EGO 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 CLS_PRES_ACEGO 10 0 0 0 10 10 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 158 AcolyteOfTheEgo 16790643 16834483 16834484 16834484 16834486 ir_acolyteego 8 CLS_ATK_1 CLS_FEAT_ACEGO CLS_SAVTHR_FIGHT CLS_SKILL_ACEGO CLS_BFEAT_ACEGO 4 **** **** 1 0 15 9 14 13 10 15 WIS 0X00 0X0 0 CLASS_TYPE_ACOLYTE_EGO 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 CLS_PRES_ACEGO 10 0 0 0 10 10 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
159 Peerless_Archer 16790644 16822520 16822521 16822522 16822523 IR_ARCHER 10 CLS_ATK_1 CLS_FEAT_PARCH CLS_SAVTHR_FIGHT CLS_SKILL_PARCH CLS_BFEAT_PARCH 2 **** **** 1 0 12 16 14 8 14 12 DEX 0X00 0X0 0 CLASS_TYPE_PEERLESS 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 CLS_PRES_PARCH 10 0 0 0 10 55 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 159 Peerless_Archer 16790644 16822520 16822521 16822522 16822523 IR_ARCHER 10 CLS_ATK_1 CLS_FEAT_PARCH CLS_SAVTHR_FIGHT CLS_SKILL_PARCH CLS_BFEAT_PARCH 2 **** **** 1 0 12 16 14 8 14 12 DEX 0X00 0X0 0 CLASS_TYPE_PEERLESS 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 CLS_PRES_PARCH 10 0 0 0 10 55 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
160 Lasher 16790645 16824616 16824617 16824618 16824619 IR_LASHER 10 CLS_ATK_1 CLS_FEAT_LASHER CLS_SAVTHR_ROG CLS_SKILL_LASHER CLS_BFEAT_LASHER 2 **** **** 1 0 12 16 14 8 14 12 DEX 0X00 0X0 0 CLASS_TYPE_LASHER 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 CLS_PRES_LASHER 40 0 0 0 10 10 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 160 Lasher 16790645 16824616 16824617 16824618 16824619 IR_LASHER 10 CLS_ATK_1 CLS_FEAT_LASHER CLS_SAVTHR_ROG CLS_SKILL_LASHER CLS_BFEAT_LASHER 2 **** **** 1 0 12 16 14 8 14 12 DEX 0X00 0X0 0 CLASS_TYPE_LASHER 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 CLS_PRES_LASHER 40 0 0 0 10 10 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****

View File

@ -1,63 +1,63 @@
2DA V2.0 2DA V2.0
Bonus Bonus
0 0 0 0
1 1 1 1
2 0 2 0
3 0 3 0
4 0 4 0
5 0 5 0
6 0 6 0
7 1 7 1
8 0 8 0
9 0 9 0
10 0 10 0
11 0 11 0
12 0 12 1
13 0 13 0
14 0 14 0
15 0 15 1
16 0 16 0
17 0 17 0
18 0 18 1
19 0 19 0
20 0 20 0
21 0 21 1
22 0 22 0
23 0 23 0
24 0 24 1
25 0 25 0
26 0 26 0
27 0 27 1
28 0 28 0
29 0 29 0
30 0 30 1
31 0 31 0
32 0 32 0
33 0 33 1
34 0 34 0
35 0 35 0
36 0 36 1
37 0 37 0
38 0 38 0
39 0 39 1
40 0 40 0
41 0 41 0
42 0 42 1
43 0 43 0
44 0 44 0
45 0 45 1
46 0 46 0
47 0 47 0
48 0 48 1
49 0 49 0
50 0 50 0
51 0 51 1
52 0 52 0
53 0 53 0
54 0 54 1
55 0 55 0
56 0 56 0
57 0 57 1
58 0 58 0
59 0 59 0

File diff suppressed because it is too large Load Diff

View File

@ -1,60 +1,119 @@
2DA V2.0 2DA V2.0
FeatLabel FeatIndex List GrantedOnLevel OnMenu FeatLabel FeatIndex List GrantedOnLevel OnMenu
0 ***Class_Feats*** **** **** **** **** 0 ***Class_Feats*** **** **** **** ****
1 WoodlandStride 200 3 2 0 1 WoodlandStride 200 3 2 0
2 LuckyShot 24021 3 4 1 2 LuckyShot 24021 3 4 1
3 TracklessStep 201 3 4 0 3 TracklessStep 201 3 4 0
4 WEAPON_SPECIALIZATION_PROFICIENCY 24423 3 4 0 4 WEAPON_SPECIALIZATION_PROFICIENCY 24423 3 4 0
5 PoisonUse 960 3 5 0 5 PoisonUse 960 3 5 0
6 HideInPlainSight 433 3 9 0 6 HideInPlainSight 433 3 9 0
7 FEAT_PRESTIGE_ASSN_DEATH_ATTACK 2930 3 10 1 7 FEAT_PRESTIGE_ASSN_DEATH_ATTACK 2930 3 10 1
8 ImmunityPoison 3590 3 10 0 8 ImmunityPoison 3590 3 10 0
9 ***Bonus_Feats*** **** **** **** **** 9 EPIC_JOWAW 25063 3 11 0
10 DefArrow 8 1 -1 0 10 ***Bonus_Feats*** **** **** **** ****
11 ImpCritLongBow 63 1 -1 0 11 FEAT_EPIC_ARMOR_SKIN 490 1 -1 0
12 Manyshot 3306 1 -1 1 12 FEAT_EPIC_BLINDING_SPEED 491 1 -1 1
13 MountedArchery 1088 1 -1 0 13 FEAT_EPIC_DEVASTATING_CRITICAL_HEAVYCROSSBOW 498 1 -1 0
14 RapidShot 30 1 -1 0 14 FEAT_EPIC_DEVASTATING_CRITICAL_LIGHTCROSSBOW 499 1 -1 0
15 WeapSpeLongBow 139 1 -1 0 15 FEAT_EPIC_DEVASTATING_CRITICAL_LONGBOW 507 1 -1 0
16 EpicWeapSpeLongBow 669 1 -1 0 16 FEAT_EPIC_DEVASTATING_CRITICAL_SHORTBOW 508 1 -1 0
17 FEAT_EXTEND_SPELL_ABILITY 23595 0 99 1 17 FEAT_EPIC_WEAPON_FOCUS_HEAVYCROSSBOW 622 1 -1 0
18 FEAT_SILENT_SPELL_ABILITY 23596 0 99 1 18 FEAT_EPIC_WEAPON_FOCUS_LIGHTCROSSBOW 623 1 -1 0
19 FEAT_STILL_SPELL_ABILITY 23597 0 99 1 19 FEAT_EPIC_WEAPON_FOCUS_LONGBOW 631 1 -1 0
20 FEAT_EMPOWER_SPELL_ABILITY 23598 0 99 1 20 FEAT_EPIC_WEAPON_FOCUS_SHORTBOW 632 1 -1 0
21 FEAT_MAXIMIZE_SPELL_ABILITY 23599 0 99 1 21 FEAT_EPIC_WEAPON_SPECIALIZATION_HEAVYCROSSBOW 660 1 -1 0
22 FEAT_QUICKEN_SPELL_ABILITY 23600 0 99 1 22 FEAT_EPIC_WEAPON_SPECIALIZATION_LIGHTCROSSBOW 661 1 -1 0
23 SuddenEmpower 2830 0 -1 1 23 FEAT_EPIC_WEAPON_SPECIALIZATION_LONGBOW 669 1 -1 0
24 SuddenExtend 2831 0 -1 1 24 FEAT_EPIC_WEAPON_SPECIALIZATION_SHORTBOW 670 1 -1 0
25 SuddenMaximize 2832 0 -1 1 25 FEAT_EPIC_OVERWHELMING_CRITICAL_HEAVYCROSSBOW 712 1 -1 0
26 SuddenWiden 2833 0 -1 1 26 FEAT_EPIC_OVERWHELMING_CRITICAL_LIGHTCROSSBOW 713 1 -1 0
27 FEAT_ESCHEW_MATERIALS 2596 0 1 0 27 FEAT_EPIC_OVERWHELMING_CRITICAL_LONGBOW 721 1 -1 0
28 ####START_OF_NEW_SPELLBOOK_RESERVE **** **** **** **** 28 FEAT_EPIC_OVERWHELMING_CRITICAL_SHORTBOW 722 1 -1 0
29 JusticeOfWealdAnd_Camoflage 13027 0 99 1 29 FEAT_EPIC_TOUGHNESS_1 754 1 -1 0
30 JusticeOfWealdAnd_Endure_Elements 13028 0 99 1 30 FEAT_EPIC_TOUGHNESS_2 755 1 -1 0
31 JusticeOfWealdAnd_Faerie_Fire 13029 0 99 1 31 FEAT_EPIC_TOUGHNESS_3 756 1 -1 0
32 JusticeOfWealdAnd_HideFromAnimals 13030 0 99 1 32 FEAT_EPIC_TOUGHNESS_4 757 1 -1 0
33 JusticeOfWealdAnd_Spell_Jump 13031 0 99 1 33 FEAT_EPIC_TOUGHNESS_5 758 1 -1 0
34 JusticeOfWealdAnd_Longstrider 13032 0 99 1 34 FEAT_EPIC_TOUGHNESS_6 759 1 -1 0
35 JusticeOfWealdAnd_Obscuring_Mist 13033 0 99 1 35 FEAT_EPIC_TOUGHNESS_7 760 1 -1 0
36 JusticeOfWealdAnd_Barkskin 13034 0 99 1 36 FEAT_EPIC_TOUGHNESS_8 761 1 -1 0
37 JusticeOfWealdAnd_BrilliantEnergyArrows 13035 0 99 1 37 FEAT_EPIC_TOUGHNESS_9 762 1 -1 0
38 JusticeOfWealdAnd_Cats_Grace 13036 0 99 1 38 FEAT_EPIC_TOUGHNESS_10 763 1 -1 0
39 JusticeOfWealdAnd_FogCloud 13037 0 99 1 39 Two-Weapon_Rend 3113 1 -1 0
40 JusticeOfWealdAnd_Snare 13038 0 99 1 40 PERFECT_TWO_WEAPON_FIGHTING 4320 1 -1 0
41 JusticeOfWealdAnd_SpellslayerArrow 13039 0 99 1 41 FEAT_EPIC_SUPERIOR_INITIATIVE 753 1 -1 0
42 JusticeOfWealdAnd_Treeshape 13040 0 99 1 42 FEAT_EPIC_PERFECT_HEALTH 747 1 -1 0
43 JusticeOfWealdAnd_ArrowSplit 13041 0 99 1 43 FEAT_Improved_ManyShot 3350 1 -1 0
44 JusticeOfWealdAnd_DarkflameArrow 13042 0 99 1 44 FEAT_EPIC_PROWESS 4056 1 -1 0
45 JusticeOfWealdAnd_Ultravision 13043 0 99 1 45 FAST_HEALING_1 4145 1 -1 0
46 JusticeOfWealdAnd_SerpentArrows 13044 0 99 1 46 FAST_HEALING_2 4146 1 -1 0
47 JusticeOfWealdAnd_Spike_Growth 13045 0 99 1 47 FAST_HEALING_3 4147 1 -1 0
48 JusticeOfWealdAnd_WaterBreathing 13046 0 99 1 48 FEAT_EPIC_GREAT_DEXTERITY_1 784 1 -1 0
49 JusticeOfWealdAnd_BloodfreezeArrow 13047 0 99 1 49 FEAT_EPIC_GREAT_DEXTERITY_2 785 1 -1 0
50 JusticeOfWealdAnd_DoublestrikeArrow 13048 0 99 1 50 FEAT_EPIC_GREAT_DEXTERITY_3 786 1 -1 0
51 JusticeOfWealdAnd_Freedom_of_Movement 13049 0 99 1 51 FEAT_EPIC_GREAT_DEXTERITY_4 787 1 -1 0
52 JusticeOfWealdAnd_Poison 13050 0 99 1 52 FEAT_EPIC_GREAT_DEXTERITY_5 788 1 -1 0
53 JusticeOfWealdAnd_Scrying 13051 0 99 1 53 FEAT_EPIC_GREAT_DEXTERITY_6 789 1 -1 0
54 JusticeOfWealdAnd_ShadowArrow 13052 0 99 1 54 FEAT_EPIC_GREAT_DEXTERITY_7 790 1 -1 0
55 **** **** **** **** **** 55 FEAT_EPIC_GREAT_DEXTERITY_8 791 1 -1 0
56 ####END_OF_NEW_SPELLBOOK_RESERVE **** **** **** **** 56 FEAT_EPIC_GREAT_DEXTERITY_9 792 1 -1 0
57 FEAT_EPIC_GREAT_DEXTERITY_10 793 1 -1 0
58 FEAT_EPIC_GREAT_WISDOM_1 804 1 -1 0
59 FEAT_EPIC_GREAT_WISDOM_2 805 1 -1 0
60 FEAT_EPIC_GREAT_WISDOM_3 806 1 -1 0
61 FEAT_EPIC_GREAT_WISDOM_4 807 1 -1 0
62 FEAT_EPIC_GREAT_WISDOM_5 808 1 -1 0
63 FEAT_EPIC_GREAT_WISDOM_6 809 1 -1 0
64 FEAT_EPIC_GREAT_WISDOM_7 810 1 -1 0
65 FEAT_EPIC_GREAT_WISDOM_8 811 1 -1 0
66 FEAT_EPIC_GREAT_WISDOM_9 812 1 -1 0
67 FEAT_EPIC_GREAT_WISDOM_10 813 1 -1 0
68 FEAT_EPIC_IMPROVED_COMBAT_CASTING 696 1 -1 0
69 DefArrow 8 1 -1 0
70 ImpCritLongBow 63 1 -1 0
71 Manyshot 3306 1 -1 1
72 MountedArchery 1088 1 -1 0
73 RapidShot 30 1 -1 0
74 WeapSpeLongBow 139 1 -1 0
75 EpicWeapSpeLongBow 669 1 -1 0
76 FEAT_EXTEND_SPELL_ABILITY 23595 0 99 1
77 FEAT_SILENT_SPELL_ABILITY 23596 0 99 1
78 FEAT_STILL_SPELL_ABILITY 23597 0 99 1
79 FEAT_EMPOWER_SPELL_ABILITY 23598 0 99 1
80 FEAT_MAXIMIZE_SPELL_ABILITY 23599 0 99 1
81 FEAT_QUICKEN_SPELL_ABILITY 23600 0 99 1
82 SuddenEmpower 2830 0 -1 1
83 SuddenExtend 2831 0 -1 1
84 SuddenMaximize 2832 0 -1 1
85 SuddenWiden 2833 0 -1 1
86 FEAT_ESCHEW_MATERIALS 2596 0 1 0
87 ####START_OF_NEW_SPELLBOOK_RESERVE **** **** **** ****
88 JusticeOfWealdAnd_Camoflage 13027 0 99 1
89 JusticeOfWealdAnd_Endure_Elements 13028 0 99 1
90 JusticeOfWealdAnd_Faerie_Fire 13029 0 99 1
91 JusticeOfWealdAnd_HideFromAnimals 13030 0 99 1
92 JusticeOfWealdAnd_Spell_Jump 13031 0 99 1
93 JusticeOfWealdAnd_Longstrider 13032 0 99 1
94 JusticeOfWealdAnd_Obscuring_Mist 13033 0 99 1
95 JusticeOfWealdAnd_Barkskin 13034 0 99 1
96 JusticeOfWealdAnd_BrilliantEnergyArrows 13035 0 99 1
97 JusticeOfWealdAnd_Cats_Grace 13036 0 99 1
98 JusticeOfWealdAnd_FogCloud 13037 0 99 1
99 JusticeOfWealdAnd_Snare 13038 0 99 1
100 JusticeOfWealdAnd_SpellslayerArrow 13039 0 99 1
101 JusticeOfWealdAnd_Treeshape 13040 0 99 1
102 JusticeOfWealdAnd_ArrowSplit 13041 0 99 1
103 JusticeOfWealdAnd_DarkflameArrow 13042 0 99 1
104 JusticeOfWealdAnd_Ultravision 13043 0 99 1
105 JusticeOfWealdAnd_SerpentArrows 13044 0 99 1
106 JusticeOfWealdAnd_Spike_Growth 13045 0 99 1
107 JusticeOfWealdAnd_WaterBreathing 13046 0 99 1
108 JusticeOfWealdAnd_BloodfreezeArrow 13047 0 99 1
109 JusticeOfWealdAnd_DoublestrikeArrow 13048 0 99 1
110 JusticeOfWealdAnd_Freedom_of_Movement 13049 0 99 1
111 JusticeOfWealdAnd_Poison 13050 0 99 1
112 JusticeOfWealdAnd_Scrying 13051 0 99 1
113 JusticeOfWealdAnd_ShadowArrow 13052 0 99 1
114 **** **** **** **** ****
115 ####END_OF_NEW_SPELLBOOK_RESERVE **** **** **** ****

View File

@ -20,6 +20,9 @@
/* Function prototypes */ /* Function prototypes */
////////////////////////////////////////////////// //////////////////////////////////////////////////
//:: Handles psuedo-Foritifcation
void DoFortification(object oPC = OBJECT_SELF, int nFortification = 25);
/** /**
* Adjusts the base class level (NOT caster level) of the class by any spellcasting PrCs * Adjusts the base class level (NOT caster level) of the class by any spellcasting PrCs
* @param nClass a base casting class (divine or arcane) * @param nClass a base casting class (divine or arcane)
@ -2158,6 +2161,58 @@ int GetControlledCelestialTotalHD(object oPC = OBJECT_SELF)
return nTotalHD; return nTotalHD;
} }
//:: Handles psuedo-Foritifcation
void DoFortification(object oPC = OBJECT_SELF, int nFortification = 25)
{
if(DEBUG) DoDebug("prc_inc_spells >> DoFortification() is running.");
// Get or create the player's skin object
object oHide = GetPCSkin(oPC);
int nRace = GetRacialType(oPC);
//else if (nRace == RACIAL_TYPE_WARFORGED && !GetHasFeat(FEAT_IMPROVED_FORTIFICATION, oPC) && !GetHasFeat(FEAT_UNARMORED_BODY, oPC))
if (nFortification == FORTIFICATION_LIGHT)
{
// Apply immunity properties for 1 seconds
if(DEBUG) DoDebug("Applying Light Fortification");
IPSafeAddItemProperty(oHide, ItemPropertyImmunityMisc(IP_CONST_IMMUNITYMISC_CRITICAL_HITS), 1.0f);
IPSafeAddItemProperty(oHide, ItemPropertyImmunityMisc(IP_CONST_IMMUNITYMISC_BACKSTAB), 1.0f);
// Schedule the next toggle in 4 seconds
DelayCommand(4.0f, DoFortification(oPC, FORTIFICATION_LIGHT));
}
else if (nFortification == FORTIFICATION_MEDIUM) //nRace == RACIAL_TYPE_RETH_DEKALA)
{
// Apply immunity properties for 2 seconds
if(DEBUG) DoDebug("Applying Medium Fortification");
IPSafeAddItemProperty(oHide, ItemPropertyImmunityMisc(IP_CONST_IMMUNITYMISC_CRITICAL_HITS), 2.0f);
IPSafeAddItemProperty(oHide, ItemPropertyImmunityMisc(IP_CONST_IMMUNITYMISC_BACKSTAB), 2.0f);
// Schedule the next toggle in 4 seconds
DelayCommand(4.0f, DoFortification(oPC, FORTIFICATION_MEDIUM));
}
//else if (nRace == RACIAL_TYPE_WARFORGED_CHARGER && !GetHasFeat(FEAT_IMPROVED_FORTIFICATION, oPC) && !GetHasFeat(FEAT_UNARMORED_BODY, oPC))
else if (nFortification == FORTIFICATION_MODERATE)
{
// Apply immunity properties for 3 seconds
if(DEBUG) DoDebug("Applying Moderate Fortification");
IPSafeAddItemProperty(oHide, ItemPropertyImmunityMisc(IP_CONST_IMMUNITYMISC_CRITICAL_HITS), 3.0f);
IPSafeAddItemProperty(oHide, ItemPropertyImmunityMisc(IP_CONST_IMMUNITYMISC_BACKSTAB), 3.0f);
// Schedule the next toggle in 4 seconds
DelayCommand(4.0f, DoFortification(oPC, FORTIFICATION_MODERATE));
}
else if (nFortification == FORTIFICATION_HEAVY)
{
// Apply immunity properties permenently
if(DEBUG) DoDebug("Applying Heavy Fortification");
IPSafeAddItemProperty(oHide, ItemPropertyImmunityMisc(IP_CONST_IMMUNITYMISC_CRITICAL_HITS));
IPSafeAddItemProperty(oHide, ItemPropertyImmunityMisc(IP_CONST_IMMUNITYMISC_BACKSTAB));
}
}
// wrapper for DecrementRemainingSpellUses, works for newspellbook 'fake' spells too // wrapper for DecrementRemainingSpellUses, works for newspellbook 'fake' spells too

View File

@ -401,4 +401,14 @@ const float INTERVAL_BLESSING_OF_DAWN = 15.0;
//Healer //Healer
const int ASSOCIATE_TYPE_CELESTIALCOMPANION = 9; const int ASSOCIATE_TYPE_CELESTIALCOMPANION = 9;
//:://////////////////////////////////////////////
//:: Fortification Constants
//:://////////////////////////////////////////////
const int FORTIFICATION_LIGHT = 25;
const int FORTIFICATION_MEDIUM = 50;
const int FORTIFICATION_MODERATE = 75;
const int FORTIFICATION_HEAVY = 100;
//:: void main (){} //:: void main (){}

View File

@ -5,47 +5,6 @@
#include "prc_inc_spells" #include "prc_inc_spells"
void DoFortification(object oPC)
{
if(DEBUG) DoDebug("race_hb >> DoFortification() is running.");
// Get or create the player's skin object
object oHide = GetPCSkin(oPC);
int nRace = GetRacialType(oPC);
if (nRace == RACIAL_TYPE_RETH_DEKALA)
{
// Apply immunity properties for 2 seconds
if(DEBUG) DoDebug("Applying Fortification");
IPSafeAddItemProperty(oHide, ItemPropertyImmunityMisc(IP_CONST_IMMUNITYMISC_CRITICAL_HITS), 2.0f);
IPSafeAddItemProperty(oHide, ItemPropertyImmunityMisc(IP_CONST_IMMUNITYMISC_BACKSTAB), 2.0f);
// Schedule the next toggle in 4 seconds
DelayCommand(4.0f, DoFortification(oPC));
}
else if (nRace == RACIAL_TYPE_WARFORGED && !GetHasFeat(FEAT_IMPROVED_FORTIFICATION, oPC) && !GetHasFeat(FEAT_UNARMORED_BODY, oPC))
{
// Apply immunity properties for 1 seconds
if(DEBUG) DoDebug("Applying Light Fortification");
IPSafeAddItemProperty(oHide, ItemPropertyImmunityMisc(IP_CONST_IMMUNITYMISC_CRITICAL_HITS), 1.0f);
IPSafeAddItemProperty(oHide, ItemPropertyImmunityMisc(IP_CONST_IMMUNITYMISC_BACKSTAB), 1.0f);
// Schedule the next toggle in 4 seconds
DelayCommand(4.0f, DoFortification(oPC));
}
else if (nRace == RACIAL_TYPE_WARFORGED_CHARGER && !GetHasFeat(FEAT_IMPROVED_FORTIFICATION, oPC) && !GetHasFeat(FEAT_UNARMORED_BODY, oPC))
{
// Apply immunity properties for 3 seconds
if(DEBUG) DoDebug("Applying Moderate Fortification");
IPSafeAddItemProperty(oHide, ItemPropertyImmunityMisc(IP_CONST_IMMUNITYMISC_CRITICAL_HITS), 3.0f);
IPSafeAddItemProperty(oHide, ItemPropertyImmunityMisc(IP_CONST_IMMUNITYMISC_BACKSTAB), 3.0f);
// Schedule the next toggle in 4 seconds
DelayCommand(4.0f, DoFortification(oPC));
}
}
void main() void main()
{ {
object oPC = OBJECT_SELF; object oPC = OBJECT_SELF;
@ -249,16 +208,48 @@ void main()
} }
} }
if (GetRacialType(oPC) == RACIAL_TYPE_WARFORGED && !GetHasFeat(FEAT_IMPROVED_FORTIFICATION, oPC) && !GetHasFeat(FEAT_UNARMORED_BODY, oPC))
if (GetRacialType(oPC) == RACIAL_TYPE_RETH_DEKALA || GetRacialType(oPC) == RACIAL_TYPE_WARFORGED || GetRacialType(oPC) == RACIAL_TYPE_WARFORGED_CHARGER)
{ {
int bFortification = GetLocalInt(oPC, "FORTIFCATION_ACTIVE"); int bFortification = GetLocalInt(oPC, "LIGHT_FORTIFCATION_ACTIVE");
if (!bFortification) if (!bFortification)
{ {
DoFortification(oPC); DoFortification(oPC, FORTIFICATION_LIGHT);
SetLocalInt(oPC, "FORTIFCATION_ACTIVE", 1); SetLocalInt(oPC, "LIGHT_FORTIFCATION_ACTIVE", 1);
if(DEBUG) DoDebug("race_hb >> DoFortification() activated.");
}
}
if (GetRacialType(oPC) == RACIAL_TYPE_RETH_DEKALA)
{
int bFortification = GetLocalInt(oPC, "MED_FORTIFCATION_ACTIVE");
if (!bFortification)
{
DoFortification(oPC, FORTIFICATION_MEDIUM);
SetLocalInt(oPC, "MED_FORTIFCATION_ACTIVE", 1);
if(DEBUG) DoDebug("race_hb >> DoFortification() activated."); if(DEBUG) DoDebug("race_hb >> DoFortification() activated.");
} }
} }
if (GetRacialType(oPC) == RACIAL_TYPE_WARFORGED_CHARGER && !GetHasFeat(FEAT_IMPROVED_FORTIFICATION, oPC) && !GetHasFeat(FEAT_UNARMORED_BODY, oPC))
{
int bFortification = GetLocalInt(oPC, "MOD_FORTIFCATION_ACTIVE");
if (!bFortification)
{
DoFortification(oPC, FORTIFICATION_MODERATE);
SetLocalInt(oPC, "MOD_FORTIFCATION_ACTIVE", 1);
if(DEBUG) DoDebug("race_hb >> DoFortification() activated.");
}
}
if (GetRacialType(oPC) == RACIAL_TYPE_WARFORGED || GetRacialType(oPC) == RACIAL_TYPE_WARFORGED_CHARGER && GetHasFeat(FEAT_IMPROVED_FORTIFICATION, oPC))
{
int bFortification = GetLocalInt(oPC, "HEAVY_FORTIFCATION_ACTIVE");
if (!bFortification)
{
DoFortification(oPC, FORTIFICATION_HEAVY);
SetLocalInt(oPC, "HEAVY_FORTIFCATION_ACTIVE", 1);
if(DEBUG) DoDebug("race_hb >> DoFortification() activated.");
}
}
} }

View File

@ -50,10 +50,55 @@ void DNDamageResist(object oPC, int nLevel)
void main() void main()
{ {
//Declare main variables. //Declare main variables.
object oPC = OBJECT_SELF; int nEvent = GetRunningEvent();
int nClass = GetLevelByClass(CLASS_TYPE_DREAD_NECROMANCER, oPC); object oPC;
switch(nEvent)
{
case EVENT_ITEM_ONHIT: oPC = OBJECT_SELF; break;
case EVENT_ONPLAYEREQUIPITEM: oPC = GetItemLastEquippedBy(); break;
case EVENT_ONPLAYERUNEQUIPITEM: oPC = GetItemLastUnequippedBy(); break;
case EVENT_ONHEARTBEAT: oPC = OBJECT_SELF; break;
//if (GetIsPC(oPC)) ReducedASF(oPC); default:
if(nClass > 1) DNDamageResist(oPC, nClass); oPC = OBJECT_SELF;
if(nClass > 19) ApplyTemplateToObject(TEMPLATE_LICH, oPC); }
int nClass = GetLevelByClass(CLASS_TYPE_DREAD_NECROMANCER, oPC);
if(nEvent == EVENT_ONHEARTBEAT)
{
if (nClass > 16)
{
int bFortification = GetLocalInt(oPC, "MEDIUM_FORTIFCATION_ACTIVE");
if (!bFortification)
{
DoFortification(oPC, FORTIFICATION_MEDIUM);
SetLocalInt(oPC, "MEDIUM_FORTIFCATION_ACTIVE", 1);
if(DEBUG) DoDebug("prc_dreadnecro >> DoFortification() activated.");
}
}
else if (nClass > 9)
{
int bFortification = GetLocalInt(oPC, "LIGHT_FORTIFCATION_ACTIVE");
if (!bFortification)
{
DoFortification(oPC, FORTIFICATION_LIGHT);
SetLocalInt(oPC, "LIGHT_FORTIFCATION_ACTIVE", 1);
if(DEBUG) DoDebug("prc_dreadnecro >> DoFortification() activated.");
}
}
}
else if(nEvent == FALSE)
{
//if (GetIsPC(oPC)) ReducedASF(oPC);
if(nClass > 1) DNDamageResist(oPC, nClass);
if(nClass > 19) ApplyTemplateToObject(TEMPLATE_LICH, oPC);
AddEventScript(oPC, EVENT_ONHEARTBEAT, "prc_dreadnecro", TRUE, FALSE);
}
} }

View File

@ -74157,7 +74157,7 @@ Special:
Spellcasting: The epic Justice of Weald and Woe continues to increase in divine caster level. Spellcasting: The epic Justice of Weald and Woe continues to increase in divine caster level.
Epic Justice of Weald and Woe Bonus Feat List: Epic Justice of Weald and Woe Bonus Feat List:
Deflect Arrows, Eschew Materials, Improved Critical, Many Shot, Mounted Archery, Rapid Shot, Sudden Empower, Sudden Extend, Sudden Maximize, Sudden Widen, Weapon Specialization, Blinding Speed, Epic Endurance, Epic Prowess, Epic Toughness, Epic Weapon Focus, Epic Weapon Specialization, Fast Healing, Great Dexterity, Great Wisdom, Improved Combat Casting, Improved Manyshot, Perfect Health, Perfect Two-Weapon Fighting, Two-Weapon Rend, Superior Initiative. </entry> Armor Skin, Blinding Speed, Devastating Critical (any bow or crossbow), Epic Prowess, Epic Weapon Focus (any bow or crossbow), Epic Weapon Specialization (any bow or crossbow), Fast Healing, Great Dexterity, Great Wisdom, Improved Combat Casting, Improved Manyshot, Overwhelming Critical (any bow or crossbow), Perfect Health, Perfect Two-Weapon Fighting, Superior Initiative, Two-Weapon Rend.</entry>
<entry id="205128" lang="en" sex="m">Epic Acolyte of the Ego</entry> <entry id="205128" lang="en" sex="m">Epic Acolyte of the Ego</entry>
<entry id="205129" lang="en" sex="m"> You speak power into yourself, bending reality with each syllable of your own truename. As your voice grows stronger, so does your form, shifting, resonating, evolving. You are your own source of power, and none may unmake what you have named. <entry id="205129" lang="en" sex="m"> You speak power into yourself, bending reality with each syllable of your own truename. As your voice grows stronger, so does your form, shifting, resonating, evolving. You are your own source of power, and none may unmake what you have named.