Fixed Abjurant Champion marker feat issue
Fixed Abjurant Champion marker feat issue. Fixed icons for Necropolitan & Corrupt Spell Focus. Updated Saint's ability to only allow living saints. Tweaked Heavy Pick & Falchion icon sizes. Updated release archive.
This commit is contained in:
parent
680acc6248
commit
759cd7a242
1
.gitignore
vendored
1
.gitignore
vendored
@ -19,3 +19,4 @@ trunk/compileepic.bat
|
||||
*.erf
|
||||
*.log
|
||||
nwn/nwnprc/trunk/makefile.temp
|
||||
nwn/nwnprc/trunk/makefile.temp
|
||||
|
BIN
Release/PRC8_20240315.7z
Normal file
BIN
Release/PRC8_20240315.7z
Normal file
Binary file not shown.
@ -116,15 +116,15 @@
|
||||
112 83664 craftbase 2 2 0x00000 0 0 it_midmisc 0 1 1 1 it_bag iinvalid_2x2 0 1 0 **** **** **** 0 255 **** **** **** **** 16 0 1 1 83698 29 8 0 15 4 **** **** **** **** **** **** 0 0 5449 0 0 5 **** **** 1 **** **** **** **** 0 1 **** **** **** **** **** **** **** **** **** ****
|
||||
113 **** padding **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
114 **** START_NWNEE_WPN_FEATS **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
115 67252 heavypick 2 3 0x1c030 1 2 wblph 0 1 1 1 it_bag iwblph 0 **** 1 3 **** 1.4 10 255 1 6 1 4 1 8 1 2 16807222 9 8 0 0 1 **** **** **** **** **** 4 0 0 16807223 0 1 60 17 **** **** **** 100 100 0 73 1 24602 24614 24626 24638 24650 24662 24674 24686 **** ****
|
||||
115 67252 heavypick 2 4 0x1c030 1 2 wblph 0 1 1 1 it_bag iwblph 0 **** 1 3 **** 1.4 10 255 1 6 1 4 1 8 1 2 16807222 9 8 0 0 1 **** **** **** **** **** 4 0 0 16807223 0 1 60 17 **** **** **** 100 100 0 73 1 24602 24614 24626 24638 24650 24662 24674 24686 **** ****
|
||||
116 67256 lightpick 1 2 0x1c030 1 2 wblpl 0 1 1 1 it_bag iwblpl 0 **** 1 2 **** 1.1 10 255 1 4 1 4 1 4 1 2 16807225 13 8 0 0 1 **** **** **** **** **** 4 0 0 16807226 0 1 40 2 **** **** **** 100 100 0 27 1 24603 24615 24627 24639 24651 24663 24675 24687 **** 2
|
||||
117 16807227 sai 1 1 0x1C030 0 2 wswsi 0 1 1 1 it_bag iwswsi 0 **** 2 1 **** 1.1 10 255 1 4 2 2 1 3 1 2 16807228 7 8 0 0 1 **** **** **** **** **** 4 0 0 16807229 0 1 10 18 **** **** **** 100 100 0 9 1 24604 24616 24628 24640 24652 24664 24676 24688 1 2
|
||||
118 16807230 nunchaku 1 3 0x1C030 1 2 wblnn 0 1 1 1 it_bag iwblnn 0 **** 2 2 **** 1.4 10 255 1 6 1 2 1 2 1 2 16807231 12 8 0 0 1 **** **** **** **** **** 4 0 0 16807232 0 1 20 3 **** **** **** 100 100 0 74 1 24605 24617 24629 24641 24653 24665 24677 24689 1 2
|
||||
119 16807233 falchion 2 4 0x1C030 1 2 wswfa 0 1 1 1 it_bag iwswfa 0 **** 3 3 **** 1.6 10 255 2 4 3 2 1 75 1 2 16807234 9 8 0 0 1 **** **** **** **** **** 4 0 0 16807235 0 1 80 11 **** **** **** 100 100 0 99 1 24606 24618 24630 24642 24654 24666 24678 24690 **** ****
|
||||
119 16807233 falchion 2 5 0x1C030 1 2 wswfa 0 1 1 1 it_bag iwswfa 0 **** 3 3 **** 1.6 10 255 2 4 3 2 1 75 1 2 16807234 9 8 0 0 1 **** **** **** **** **** 4 0 0 16807235 0 1 80 11 **** **** **** 100 100 0 99 1 24606 24618 24630 24642 24654 24666 24678 24690 **** ****
|
||||
120 16807242 sap 1 1 0x1C030 1 2 wspsp 0 0 0 0 it_bag iwspsp 0 **** 2 2 **** 1.2 10 255 1 6 1 2 1 1 1 2 16807243 13 8 0 0 1 **** **** **** **** **** 4 0 0 16807244 0 1 20 2 **** **** **** 100 100 0 44 1 24607 24619 24631 24643 24655 24667 24679 24691 **** 1
|
||||
121 16807248 katar 1 1 0x1C030 1 2 wswdp 0 1 1 1 it_bag iwswdp 0 **** 1 1 **** 1.1 10 255 1 4 1 3 1 2 1 2 16807249 7 8 0 0 1 **** **** **** **** **** 4 0 0 16807250 0 1 10 11 **** **** **** 50 50 50 77 1 24608 24620 24632 24644 24656 24668 24680 24692 **** 1
|
||||
122 16807269 heavy_mace 1 3 0x1C030 1 2 wxblmh 0 1 1 1 it_bag iwxblmh 0 **** 2 3 **** 1.2 10 255 1 8 1 2 1 6 1 2 16807270 14 8 0 0 1 **** **** **** **** **** 4 0 0 16807271 0 1 80 2 **** **** **** 100 100 0 99 1 24609 24621 24633 24645 24657 24669 24681 24693 **** ****
|
||||
123 16807272 maul 2 4 0x1C030 1 2 wxblma 0 1 1 1 it_bag iwxblma 0 **** 2 3 **** 1.2 10 255 1 10 1 3 1 8 1 2 16807273 14 8 0 0 1 **** **** **** **** **** 4 0 0 16807274 0 1 200 12 **** **** **** 100 100 0 99 1 24610 24622 24634 24646 24658 24670 24682 24694 **** ****
|
||||
123 16807272 maul 2 5 0x1C030 1 2 wxblma 0 1 1 1 it_bag iwxblma 0 **** 2 3 **** 1.2 10 255 1 10 1 3 1 8 1 2 16807273 14 8 0 0 1 **** **** **** **** **** 4 0 0 16807274 0 1 200 12 **** **** **** 100 100 0 99 1 24610 24622 24634 24646 24658 24670 24682 24694 **** ****
|
||||
124 16807275 scimitar_double 2 5 0x1c010 1 2 wxdbsc 0 1 1 1 it_bag iwxdbsc 0 8 3 4 **** 1.5 10 255 1 6 3 2 1 63 1 2 16807276 10 8 0 0 1 **** **** **** **** **** 4 0 0 16807277 0 1 150 11 **** **** **** 50 50 50 99 1 24611 24623 24635 24647 24659 24671 24683 24695 **** ****
|
||||
125 16807284 goad 1 2 0x1C030 0 2 wspgd 0 1 1 1 it_bag iwspgd 0 **** 1 2 **** 1.1 10 255 1 6 1 2 1 6 1 2 16807285 8 8 0 0 1 **** **** **** **** **** 4 0 0 16807286 0 1 30 18 **** **** **** 35 35 65 22 1 24612 24624 24636 24348 24660 24672 24684 24596 **** 2
|
||||
126 16793718 eagleclaw 1 2 0x1C030 1 2 wswec 0 1 1 1 it_bag iwswec 0 **** 4 2 **** 1.2 10 255 1 6 3 2 1 20 1 2 16793719 8 8 0 0 1 **** **** **** **** **** 4 0 0 16793720 0 1 20 1 **** **** **** 35 35 65 19 1 24721 24722 24723 24724 24725 24726 24727 24728 **** 2
|
||||
|
@ -5273,7 +5273,7 @@
|
||||
5269 HauntingMelody 16835021 16835022 is_X1Dirge **** **** **** **** **** **** **** **** 257 **** 0 0 1 **** **** 2722 **** 0.5 -1 **** **** **** **** **** **** **** 11 9 **** **** FEAT_HEX_SWIFT 5 0 **** **** **** **** 0 1
|
||||
5270 Deformity_Skin 16835033 16835034 ife_X2ArSkin **** **** **** **** **** **** **** **** 4408 **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** FEAT_BLADE_MEDITATION **** **** **** **** **** **** **** 1
|
||||
5271 GreaterCorruptSpellFocus 16835019 16835020 tg_hungryskull **** **** **** **** **** **** **** **** 5272 **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** FEAT_BLADE_MEDITATION **** **** **** **** **** **** **** 1
|
||||
5272 CorruptSpellFocus 16835017 16835018 tg_necro **** **** **** **** **** **** **** **** **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** FEAT_BLADE_MEDITATION **** **** **** **** **** **** **** 1
|
||||
5272 CorruptSpellFocus 16835017 16835018 tg_bigskull **** **** **** **** **** **** **** **** **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** FEAT_BLADE_MEDITATION **** **** **** **** **** **** **** 1
|
||||
5273 ShieldWall 16835015 16835016 ife_x3_pdkhshld **** **** **** **** **** **** **** **** 32 **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** FEAT_BLADE_MEDITATION **** **** **** **** **** **** **** 1
|
||||
5274 GreatDiplomat 16835013 16835014 ife_X2EpicRepu **** **** **** **** **** **** **** **** **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** FEAT_BLADE_MEDITATION **** **** **** **** **** **** **** 1
|
||||
5275 Ecclesiarch 16835011 16835012 ife_X2EpicRepu **** **** **** **** **** **** **** **** **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** **** 7 6 **** **** FEAT_BLADE_MEDITATION **** **** **** **** **** **** **** 1
|
||||
@ -18095,13 +18095,12 @@
|
||||
18091 FEAT_OLLAM_MYSTERY_SHADOWSMITH 16852657 16852688 IR_TEMPUS **** **** **** **** **** **** **** **** **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** FEAT_OLLAM_MYSTERY_SHADOWSMITH 6 0 1 98 **** **** 0 0
|
||||
18092 FEAT_TIAMAT_MYSTERY_SHADOWSMITH 16852658 16852688 IR_TEMPUS **** **** **** **** **** **** **** **** **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** FEAT_TIAMAT_MYSTERY_SHADOWSMITH 6 0 1 98 **** **** 0 0
|
||||
18093 FEAT_ORCUS_MYSTERY_SHADOWSMITH 16852659 16852688 IR_TEMPUS **** **** **** **** **** **** **** **** **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** FEAT_ORCUS_MYSTERY_SHADOWSMITH 6 0 1 98 **** **** 0 0
|
||||
18094 FEAT_ALIEN_NONE 16852660 16852689 IR_NOPE **** **** **** **** **** **** **** **** **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** FEAT_ALIEN_NONE 6 0 1 **** **** **** 0 0
|
||||
18094 FEAT_ALIENIST_NONE 16852660 16852689 IR_NOPE **** **** **** **** **** **** **** **** **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** FEAT_ALIEN_NONE 6 0 1 **** **** **** 0 0
|
||||
18095 FEAT_DRAGONSONG_NONE 16852661 16852689 IR_NOPE **** **** **** **** **** **** **** **** **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** FEAT_DRAGONSONG_NONE 6 0 1 **** **** **** 0 0
|
||||
18096 FEAT_ESAVANT_NONE 16852662 16852689 IR_NOPE **** **** **** **** **** **** **** **** **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** FEAT_ESAVANT_NONE 6 0 1 **** **** **** 0 0
|
||||
18097 FEAT_MYSTICTHEURGE_NONE 16852663 16852689 IR_NOPE **** **** **** **** **** **** **** **** **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** FEAT_MYSTICTHEURGE_NONE 6 0 1 **** **** **** 0 0
|
||||
18098 FEAT_OLLAM_NONE 16852664 16852689 IR_NOPE **** **** **** **** **** **** **** **** **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** FEAT_OLLAM_NONE 6 0 1 **** **** **** 0 0
|
||||
18099 FEAT_ORCUS_NONE 16852665 16852689 IR_NOPE **** **** **** **** **** **** **** **** **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** FEAT_ORCUS_NONE 6 0 1 **** **** **** 0 0
|
||||
18100 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
18101 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
18102 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
18103 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
@ -22624,7 +22623,7 @@
|
||||
22620 Half_Celestial_Resurrection 903 6247 is_Resurrec **** **** **** **** **** **** **** **** **** **** 0 0 0 **** 1 16322 **** 1 1 **** **** **** **** **** **** **** **** **** **** **** FEAT_TEMPLATE_HALF_CELESTIAL_RESURRECTION 5 0 **** **** **** **** 0 0
|
||||
22621 Half_Celestial_Daylight 16832214 16832215 is_dawn **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 16323 **** **** **** **** **** **** **** **** **** **** **** **** **** **** FEAT_TEMPLATE_HALF_CELESTIAL_DAYLIGHT **** **** **** **** **** **** **** 0
|
||||
22622 Half_Celestial_Marker 16847224 16847225 **** **** **** **** **** **** **** **** **** **** **** 0 0 0 **** 1 **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_TEMPLATE_HALF_CELESTIAL_MARKER 5 0 **** **** **** **** 0 1
|
||||
22623 Necropolitan_Marker 16847637 16847638 **** **** **** **** **** **** **** **** **** **** **** 0 0 0 **** 1 **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_TEMPLATE_NECROPOLITAN_MARKER 5 0 **** **** **** **** 0 1
|
||||
22623 Necropolitan_Marker 16847637 16847638 tg_bigskull **** **** **** **** **** **** **** **** **** **** 0 0 0 **** 1 **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_TEMPLATE_NECROPOLITAN_MARKER 5 0 **** **** **** **** 0 1
|
||||
22624 Half_Fiendish_Smite_Good 3779 16847221 ife_X1SmGood **** **** **** **** **** **** **** **** **** **** 0 0 0 22 1 16324 **** 1 1 **** **** **** **** **** **** **** **** **** **** **** FEAT_TEMPLATE_HALF_FIENDISH_SMITE_EVIL 5 1 **** **** **** **** 0 1
|
||||
22625 Half_Fiendish_Darkness 786 6132 is_Darkness **** **** **** **** **** **** **** **** **** **** 0 0 0 **** 1 16325 **** 1 3 **** **** **** **** **** **** **** **** **** **** **** FEAT_TEMPLATE_HALF_FIENDISH_DARKNESS 5 0 **** **** **** **** 0 0
|
||||
22626 Half_Fiendish_Desecrate **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 0
|
||||
|
@ -4280,28 +4280,29 @@ const int FEAT_TIAMAT_MYSTERY_SHADOWSMITH = 18092;
|
||||
const int FEAT_ORCUS_MYSTERY_SHADOWSMITH = 18093;
|
||||
|
||||
//:: None marker feats
|
||||
const int FEAT_ABCHAMP_NONE = 18034;
|
||||
const int FEAT_AOTS_NONE = 18035;
|
||||
const int FEAT_ANIMA_NONE = 18036;
|
||||
const int FEAT_ARCTRICK_NONE = 18037;
|
||||
const int FEAT_BLDMAGUS_NONE = 18038;
|
||||
const int FEAT_ASMODEUS_NONE = 18039;
|
||||
const int FEAT_ENLIGHTENEDFIST_NONE = 18040;
|
||||
const int FEAT_MAESTER_NONE = 18041;
|
||||
const int FEAT_TIAMAT_NONE = 18042;
|
||||
const int FEAT_UNSEEN_NONE = 18043;
|
||||
const int FEAT_VIRTUOSO_NONE = 18044;
|
||||
const int FEAT_WILDMAGE_NONE = 18045;
|
||||
const int FEAT_ABCHAMP_NONE = 18036;
|
||||
const int FEAT_AOTS_NONE = 18037;
|
||||
const int FEAT_ANIMA_NONE = 18038;
|
||||
const int FEAT_ARCTRICK_NONE = 18039;
|
||||
const int FEAT_BLDMAGUS_NONE = 18040;
|
||||
const int FEAT_ASMODEUS_NONE = 18041;
|
||||
const int FEAT_ENLIGHTENEDFIST_NONE = 18042;
|
||||
const int FEAT_MAESTER_NONE = 18043;
|
||||
const int FEAT_TIAMAT_NONE = 18044;
|
||||
const int FEAT_UNSEEN_NONE = 18045;
|
||||
const int FEAT_VIRTUOSO_NONE = 18046;
|
||||
const int FEAT_WILDMAGE_NONE = 18047;
|
||||
|
||||
const int FEAT_ALIENIST_NONE = 18094;
|
||||
const int FEAT_DRAGONSONG_NONE = 18095;
|
||||
const int FEAT_ESAVANT_NONE = 18096;
|
||||
const int FEAT_MYSTICTHEURGE_NONE = 18097;
|
||||
const int FEAT_OLLAM_NONE = 18098;
|
||||
const int FEAT_ORCUS_NONE = 18099;
|
||||
|
||||
const int FEAT_SANCTIFIED_MIND_MANIFEST_NONE = 18173;
|
||||
const int FEAT_SOULCASTER_MANIFEST_NONE = 18174;
|
||||
|
||||
const int FEAT_ALIENIST_NONE = 18095;
|
||||
const int FEAT_CHILDNIGHT_NONE = 18096;
|
||||
const int FEAT_DRAGONSONG_NONE = 18097;
|
||||
const int FEAT_ESAVANT_NONE = 18098;
|
||||
const int FEAT_MASTERSHADOW_NONE = 18099;
|
||||
const int FEAT_MYSTICTHEURGE_NONE = 18100;
|
||||
const int FEAT_NOCTUMANCER_NONE = 18101;
|
||||
const int FEAT_OLLAM_NONE = 18102;
|
||||
const int FEAT_ORCUS_NONE = 18103;
|
||||
|
||||
//:: Fist of Zuoken marker feats
|
||||
const int FEAT_CEREBREMANCER_MANIFEST_FOZ = 18130;
|
||||
@ -4357,10 +4358,3 @@ const int FEAT_PSYCHIC_THEURGE_MANIFEST_WILDER = 18169;
|
||||
const int FEAT_SANCTIFIED_MIND_MANIFEST_WILDER = 18170;
|
||||
const int FEAT_SHADOWMIND_MANIFEST_WILDER = 18171;
|
||||
const int FEAT_SOULCASTER_MANIFEST_WILDER = 18172;
|
||||
|
||||
//: Other Psionic marker feats
|
||||
const int FEAT_SANCTIFIED_MIND_MANIFEST_NONE = 18173;
|
||||
const int FEAT_SOULCASTER_MANIFEST_NONE = 18174;
|
||||
|
||||
|
||||
|
||||
|
@ -6838,7 +6838,6 @@ epicspellobjs\wander_unseen.ncs
|
||||
2das\disease.2da \
|
||||
2das\dmgxp.2da \
|
||||
2das\domains.2da \
|
||||
2das\ds_feat.2da \
|
||||
2das\ecl.2da \
|
||||
2das\effecticons.2da \
|
||||
2das\encounter_areas.2da \
|
||||
|
@ -109,21 +109,25 @@ int AbjurantChampionMarkerFeats()
|
||||
{
|
||||
if(GetLevelByClass(CLASS_TYPE_ABJURANT_CHAMPION))
|
||||
{
|
||||
int nAbChamp = GetHasFeat(FEAT_ABCHAMP_INVOKING_WARLOCK)
|
||||
+ GetHasFeat(FEAT_ABCHAMP_INVOKING_DFA)
|
||||
+ GetHasFeat(FEAT_ABCHAMP_INVOKING_DRAGON_SHAMAN)
|
||||
+ GetHasFeat(FEAT_ABCHAMP_NONE);
|
||||
int nAbChamp;
|
||||
|
||||
nAbChamp =+ GetHasFeat(FEAT_ABCHAMP_INVOKING_WARLOCK);
|
||||
nAbChamp =+ GetHasFeat(FEAT_ABCHAMP_INVOKING_DFA);
|
||||
nAbChamp =+ GetHasFeat(FEAT_ABCHAMP_INVOKING_DRAGON_SHAMAN);
|
||||
nAbChamp =+ GetHasFeat(FEAT_ABCHAMP_NONE);
|
||||
|
||||
//FloatingTextStringOnCreature("nAbChamp = " + IntToString(nAbChamp), OBJECT_SELF, FALSE);
|
||||
|
||||
if(nAbChamp > 1)
|
||||
{
|
||||
FloatingTextStringOnCreature("An Abjurant Champion may only advance a single arcane or invoker class.", OBJECT_SELF, FALSE);
|
||||
FloatingTextStringOnCreature("An Abjurant Champion may only advance a single invoker class, or N/A for arcane spellcasting.", OBJECT_SELF, FALSE);
|
||||
FloatingTextStringOnCreature("Please reselect your feats.", OBJECT_SELF, FALSE);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
if(nAbChamp < 1)
|
||||
{
|
||||
FloatingTextStringOnCreature("A Abjurant Champion must pick one arcane or invoker class to advance at first level.", OBJECT_SELF, FALSE);
|
||||
FloatingTextStringOnCreature("A Abjurant Champion must pick an invoker class to advance at first level, or pick N/A for an arcane spellcaster.", OBJECT_SELF, FALSE);
|
||||
FloatingTextStringOnCreature("Please reselect your feats.", OBJECT_SELF, FALSE);
|
||||
return TRUE;
|
||||
}
|
||||
@ -609,7 +613,7 @@ int MaesterMarkerFeats()
|
||||
//:: Enforces Master of Shadows marker feats
|
||||
int MasterShadowMarkerFeats()
|
||||
{
|
||||
if(GetLevelByClass(CLASS_TYPE_MAGEKILLER))
|
||||
if(GetLevelByClass(CLASS_TYPE_MASTER_OF_SHADOW))
|
||||
{
|
||||
int nShadow = GetHasFeat(FEAT_MASTERSHADOW_MYSTERY_SHADOWCASTER)
|
||||
+ GetHasFeat(FEAT_MASTERSHADOW_MYSTERY_SHADOWSMITH);
|
||||
|
@ -82,21 +82,25 @@ void main()
|
||||
//:: Not being called from an event but from EvalPRCFeats. No non-good Saints.
|
||||
if(nEvent == FALSE && GetAlignmentGoodEvil(oPC) == ALIGNMENT_GOOD)
|
||||
{
|
||||
|
||||
//:: Any living creature of good alignment that is not an outsider or an elemental
|
||||
int nRace = MyPRCGetRacialType(oPC);
|
||||
if(!(nRace == RACIAL_TYPE_CONSTRUCT ||
|
||||
nRace == RACIAL_TYPE_ELEMENTAL ||
|
||||
nRace == RACIAL_TYPE_OOZE ||
|
||||
nRace == RACIAL_TYPE_OUTSIDER ||
|
||||
nRace == RACIAL_TYPE_UNDEAD))
|
||||
{
|
||||
//:: Add Darkvision
|
||||
ipIP = ItemPropertyDarkvision();
|
||||
IPSafeAddItemProperty(oSkin, ipIP, 0.0, X2_IP_ADDPROP_POLICY_KEEP_EXISTING, FALSE, FALSE);
|
||||
|
||||
|
||||
//:: Add Low-Light Vision
|
||||
ipIP = PRCItemPropertyBonusFeat(IP_CONST_FEAT_LOWLIGHT_VISION);
|
||||
IPSafeAddItemProperty(oSkin, ipIP, 0.0, X2_IP_ADDPROP_POLICY_KEEP_EXISTING, FALSE, FALSE);
|
||||
|
||||
|
||||
//:: Wisdom based AC bonus
|
||||
SetCompositeBonus(oSkin, "Template_Saint_AC", iWISb, ITEM_PROPERTY_AC_BONUS);
|
||||
|
||||
|
||||
//:: Hit Die based Damage Reduction
|
||||
if (iHD >= 12)
|
||||
{
|
||||
@ -118,7 +122,6 @@ void main()
|
||||
|
||||
else if (iHD <= 3) {/*:: you get nothing! */}
|
||||
|
||||
|
||||
//:: Set HD based Fast Healing
|
||||
//ebonfowl: I think this is supposed to be HD/2 to a max of 10
|
||||
int nFastHealing = iHD/2;
|
||||
@ -131,7 +134,6 @@ void main()
|
||||
IPSafeAddItemProperty(oSkin, ipIP, 0.0, X2_IP_ADDPROP_POLICY_KEEP_EXISTING, FALSE, FALSE);
|
||||
SetSubRace(oPC, "Outsider (Native)");
|
||||
|
||||
|
||||
//:: Set Acid Immunity
|
||||
ipIP = ItemPropertyDamageImmunity(IP_CONST_DAMAGETYPE_ACID,IP_CONST_DAMAGEIMMUNITY_100_PERCENT);
|
||||
IPSafeAddItemProperty(oSkin, ipIP, 0.0, X2_IP_ADDPROP_POLICY_KEEP_EXISTING, FALSE, FALSE);
|
||||
@ -177,14 +179,12 @@ void main()
|
||||
ipIP = ItemPropertySpellImmunitySpecific(247); //:: Gorgon Mask
|
||||
IPSafeAddItemProperty(oSkin, ipIP, 0.0, X2_IP_ADDPROP_POLICY_KEEP_EXISTING, FALSE, FALSE);
|
||||
|
||||
|
||||
//:: Set Ability Score Bonuses
|
||||
SetCompositeBonus(oSkin, "Template_Saint_con", 2, ITEM_PROPERTY_ABILITY_BONUS, IP_CONST_ABILITY_CON);
|
||||
SetCompositeBonus(oSkin, "Template_Saint_int", 2, ITEM_PROPERTY_ABILITY_BONUS, IP_CONST_ABILITY_INT);
|
||||
SetCompositeBonus(oSkin, "Template_Saint_wis", 2, ITEM_PROPERTY_ABILITY_BONUS, IP_CONST_ABILITY_WIS);
|
||||
SetCompositeBonus(oSkin, "Template_Saint_cha", 4, ITEM_PROPERTY_ABILITY_BONUS, IP_CONST_ABILITY_CHA);
|
||||
|
||||
|
||||
//:: Setup Spell-like abilities & Holy Power marker feat
|
||||
ipIP = PRCItemPropertyBonusFeat(IP_CONST_FEAT_TEMPLATE_SAINT_SLA_BLESS);
|
||||
IPSafeAddItemProperty(oSkin, ipIP, 0.0, X2_IP_ADDPROP_POLICY_KEEP_EXISTING, FALSE, FALSE);
|
||||
@ -214,8 +214,6 @@ void main()
|
||||
}
|
||||
else
|
||||
{
|
||||
//ebonfowl: strange that it compiled with this object redefined here
|
||||
//object oSkin = GetPCSkin(oPC);
|
||||
IPSafeAddItemProperty(oSkin, iHolyTouch, 0.0f, X2_IP_ADDPROP_POLICY_REPLACE_EXISTING, FALSE, FALSE);
|
||||
}
|
||||
|
||||
@ -263,6 +261,7 @@ void main()
|
||||
AddEventScript(oPC, EVENT_ONHIT, "tmp_m_saint", TRUE, FALSE);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
//:: We're being called from the OnHit eventhook
|
||||
else if(nEvent == EVENT_ONHIT)
|
||||
@ -299,86 +298,4 @@ void main()
|
||||
}
|
||||
}
|
||||
//:: END IF - Running OnHit event
|
||||
|
||||
//:: We are called from the OnPlayerEquipItem eventhook. Add OnHitCast: Unique Power to oPC's weapon
|
||||
/* else if(nEvent == EVENT_ONPLAYEREQUIPITEM)
|
||||
{
|
||||
oPC = GetItemLastEquippedBy();
|
||||
oItem = GetItemLastEquipped();
|
||||
if(DEBUG) DoDebug("tmp_m_gravetouch - OnEquip\n"
|
||||
+ "oPC = " + DebugObject2Str(oPC) + "\n"
|
||||
+ "oItem = " + DebugObject2Str(oItem) + "\n"
|
||||
);
|
||||
|
||||
object oWeapon = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC);
|
||||
|
||||
effect eEffect1 = VersusAlignmentEffect(EffectDamageIncrease(7, DAMAGE_TYPE_DIVINE), 0, ALIGNMENT_EVIL);
|
||||
effect eEffect2 = VersusAlignmentEffect(EffectDamageIncrease(DAMAGE_BONUS_2, DAMAGE_TYPE_DIVINE), 0, ALIGNMENT_EVIL);
|
||||
eEffect2 = VersusRacialTypeEffect(eEffect2, RACIAL_TYPE_OUTSIDER);
|
||||
effect eEffect3 = VersusAlignmentEffect(EffectDamageIncrease(DAMAGE_BONUS_2, DAMAGE_TYPE_DIVINE), 0, ALIGNMENT_EVIL);
|
||||
eEffect3 = VersusRacialTypeEffect(eEffect3, RACIAL_TYPE_UNDEAD);
|
||||
effect eLink = EffectLinkEffects(eEffect1, eEffect2);
|
||||
eLink = EffectLinkEffects(eLink, eEffect3);
|
||||
eLink = SupernaturalEffect(eLink);
|
||||
eLink = TagEffect(eLink, "EffectHolyTouch");
|
||||
|
||||
//:: Clear the effect to be safe and prevent stacking
|
||||
effect eCheckEffect = GetFirstEffect(oPC);
|
||||
|
||||
while (GetIsEffectValid(eCheckEffect))
|
||||
{
|
||||
if (GetEffectTag(eCheckEffect) == "EffectHolyTouch")
|
||||
{
|
||||
RemoveEffect(oPC, eCheckEffect);
|
||||
}
|
||||
eCheckEffect = GetNextEffect(oPC);
|
||||
}
|
||||
|
||||
//:: Check if equipped with a ranged weapon and apply effect again if not
|
||||
if (!GetWeaponRanged(oWeapon))
|
||||
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eLink, oPC);
|
||||
|
||||
}
|
||||
//:: END IF - Running OnPlayerEquipItem event */
|
||||
|
||||
//:: We are called from the OnPlayerUnEquipItem eventhook. Remove OnHitCast: Unique Power from oPC's weapon
|
||||
/* else if(nEvent == EVENT_ONPLAYERUNEQUIPITEM)
|
||||
{
|
||||
oPC = GetItemLastUnequippedBy();
|
||||
oItem = GetItemLastUnequipped();
|
||||
if(DEBUG) DoDebug("tmp_m_gravetouch - OnUnEquip\n"
|
||||
+ "oPC = " + DebugObject2Str(oPC) + "\n"
|
||||
+ "oItem = " + DebugObject2Str(oItem) + "\n"
|
||||
);
|
||||
|
||||
object oWeapon = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPC);
|
||||
|
||||
effect eEffect1 = VersusAlignmentEffect(EffectDamageIncrease(7, DAMAGE_TYPE_DIVINE), 0, ALIGNMENT_EVIL);
|
||||
effect eEffect2 = VersusAlignmentEffect(EffectDamageIncrease(DAMAGE_BONUS_2, DAMAGE_TYPE_DIVINE), 0, ALIGNMENT_EVIL);
|
||||
eEffect2 = VersusRacialTypeEffect(eEffect2, RACIAL_TYPE_OUTSIDER);
|
||||
effect eEffect3 = VersusAlignmentEffect(EffectDamageIncrease(DAMAGE_BONUS_2, DAMAGE_TYPE_DIVINE), 0, ALIGNMENT_EVIL);
|
||||
eEffect3 = VersusRacialTypeEffect(eEffect3, RACIAL_TYPE_UNDEAD);
|
||||
effect eLink = EffectLinkEffects(eEffect1, eEffect2);
|
||||
eLink = EffectLinkEffects(eLink, eEffect3);
|
||||
eLink = SupernaturalEffect(eLink);
|
||||
eLink = TagEffect(eLink, "EffectHolyTouch");
|
||||
|
||||
//:: Clear the effect to be safe and prevent stacking
|
||||
effect eCheckEffect = GetFirstEffect(oPC);
|
||||
|
||||
while (GetIsEffectValid(eCheckEffect))
|
||||
{
|
||||
if (GetEffectTag(eCheckEffect) == "EffectHolyTouch")
|
||||
{
|
||||
RemoveEffect(oPC, eCheckEffect);
|
||||
}
|
||||
eCheckEffect = GetNextEffect(oPC);
|
||||
}
|
||||
|
||||
//:: Check if equipped with a ranged weapon and apply effect again if not
|
||||
if (!GetWeaponRanged(oWeapon))
|
||||
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eLink, oPC);
|
||||
}
|
||||
//:: END IF - Running OnPlayerUnEquipItem event */
|
||||
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user