Changed UserType for ToB Maneuvers
Changed UserType for ToB Maneuvers. Removed free Imp Combat Casting from ToB base classes. Fixed typo in Arcane Trickster skill list. Fixed bad value in damagehitvisual.2da. Fixed typos in ecl.2da. Fixed targeting bug with Profane Lifeleech. Started working on updated materials system. Fixed overlong filenames in materialcomp.2da and prc_spells.2da. Fixed typo in prc_effect_inc.nss. Added Daylight Adaptation as iprp_feat. Fixed issue where Karsite's couldn't use spell cast from magical items. Added missing Reth Dekala entangling blade. Added Light Fortification for Warforged. Added Fortification for Reth Dekala. Added moderate fortification for Warforged Charger. Removed Imp. Fortification from races that shouldn't have it. Fixed missing Monstrous marker feat on Yuan-Ti Pureblood. Updated TLK. Updated release archive.
This commit is contained in:
@@ -51,7 +51,7 @@
|
||||
47 **** 0 **** **** ****
|
||||
48 **** 0 **** **** ****
|
||||
49 **** 0 **** **** ****
|
||||
50 Drider 4 Abberation 11 6
|
||||
50 Drider 4 Aberration 11 6
|
||||
51 Wemic 3 MonsterousHumanoid 15 4
|
||||
52 Plant **** **** **** ****
|
||||
53 Brownie 4 **** **** ****
|
||||
@@ -75,7 +75,7 @@
|
||||
71 Hadrimoi 4 MonsterousHumanoid 15 9
|
||||
72 RedspawnArcaniss 4 MonsterousHumanoid 15 8
|
||||
73 Gloura 2 Fey 17 7
|
||||
74 Muckdweller **** **** **** ****
|
||||
74 Muckdweller 0 Humanoid 14 ****
|
||||
75 Aranea 4 Shapechanger 25 3
|
||||
76 Chitine 2 MonsterousHumanoid 15 2
|
||||
77 SpiretopDragon 2 Dragon 18 2
|
||||
@@ -247,7 +247,7 @@
|
||||
243 Spirit_Folk **** **** **** ****
|
||||
244 Killoren 0 **** **** ****
|
||||
245 **** 0 **** **** ****
|
||||
246 **** 0 **** **** ****
|
||||
246 **** **** **** **** ****
|
||||
247 **** **** **** **** ****
|
||||
248 Poison_Dusk 1 **** **** ****
|
||||
249 Dromite 1 **** **** ****
|
||||
|
@@ -1,193 +1,226 @@
|
||||
2DA V2.0
|
||||
|
||||
FeatLabel FeatIndex List GrantedOnLevel OnMenu
|
||||
0 ArmProfLgt 3 3 1 0
|
||||
1 WeapProfSim_Dart 7914 3 1 0
|
||||
2 WeapProfMar_Rapier 7924 3 1 0
|
||||
3 WeapProfMar_Shortbow 7910 3 1 0
|
||||
4 WeapProfMar_Shortsword 7901 3 1 0
|
||||
5 WP_Goad 7949 3 1 0
|
||||
6 WP_Heavy_Mace 7946 3 1 0
|
||||
7 WP_Katar 7945 3 1 0
|
||||
8 WP_Sap 7944 3 1 0
|
||||
9 WP_Sai 7941 3 1 0
|
||||
10 PoisonUse 960 3 1 0
|
||||
11 FEAT_PRESTIGE_ASSN_DEATH_ATTACK 2930 3 1 1
|
||||
12 FEAT_PRESTIGE_DEATH_ATTACK_1 455 3 1 0
|
||||
13 FEAT_PRESTIGE_UNCANNY_DODGE_1 195 3 2 0
|
||||
14 FEAT_PRESTIGE_POISON_SAVE_1 463 3 2 0
|
||||
15 FEAT_PRESTIGE_DEATH_ATTACK_2 456 3 3 0
|
||||
16 FEAT_PRESTIGE_POISON_SAVE_2 464 3 4 0
|
||||
17 FEAT_PRESTIGE_DEATH_ATTACK_3 457 3 5 0
|
||||
18 FEAT_PRESTIGE_UNCANNY_DODGE_2 251 3 5 0
|
||||
19 FEAT_PRESTIGE_POISON_SAVE_3 465 3 6 0
|
||||
20 FEAT_PRESTIGE_DEATH_ATTACK_4 458 3 7 0
|
||||
21 FEAT_PRESTIGE_POISON_SAVE_4 466 3 8 0
|
||||
22 FEAT_HIPS 433 3 8 1
|
||||
23 FEAT_PRESTIGE_DEATH_ATTACK_5 459 3 9 0
|
||||
24 FEAT_PRESTIGE_UNCANNY_DODGE_3 252 3 10 0
|
||||
25 FEAT_PRESTIGE_POISON_SAVE_5 467 3 10 0
|
||||
26 FEAT_EPIC_ASSASSIN 978 3 11 0
|
||||
27 FEAT_PRESTIGE_DEATH_ATTACK_6 1004 3 11 0
|
||||
28 FEAT_PRESTIGE_POISON_SAVE_EPIC 1070 3 12 0
|
||||
29 FEAT_PRESTIGE_DEATH_ATTACK_7 1005 3 13 0
|
||||
30 FEAT_PRESTIGE_DEATH_ATTACK_8 1006 3 15 0
|
||||
31 FEAT_PRESTIGE_DEATH_ATTACK_9 1019 3 17 0
|
||||
32 FEAT_PRESTIGE_DEATH_ATTACK_10 1020 3 19 0
|
||||
33 FEAT_PRESTIGE_DEATH_ATTACK_11 1021 3 21 0
|
||||
34 FEAT_PRESTIGE_DEATH_ATTACK_12 1022 3 23 0
|
||||
35 FEAT_PRESTIGE_DEATH_ATTACK_13 1023 3 25 0
|
||||
36 FEAT_PRESTIGE_DEATH_ATTACK_14 1024 3 27 0
|
||||
37 FEAT_PRESTIGE_DEATH_ATTACK_15 1025 3 29 0
|
||||
38 FEAT_PRESTIGE_DEATH_ATTACK_16 1026 3 31 0
|
||||
39 FEAT_PRESTIGE_DEATH_ATTACK_17 1027 3 33 0
|
||||
40 FEAT_PRESTIGE_DEATH_ATTACK_18 1028 3 35 0
|
||||
41 FEAT_PRESTIGE_DEATH_ATTACK_19 1029 3 37 0
|
||||
42 FEAT_PRESTIGE_DEATH_ATTACK_20 1030 3 39 0
|
||||
43 TwoWeap 41 0 -1 0
|
||||
44 Ambidex 1 0 -1 0
|
||||
45 DefArrow 8 0 -1 0
|
||||
46 FEAT_EPIC_IMPROVED_COMBAT_CASTING 696 1 -1 0
|
||||
47 FEAT_EPIC_SUPERIOR_INITIATIVE 753 1 -1 0
|
||||
48 FEAT_EPIC_GREAT_DEXTERITY_1 784 1 -1 0
|
||||
49 FEAT_EPIC_GREAT_DEXTERITY_2 785 1 -1 0
|
||||
50 FEAT_EPIC_GREAT_DEXTERITY_3 786 1 -1 0
|
||||
51 FEAT_EPIC_GREAT_DEXTERITY_4 787 1 -1 0
|
||||
52 FEAT_EPIC_GREAT_DEXTERITY_5 788 1 -1 0
|
||||
53 FEAT_EPIC_GREAT_DEXTERITY_6 789 1 -1 0
|
||||
54 FEAT_EPIC_GREAT_DEXTERITY_7 790 1 -1 0
|
||||
55 FEAT_EPIC_GREAT_DEXTERITY_8 791 1 -1 0
|
||||
56 FEAT_EPIC_GREAT_DEXTERITY_9 792 1 -1 0
|
||||
57 FEAT_EPIC_GREAT_DEXTERITY_10 793 1 -1 0
|
||||
58 FEAT_EPIC_IMPROVED_SNEAK_ATTACK_1 834 1 -1 0
|
||||
59 FEAT_EPIC_IMPROVED_SNEAK_ATTACK_2 835 1 -1 0
|
||||
60 FEAT_EPIC_IMPROVED_SNEAK_ATTACK_3 836 1 -1 0
|
||||
61 FEAT_EPIC_IMPROVED_SNEAK_ATTACK_4 837 1 -1 0
|
||||
62 FEAT_EPIC_IMPROVED_SNEAK_ATTACK_5 838 1 -1 0
|
||||
63 FEAT_EPIC_IMPROVED_SNEAK_ATTACK_6 839 1 -1 0
|
||||
64 FEAT_EPIC_IMPROVED_SNEAK_ATTACK_7 840 1 -1 0
|
||||
65 FEAT_EPIC_IMPROVED_SNEAK_ATTACK_8 841 1 -1 0
|
||||
66 FEAT_EPIC_IMPROVED_SNEAK_ATTACK_9 842 1 -1 0
|
||||
67 FEAT_EPIC_IMPROVED_SNEAK_ATTACK_10 843 1 -1 0
|
||||
68 FEAT_EPIC_REFLEXES 585 1 -1 0
|
||||
69 FEAT_EPIC_SKILL_FOCUS_HIDE 594 1 -1 0
|
||||
70 FEAT_EPIC_SKILL_FOCUS_MOVESILENTLY 597 1 -1 0
|
||||
71 FEAT_EPIC_SELF_CONCEALMENT_10 748 1 -1 0
|
||||
72 FEAT_EPIC_SELF_CONCEALMENT_20 749 1 -1 0
|
||||
73 FEAT_EPIC_SELF_CONCEALMENT_30 750 1 -1 0
|
||||
74 FEAT_EPIC_SELF_CONCEALMENT_40 751 1 -1 0
|
||||
75 FEAT_EPIC_SELF_CONCEALMENT_50 752 1 -1 0
|
||||
76 FEAT_EPIC_BLINDING_SPEED 491 0 -1 1
|
||||
77 FEAT_LINGERING_DAMAGE 3099 0 -1 0
|
||||
78 FEAT_DRAGONFIRE_STRIKE 3949 0 -1 1
|
||||
79 FEAT_EXTEND_SPELL_ABILITY 23595 0 99 1
|
||||
80 FEAT_SILENT_SPELL_ABILITY 23596 0 99 1
|
||||
81 FEAT_STILL_SPELL_ABILITY 23597 0 99 1
|
||||
82 FEAT_EMPOWER_SPELL_ABILITY 23598 0 99 1
|
||||
83 FEAT_MAXIMIZE_SPELL_ABILITY 23599 0 99 1
|
||||
84 FEAT_QUICKEN_SPELL_ABILITY 23600 0 99 1
|
||||
85 SuddenEmpower 2830 0 -1 1
|
||||
86 SuddenExtend 2831 0 -1 1
|
||||
87 SuddenMaximize 2832 0 -1 1
|
||||
88 SuddenWiden 2833 0 -1 1
|
||||
89 FEAT_ESCHEW_MATERIALS 2596 0 1 0
|
||||
90 FEAT_PRESTIGE_SPELL_GHOSTLY_VISAGE 468 3 992 1
|
||||
91 FEAT_PRESTIGE_DARKNESS 469 3 995 1
|
||||
92 FEAT_PRESTIGE_INVISIBILITY_1 470 3 997 1
|
||||
93 FEAT_PRESTIGE_INVISIBILITY_2 471 3 999 1
|
||||
94 ####START_OF_NEW_SPELLBOOK_RESERVE **** **** **** ****
|
||||
95 Assassin_ADDICTION 12608 0 99 1
|
||||
96 Assassin_Silent_ADDICTION 12609 0 99 1
|
||||
97 Assassin_Still_ADDICTION 12610 0 99 1
|
||||
98 Assassin_ANGRY_ACHE 12611 0 99 1
|
||||
99 Assassin_Exteneded_ANGRY_ACHE 12612 0 99 1
|
||||
100 Assassin_Silent_ANGRY_ACHE 12613 0 99 1
|
||||
101 Assassin_Still_ANGRY_ACHE 12614 0 99 1
|
||||
102 Assassin_Blade_of_Blood 12615 0 99 1
|
||||
103 Assassin_Empowered_Blade_of_Blood 12616 0 99 1
|
||||
104 Assassin_Exteneded_Blade_of_Blood 12617 0 99 1
|
||||
105 Assassin_Maximized_Blade_of_Blood 12618 0 99 1
|
||||
106 Assassin_Silent_Blade_of_Blood 12619 0 99 1
|
||||
107 Assassin_Still_Blade_of_Blood 12620 0 99 1
|
||||
108 Assassin_Disguise_Self_Radial_Master 12621 0 99 1
|
||||
109 Assassin_Exteneded_Disguise_Self_Radial_Master 12622 0 99 1
|
||||
110 Assassin_Silent_Disguise_Self_Radial_Master 12623 0 99 1
|
||||
111 Assassin_Still_Disguise_Self_Radial_Master 12624 0 99 1
|
||||
112 Assassin_Spell_Jump 12625 0 99 1
|
||||
113 Assassin_Exteneded_Spell_Jump 12626 0 99 1
|
||||
114 Assassin_Silent_Spell_Jump 12627 0 99 1
|
||||
115 Assassin_Still_Spell_Jump 12628 0 99 1
|
||||
116 Assassin_Obscuring_Mist 12629 0 99 1
|
||||
117 Assassin_Exteneded_Obscuring_Mist 12630 0 99 1
|
||||
118 Assassin_Silent_Obscuring_Mist 12631 0 99 1
|
||||
119 Assassin_Still_Obscuring_Mist 12632 0 99 1
|
||||
120 Assassin_Sleep 12633 0 99 1
|
||||
121 Assassin_Empowered_Sleep 12634 0 99 1
|
||||
122 Assassin_Exteneded_Sleep 12635 0 99 1
|
||||
123 Assassin_Maximized_Sleep 12636 0 99 1
|
||||
124 Assassin_Silent_Sleep 12637 0 99 1
|
||||
125 Assassin_Still_Sleep 12638 0 99 1
|
||||
126 Assassin_True_Strike 12639 0 99 1
|
||||
127 Assassin_Silent_True_Strike 12640 0 99 1
|
||||
128 Assassin_Alter_Self_Radial_Master 12641 0 99 1
|
||||
129 Assassin_Exteneded_Alter_Self_Radial_Master 12642 0 99 1
|
||||
130 Assassin_Silent_Alter_Self_Radial_Master 12643 0 99 1
|
||||
131 Assassin_Still_Alter_Self_Radial_Master 12644 0 99 1
|
||||
132 Assassin_Cats_Grace 12645 0 99 1
|
||||
133 Assassin_Empowered_Cats_Grace 12646 0 99 1
|
||||
134 Assassin_Exteneded_Cats_Grace 12647 0 99 1
|
||||
135 Assassin_Silent_Cats_Grace 12648 0 99 1
|
||||
136 Assassin_Still_Cats_Grace 12649 0 99 1
|
||||
137 Assassin_Darkness 12650 0 99 1
|
||||
138 Assassin_Exteneded_Darkness 12651 0 99 1
|
||||
139 Assassin_Silent_Darkness 12652 0 99 1
|
||||
140 Assassin_Foxs_Cunning 12653 0 99 1
|
||||
141 Assassin_Empowered_Foxs_Cunning 12654 0 99 1
|
||||
142 Assassin_Exteneded_Foxs_Cunning 12655 0 99 1
|
||||
143 Assassin_Silent_Foxs_Cunning 12656 0 99 1
|
||||
144 Assassin_Still_Foxs_Cunning 12657 0 99 1
|
||||
145 Assassin_IceKnife 12658 0 99 1
|
||||
146 Assassin_Empowered_IceKnife 12659 0 99 1
|
||||
147 Assassin_Still_IceKnife 12660 0 99 1
|
||||
148 Assassin_Invisibility 12661 0 99 1
|
||||
149 Assassin_Exteneded_Invisibility 12662 0 99 1
|
||||
150 Assassin_Silent_Invisibility 12663 0 99 1
|
||||
151 Assassin_Still_Invisibility 12664 0 99 1
|
||||
152 Assassin_UndetectableAlignment 12665 0 99 1
|
||||
153 Assassin_Exteneded_UndetectableAlignment 12666 0 99 1
|
||||
154 Assassin_Silent_UndetectableAlignment 12667 0 99 1
|
||||
155 Assassin_Still_UndetectableAlignment 12668 0 99 1
|
||||
156 Assassin_DeeperDarkness 12669 0 99 1
|
||||
157 Assassin_Exteneded_DeeperDarkness 12670 0 99 1
|
||||
158 Assassin_Silent_DeeperDarkness 12671 0 99 1
|
||||
159 Assassin_DeepSlumber 12672 0 99 1
|
||||
160 Assassin_Exteneded_DeepSlumber 12673 0 99 1
|
||||
161 Assassin_Silent_DeepSlumber 12674 0 99 1
|
||||
162 Assassin_Still_DeepSlumber 12675 0 99 1
|
||||
163 Assassin_FalseLife 12676 0 99 1
|
||||
164 Assassin_Exteneded_FalseLife 12677 0 99 1
|
||||
165 Assassin_Silent_FalseLife 12678 0 99 1
|
||||
166 Assassin_Still_FalseLife 12679 0 99 1
|
||||
167 Assassin_Magic_Circle_against_Good 12680 0 99 1
|
||||
168 Assassin_Exteneded_Magic_Circle_against_Good 12681 0 99 1
|
||||
169 Assassin_Silent_Magic_Circle_against_Good 12682 0 99 1
|
||||
170 Assassin_Still_Magic_Circle_against_Good 12683 0 99 1
|
||||
171 Assassin_MASOCHISM 12684 0 99 1
|
||||
172 Assassin_Exteneded_MASOCHISM 12685 0 99 1
|
||||
173 Assassin_NONDETECTION 12686 0 99 1
|
||||
174 Assassin_Exteneded_NONDETECTION 12687 0 99 1
|
||||
175 Assassin_Silent_NONDETECTION 12688 0 99 1
|
||||
176 Assassin_Still_NONDETECTION 12689 0 99 1
|
||||
177 Assassin_Clairaudience_and_Clairvoyance 12690 0 99 1
|
||||
178 Assassin_CursedBlade 12691 0 99 1
|
||||
179 Assassin_DimensionDoor_RadialMaster 12692 0 99 1
|
||||
180 Assassin_FLESH_ARMOR 12693 0 99 1
|
||||
181 Assassin_Freedom_of_Movement 12694 0 99 1
|
||||
182 Assassin_GLIBNESS 12695 0 99 1
|
||||
183 Assassin_HeartRipper 12696 0 99 1
|
||||
184 Assassin_Improved_Invisibility 12697 0 99 1
|
||||
185 Assassin_LocateCreature 12698 0 99 1
|
||||
186 Assassin_Poison 12699 0 99 1
|
||||
187 Assassin_STOP_HEART 12700 0 99 1
|
||||
188 **** **** **** **** ****
|
||||
189 ####END_OF_NEW_SPELLBOOK_RESERVE **** **** **** ****
|
||||
FeatLabel FeatIndex List GrantedOnLevel OnMenu
|
||||
0 ArmProfLgt 3 3 1 0
|
||||
1 WeapProfSim_Dart 7914 3 1 0
|
||||
2 WeapProfMar_Rapier 7924 3 1 0
|
||||
3 WeapProfMar_Shortbow 7910 3 1 0
|
||||
4 WeapProfMar_Shortsword 7901 3 1 0
|
||||
5 WP_Goad 7949 3 1 0
|
||||
6 WP_Heavy_Mace 7946 3 1 0
|
||||
7 WP_Katar 7945 3 1 0
|
||||
8 WP_Sap 7944 3 1 0
|
||||
9 WP_Sai 7941 3 1 0
|
||||
10 PoisonUse 960 3 1 0
|
||||
11 FEAT_PRESTIGE_ASSN_DEATH_ATTACK 2930 3 1 1
|
||||
12 FEAT_PRESTIGE_DEATH_ATTACK_1 455 3 1 0
|
||||
13 FEAT_PRESTIGE_UNCANNY_DODGE_1 195 3 2 0
|
||||
14 FEAT_PRESTIGE_POISON_SAVE_1 463 3 2 0
|
||||
15 FEAT_PRESTIGE_DEATH_ATTACK_2 456 3 3 0
|
||||
16 FEAT_PRESTIGE_POISON_SAVE_2 464 3 4 0
|
||||
17 FEAT_PRESTIGE_DEATH_ATTACK_3 457 3 5 0
|
||||
18 FEAT_PRESTIGE_UNCANNY_DODGE_2 251 3 5 0
|
||||
19 FEAT_PRESTIGE_POISON_SAVE_3 465 3 6 0
|
||||
20 FEAT_PRESTIGE_DEATH_ATTACK_4 458 3 7 0
|
||||
21 FEAT_PRESTIGE_POISON_SAVE_4 466 3 8 0
|
||||
22 FEAT_HIPS 433 3 8 1
|
||||
23 FEAT_PRESTIGE_DEATH_ATTACK_5 459 3 9 0
|
||||
24 FEAT_PRESTIGE_UNCANNY_DODGE_3 252 3 10 0
|
||||
25 FEAT_PRESTIGE_POISON_SAVE_5 467 3 10 0
|
||||
26 FEAT_EPIC_ASSASSIN 978 3 11 0
|
||||
27 FEAT_PRESTIGE_DEATH_ATTACK_6 1004 3 11 0
|
||||
28 FEAT_PRESTIGE_POISON_SAVE_EPIC 1070 3 12 0
|
||||
29 FEAT_PRESTIGE_DEATH_ATTACK_7 1005 3 13 0
|
||||
30 FEAT_PRESTIGE_DEATH_ATTACK_8 1006 3 15 0
|
||||
31 FEAT_PRESTIGE_DEATH_ATTACK_9 1019 3 17 0
|
||||
32 FEAT_PRESTIGE_DEATH_ATTACK_10 1020 3 19 0
|
||||
33 FEAT_PRESTIGE_DEATH_ATTACK_11 1021 3 21 0
|
||||
34 FEAT_PRESTIGE_DEATH_ATTACK_12 1022 3 23 0
|
||||
35 FEAT_PRESTIGE_DEATH_ATTACK_13 1023 3 25 0
|
||||
36 FEAT_PRESTIGE_DEATH_ATTACK_14 1024 3 27 0
|
||||
37 FEAT_PRESTIGE_DEATH_ATTACK_15 1025 3 29 0
|
||||
38 FEAT_PRESTIGE_DEATH_ATTACK_16 1026 3 31 0
|
||||
39 FEAT_PRESTIGE_DEATH_ATTACK_17 1027 3 33 0
|
||||
40 FEAT_PRESTIGE_DEATH_ATTACK_18 1028 3 35 0
|
||||
41 FEAT_PRESTIGE_DEATH_ATTACK_19 1029 3 37 0
|
||||
42 FEAT_PRESTIGE_DEATH_ATTACK_20 1030 3 39 0
|
||||
43 TwoWeap 41 0 -1 0
|
||||
44 Ambidex 1 0 -1 0
|
||||
45 DefArrow 8 0 -1 0
|
||||
46 FEAT_EPIC_IMPROVED_COMBAT_CASTING 696 1 -1 0
|
||||
47 FEAT_EPIC_SUPERIOR_INITIATIVE 753 1 -1 0
|
||||
48 FEAT_EPIC_GREAT_DEXTERITY_1 784 1 -1 0
|
||||
49 FEAT_EPIC_GREAT_DEXTERITY_2 785 1 -1 0
|
||||
50 FEAT_EPIC_GREAT_DEXTERITY_3 786 1 -1 0
|
||||
51 FEAT_EPIC_GREAT_DEXTERITY_4 787 1 -1 0
|
||||
52 FEAT_EPIC_GREAT_DEXTERITY_5 788 1 -1 0
|
||||
53 FEAT_EPIC_GREAT_DEXTERITY_6 789 1 -1 0
|
||||
54 FEAT_EPIC_GREAT_DEXTERITY_7 790 1 -1 0
|
||||
55 FEAT_EPIC_GREAT_DEXTERITY_8 791 1 -1 0
|
||||
56 FEAT_EPIC_GREAT_DEXTERITY_9 792 1 -1 0
|
||||
57 FEAT_EPIC_GREAT_DEXTERITY_10 793 1 -1 0
|
||||
58 FEAT_EPIC_IMPROVED_SNEAK_ATTACK_1 834 1 -1 0
|
||||
59 FEAT_EPIC_IMPROVED_SNEAK_ATTACK_2 835 1 -1 0
|
||||
60 FEAT_EPIC_IMPROVED_SNEAK_ATTACK_3 836 1 -1 0
|
||||
61 FEAT_EPIC_IMPROVED_SNEAK_ATTACK_4 837 1 -1 0
|
||||
62 FEAT_EPIC_IMPROVED_SNEAK_ATTACK_5 838 1 -1 0
|
||||
63 FEAT_EPIC_IMPROVED_SNEAK_ATTACK_6 839 1 -1 0
|
||||
64 FEAT_EPIC_IMPROVED_SNEAK_ATTACK_7 840 1 -1 0
|
||||
65 FEAT_EPIC_IMPROVED_SNEAK_ATTACK_8 841 1 -1 0
|
||||
66 FEAT_EPIC_IMPROVED_SNEAK_ATTACK_9 842 1 -1 0
|
||||
67 FEAT_EPIC_IMPROVED_SNEAK_ATTACK_10 843 1 -1 0
|
||||
68 FEAT_EPIC_REFLEXES 585 1 -1 0
|
||||
69 FEAT_EPIC_SKILL_FOCUS_HIDE 594 1 -1 0
|
||||
70 FEAT_EPIC_SKILL_FOCUS_MOVESILENTLY 597 1 -1 0
|
||||
71 FEAT_EPIC_SELF_CONCEALMENT_10 748 1 -1 0
|
||||
72 FEAT_EPIC_SELF_CONCEALMENT_20 749 1 -1 0
|
||||
73 FEAT_EPIC_SELF_CONCEALMENT_30 750 1 -1 0
|
||||
74 FEAT_EPIC_SELF_CONCEALMENT_40 751 1 -1 0
|
||||
75 FEAT_EPIC_SELF_CONCEALMENT_50 752 1 -1 0
|
||||
76 FEAT_EPIC_BLINDING_SPEED 491 0 -1 1
|
||||
77 FEAT_LINGERING_DAMAGE 3099 0 -1 0
|
||||
78 FEAT_DRAGONFIRE_STRIKE 3949 0 -1 1
|
||||
79 FEAT_EXTEND_SPELL_ABILITY 23595 0 99 1
|
||||
80 FEAT_SILENT_SPELL_ABILITY 23596 0 99 1
|
||||
81 FEAT_STILL_SPELL_ABILITY 23597 0 99 1
|
||||
82 FEAT_EMPOWER_SPELL_ABILITY 23598 0 99 1
|
||||
83 FEAT_MAXIMIZE_SPELL_ABILITY 23599 0 99 1
|
||||
84 FEAT_QUICKEN_SPELL_ABILITY 23600 0 99 1
|
||||
85 SuddenEmpower 2830 0 -1 1
|
||||
86 SuddenExtend 2831 0 -1 1
|
||||
87 SuddenMaximize 2832 0 -1 1
|
||||
88 SuddenWiden 2833 0 -1 1
|
||||
89 FEAT_ESCHEW_MATERIALS 2596 0 1 0
|
||||
90 FEAT_PRESTIGE_SPELL_GHOSTLY_VISAGE 468 3 992 1
|
||||
91 FEAT_PRESTIGE_DARKNESS 469 3 995 1
|
||||
92 FEAT_PRESTIGE_INVISIBILITY_1 470 3 997 1
|
||||
93 FEAT_PRESTIGE_INVISIBILITY_2 471 3 999 1
|
||||
94 ####START_OF_NEW_SPELLBOOK_RESERVE **** **** **** ****
|
||||
95 Assassin_ADDICTION 10593 0 99 1
|
||||
96 Assassin_ANGRY_ACHE 10594 0 99 1
|
||||
97 Assassin_Blade_of_Blood 10595 0 99 1
|
||||
98 Assassin_Disguise_Self_Radial_Master 10596 0 99 1
|
||||
99 Assassin_Spell_Jump 10597 0 99 1
|
||||
100 Assassin_Obscuring_Mist 10598 0 99 1
|
||||
101 Assassin_Sleep 10599 0 99 1
|
||||
102 Assassin_True_Strike 10600 0 99 1
|
||||
103 Assassin_Alter_Self_Radial_Master 10601 0 99 1
|
||||
104 Assassin_Cats_Grace 10602 0 99 1
|
||||
105 Assassin_Darkness 10603 0 99 1
|
||||
106 Assassin_Foxs_Cunning 10604 0 99 1
|
||||
107 Assassin_IceKnife 10605 0 99 1
|
||||
108 Assassin_Invisibility 10606 0 99 1
|
||||
109 Assassin_UndetectableAlignment 10607 0 99 1
|
||||
110 Assassin_DeeperDarkness 10608 0 99 1
|
||||
111 Assassin_DeepSlumber 10609 0 99 1
|
||||
112 Assassin_FalseLife 10610 0 99 1
|
||||
113 Assassin_Magic_Circle_against_Good 10611 0 99 1
|
||||
114 Assassin_MASOCHISM 10612 0 99 1
|
||||
115 Assassin_NONDETECTION 10613 0 99 1
|
||||
116 Assassin_Clairaudience_and_Clairvoyance 10614 0 99 1
|
||||
117 Assassin_CursedBlade 10615 0 99 1
|
||||
118 Assassin_DimensionDoor_RadialMaster 10616 0 99 1
|
||||
119 Assassin_FLESH_ARMOR 10617 0 99 1
|
||||
120 Assassin_Freedom_of_Movement 10618 0 99 1
|
||||
121 Assassin_GLIBNESS 10619 0 99 1
|
||||
122 Assassin_HeartRipper 10620 0 99 1
|
||||
123 Assassin_Improved_Invisibility 10621 0 99 1
|
||||
124 Assassin_LocateCreature 10622 0 99 1
|
||||
125 Assassin_Poison 10623 0 99 1
|
||||
126 Assassin_STOP_HEART 10624 0 99 1
|
||||
127 Assassin_Still_SEETHING_EYEBANE 10600 0 99 1
|
||||
128 Assassin_ADDICTION 10601 0 99 1
|
||||
129 Assassin_Silent_ADDICTION 10602 0 99 1
|
||||
130 Assassin_Still_ADDICTION 10603 0 99 1
|
||||
131 Assassin_Cats_Grace 10604 0 99 1
|
||||
132 Assassin_Empowered_Cats_Grace 10605 0 99 1
|
||||
133 Assassin_Exteneded_Cats_Grace 10606 0 99 1
|
||||
134 Assassin_Silent_Cats_Grace 10607 0 99 1
|
||||
135 Assassin_Still_Cats_Grace 10608 0 99 1
|
||||
136 Assassin_Darkness 10609 0 99 1
|
||||
137 Assassin_Exteneded_Darkness 10610 0 99 1
|
||||
138 Assassin_Silent_Darkness 10611 0 99 1
|
||||
139 Assassin_Foxs_Cunning 10612 0 99 1
|
||||
140 Assassin_Empowered_Foxs_Cunning 10613 0 99 1
|
||||
141 Assassin_Exteneded_Foxs_Cunning 10614 0 99 1
|
||||
142 Assassin_Silent_Foxs_Cunning 10615 0 99 1
|
||||
143 Assassin_Still_Foxs_Cunning 10616 0 99 1
|
||||
144 Assassin_Invisibility 10617 0 99 1
|
||||
145 Assassin_Exteneded_Invisibility 10618 0 99 1
|
||||
146 Assassin_Silent_Invisibility 10619 0 99 1
|
||||
147 Assassin_Still_Invisibility 10620 0 99 1
|
||||
148 Assassin_UndetectableAlignment 10621 0 99 1
|
||||
149 Assassin_Exteneded_UndetectableAlignment 10622 0 99 1
|
||||
150 Assassin_Silent_UndetectableAlignment 10623 0 99 1
|
||||
151 Assassin_Still_UndetectableAlignment 10624 0 99 1
|
||||
152 Assassin_Alter_Self_Radial_Master 10625 0 99 1
|
||||
153 Assassin_Exteneded_Alter_Self_Radial_Master 10626 0 99 1
|
||||
154 Assassin_Silent_Alter_Self_Radial_Master 10627 0 99 1
|
||||
155 Assassin_Still_Alter_Self_Radial_Master 10628 0 99 1
|
||||
156 Assassin_LAHMS_FINGER_DARTS 10629 0 99 1
|
||||
157 Assassin_Silent_LAHMS_FINGER_DARTS 10630 0 99 1
|
||||
158 Assassin_Still_LAHMS_FINGER_DARTS 10631 0 99 1
|
||||
159 Assassin_IceKnife 10632 0 99 1
|
||||
160 Assassin_Empowered_IceKnife 10633 0 99 1
|
||||
161 Assassin_Still_IceKnife 10634 0 99 1
|
||||
162 Assassin_DeeperDarkness 10635 0 99 1
|
||||
163 Assassin_Exteneded_DeeperDarkness 10636 0 99 1
|
||||
164 Assassin_Silent_DeeperDarkness 10637 0 99 1
|
||||
165 Assassin_Magic_Circle_against_Good 10638 0 99 1
|
||||
166 Assassin_Exteneded_Magic_Circle_against_Good 10639 0 99 1
|
||||
167 Assassin_Silent_Magic_Circle_against_Good 10640 0 99 1
|
||||
168 Assassin_Still_Magic_Circle_against_Good 10641 0 99 1
|
||||
169 Assassin_NONDETECTION 10642 0 99 1
|
||||
170 Assassin_Exteneded_NONDETECTION 10643 0 99 1
|
||||
171 Assassin_Silent_NONDETECTION 10644 0 99 1
|
||||
172 Assassin_Still_NONDETECTION 10645 0 99 1
|
||||
173 Assassin_DeepSlumber 10646 0 99 1
|
||||
174 Assassin_Exteneded_DeepSlumber 10647 0 99 1
|
||||
175 Assassin_Silent_DeepSlumber 10648 0 99 1
|
||||
176 Assassin_Still_DeepSlumber 10649 0 99 1
|
||||
177 Assassin_FalseLife 10650 0 99 1
|
||||
178 Assassin_Exteneded_FalseLife 10651 0 99 1
|
||||
179 Assassin_Silent_FalseLife 10652 0 99 1
|
||||
180 Assassin_Still_FalseLife 10653 0 99 1
|
||||
181 Assassin_RED_FESTER 10654 0 99 1
|
||||
182 Assassin_Silent_RED_FESTER 10655 0 99 1
|
||||
183 Assassin_Still_RED_FESTER 10656 0 99 1
|
||||
184 Assassin_ROTTING_CURSE_OF_URFESTRA 10657 0 99 1
|
||||
185 Assassin_Silent_ROTTING_CURSE_OF_URFESTRA 10658 0 99 1
|
||||
186 Assassin_Still_ROTTING_CURSE_OF_URFESTRA 10659 0 99 1
|
||||
187 Assassin_TOUCH_OF_JUIBLEX 10660 0 99 1
|
||||
188 Assassin_Silent_TOUCH_OF_JUIBLEX 10661 0 99 1
|
||||
189 Assassin_Still_TOUCH_OF_JUIBLEX 10662 0 99 1
|
||||
190 Assassin_MASOCHISM 10663 0 99 1
|
||||
191 Assassin_Exteneded_MASOCHISM 10664 0 99 1
|
||||
192 Assassin_DimensionDoor_RadialMaster 10665 0 99 1
|
||||
193 Assassin_Freedom_of_Movement 10666 0 99 1
|
||||
194 Assassin_Improved_Invisibility 10667 0 99 1
|
||||
195 Assassin_Poison 10668 0 99 1
|
||||
196 Assassin_Clairaudience_and_Clairvoyance 10669 0 99 1
|
||||
197 Assassin_GLIBNESS 10670 0 99 1
|
||||
198 Assassin_LocateCreature 10671 0 99 1
|
||||
199 Assassin_CursedBlade 10672 0 99 1
|
||||
200 Assassin_ABSORB_STRENGTH 10673 0 99 1
|
||||
201 Assassin_FLESH_ARMOR 10674 0 99 1
|
||||
202 Assassin_STOP_HEART 10675 0 99 1
|
||||
203 Assassin_HeartRipper 10676 0 99 1
|
||||
204 **** **** **** **** ****
|
||||
205 **** **** **** **** ****
|
||||
206 **** **** **** **** ****
|
||||
207 **** **** **** **** ****
|
||||
208 **** **** **** **** ****
|
||||
209 **** **** **** **** ****
|
||||
210 **** **** **** **** ****
|
||||
211 **** **** **** **** ****
|
||||
212 **** **** **** **** ****
|
||||
213 **** **** **** **** ****
|
||||
214 **** **** **** **** ****
|
||||
215 **** **** **** **** ****
|
||||
216 **** **** **** **** ****
|
||||
217 **** **** **** **** ****
|
||||
218 **** **** **** **** ****
|
||||
219 **** **** **** **** ****
|
||||
220 **** **** **** **** ****
|
||||
221 **** **** **** **** ****
|
||||
222 ####END_OF_NEW_SPELLBOOK_RESERVE **** **** **** ****
|
||||
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -28,7 +28,7 @@
|
||||
24 Jump 28 1
|
||||
25 TrueSpeak 29 1
|
||||
26 Sense_Motive 30 1
|
||||
27 Balence 32 0
|
||||
27 Balance 32 0
|
||||
28 IaijutsuFocus 33 0
|
||||
29 CraftAlchemy 34 1
|
||||
30 CraftPoison 35 1
|
||||
|
@@ -10,7 +10,7 @@
|
||||
6 Divine 289 ****
|
||||
7 Electrical 282 ****
|
||||
8 Fire 280 ****
|
||||
9 Negative 282 ****
|
||||
9 Negative 288 ****
|
||||
10 Positive 289 ****
|
||||
11 Sonic 284 ****
|
||||
12 Base **** ****
|
||||
|
@@ -376,7 +376,7 @@
|
||||
372 Aura_of_Vitality 321 1 1 0 7 0
|
||||
373 War_Cry 322 1 1 0 4 0
|
||||
374 Regenerate 323 1 1 0 7 0
|
||||
375 Evards_Black_Tentacles 324 1 0 0 4 0
|
||||
375 Evards_Black_Tentacles 324 1 1 0 4 0
|
||||
376 Legend_Lore 326 1 1 0 5 0
|
||||
377 Find_Traps 327 0 0 0 3 0
|
||||
378 Summon_Mephit **** 1 1 1 5 0
|
||||
|
@@ -24027,7 +24027,7 @@
|
||||
24023 BlazingBerserker 16847321 16847322 ife_X1ResFir **** **** **** **** **** **** **** **** 293 **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** FEAT_MAGICAL_ARTISAN_CRAFT_SKULL_TALISMAN **** 0 **** **** **** **** **** 1
|
||||
24024 ScorpionsResolve 16847323 16847324 ife_X2GWShp3 **** **** **** **** **** **** **** **** **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** FEAT_MAGICAL_ARTISAN_CRAFT_SKULL_TALISMAN **** 0 **** **** **** **** **** 1
|
||||
24025 DauntingPresence 16847361 16847362 ife_X2SelfConc1 1 **** **** **** **** **** 13 **** **** **** **** **** 1 **** **** 3831 **** **** **** **** **** **** **** **** **** **** **** **** **** **** FEAT_DAUNTING_PRESENCE **** 1 **** **** **** **** **** 1
|
||||
24026 ProfaneLifeLeech 16847363 16847364 ife_prfnlflch **** **** **** **** **** **** **** **** 294 **** **** **** 1 **** **** 3832 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** FEAT_PROFANE_LIFELEECH 6 1 **** **** **** **** 0 1
|
||||
24026 ProfaneLifeLeech 16847363 16847364 ife_prfnlflch **** **** **** **** **** **** **** **** 294 **** **** **** 1 **** **** 3832 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** FEAT_PROFANE_LIFELEECH 6 0 **** **** **** **** 0 1
|
||||
24027 SacredVitality 16847365 16847366 ife_sac_vital **** **** **** **** **** **** **** **** 294 **** **** **** 1 **** **** 3833 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** FEAT_SACRED_VITALITY **** 0 **** **** **** **** **** 1
|
||||
24028 SacredVengeance 16847367 16847368 ife_sac_veng **** **** **** **** **** **** **** **** 294 **** **** **** 1 **** **** 3834 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** FEAT_SACRED_VENGEANCE **** 0 **** **** **** **** **** 0
|
||||
24029 DeformityEyes 16847369 16847370 ife_dfrm_eyes **** **** **** **** **** **** **** **** 4408 **** **** **** 1 **** **** 3835 **** **** 1 **** 1 **** **** **** **** **** **** **** **** **** FEAT_DEFORM_EYES **** 0 **** **** **** **** **** 1
|
||||
|
146
nwn/nwnprc/trunk/2das/iprp_material.2da
Normal file
146
nwn/nwnprc/trunk/2das/iprp_material.2da
Normal file
@@ -0,0 +1,146 @@
|
||||
2DA V2.0
|
||||
|
||||
Label Name
|
||||
0 Unknown 111775
|
||||
1 Adamantine 111776
|
||||
2 Brass 111777
|
||||
3 Bronze 111778
|
||||
4 Carbon 111779
|
||||
5 Cold_Iron 111780
|
||||
6 Copper 111781
|
||||
7 Darksteel 111782
|
||||
8 Gold 111783
|
||||
9 Iron 111784
|
||||
10 Lead 111785
|
||||
11 Mithral 111786
|
||||
12 Platinum 111787
|
||||
13 Silver 111788
|
||||
14 Silver_Alchemical 111789
|
||||
15 Steel 111790
|
||||
16 Bone 111791
|
||||
17 Hide 111792
|
||||
18 Hide_Salamander 111793
|
||||
19 Hide_Umber_Hulk 111794
|
||||
20 Hide_Wyvern 111795
|
||||
21 Hide_Dragon_Black 111796
|
||||
22 Hide_Dragon_Blue 111797
|
||||
23 Hide_Dragon_Brass 111798
|
||||
24 Hide_Dragon_Bronze 111799
|
||||
25 Hide_Dragon_Copper 111800
|
||||
26 Hide_Dragon_Gold 111801
|
||||
27 Hide_Dragon_Green 111802
|
||||
28 Hide_Dragon_Red 111803
|
||||
29 Hide_Dragon_Silver 111804
|
||||
30 Hide_Dragon_White 111805
|
||||
31 Leather 111806
|
||||
32 Scale 111807
|
||||
33 Cloth 111808
|
||||
34 Cotton 111809
|
||||
35 Silk 111810
|
||||
36 Wool 111811
|
||||
37 Wood 111812
|
||||
38 Wood_Ironwood 111813
|
||||
39 Wood_Duskwood 111814
|
||||
40 Wood_Darkwood_Zalantar 111815
|
||||
41 Wood_Ash 111816
|
||||
42 Wood_Yew 111817
|
||||
43 Wood_Oak 111818
|
||||
44 Wood_Pine 111819
|
||||
45 Wood_Cedar 111820
|
||||
46 Elemental 111821
|
||||
47 Elemental_Air 111822
|
||||
48 Elemental_Earth 111823
|
||||
49 Elemental_Fire 111824
|
||||
50 Elemental_Water 111825
|
||||
51 Gem 111826
|
||||
52 Gem_Alexandrite 111827
|
||||
53 Gem_Amethyst 111828
|
||||
54 Gem_Aventurine 111829
|
||||
55 Gem_Beljuril 111830
|
||||
56 Gem_Bloodstone 111831
|
||||
57 Gem_Blue_Diamond 111832
|
||||
58 Gem_Canary_Diamond 111833
|
||||
59 Gem_Diamond 111834
|
||||
60 Gem_Emerald 111835
|
||||
61 Gem_Fire_Agate 111836
|
||||
62 Gem_Fire_Opal 111837
|
||||
63 Gem_Flourspar 111838
|
||||
64 Gem_Garnet 111839
|
||||
65 Gem_Greenstone 111840
|
||||
66 Gem_Jacinth 111841
|
||||
67 Gem_Kings_Tear 111842
|
||||
68 Gem_Malachite 111843
|
||||
69 Gem_Obsidian 111844
|
||||
70 Gem_Phenalope 111845
|
||||
71 Gem_Rogue_Stone 111846
|
||||
72 Gem_Ruby 111847
|
||||
73 Gem_Sapphire 111848
|
||||
74 Gem_Star_Sapphire 111849
|
||||
75 Gem_Topaz 111850
|
||||
76 Gem_Crystal_Deep 111851
|
||||
77 Gem_Crystal_Mundane 111852
|
||||
78 USER ****
|
||||
79 USER ****
|
||||
80 USER ****
|
||||
81 USER ****
|
||||
82 USER ****
|
||||
83 USER ****
|
||||
84 USER ****
|
||||
85 USER ****
|
||||
86 USER ****
|
||||
87 USER ****
|
||||
88 USER ****
|
||||
89 USER ****
|
||||
90 USER ****
|
||||
91 USER ****
|
||||
92 USER ****
|
||||
93 USER ****
|
||||
94 USER ****
|
||||
95 USER ****
|
||||
96 USER ****
|
||||
97 USER ****
|
||||
98 USER ****
|
||||
99 USER ****
|
||||
100 Paper 16977218
|
||||
101 Glass 16977219
|
||||
102 Ice 16977220
|
||||
103 "Rope, Hemp" 16977221
|
||||
104 Stone 16977222
|
||||
105 Deep_Coral 16977223
|
||||
106 Wood_Living 16977224
|
||||
107 Obdurium 16977225
|
||||
108 Wood_Bronze 16977226
|
||||
109 Byeshk 16977227
|
||||
110 Calomel 16977228
|
||||
111 Crysteel_Riedran 16977229
|
||||
112 Densewood 16977230
|
||||
113 Dragonshard 16977231
|
||||
114 Iron_Flametouched 16977232
|
||||
115 Livewood 16977233
|
||||
116 Mournlode_Purple 16977234
|
||||
117 Soarwood 16977235
|
||||
118 Targath 16977236
|
||||
119 Astral_Driftmetal 16977237
|
||||
120 Atandur 16977238
|
||||
121 Blended_Quartz 16977239
|
||||
122 Chitin 16977240
|
||||
123 Darkleaf_Elven 16977241
|
||||
124 Dlarun 16977242
|
||||
125 Dustwood 16977243
|
||||
126 Elukian_Clay 16977244
|
||||
127 Entropium 16977245
|
||||
128 Greensteel_Baatorian 16977246
|
||||
129 Hizagkuur 16977247
|
||||
130 Iron_Fever 16977248
|
||||
131 Iron_Gehennan_Morghuth 16977249
|
||||
132 Leafweave 16977250
|
||||
133 Living_Metal 16977251
|
||||
134 Mindsteel_Urdrukar 16977252
|
||||
135 Truesteel_Solanian 16977253
|
||||
136 Wood_Agafari 16977254
|
||||
137 Crystal_Dasl 16977255
|
||||
138 Drake_Ivory 16977256
|
||||
139 Rope_Giant_Hair 16977257
|
||||
140 Obsidian 16977258
|
||||
141 Bamboo 16977259
|
||||
142 Pottery 16977260
|
@@ -19,7 +19,7 @@
|
||||
15 Feeblemind 55 **** mc_minerals Minerals **** **** **** **** **** ****
|
||||
16 Fireball 58 **** mc_batguano Bat_Guano mc_sulfur Sulfur **** **** **** ****
|
||||
17 Flame_Arrow 59 **** mc_oil Oil mc_flint Flint **** **** **** ****
|
||||
18 Freedom_of_Movement 62 **** mc_pieceofleathr Leather_Thong **** **** **** **** **** ****
|
||||
18 Freedom_of_Movement 62 **** mc_pieceofleathr Leather_Thong **** **** **** **** **** ****
|
||||
19 Ghoul_Touch 64 **** mc_ghoulclothing Ghoul_Clothing **** **** **** **** **** ****
|
||||
20 Globe_of_Invulnerability 65 **** mc_crystalbead Crystal_Bead **** **** **** **** **** ****
|
||||
21 Grease 66 **** mc_porkrind Pork_Rind **** **** **** **** **** ****
|
||||
@@ -119,7 +119,7 @@
|
||||
115 Repulsion 1853 50 mc_ironbarsarray Iron_Bars_And_Two_Canine_Statuettes **** **** **** **** **** ****
|
||||
116 True_Resurrection 1855 25000 X1_WMGRENADE005 Holy_Water mc_diamond Diamonds **** **** **** ****
|
||||
117 Foresight 1856 **** mc_hummingbirdf Hummingbirds_Feather **** **** **** **** **** ****
|
||||
118 JUMP 2070 **** mc_grasshopprhlg Grasshoppers_Hind_Leg **** **** **** **** **** ****
|
||||
118 JUMP 2070 **** mc_grasshopprhlg Grasshoppers_Hind_Leg **** **** **** **** **** ****
|
||||
119 IRON_BODY 2071 **** mc_irongolempart Piece_of_An_Iron_Golem **** **** **** **** **** ****
|
||||
120 ENLARGE_PERSON 2072 **** mc_powderediron Powdered_Iron **** **** **** **** **** ****
|
||||
121 MASS_ENLARGE_PERSON 2073 **** mc_powderediron Powdered_Iron **** **** **** **** **** ****
|
||||
@@ -148,7 +148,7 @@
|
||||
144 THOUSAND_NEEDLES 2587 **** mc_needles Needles **** **** **** **** **** ****
|
||||
145 TONGUE_OF_BAALZEBUL 2588 **** mc_tongue Tongue **** **** **** **** **** ****
|
||||
146 UNLIVING_WEAPON 2591 **** mc_greenliquid Bile mc_sulfur Sulfur **** **** **** ****
|
||||
147 UTTERDARK 2592 **** mc_blckstickbld A_Black_Stick_Smeared_With_Blood **** **** **** **** **** ****
|
||||
147 UTTERDARK 2592 **** mc_blckstickbld A_Black_Stick_Smeared_With_Blood **** **** **** **** **** ****
|
||||
148 WAVE_OF_GRIEF 2593 **** mc_vialofjelly Ochre_Jelly **** **** **** **** **** ****
|
||||
149 WAVE_OF_PAIN 2594 **** mc_needles Needle **** **** **** **** **** ****
|
||||
150 DIAMOND_SPRAY 2610 100 mc_diamonddust Diamond_Dust **** **** **** **** **** ****
|
||||
@@ -175,8 +175,8 @@
|
||||
171 Mass_Foxs_Cunning 3123 **** mc_foxhair Fox_Hair **** **** **** **** **** ****
|
||||
172 Mass_Owls_Wisdom 3124 **** mc_owlfeather Owl_Feather **** **** **** **** **** ****
|
||||
173 Glitterdust 3142 **** mc_groundmica Ground_Mica **** **** **** **** **** ****
|
||||
174 Curse_of_Impending_Blades 3153 **** mc_nail Nail mc_pieceofleathr Piece_of_Leather **** **** **** ****
|
||||
175 Legions_Curse_of_Impending_Blades 3154 **** mc_nail Nail mc_pieceofleathr Piece_of_Leather **** **** **** ****
|
||||
174 Curse_of_Impending_Blades 3153 **** mc_nail Nail mc_pieceofleathr Piece_of_Leather **** **** **** ****
|
||||
175 Legions_Curse_of_Impending_Blades 3154 **** mc_nail Nail mc_pieceofleathr Piece_of_Leather **** **** **** ****
|
||||
176 Fireburst 3158 **** mc_sulfur Sulfur **** **** **** **** **** ****
|
||||
177 Greater_Fireburst 3159 **** mc_sulfur Sulfur **** **** **** **** **** ****
|
||||
178 Legions_Shield_of_Faith 3163 **** mc_holyparchment Holy_Parchment **** **** **** **** **** ****
|
||||
|
146
nwn/nwnprc/trunk/2das/prc_material.2da
Normal file
146
nwn/nwnprc/trunk/2das/prc_material.2da
Normal file
@@ -0,0 +1,146 @@
|
||||
2DA V2.0
|
||||
|
||||
Label Name MaterialTypeName MaterialType Hardness HitPointsPerInch CONSTANT
|
||||
0 Unknown 111775 Unknown 0 100 100 IP_MATERIAL_UNKNOWN
|
||||
1 Adamantine 111776 metal 8 20 40 IP_MATERIAL_ADAMANTINE
|
||||
2 Brass 111777 metal 8 10 20 IP_MATERIAL_BRASS
|
||||
3 Bronze 111778 "metal " 8 9 20 IP_MATERIAL_BRONZE
|
||||
4 Carbon 111779 stone 11 8 15 IP_MATERIAL_CARBON
|
||||
5 Iron_Cold 111780 metal 8 10 30 IP_MATERIAL_COLD_IRON
|
||||
6 Copper 111781 "metal " 8 10 30 IP_MATERIAL_COPPER
|
||||
7 Darksteel 111782 metal 8 10 30 IP_MATERIAL_DARKSTEEL
|
||||
8 Gold 111783 "metal " 8 10 30 IP_MATERIAL_GOLD
|
||||
9 Iron 111784 "metal " 8 10 30 IP_MATERIAL_IRON
|
||||
10 Lead 111785 "metal " 8 8 20 IP_MATERIAL_LEAD
|
||||
11 Mithral 111786 metal 8 15 30 IP_MATERIAL_MITHRAL
|
||||
12 Platinum 111787 "metal " 8 10 30 IP_MATERIAL_PLATINUM
|
||||
13 Silver 111788 "metal " 8 10 30 IP_MATERIAL_SILVER
|
||||
14 Silver_Alchemical 111789 metal 8 8 10 IP_MATERIAL_SILVER_ALCHEMICAL
|
||||
15 Steel 111790 metal 8 10 30 IP_MATERIAL_STEEL
|
||||
16 Bone 111791 bone 1 6 10 IP_MATERIAL_BONE
|
||||
17 Hide 111792 leather 6 2 5 IP_MATERIAL_HIDE
|
||||
18 Hide_Salamander 111793 leather 6 7 7 IP_MATERIAL_HIDE_SALAMANDER
|
||||
19 Hide_Umber_Hulk 111794 leather 6 7 7 IP_MATERIAL_HIDE_UMBER_HULK
|
||||
20 Hide_Wyvern 111795 leather 6 7 7 IP_MATERIAL_HIDE_WYVERN
|
||||
21 Hide_Dragon_Black 111796 leather 6 10 10 IP_MATERIAL_HIDE_DRAGON_BLACK
|
||||
22 Hide_Dragon_Blue 111797 leather 6 10 10 IP_MATERIAL_HIDE_DRAGON_BLUE
|
||||
23 Hide_Dragon_Brass 111798 leather 6 10 10 IP_MATERIAL_HIDE_DRAGON_BRASS
|
||||
24 Hide_Dragon_Bronze 111799 leather 6 10 10 IP_MATERIAL_HIDE_DRAGON_BRONZE
|
||||
25 Hide_Dragon_Copper 111800 leather 6 10 10 IP_MATERIAL_HIDE_DRAGON_COPPER
|
||||
26 Hide_Dragon_Gold 111801 leather 6 10 10 IP_MATERIAL_HIDE_DRAGON_GOLD
|
||||
27 Hide_Dragon_Green 111802 leather 6 10 10 IP_MATERIAL_HIDE_DRAGON_GREEN
|
||||
28 Hide_Dragon_Red 111803 leather 6 10 10 IP_MATERIAL_HIDE_DRAGON_RED
|
||||
29 Hide_Dragon_Silver 111804 leather 6 10 10 IP_MATERIAL_HIDE_DRAGON_SILVER
|
||||
30 Hide_Dragon_White 111805 leather 6 10 10 IP_MATERIAL_HIDE_DRAGON_WHITE
|
||||
31 Leather 111806 leather 6 2 5 IP_MATERIAL_LEATHER
|
||||
32 Scale 111807 bone 2 5 10 IP_MATERIAL_SCALE
|
||||
33 Cloth 111808 cloth 3 0 2 IP_MATERIAL_CLOTH
|
||||
34 Cotton 111809 fiber 5 1 1 IP_MATERIAL_COTTON
|
||||
35 Silk 111810 fiber 5 3 3 IP_MATERIAL_SILK
|
||||
36 Wool 111811 fiber 5 1 1 IP_MATERIAL_WOOL
|
||||
37 Wood 111812 wood 12 5 10 IP_MATERIAL_WOOD
|
||||
38 Wood_Ironwood 111813 wood 12 10 20 IP_MATERIAL_WOOD_IRONWOOD
|
||||
39 Wood_Duskwood 111814 wood 12 10 20 IP_MATERIAL_WOOD_DUSKWOOD
|
||||
40 Wood_Darkwood_Zalantar 111815 wood 12 5 10 IP_MATERIAL_WOOD_DARKWOOD_ZALANTAR
|
||||
41 Wood_Ash 111816 wood 12 5 10 IP_MATERIAL_WOOD_ASH
|
||||
42 Wood_Yew 111817 wood 12 5 10 IP_MATERIAL_WOOD_YEW
|
||||
43 Wood_Oak 111818 wood 12 5 10 IP_MATERIAL_WOOD_OAK
|
||||
44 Wood_Pine 111819 wood 12 5 10 IP_MATERIAL_WOOD_PINE
|
||||
45 Wood_Cedar 111820 wood 12 5 10 IP_MATERIAL_WOOD_CEDA
|
||||
46 Elemental 111821 stone 11 9 17 IP_MATERIAL_ELEMENTAL
|
||||
47 Elemental_Air 111822 stone 11 9 17 IP_MATERIAL_ELEMENTAL_AIR
|
||||
48 Elemental_Earth 111823 stone 11 9 17 IP_MATERIAL_ELEMENTAL_EARTH
|
||||
49 Elemental_Fire 111824 stone 11 9 17 IP_MATERIAL_ELEMENTAL_FIRE
|
||||
50 Elemental_Water 111825 stone 11 9 17 IP_MATERIAL_ELEMENTAL_WATER
|
||||
51 Gem 111826 crystal 4 8 20 IP_MATERIAL_GEM
|
||||
52 Gem_Alexandrite 111827 crystal 4 8 20 IP_MATERIAL_GEM_ALEXANDRITE
|
||||
53 Gem_Amethyst 111828 crystal 4 8 20 IP_MATERIAL_GEM_AMETHYST
|
||||
54 Gem_Aventurine 111829 crystal 4 8 20 IP_MATERIAL_GEM_AVENTURINE
|
||||
55 Gem_Beljuril 111830 crystal 4 8 20 IP_MATERIAL_GEM_BELJURIL
|
||||
56 Gem_Bloodstone 111831 crystal 4 8 20 IP_MATERIAL_GEM_BLOODSTONE
|
||||
57 Gem_Blue_Diamond 111832 crystal 4 8 20 IP_MATERIAL_GEM_BLUE_DIAMOND
|
||||
58 Gem_Canary_Diamond 111833 crystal 4 8 20 IP_MATERIAL_GEM_CANARY_DIAMOND
|
||||
59 Gem_Diamond 111834 crystal 4 8 20 IP_MATERIAL_GEM_DIAMOND
|
||||
60 Gem_Emerald 111835 crystal 4 8 20 IP_MATERIAL_GEM_EMERALD
|
||||
61 Gem_Fire_Agate 111836 crystal 4 8 20 IP_MATERIAL_GEM_FIRE_AGATE
|
||||
62 Gem_Fire_Opal 111837 crystal 4 8 20 IP_MATERIAL_GEM_FIRE_OPAL
|
||||
63 Gem_Flourspar 111838 crystal 4 8 20 IP_MATERIAL_GEM_FLUORSPAR
|
||||
64 Gem_Garnet 111839 crystal 4 8 20 IP_MATERIAL_GEM_GARNET
|
||||
65 Gem_Greenstone 111840 crystal 4 8 20 IP_MATERIAL_GEM_GREENSTONE
|
||||
66 Gem_Jacinth 111841 crystal 4 8 20 IP_MATERIAL_GEM_JACINTH
|
||||
67 Gem_Kings_Tear 111842 crystal 4 8 20 IP_MATERIAL_GEM_KINGS_TEAR
|
||||
68 Gem_Malachite 111843 crystal 4 8 20 IP_MATERIAL_GEM_MALACHITE
|
||||
69 Gem_Obsidian 111844 crystal 4 8 20 IP_MATERIAL_GEM_OBSIDIAN
|
||||
70 Gem_Phenalope 111845 crystal 4 8 20 IP_MATERIAL_GEM_PHENALOPE
|
||||
71 Gem_Rogue_Stone 111846 crystal 4 8 20 IP_MATERIAL_GEM_ROGUE_STONE
|
||||
72 Gem_Ruby 111847 crystal 4 8 20 IP_MATERIAL_GEM_RUBY
|
||||
73 Gem_Sapphire 111848 crystal 4 8 20 IP_MATERIAL_GEM_SAPPHIRE
|
||||
74 Gem_Star_Sapphire 111849 crystal 4 8 20 IP_MATERIAL_GEM_STAR_SAPPHIRE
|
||||
75 Gem_Topaz 111850 crystal 4 8 20 IP_MATERIAL_GEM_TOPAZ
|
||||
76 Gem_Crystal_Deep 111851 crystal 4 10 30 IP_MATERIAL_GEM_CRYSTAL_DEEP
|
||||
77 Gem_Crystal_Mundane 111852 crystal 4 8 25 IP_MATERIAL_GEM_CRYSTAL_MUNDANE
|
||||
78 USER **** **** **** **** **** ****
|
||||
79 USER **** **** **** **** **** ****
|
||||
80 USER **** **** **** **** **** ****
|
||||
81 USER **** **** **** **** **** ****
|
||||
82 USER **** **** **** **** **** ****
|
||||
83 USER **** **** **** **** **** ****
|
||||
84 USER **** **** **** **** **** ****
|
||||
85 USER **** **** **** **** **** ****
|
||||
86 USER **** **** **** **** **** ****
|
||||
87 USER **** **** **** **** **** ****
|
||||
88 USER **** **** **** **** **** ****
|
||||
89 USER **** **** **** **** **** ****
|
||||
90 USER **** **** **** **** **** ****
|
||||
91 USER **** **** **** **** **** ****
|
||||
92 USER **** **** **** **** **** ****
|
||||
93 USER **** **** **** **** **** ****
|
||||
94 USER **** **** **** **** **** ****
|
||||
95 USER **** **** **** **** **** ****
|
||||
96 USER **** **** **** **** **** ****
|
||||
97 USER **** **** **** **** **** ****
|
||||
98 USER **** **** **** **** **** ****
|
||||
99 USER **** **** **** **** **** ****
|
||||
100 Paper 16977218 paper 8 0 2 IP_MATERIAL_PAPER
|
||||
101 Glass 16977219 crystal 4 1 1 IP_MATERIAL_GLASS
|
||||
102 Ice 16977220 crystal 4 0 3 IP_MATERIAL_ICE
|
||||
103 "Rope, Hemp" 16977221 rope 9 0 2 IP_MATERIAL_ROPE_HEMP
|
||||
104 Stone 16977222 stone 11 8 15 IP_MATERIAL_STONE
|
||||
105 Deep_Coral 16977223 stone 11 8 15 IP_MATERIAL_DEEP_CORAL
|
||||
106 Wood_Living 16977224 wood 12 5 10 IP_MATERIAL_WOOD_LIVING
|
||||
107 Obdurium 16977225 "metal " 8 30 60 IP_MATERIAL_OBDURIUM
|
||||
108 Wood_Bronze 16977226 wood 12 10 20 IP_MATERIAL_WOOD_BRONZE
|
||||
109 Byeshk 16977227 metal 8 17 35 IP_MATERIAL_BYESHK
|
||||
110 Calomel 16977228 metal 8 10 30 IP_MATERIAL_CALOMEL
|
||||
111 Crysteel_Riedran 16977229 metal 8 10 20 IP_MATERIAL_CRYSTEEL_RIEDRAN
|
||||
112 Densewood 16977230 wood 12 8 20 IP_MATERIAL_DENSEWOOD
|
||||
113 Dragonshard 16977231 stone 11 8 20 IP_MATERIAL_DRAGONSHARD
|
||||
114 Iron_Flametouched 16977232 metal 8 10 30 IP_MATERIAL_IRON_FLAMETOUCHED
|
||||
115 Livewood 16977233 wood 12 6 10 IP_MATERIAL_LIVEWOOD
|
||||
116 Mournlode_Purple 16977234 metal 8 10 30 IP_MATERIAL_MOURNLODE_PURPLE
|
||||
117 Soarwood 16977235 wood 12 5 10 IP_MATERIAL_SOARWOOD
|
||||
118 Targath 16977236 metal 8 9 20 IP_MATERIAL_TARGATH
|
||||
119 Astral_Driftmetal 16977237 metal 8 12 30 IP_MATERIAL_ASTRAL_DRIFTMETAL
|
||||
120 Atandur 16977238 metal 8 12 30 IP_MATERIAL_ATANDUR
|
||||
121 Blended_Quartz 16977239 metal 8 8 15 IP_MATERIAL_BLENDED_QUARTZ
|
||||
122 Chitin 16977240 bone 1 5 10 IP_MATERIAL_CHITIN
|
||||
123 Darkleaf_Elven 16977241 wood 12 5 10 IP_MATERIAL_DARKLEAF_ELVEN
|
||||
124 Dlarun 16977242 metal 8 10 30 IP_MATERIAL_DLARUN
|
||||
125 Dustwood 16977243 wood 12 10 30 IP_MATERIAL_DUSTWOOD
|
||||
126 Elukian_Clay 16977244 ceramic 2 10 30 IP_MATERIAL_ELUKIAN_CLAY
|
||||
127 Entropium 16977245 metal 8 15 40 IP_MATERIAL_ENTROPIUM
|
||||
128 Greensteel_Baatorian 16977246 metal 8 2 30 IP_MATERIAL_GREENSTEEL_BAATORIAN
|
||||
129 Hizagkuur 16977247 metal 8 10 30 IP_MATERIAL_HIZAGKUUR
|
||||
130 Iron_Fever 16977248 metal 8 12 30 IP_MATERIAL_IRON_FEVER
|
||||
131 Iron_Gehennan_Morghuth 16977249 metal 8 9 20 IP_MATERIAL_IRON_GEHENNAN_MORGHUTH
|
||||
132 Leafweave 16977250 leather 6 2 5 IP_MATERIAL_LEAFWEAVE
|
||||
133 Living_Metal 16977251 metal 8 12 30 IP_MATERIAL_LIVING_METAL
|
||||
134 Mindsteel_Urdrukar 16977252 metal 8 13 30 IP_MATERIAL_MINDSTEEL_URDRUKAR
|
||||
135 Truesteel_Solanian 16977253 metal 8 11 25 IP_MATERIAL_TRUESTEEL_SOLANIAN
|
||||
136 Wood_Agafari 16977254 wood 12 5 10 IP_MATERIAL_WOOD_AGAFARI
|
||||
137 Crystal_Dasl 16977255 crystal 4 7 15 IP_MATERIAL_CRYSTAL_DASL
|
||||
138 Drake_Ivory 16977256 bone 1 10 20 IP_MATERIAL_DRAKE_IVORY
|
||||
139 Rope_Giant_Hair 16977257 rope 9 5 2 IP_MATERIAL_ROPE_GIANT_HAIR
|
||||
140 Obsidian 16977258 crystal 4 8 12 IP_MATERIAL_OBSIDIAN
|
||||
141 Bamboo 16977259 wood 12 5 10 IP_MATERIAL_BAMBOO
|
||||
142 Pottery 16977260 ceramic 2 2 2 IP_MATERIAL_POTTERY
|
14
nwn/nwnprc/trunk/2das/prc_materialtype.2da
Normal file
14
nwn/nwnprc/trunk/2das/prc_materialtype.2da
Normal file
@@ -0,0 +1,14 @@
|
||||
2DA V2.0
|
||||
|
||||
Label Name Constant
|
||||
0 Unknown Unknown MATERIAL_TYPE_UNKNOWN
|
||||
1 Bone Bone MATERIAL_TYPE_BONE
|
||||
2 Ceramic Ceramic MATERIAL_TYPE_CERAMIC
|
||||
3 Crystal Crystal MATERIAL_TYPE_CRYSTAL
|
||||
4 Fabric Fabric MATERIAL_TYPE_FABRIC
|
||||
5 Leather Leather MATERIAL_TYPE_LEATHER
|
||||
6 Metal Metal MATERIAL_TYPE_METAL
|
||||
7 Paper Paper MATERIAL_TYPE_PAPER
|
||||
8 Rope Rope MATERIAL_TYPE_ROPE
|
||||
9 Stone Stone MATERIAL_TYPE_STONE
|
||||
10 Wood Wood MATERIAL_TYPE_WOOD
|
@@ -2071,7 +2071,7 @@
|
||||
2067 CrashingMountainJuggernaught **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
2068 DragonsTooth **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
2069 AwakenTheStoneDragon **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
2070 JUMP **** **** **** **** **** mc_grasshopprhlg Grasshoppers_Hind_Leg **** **** **** **** **** ****
|
||||
2070 JUMP **** **** **** **** **** mc_grasshopprhlg Grasshoppers_Hind_Leg **** **** **** **** **** ****
|
||||
2071 IRON_BODY **** **** **** **** **** mc_irongolempart Piece_of_An_Iron_Golem **** **** **** **** **** ****
|
||||
2072 ENLARGE_PERSON **** **** **** **** **** mc_powderediron Powdered_Iron **** **** **** **** **** ****
|
||||
2073 MASS_ENLARGE_PERSON **** **** **** **** **** mc_powderediron Powdered_Iron **** **** **** **** **** ****
|
||||
@@ -3154,8 +3154,8 @@
|
||||
3150 Benign_Transposition 0x02000 **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
3151 Conviction **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
3152 Legions_Conviction **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
3153 Curse_of_Impending_Blades **** **** **** **** **** mc_nail Nail mc_pieceofleathr Piece_of_Leather **** **** **** ****
|
||||
3154 Legions_Curse_of_Impending_Blades **** **** **** **** **** mc_nail Nail mc_pieceofleathr Piece_of_Leather **** **** **** ****
|
||||
3153 Curse_of_Impending_Blades **** **** **** **** **** mc_nail Nail mc_pieceofleathr Piece_of_Leather **** **** **** ****
|
||||
3154 Legions_Curse_of_Impending_Blades **** **** **** **** **** mc_nail Nail mc_pieceofleathr Piece_of_Leather **** **** **** ****
|
||||
3155 Curse_of_Petty_Failing **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
3156 Legions_Curse_of_Petty_Failing **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
3157 Divine_Protection 0x00004 0x10000 **** **** **** **** **** **** **** **** **** **** ****
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -50,7 +50,7 @@ void GZPRCRemoveSpellEffects(int nID,object oTarget, int bMagicalEffectsOnly = T
|
||||
/**
|
||||
* Tests to make sure the data in the effect arrays still refers to an actual effect.
|
||||
*
|
||||
* Called from withing ReorderEffects() and DispelMagicBestMod() (in inc_dispel). It's purpose
|
||||
* Called from within ReorderEffects() and DispelMagicBestMod() (in inc_dispel). It's purpose
|
||||
* is to verify that the effect referred to by an entry in the 3 arrays is still in effect, in
|
||||
* case it has been dispelled or run out its duration since the data was put there.
|
||||
*
|
||||
|
@@ -323,7 +323,7 @@ const int FEAT_TOUCH_OF_LUCK = 4634;
|
||||
const int FEAT_FORESTLORD_TREEWALK = 4633;
|
||||
const int FEAT_KALASHTAR_PP = 5205;
|
||||
|
||||
//: PnP Weapon Proficiencies
|
||||
//:: PnP Weapon Proficiencies
|
||||
const int FEAT_WEAPON_PROFICIENCY_SHORTSWORD = 7901;
|
||||
const int FEAT_WEAPON_PROFICIENCY_LONGSWORD = 7902;
|
||||
const int FEAT_WEAPON_PROFICIENCY_BATTLEAXE = 7903;
|
||||
@@ -2735,7 +2735,6 @@ const int GRANT_MOVE_ACTION = 1937;
|
||||
const int MINOR_AURA = 1938;
|
||||
const int MAJOR_AURA = 1939;
|
||||
|
||||
|
||||
//ACP feat
|
||||
const int FEAT_ACP_QUICK_FEAT = 3479;
|
||||
const int FEAT_ACP_HEAVY_FEAT = 3480;
|
||||
|
@@ -2132,7 +2132,7 @@ int GetOffHandAttacks(object oPC, int iMainHandAttacks = 0)
|
||||
|
||||
int bHasPTWF = GetHasFeat(FEAT_PERFECT_TWO_WEAPON_FIGHTING, oPC);
|
||||
|
||||
if(bHasPTWF) iOffHandAttacks = iMainHandAttacks;
|
||||
if(bHasPTWF) {iOffHandAttacks = iMainHandAttacks;}
|
||||
else if(GetHasFeat(FEAT_SUPREME_TWO_WEAPON_FIGHTING, oPC) ) iOffHandAttacks = 4;
|
||||
else if(GetHasFeat(FEAT_GREATER_TWO_WEAPON_FIGHTING, oPC) ) iOffHandAttacks = 3;
|
||||
else if(GetHasFeat(FEAT_IMPROVED_TWO_WEAPON_FIGHTING, oPC) ) iOffHandAttacks = 2;
|
||||
|
@@ -3,8 +3,6 @@
|
||||
This include governs all the new itemproperties
|
||||
Both restrictions and features
|
||||
|
||||
|
||||
|
||||
*/
|
||||
//:: Updated for .35 by Jaysyn 2023/03/10
|
||||
|
||||
|
983
nwn/nwnprc/trunk/include/prc_inc_material.nss
Normal file
983
nwn/nwnprc/trunk/include/prc_inc_material.nss
Normal file
@@ -0,0 +1,983 @@
|
||||
//:: // Material ItemProperty library //
|
||||
//::////////////////////////////////////////////////////////////////////////////
|
||||
//:: prc_inc_material
|
||||
//::
|
||||
//:: Contains constants and functions for use with material itemproperties
|
||||
//::
|
||||
//:: Original by Axe Murderer
|
||||
//::
|
||||
//::////////////////////////////////////////////////////////////////////////////
|
||||
#include "prc_x2_itemprop"
|
||||
|
||||
//:: Material Type Constants
|
||||
//::////////////////////////////////////////////////////////////////////////////
|
||||
const int MATERIAL_TYPE_INVALID = -1;
|
||||
const int MATERIAL_TYPE_UNKNOWN = 0;
|
||||
const int MATERIAL_TYPE_BONE = 1;
|
||||
const int MATERIAL_TYPE_CERAMIC = 2;
|
||||
const int MATERIAL_TYPE_CRYSTAL = 3;
|
||||
const int MATERIAL_TYPE_FABRIC = 4;
|
||||
const int MATERIAL_TYPE_LEATHER = 5;
|
||||
const int MATERIAL_TYPE_METAL = 6;
|
||||
const int MATERIAL_TYPE_PAPER = 7;
|
||||
const int MATERIAL_TYPE_ROPE = 8;
|
||||
const int MATERIAL_TYPE_STONE = 9;
|
||||
const int MATERIAL_TYPE_WOOD = 10;
|
||||
|
||||
const string MATERIAL_TYPE_NAME_INVALID = "";
|
||||
const string MATERIAL_TYPE_NAME_UNKNOWN = "Unknown";
|
||||
const string MATERIAL_TYPE_NAME_BONE = "Bone";
|
||||
const string MATERIAL_TYPE_NAME_CERAMIC = "Ceramic";
|
||||
const string MATERIAL_TYPE_NAME_CRYSTAL = "Crystal";
|
||||
const string MATERIAL_TYPE_NAME_FABRIC = "Fabric";
|
||||
const string MATERIAL_TYPE_NAME_LEATHER = "Leather";
|
||||
const string MATERIAL_TYPE_NAME_METAL = "Metal";
|
||||
const string MATERIAL_TYPE_NAME_PAPER = "Paper";
|
||||
const string MATERIAL_TYPE_NAME_ROPE = "Rope";
|
||||
const string MATERIAL_TYPE_NAME_STONE = "Stone";
|
||||
const string MATERIAL_TYPE_NAME_WOOD = "Wood";
|
||||
|
||||
//:: Material Itemproperty Constants
|
||||
//::////////////////////////////////////////////////////////////////////////////////
|
||||
const int IP_MATERIAL_INVALID = -1;
|
||||
const int IP_MATERIAL_UNKNOWN = 0;
|
||||
const int IP_MATERIAL_ADAMANTINE = 1;
|
||||
const int IP_MATERIAL_BRASS = 2;
|
||||
const int IP_MATERIAL_BRONZE = 3;
|
||||
const int IP_MATERIAL_CARBON = 4;
|
||||
const int IP_MATERIAL_COLD_IRON = 5;
|
||||
const int IP_MATERIAL_COPPER = 6;
|
||||
const int IP_MATERIAL_DARKSTEEL = 7;
|
||||
const int IP_MATERIAL_GOLD = 8;
|
||||
const int IP_MATERIAL_IRON = 9;
|
||||
const int IP_MATERIAL_LEAD = 10;
|
||||
const int IP_MATERIAL_MITHRAL = 11;
|
||||
const int IP_MATERIAL_PLATINUM = 12;
|
||||
const int IP_MATERIAL_SILVER = 13;
|
||||
const int IP_MATERIAL_SILVER_ALCHEMICAL = 14;
|
||||
const int IP_MATERIAL_STEEL = 15;
|
||||
const int IP_MATERIAL_BONE = 16;
|
||||
const int IP_MATERIAL_HIDE = 17;
|
||||
const int IP_MATERIAL_HIDE_SALAMANDER = 18;
|
||||
const int IP_MATERIAL_HIDE_UMBER_HULK = 19;
|
||||
const int IP_MATERIAL_HIDE_WYVERN = 20;
|
||||
const int IP_MATERIAL_HIDE_DRAGON_BLACK = 21;
|
||||
const int IP_MATERIAL_HIDE_DRAGON_BLUE = 22;
|
||||
const int IP_MATERIAL_HIDE_DRAGON_BRASS = 23;
|
||||
const int IP_MATERIAL_HIDE_DRAGON_BRONZE = 24;
|
||||
const int IP_MATERIAL_HIDE_DRAGON_COPPER = 25;
|
||||
const int IP_MATERIAL_HIDE_DRAGON_GOLD = 26;
|
||||
const int IP_MATERIAL_HIDE_DRAGON_GREEN = 27;
|
||||
const int IP_MATERIAL_HIDE_DRAGON_RED = 28;
|
||||
const int IP_MATERIAL_HIDE_DRAGON_SILVER = 29;
|
||||
const int IP_MATERIAL_HIDE_DRAGON_WHITE = 30;
|
||||
const int IP_MATERIAL_LEATHER = 31;
|
||||
const int IP_MATERIAL_SCALE = 32;
|
||||
const int IP_MATERIAL_CLOTH = 33;
|
||||
const int IP_MATERIAL_COTTON = 34;
|
||||
const int IP_MATERIAL_SILK = 35;
|
||||
const int IP_MATERIAL_WOOL = 36;
|
||||
const int IP_MATERIAL_WOOD = 37;
|
||||
const int IP_MATERIAL_WOOD_IRONWOOD = 38;
|
||||
const int IP_MATERIAL_WOOD_DUSKWOOD = 39;
|
||||
const int IP_MATERIAL_WOOD_DARKWOOD_ZALANTAR = 40;
|
||||
const int IP_MATERIAL_WOOD_ASH = 41;
|
||||
const int IP_MATERIAL_WOOD_YEW = 42;
|
||||
const int IP_MATERIAL_WOOD_OAK = 43;
|
||||
const int IP_MATERIAL_WOOD_PINE = 44;
|
||||
const int IP_MATERIAL_WOOD_CEDAR = 45;
|
||||
const int IP_MATERIAL_ELEMENTAL = 46;
|
||||
const int IP_MATERIAL_ELEMENTAL_AIR = 47;
|
||||
const int IP_MATERIAL_ELEMENTAL_EARTH = 48;
|
||||
const int IP_MATERIAL_ELEMENTAL_FIRE = 49;
|
||||
const int IP_MATERIAL_ELEMENTAL_WATER = 50;
|
||||
const int IP_MATERIAL_GEM = 51;
|
||||
const int IP_MATERIAL_GEM_ALEXANDRITE = 52;
|
||||
const int IP_MATERIAL_GEM_AMETHYST = 53;
|
||||
const int IP_MATERIAL_GEM_AVENTURINE = 54;
|
||||
const int IP_MATERIAL_GEM_BELJURIL = 55;
|
||||
const int IP_MATERIAL_GEM_BLOODSTONE = 56;
|
||||
const int IP_MATERIAL_GEM_BLUE_DIAMOND = 57;
|
||||
const int IP_MATERIAL_GEM_CANARY_DIAMOND = 58;
|
||||
const int IP_MATERIAL_GEM_DIAMOND = 59;
|
||||
const int IP_MATERIAL_GEM_EMERALD = 60;
|
||||
const int IP_MATERIAL_GEM_FIRE_AGATE = 61;
|
||||
const int IP_MATERIAL_GEM_FIRE_OPAL = 62;
|
||||
const int IP_MATERIAL_GEM_FLUORSPAR = 63;
|
||||
const int IP_MATERIAL_GEM_GARNET = 64;
|
||||
const int IP_MATERIAL_GEM_GREENSTONE = 65;
|
||||
const int IP_MATERIAL_GEM_JACINTH = 66;
|
||||
const int IP_MATERIAL_GEM_KINGS_TEAR = 67;
|
||||
const int IP_MATERIAL_GEM_MALACHITE = 68;
|
||||
const int IP_MATERIAL_GEM_OBSIDIAN = 69;
|
||||
const int IP_MATERIAL_GEM_PHENALOPE = 70;
|
||||
const int IP_MATERIAL_GEM_ROGUE_STONE = 71;
|
||||
const int IP_MATERIAL_GEM_RUBY = 72;
|
||||
const int IP_MATERIAL_GEM_SAPPHIRE = 73;
|
||||
const int IP_MATERIAL_GEM_STAR_SAPPHIRE = 74;
|
||||
const int IP_MATERIAL_GEM_TOPAZ = 75;
|
||||
const int IP_MATERIAL_GEM_CRYSTAL_DEEP = 76;
|
||||
const int IP_MATERIAL_GEM_CRYSTAL_MUNDANE = 77;
|
||||
const int IP_MATERIAL_PAPER = 100;
|
||||
const int IP_MATERIAL_GLASS = 101;
|
||||
const int IP_MATERIAL_ICE = 102;
|
||||
const int IP_MATERIAL_ROPE_HEMP = 103;
|
||||
const int IP_MATERIAL_STONE = 104;
|
||||
const int IP_MATERIAL_DEEP_CORAL = 105;
|
||||
const int IP_MATERIAL_WOOD_LIVING = 106;
|
||||
const int IP_MATERIAL_OBDURIUM = 107;
|
||||
const int IP_MATERIAL_WOOD_BRONZE = 108;
|
||||
const int IP_MATERIAL_BYESHK = 109;
|
||||
const int IP_MATERIAL_CALOMEL = 110;
|
||||
const int IP_MATERIAL_CRYSTEEL_RIEDRAN = 111;
|
||||
const int IP_MATERIAL_DENSEWOOD = 112;
|
||||
const int IP_MATERIAL_DRAGONSHARD = 113;
|
||||
const int IP_MATERIAL_IRON_FLAMETOUCHED = 114;
|
||||
const int IP_MATERIAL_LIVEWOOD = 115;
|
||||
const int IP_MATERIAL_MOURNLODE_PURPLE = 116;
|
||||
const int IP_MATERIAL_SOARWOOD = 117;
|
||||
const int IP_MATERIAL_TARGATH = 118;
|
||||
const int IP_MATERIAL_ASTRAL_DRIFTMETAL = 119;
|
||||
const int IP_MATERIAL_ATANDUR = 120;
|
||||
const int IP_MATERIAL_BLENDED_QUARTZ = 121;
|
||||
const int IP_MATERIAL_CHITIN = 122;
|
||||
const int IP_MATERIAL_DARKLEAF_ELVEN = 123;
|
||||
const int IP_MATERIAL_DLARUN = 124;
|
||||
const int IP_MATERIAL_DUSTWOOD = 125;
|
||||
const int IP_MATERIAL_ELUKIAN_CLAY = 126;
|
||||
const int IP_MATERIAL_ENTROPIUM = 127;
|
||||
const int IP_MATERIAL_GREENSTEEL_BAATORIAN = 128;
|
||||
const int IP_MATERIAL_HIZAGKUUR = 129;
|
||||
const int IP_MATERIAL_IRON_FEVER = 130;
|
||||
const int IP_MATERIAL_IRON_GEHENNAN_MORGHUTH = 131;
|
||||
const int IP_MATERIAL_LEAFWEAVE = 132;
|
||||
const int IP_MATERIAL_LIVING_METAL = 133;
|
||||
const int IP_MATERIAL_MINDSTEEL_URDRUKAR = 134;
|
||||
const int IP_MATERIAL_TRUESTEEL_SOLANIAN = 135;
|
||||
const int IP_MATERIAL_WOOD_AGAFARI = 136;
|
||||
const int IP_MATERIAL_CRYSTAL_DASL = 137;
|
||||
const int IP_MATERIAL_DRAKE_IVORY = 138;
|
||||
const int IP_MATERIAL_ROPE_GIANT_HAIR = 139;
|
||||
const int IP_MATERIAL_OBSIDIAN = 140;
|
||||
const int IP_MATERIAL_BAMBOO = 141;
|
||||
const int IP_MATERIAL_POTTERY = 142;
|
||||
const int IP_NUM_MATERIALS = 142;
|
||||
|
||||
const string IP_MATERIAL_NAME_INVALID = "";
|
||||
const string IP_MATERIAL_NAME_UNKNOWN = "Unknown";
|
||||
const string IP_MATERIAL_NAME_ADAMANTINE = "Adamantine";
|
||||
const string IP_MATERIAL_NAME_BRASS = "Brass";
|
||||
const string IP_MATERIAL_NAME_BRONZE = "Bronze";
|
||||
const string IP_MATERIAL_NAME_CARBON = "Carbon";
|
||||
const string IP_MATERIAL_NAME_COLD_IRON = "Cold Iron";
|
||||
const string IP_MATERIAL_NAME_COPPER = "Copper";
|
||||
const string IP_MATERIAL_NAME_DARKSTEEL = "Darksteel";
|
||||
const string IP_MATERIAL_NAME_GOLD = "Gold";
|
||||
const string IP_MATERIAL_NAME_IRON = "Iron";
|
||||
const string IP_MATERIAL_NAME_LEAD = "Lead";
|
||||
const string IP_MATERIAL_NAME_MITHRAL = "Mithral";
|
||||
const string IP_MATERIAL_NAME_PLATINUM = "Platinum";
|
||||
const string IP_MATERIAL_NAME_SILVER = "Silver";
|
||||
const string IP_MATERIAL_NAME_SILVER_ALCHEMICAL = "Alchemical Silver";
|
||||
const string IP_MATERIAL_NAME_STEEL = "Steel";
|
||||
const string IP_MATERIAL_NAME_BONE = "Bone";
|
||||
const string IP_MATERIAL_NAME_HIDE = "Hide";
|
||||
const string IP_MATERIAL_NAME_HIDE_SALAMANDER = "Salamander Hide";
|
||||
const string IP_MATERIAL_NAME_HIDE_UMBER_HULK = "Umber Hulk Hide";
|
||||
const string IP_MATERIAL_NAME_HIDE_WYVERN = "Wyvern Hide";
|
||||
const string IP_MATERIAL_NAME_HIDE_DRAGON_BLACK = "Black Dragon Hide";
|
||||
const string IP_MATERIAL_NAME_HIDE_DRAGON_BLUE = "Blue Dragon Hide";
|
||||
const string IP_MATERIAL_NAME_HIDE_DRAGON_BRASS = "Brass Dragon Hide";
|
||||
const string IP_MATERIAL_NAME_HIDE_DRAGON_BRONZE = "Bronze Dragon Hide";
|
||||
const string IP_MATERIAL_NAME_HIDE_DRAGON_COPPER = "Copper Dragon Hide";
|
||||
const string IP_MATERIAL_NAME_HIDE_DRAGON_GOLD = "Gold Dragon Hide";
|
||||
const string IP_MATERIAL_NAME_HIDE_DRAGON_GREEN = "Green Dragon Hide";
|
||||
const string IP_MATERIAL_NAME_HIDE_DRAGON_RED = "Red Dragon Hide";
|
||||
const string IP_MATERIAL_NAME_HIDE_DRAGON_SILVER = "Silver Dragon Hide";
|
||||
const string IP_MATERIAL_NAME_HIDE_DRAGON_WHITE = "White Dragon Hide";
|
||||
const string IP_MATERIAL_NAME_LEATHER = "Leather Hide";
|
||||
const string IP_MATERIAL_NAME_SCALE = "Scale";
|
||||
const string IP_MATERIAL_NAME_CLOTH = "Cloth";
|
||||
const string IP_MATERIAL_NAME_COTTON = "Cotton";
|
||||
const string IP_MATERIAL_NAME_SILK = "Silk";
|
||||
const string IP_MATERIAL_NAME_WOOL = "Wool";
|
||||
const string IP_MATERIAL_NAME_WOOD = "Wood";
|
||||
const string IP_MATERIAL_NAME_WOOD_IRONWOOD = "Ironwood";
|
||||
const string IP_MATERIAL_NAME_WOOD_DUSKWOOD = "Duskwood";
|
||||
const string IP_MATERIAL_NAME_WOOD_DARKWOOD_ZALANTAR = "Zalantar Darkwood";
|
||||
const string IP_MATERIAL_NAME_WOOD_ASH = "Ash";
|
||||
const string IP_MATERIAL_NAME_WOOD_YEW = "Yew";
|
||||
const string IP_MATERIAL_NAME_WOOD_OAK = "Oak";
|
||||
const string IP_MATERIAL_NAME_WOOD_PINE = "Pine";
|
||||
const string IP_MATERIAL_NAME_WOOD_CEDAR = "Cedar";
|
||||
const string IP_MATERIAL_NAME_ELEMENTAL = "Elemental";
|
||||
const string IP_MATERIAL_NAME_ELEMENTAL_AIR = "Air Elemental";
|
||||
const string IP_MATERIAL_NAME_ELEMENTAL_EARTH = "Earth Elemental";
|
||||
const string IP_MATERIAL_NAME_ELEMENTAL_FIRE = "Fire Elemental";
|
||||
const string IP_MATERIAL_NAME_ELEMENTAL_WATER = "Water Elemental";
|
||||
const string IP_MATERIAL_NAME_GEM = "Gem";
|
||||
const string IP_MATERIAL_NAME_GEM_ALEXANDRITE = "Alexandrite";
|
||||
const string IP_MATERIAL_NAME_GEM_AMETHYST = "Amethyst";
|
||||
const string IP_MATERIAL_NAME_GEM_AVENTURINE = "Aventurine";
|
||||
const string IP_MATERIAL_NAME_GEM_BELJURIL = "Beljuril";
|
||||
const string IP_MATERIAL_NAME_GEM_BLOODSTONE = "Bloodstone";
|
||||
const string IP_MATERIAL_NAME_GEM_BLUE_DIAMOND = "Blue Diamond";
|
||||
const string IP_MATERIAL_NAME_GEM_CANARY_DIAMOND = "Carary Diamond";
|
||||
const string IP_MATERIAL_NAME_GEM_DIAMOND = "Diamond";
|
||||
const string IP_MATERIAL_NAME_GEM_EMERALD = "Emerald";
|
||||
const string IP_MATERIAL_NAME_GEM_FIRE_AGATE = "Agate";
|
||||
const string IP_MATERIAL_NAME_GEM_FIRE_OPAL = "Opal";
|
||||
const string IP_MATERIAL_NAME_GEM_FLUORSPAR = "Fluorspar";
|
||||
const string IP_MATERIAL_NAME_GEM_GARNET = "Garnet";
|
||||
const string IP_MATERIAL_NAME_GEM_GREENSTONE = "Greenstone";
|
||||
const string IP_MATERIAL_NAME_GEM_JACINTH = "Jacinth";
|
||||
const string IP_MATERIAL_NAME_GEM_KINGS_TEAR = "King's Tear";
|
||||
const string IP_MATERIAL_NAME_GEM_MALACHITE = "Malachite";
|
||||
const string IP_MATERIAL_NAME_GEM_OBSIDIAN = "Obsidian";
|
||||
const string IP_MATERIAL_NAME_GEM_PHENALOPE = "Phenalope";
|
||||
const string IP_MATERIAL_NAME_GEM_ROGUE_STONE = "Rogue Stone";
|
||||
const string IP_MATERIAL_NAME_GEM_RUBY = "Ruby";
|
||||
const string IP_MATERIAL_NAME_GEM_SAPPHIRE = "Sapphire";
|
||||
const string IP_MATERIAL_NAME_GEM_STAR_SAPPHIRE = "Star Sapphire";
|
||||
const string IP_MATERIAL_NAME_GEM_TOPAZ = "Topaz";
|
||||
const string IP_MATERIAL_NAME_GEM_CRYSTAL_DEEP = "Deep Crystal";
|
||||
const string IP_MATERIAL_NAME_GEM_CRYSTAL_MUNDANE = "Mundane Crystal";
|
||||
const string IP_MATERIAL_NAME_PAPER = "Paper";
|
||||
const string IP_MATERIAL_NAME_GLASS = "Glass";
|
||||
const string IP_MATERIAL_NAME_ICE = "Ice";
|
||||
const string IP_MATERIAL_NAME_ROPE_HEMP = "Hemp Rope";
|
||||
const string IP_MATERIAL_NAME_STONE = "Stone";
|
||||
const string IP_MATERIAL_NAME_DEEP_CORAL = "Deep Coral";
|
||||
const string IP_MATERIAL_NAME_WOOD_LIVING = "Living Wood";
|
||||
const string IP_MATERIAL_NAME_OBDURIUM = "Obdurium";
|
||||
const string IP_MATERIAL_NAME_WOOD_BRONZE = "Bronze Wood";
|
||||
const string IP_MATERIAL_NAME_BYESHK = "Byeshk";
|
||||
const string IP_MATERIAL_NAME_CALOMEL = "Calomel";
|
||||
const string IP_MATERIAL_NAME_CRYSTEEL_RIEDRAN = "Riedran Crysteel";
|
||||
const string IP_MATERIAL_NAME_DENSEWOOD = "Densewood";
|
||||
const string IP_MATERIAL_NAME_DRAGONSHARD = "Dragonshard";
|
||||
const string IP_MATERIAL_NAME_IRON_FLAMETOUCHED = "Flametouched Iron";
|
||||
const string IP_MATERIAL_NAME_LIVEWOOD = "Livewood";
|
||||
const string IP_MATERIAL_NAME_MOURNLODE_PURPLE = "Purple Mournlode";
|
||||
const string IP_MATERIAL_NAME_SOARWOOD = "Soarwood";
|
||||
const string IP_MATERIAL_NAME_TARGATH = "Targath";
|
||||
const string IP_MATERIAL_NAME_ASTRAL_DRIFTMETAL = "Astral Driftmetal";
|
||||
const string IP_MATERIAL_NAME_ATANDUR = "Atandur";
|
||||
const string IP_MATERIAL_NAME_BLENDED_QUARTZ = "Blended Quartz";
|
||||
const string IP_MATERIAL_NAME_CHITIN = "Chitin";
|
||||
const string IP_MATERIAL_NAME_DARKLEAF_ELVEN = "Elven Darkleaf";
|
||||
const string IP_MATERIAL_NAME_DLARUN = "Dlarun";
|
||||
const string IP_MATERIAL_NAME_DUSTWOOD = "Dustwood";
|
||||
const string IP_MATERIAL_NAME_ELUKIAN_CLAY = "Elukian Clay";
|
||||
const string IP_MATERIAL_NAME_ENTROPIUM = "Entropium";
|
||||
const string IP_MATERIAL_NAME_GREENSTEEL_BAATORIAN = "Baatorian Greensteel";
|
||||
const string IP_MATERIAL_NAME_HIZAGKUUR = "Hizagkuur";
|
||||
const string IP_MATERIAL_NAME_IRON_FEVER = "Fever Iron";
|
||||
const string IP_MATERIAL_NAME_IRON_GEHENNAN_MORGHUTH = "Gehennan Morghuth Iron";
|
||||
const string IP_MATERIAL_NAME_LEAFWEAVE = "Leafweave";
|
||||
const string IP_MATERIAL_NAME_LIVING_METAL = "Living Metal";
|
||||
const string IP_MATERIAL_NAME_MINDSTEEL_URDRUKAR = "Urdrukar Mindsteel";
|
||||
const string IP_MATERIAL_NAME_TRUESTEEL_SOLANIAN = "Solanian Truesteel";
|
||||
const string IP_MATERIAL_NAME_WOOD_AGAFARI = "Agafari";
|
||||
const string IP_MATERIAL_NAME_CRYSTAL_DASL = "Dasl";
|
||||
const string IP_MATERIAL_NAME_DRAKE_IVORY = "Drake Ivory";
|
||||
const string IP_MATERIAL_NAME_ROPE_GIANT_HAIR = "Giant Hair Rope";
|
||||
const string IP_MATERIAL_NAME_OBSIDIAN = "Obsidian";
|
||||
const string IP_MATERIAL_NAME_BAMBOO = "Bamboo";
|
||||
const string IP_MATERIAL_NAME_POTTERY = "Pottery";
|
||||
|
||||
//::///////////////////////////////////////////////////////////////
|
||||
// GetMaterialName( int iMaterialType, int bLowerCase = FALSE)
|
||||
// Given a material type this function returns its name as a string.
|
||||
//::///////////////////////////////////////////////////////////////
|
||||
// Parameters: int iMaterialType - the material type number IP_MATERIAL_*
|
||||
// int bLowerCase - if TRUE the returned string is all lower case
|
||||
// if FALSE the returned string is first letter cap.
|
||||
//
|
||||
// Returns: the name of the material type as a string IP_MATERIAL_NAME_*.
|
||||
// Returns IP_MATERIAL_NAME_INVALID if the material type is invalid.
|
||||
//::///////////////////////////////////////////////////////////////
|
||||
string GetMaterialName( int iMaterialType, int bLowerCase = FALSE);
|
||||
string GetMaterialName( int iMaterialType, int bLowerCase = FALSE)
|
||||
{ if( iMaterialType == IP_MATERIAL_INVALID) return IP_MATERIAL_NAME_INVALID;
|
||||
|
||||
string sName = "";
|
||||
switch( iMaterialType)
|
||||
{ case IP_MATERIAL_UNKNOWN: sName = IP_MATERIAL_NAME_UNKNOWN; break;
|
||||
case IP_MATERIAL_ADAMANTINE: sName = IP_MATERIAL_NAME_ADAMANTINE; break;
|
||||
case IP_MATERIAL_BRASS: sName = IP_MATERIAL_NAME_BRASS; break;
|
||||
case IP_MATERIAL_BRONZE: sName = IP_MATERIAL_NAME_BRONZE; break;
|
||||
case IP_MATERIAL_CARBON: sName = IP_MATERIAL_NAME_CARBON; break;
|
||||
case IP_MATERIAL_COLD_IRON: sName = IP_MATERIAL_NAME_COLD_IRON; break;
|
||||
case IP_MATERIAL_COPPER: sName = IP_MATERIAL_NAME_COPPER; break;
|
||||
case IP_MATERIAL_DARKSTEEL: sName = IP_MATERIAL_NAME_DARKSTEEL; break;
|
||||
case IP_MATERIAL_GOLD: sName = IP_MATERIAL_NAME_GOLD; break;
|
||||
case IP_MATERIAL_IRON: sName = IP_MATERIAL_NAME_IRON; break;
|
||||
case IP_MATERIAL_LEAD: sName = IP_MATERIAL_NAME_LEAD; break;
|
||||
case IP_MATERIAL_MITHRAL: sName = IP_MATERIAL_NAME_MITHRAL; break;
|
||||
case IP_MATERIAL_PLATINUM: sName = IP_MATERIAL_NAME_PLATINUM; break;
|
||||
case IP_MATERIAL_SILVER: sName = IP_MATERIAL_NAME_SILVER; break;
|
||||
case IP_MATERIAL_SILVER_ALCHEMICAL: sName = IP_MATERIAL_NAME_SILVER_ALCHEMICAL; break;
|
||||
case IP_MATERIAL_STEEL: sName = IP_MATERIAL_NAME_STEEL; break;
|
||||
case IP_MATERIAL_BONE: sName = IP_MATERIAL_NAME_BONE; break;
|
||||
case IP_MATERIAL_HIDE: sName = IP_MATERIAL_NAME_HIDE; break;
|
||||
case IP_MATERIAL_HIDE_SALAMANDER: sName = IP_MATERIAL_NAME_HIDE_SALAMANDER; break;
|
||||
case IP_MATERIAL_HIDE_UMBER_HULK: sName = IP_MATERIAL_NAME_HIDE_UMBER_HULK; break;
|
||||
case IP_MATERIAL_HIDE_WYVERN: sName = IP_MATERIAL_NAME_HIDE_WYVERN; break;
|
||||
case IP_MATERIAL_HIDE_DRAGON_BLACK: sName = IP_MATERIAL_NAME_HIDE_DRAGON_BLACK; break;
|
||||
case IP_MATERIAL_HIDE_DRAGON_BLUE: sName = IP_MATERIAL_NAME_HIDE_DRAGON_BLUE; break;
|
||||
case IP_MATERIAL_HIDE_DRAGON_BRASS: sName = IP_MATERIAL_NAME_HIDE_DRAGON_BRASS; break;
|
||||
case IP_MATERIAL_HIDE_DRAGON_BRONZE: sName = IP_MATERIAL_NAME_HIDE_DRAGON_BRONZE; break;
|
||||
case IP_MATERIAL_HIDE_DRAGON_COPPER: sName = IP_MATERIAL_NAME_HIDE_DRAGON_COPPER; break;
|
||||
case IP_MATERIAL_HIDE_DRAGON_GOLD: sName = IP_MATERIAL_NAME_HIDE_DRAGON_GOLD; break;
|
||||
case IP_MATERIAL_HIDE_DRAGON_GREEN: sName = IP_MATERIAL_NAME_HIDE_DRAGON_GREEN; break;
|
||||
case IP_MATERIAL_HIDE_DRAGON_RED: sName = IP_MATERIAL_NAME_HIDE_DRAGON_RED; break;
|
||||
case IP_MATERIAL_HIDE_DRAGON_SILVER: sName = IP_MATERIAL_NAME_HIDE_DRAGON_SILVER; break;
|
||||
case IP_MATERIAL_HIDE_DRAGON_WHITE: sName = IP_MATERIAL_NAME_HIDE_DRAGON_WHITE; break;
|
||||
case IP_MATERIAL_LEATHER: sName = IP_MATERIAL_NAME_LEATHER; break;
|
||||
case IP_MATERIAL_SCALE: sName = IP_MATERIAL_NAME_SCALE; break;
|
||||
case IP_MATERIAL_COTTON: sName = IP_MATERIAL_NAME_COTTON; break;
|
||||
case IP_MATERIAL_CLOTH: sName = IP_MATERIAL_NAME_CLOTH; break;
|
||||
case IP_MATERIAL_SILK: sName = IP_MATERIAL_NAME_SILK; break;
|
||||
case IP_MATERIAL_WOOL: sName = IP_MATERIAL_NAME_WOOL; break;
|
||||
case IP_MATERIAL_WOOD: sName = IP_MATERIAL_NAME_WOOD; break;
|
||||
case IP_MATERIAL_WOOD_IRONWOOD: sName = IP_MATERIAL_NAME_WOOD_IRONWOOD; break;
|
||||
case IP_MATERIAL_WOOD_DUSKWOOD: sName = IP_MATERIAL_NAME_WOOD_DUSKWOOD; break;
|
||||
case IP_MATERIAL_WOOD_DARKWOOD_ZALANTAR: sName = IP_MATERIAL_NAME_WOOD_DARKWOOD_ZALANTAR; break;
|
||||
case IP_MATERIAL_WOOD_ASH: sName = IP_MATERIAL_NAME_WOOD_ASH; break;
|
||||
case IP_MATERIAL_WOOD_YEW: sName = IP_MATERIAL_NAME_WOOD_YEW; break;
|
||||
case IP_MATERIAL_WOOD_OAK: sName = IP_MATERIAL_NAME_WOOD_OAK; break;
|
||||
case IP_MATERIAL_WOOD_PINE: sName = IP_MATERIAL_NAME_WOOD_PINE; break;
|
||||
case IP_MATERIAL_WOOD_CEDAR: sName = IP_MATERIAL_NAME_WOOD_CEDAR; break;
|
||||
case IP_MATERIAL_ELEMENTAL: sName = IP_MATERIAL_NAME_ELEMENTAL; break;
|
||||
case IP_MATERIAL_ELEMENTAL_AIR: sName = IP_MATERIAL_NAME_ELEMENTAL_AIR; break;
|
||||
case IP_MATERIAL_ELEMENTAL_EARTH: sName = IP_MATERIAL_NAME_ELEMENTAL_EARTH; break;
|
||||
case IP_MATERIAL_ELEMENTAL_FIRE: sName = IP_MATERIAL_NAME_ELEMENTAL_FIRE; break;
|
||||
case IP_MATERIAL_ELEMENTAL_WATER: sName = IP_MATERIAL_NAME_ELEMENTAL_WATER; break;
|
||||
case IP_MATERIAL_GEM: sName = IP_MATERIAL_NAME_GEM; break;
|
||||
case IP_MATERIAL_GEM_ALEXANDRITE: sName = IP_MATERIAL_NAME_GEM_ALEXANDRITE; break;
|
||||
case IP_MATERIAL_GEM_AMETHYST: sName = IP_MATERIAL_NAME_GEM_AMETHYST; break;
|
||||
case IP_MATERIAL_GEM_AVENTURINE: sName = IP_MATERIAL_NAME_GEM_AVENTURINE; break;
|
||||
case IP_MATERIAL_GEM_BELJURIL: sName = IP_MATERIAL_NAME_GEM_BELJURIL; break;
|
||||
case IP_MATERIAL_GEM_BLOODSTONE: sName = IP_MATERIAL_NAME_GEM_BLOODSTONE; break;
|
||||
case IP_MATERIAL_GEM_BLUE_DIAMOND: sName = IP_MATERIAL_NAME_GEM_BLUE_DIAMOND; break;
|
||||
case IP_MATERIAL_GEM_CANARY_DIAMOND: sName = IP_MATERIAL_NAME_GEM_CANARY_DIAMOND; break;
|
||||
case IP_MATERIAL_GEM_DIAMOND: sName = IP_MATERIAL_NAME_GEM_DIAMOND; break;
|
||||
case IP_MATERIAL_GEM_EMERALD: sName = IP_MATERIAL_NAME_GEM_EMERALD; break;
|
||||
case IP_MATERIAL_GEM_FIRE_AGATE: sName = IP_MATERIAL_NAME_GEM_FIRE_AGATE; break;
|
||||
case IP_MATERIAL_GEM_FIRE_OPAL: sName = IP_MATERIAL_NAME_GEM_FIRE_OPAL; break;
|
||||
case IP_MATERIAL_GEM_FLUORSPAR: sName = IP_MATERIAL_NAME_GEM_FLUORSPAR; break;
|
||||
case IP_MATERIAL_GEM_GARNET: sName = IP_MATERIAL_NAME_GEM_GARNET; break;
|
||||
case IP_MATERIAL_GEM_GREENSTONE: sName = IP_MATERIAL_NAME_GEM_GREENSTONE; break;
|
||||
case IP_MATERIAL_GEM_JACINTH: sName = IP_MATERIAL_NAME_GEM_JACINTH; break;
|
||||
case IP_MATERIAL_GEM_KINGS_TEAR: sName = IP_MATERIAL_NAME_GEM_KINGS_TEAR; break;
|
||||
case IP_MATERIAL_GEM_MALACHITE: sName = IP_MATERIAL_NAME_GEM_MALACHITE; break;
|
||||
case IP_MATERIAL_GEM_OBSIDIAN: sName = IP_MATERIAL_NAME_GEM_OBSIDIAN; break;
|
||||
case IP_MATERIAL_GEM_PHENALOPE: sName = IP_MATERIAL_NAME_GEM_PHENALOPE; break;
|
||||
case IP_MATERIAL_GEM_ROGUE_STONE: sName = IP_MATERIAL_NAME_GEM_ROGUE_STONE; break;
|
||||
case IP_MATERIAL_GEM_RUBY: sName = IP_MATERIAL_NAME_GEM_RUBY; break;
|
||||
case IP_MATERIAL_GEM_SAPPHIRE: sName = IP_MATERIAL_NAME_GEM_SAPPHIRE; break;
|
||||
case IP_MATERIAL_GEM_STAR_SAPPHIRE: sName = IP_MATERIAL_NAME_GEM_STAR_SAPPHIRE; break;
|
||||
case IP_MATERIAL_GEM_TOPAZ: sName = IP_MATERIAL_NAME_GEM_TOPAZ; break;
|
||||
case IP_MATERIAL_GEM_CRYSTAL_DEEP: sName = IP_MATERIAL_NAME_GEM_CRYSTAL_DEEP; break;
|
||||
case IP_MATERIAL_GEM_CRYSTAL_MUNDANE: sName = IP_MATERIAL_NAME_GEM_CRYSTAL_MUNDANE; break;
|
||||
case IP_MATERIAL_PAPER: sName = IP_MATERIAL_NAME_PAPER; break;
|
||||
case IP_MATERIAL_GLASS: sName = IP_MATERIAL_NAME_GLASS; break;
|
||||
case IP_MATERIAL_ICE: sName = IP_MATERIAL_NAME_ICE; break;
|
||||
case IP_MATERIAL_ROPE_HEMP: sName = IP_MATERIAL_NAME_ROPE_HEMP; break;
|
||||
case IP_MATERIAL_STONE: sName = IP_MATERIAL_NAME_STONE; break;
|
||||
case IP_MATERIAL_DEEP_CORAL: sName = IP_MATERIAL_NAME_DEEP_CORAL; break;
|
||||
case IP_MATERIAL_WOOD_LIVING: sName = IP_MATERIAL_NAME_WOOD_LIVING; break;
|
||||
case IP_MATERIAL_OBDURIUM: sName = IP_MATERIAL_NAME_OBDURIUM; break;
|
||||
case IP_MATERIAL_WOOD_BRONZE: sName = IP_MATERIAL_NAME_WOOD_BRONZE; break;
|
||||
case IP_MATERIAL_BYESHK: sName = IP_MATERIAL_NAME_BYESHK; break;
|
||||
case IP_MATERIAL_CALOMEL: sName = IP_MATERIAL_NAME_CALOMEL; break;
|
||||
case IP_MATERIAL_CRYSTEEL_RIEDRAN: sName = IP_MATERIAL_NAME_CRYSTEEL_RIEDRAN; break;
|
||||
case IP_MATERIAL_DENSEWOOD: sName = IP_MATERIAL_NAME_DENSEWOOD; break;
|
||||
case IP_MATERIAL_DRAGONSHARD: sName = IP_MATERIAL_NAME_DRAGONSHARD; break;
|
||||
case IP_MATERIAL_IRON_FLAMETOUCHED: sName = IP_MATERIAL_NAME_IRON_FLAMETOUCHED; break;
|
||||
case IP_MATERIAL_LIVEWOOD: sName = IP_MATERIAL_NAME_LIVEWOOD; break;
|
||||
case IP_MATERIAL_MOURNLODE_PURPLE: sName = IP_MATERIAL_NAME_MOURNLODE_PURPLE; break;
|
||||
case IP_MATERIAL_SOARWOOD: sName = IP_MATERIAL_NAME_SOARWOOD; break;
|
||||
case IP_MATERIAL_TARGATH: sName = IP_MATERIAL_NAME_TARGATH; break;
|
||||
case IP_MATERIAL_ASTRAL_DRIFTMETAL: sName = IP_MATERIAL_NAME_ASTRAL_DRIFTMETAL; break;
|
||||
case IP_MATERIAL_ATANDUR: sName = IP_MATERIAL_NAME_ATANDUR; break;
|
||||
case IP_MATERIAL_BLENDED_QUARTZ: sName = IP_MATERIAL_NAME_BLENDED_QUARTZ; break;
|
||||
case IP_MATERIAL_CHITIN: sName = IP_MATERIAL_NAME_CHITIN; break;
|
||||
case IP_MATERIAL_DARKLEAF_ELVEN: sName = IP_MATERIAL_NAME_DARKLEAF_ELVEN; break;
|
||||
case IP_MATERIAL_DLARUN: sName = IP_MATERIAL_NAME_DLARUN; break;
|
||||
case IP_MATERIAL_DUSTWOOD: sName = IP_MATERIAL_NAME_DUSTWOOD; break;
|
||||
case IP_MATERIAL_ELUKIAN_CLAY: sName = IP_MATERIAL_NAME_ELUKIAN_CLAY; break;
|
||||
case IP_MATERIAL_ENTROPIUM: sName = IP_MATERIAL_NAME_ENTROPIUM; break;
|
||||
case IP_MATERIAL_GREENSTEEL_BAATORIAN: sName = IP_MATERIAL_NAME_GREENSTEEL_BAATORIAN; break;
|
||||
case IP_MATERIAL_HIZAGKUUR: sName = IP_MATERIAL_NAME_HIZAGKUUR; break;
|
||||
case IP_MATERIAL_IRON_FEVER: sName = IP_MATERIAL_NAME_IRON_FEVER; break;
|
||||
case IP_MATERIAL_IRON_GEHENNAN_MORGHUTH: sName = IP_MATERIAL_NAME_IRON_GEHENNAN_MORGHUTH; break;
|
||||
case IP_MATERIAL_LEAFWEAVE: sName = IP_MATERIAL_NAME_LEAFWEAVE; break;
|
||||
case IP_MATERIAL_LIVING_METAL: sName = IP_MATERIAL_NAME_LIVING_METAL; break;
|
||||
case IP_MATERIAL_MINDSTEEL_URDRUKAR: sName = IP_MATERIAL_NAME_MINDSTEEL_URDRUKAR; break;
|
||||
case IP_MATERIAL_TRUESTEEL_SOLANIAN: sName = IP_MATERIAL_NAME_TRUESTEEL_SOLANIAN; break;
|
||||
case IP_MATERIAL_WOOD_AGAFARI: sName = IP_MATERIAL_NAME_WOOD_AGAFARI; break;
|
||||
case IP_MATERIAL_CRYSTAL_DASL: sName = IP_MATERIAL_NAME_CRYSTAL_DASL; break;
|
||||
case IP_MATERIAL_DRAKE_IVORY: sName = IP_MATERIAL_NAME_DRAKE_IVORY; break;
|
||||
case IP_MATERIAL_ROPE_GIANT_HAIR: sName = IP_MATERIAL_NAME_ROPE_GIANT_HAIR; break;
|
||||
case IP_MATERIAL_OBSIDIAN: sName = IP_MATERIAL_NAME_OBSIDIAN; break;
|
||||
case IP_MATERIAL_BAMBOO: sName = IP_MATERIAL_NAME_BAMBOO; break;
|
||||
case IP_MATERIAL_POTTERY: sName = IP_MATERIAL_NAME_POTTERY; break;
|
||||
|
||||
default: return "";
|
||||
}
|
||||
|
||||
return (bLowerCase ? GetStringLowerCase( sName) : sName);
|
||||
}
|
||||
|
||||
|
||||
//::///////////////////////////////////////////////////////////////
|
||||
// int GetIPMaterial( string sMaterialName)
|
||||
// Given a material name this function returns its type number (2da row)
|
||||
//::///////////////////////////////////////////////////////////////
|
||||
// Parameters: string sMaterialName - the material name IP_MATERIAL_NAME_*
|
||||
//
|
||||
// Returns: the material type number IP_MATERIAL_* of the specified material
|
||||
// name or IP_MATERIAL_INVALID if the type could not be determined
|
||||
// from the specified name.
|
||||
//::///////////////////////////////////////////////////////////////
|
||||
int GetIPMaterial( string sMaterialName);
|
||||
int GetIPMaterial( string sMaterialName)
|
||||
{ if( sMaterialName == IP_MATERIAL_NAME_INVALID) return IP_MATERIAL_INVALID;
|
||||
|
||||
sMaterialName = GetStringUpperCase( sMaterialName);
|
||||
if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_UNKNOWN)) return IP_MATERIAL_UNKNOWN;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_ADAMANTINE)) return IP_MATERIAL_ADAMANTINE;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_BRASS)) return IP_MATERIAL_BRASS;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_BRONZE)) return IP_MATERIAL_BRONZE;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_CARBON)) return IP_MATERIAL_CARBON;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_COLD_IRON)) return IP_MATERIAL_COLD_IRON;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_COPPER)) return IP_MATERIAL_COPPER;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_DARKSTEEL)) return IP_MATERIAL_DARKSTEEL;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GOLD)) return IP_MATERIAL_GOLD;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_IRON)) return IP_MATERIAL_IRON;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_LEAD)) return IP_MATERIAL_LEAD;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_MITHRAL)) return IP_MATERIAL_MITHRAL;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_PLATINUM)) return IP_MATERIAL_PLATINUM;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_SILVER)) return IP_MATERIAL_SILVER;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_SILVER_ALCHEMICAL)) return IP_MATERIAL_SILVER_ALCHEMICAL;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_STEEL)) return IP_MATERIAL_STEEL;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_BONE)) return IP_MATERIAL_BONE;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_HIDE)) return IP_MATERIAL_HIDE;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_HIDE_SALAMANDER)) return IP_MATERIAL_HIDE_SALAMANDER;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_HIDE_UMBER_HULK)) return IP_MATERIAL_HIDE_UMBER_HULK;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_HIDE_WYVERN)) return IP_MATERIAL_HIDE_WYVERN;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_HIDE_DRAGON_BLACK)) return IP_MATERIAL_HIDE_DRAGON_BLACK;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_HIDE_DRAGON_BLUE)) return IP_MATERIAL_HIDE_DRAGON_BLUE;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_HIDE_DRAGON_BRASS)) return IP_MATERIAL_HIDE_DRAGON_BRASS;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_HIDE_DRAGON_BRONZE)) return IP_MATERIAL_HIDE_DRAGON_BRONZE;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_HIDE_DRAGON_COPPER)) return IP_MATERIAL_HIDE_DRAGON_COPPER;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_HIDE_DRAGON_GOLD)) return IP_MATERIAL_HIDE_DRAGON_GOLD;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_HIDE_DRAGON_GREEN)) return IP_MATERIAL_HIDE_DRAGON_GREEN;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_HIDE_DRAGON_RED)) return IP_MATERIAL_HIDE_DRAGON_RED;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_HIDE_DRAGON_SILVER)) return IP_MATERIAL_HIDE_DRAGON_SILVER;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_HIDE_DRAGON_WHITE)) return IP_MATERIAL_HIDE_DRAGON_WHITE;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_LEATHER)) return IP_MATERIAL_LEATHER;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_SCALE)) return IP_MATERIAL_SCALE;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_COTTON)) return IP_MATERIAL_COTTON;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_CLOTH)) return IP_MATERIAL_CLOTH;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_SILK)) return IP_MATERIAL_SILK;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_WOOL)) return IP_MATERIAL_WOOL;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_WOOD)) return IP_MATERIAL_WOOD;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_WOOD_IRONWOOD)) return IP_MATERIAL_WOOD_IRONWOOD;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_WOOD_DUSKWOOD)) return IP_MATERIAL_WOOD_DUSKWOOD;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_WOOD_DARKWOOD_ZALANTAR)) return IP_MATERIAL_WOOD_DARKWOOD_ZALANTAR;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_WOOD_ASH)) return IP_MATERIAL_WOOD_ASH;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_WOOD_YEW)) return IP_MATERIAL_WOOD_YEW;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_WOOD_OAK)) return IP_MATERIAL_WOOD_OAK;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_WOOD_PINE)) return IP_MATERIAL_WOOD_PINE;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_WOOD_CEDAR)) return IP_MATERIAL_WOOD_CEDAR;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_ELEMENTAL)) return IP_MATERIAL_ELEMENTAL;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_ELEMENTAL_AIR)) return IP_MATERIAL_ELEMENTAL_AIR;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_ELEMENTAL_EARTH)) return IP_MATERIAL_ELEMENTAL_EARTH;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_ELEMENTAL_FIRE)) return IP_MATERIAL_ELEMENTAL_FIRE;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_ELEMENTAL_WATER)) return IP_MATERIAL_ELEMENTAL_WATER;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM)) return IP_MATERIAL_GEM;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM_ALEXANDRITE)) return IP_MATERIAL_GEM_ALEXANDRITE;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM_AMETHYST)) return IP_MATERIAL_GEM_AMETHYST;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM_AVENTURINE)) return IP_MATERIAL_GEM_AVENTURINE;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM_BELJURIL)) return IP_MATERIAL_GEM_BELJURIL;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM_BLOODSTONE)) return IP_MATERIAL_GEM_BLOODSTONE;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM_BLUE_DIAMOND)) return IP_MATERIAL_GEM_BLUE_DIAMOND;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM_CANARY_DIAMOND)) return IP_MATERIAL_GEM_CANARY_DIAMOND;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM_DIAMOND)) return IP_MATERIAL_GEM_DIAMOND;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM_EMERALD)) return IP_MATERIAL_GEM_EMERALD;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM_FIRE_AGATE)) return IP_MATERIAL_GEM_FIRE_AGATE;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM_FIRE_OPAL)) return IP_MATERIAL_GEM_FIRE_OPAL;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM_FLUORSPAR)) return IP_MATERIAL_GEM_FLUORSPAR;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM_GARNET)) return IP_MATERIAL_GEM_GARNET;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM_GREENSTONE)) return IP_MATERIAL_GEM_GREENSTONE;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM_JACINTH)) return IP_MATERIAL_GEM_JACINTH;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM_KINGS_TEAR)) return IP_MATERIAL_GEM_KINGS_TEAR;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM_MALACHITE)) return IP_MATERIAL_GEM_MALACHITE;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM_OBSIDIAN)) return IP_MATERIAL_GEM_OBSIDIAN;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM_PHENALOPE)) return IP_MATERIAL_GEM_PHENALOPE;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM_ROGUE_STONE)) return IP_MATERIAL_GEM_ROGUE_STONE;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM_RUBY)) return IP_MATERIAL_GEM_RUBY;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM_SAPPHIRE)) return IP_MATERIAL_GEM_SAPPHIRE;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM_STAR_SAPPHIRE)) return IP_MATERIAL_GEM_STAR_SAPPHIRE;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM_TOPAZ)) return IP_MATERIAL_GEM_TOPAZ;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM_CRYSTAL_DEEP)) return IP_MATERIAL_GEM_CRYSTAL_DEEP;
|
||||
else if( sMaterialName == GetStringUpperCase( IP_MATERIAL_NAME_GEM_CRYSTAL_MUNDANE)) return IP_MATERIAL_GEM_CRYSTAL_MUNDANE;
|
||||
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_PAPER)) return IP_MATERIAL_PAPER;
|
||||
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_GLASS)) return IP_MATERIAL_GLASS;
|
||||
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_ICE)) return IP_MATERIAL_ICE;
|
||||
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_ROPE_HEMP)) return IP_MATERIAL_ROPE_HEMP;
|
||||
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_STONE)) return IP_MATERIAL_STONE;
|
||||
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_DEEP_CORAL)) return IP_MATERIAL_DEEP_CORAL;
|
||||
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_WOOD_LIVING)) return IP_MATERIAL_WOOD_LIVING;
|
||||
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_OBDURIUM)) return IP_MATERIAL_OBDURIUM;
|
||||
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_WOOD_BRONZE)) return IP_MATERIAL_WOOD_BRONZE;
|
||||
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_BYESHK)) return IP_MATERIAL_BYESHK;
|
||||
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_CALOMEL)) return IP_MATERIAL_CALOMEL;
|
||||
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_CRYSTEEL_RIEDRAN)) return IP_MATERIAL_CRYSTEEL_RIEDRAN;
|
||||
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_DENSEWOOD)) return IP_MATERIAL_DENSEWOOD;
|
||||
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_DRAGONSHARD)) return IP_MATERIAL_DRAGONSHARD;
|
||||
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_IRON_FLAMETOUCHED)) return IP_MATERIAL_IRON_FLAMETOUCHED;
|
||||
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_LIVEWOOD)) return IP_MATERIAL_LIVEWOOD;
|
||||
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_MOURNLODE_PURPLE)) return IP_MATERIAL_MOURNLODE_PURPLE;
|
||||
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_SOARWOOD)) return IP_MATERIAL_SOARWOOD;
|
||||
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_TARGATH)) return IP_MATERIAL_TARGATH;
|
||||
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_ASTRAL_DRIFTMETAL)) return IP_MATERIAL_ASTRAL_DRIFTMETAL;
|
||||
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_ATANDUR)) return IP_MATERIAL_ATANDUR;
|
||||
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_BLENDED_QUARTZ)) return IP_MATERIAL_BLENDED_QUARTZ;
|
||||
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_CHITIN)) return IP_MATERIAL_CHITIN;
|
||||
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_DARKLEAF_ELVEN)) return IP_MATERIAL_DARKLEAF_ELVEN;
|
||||
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_DLARUN)) return IP_MATERIAL_DLARUN;
|
||||
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_DUSTWOOD)) return IP_MATERIAL_DUSTWOOD;
|
||||
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_ELUKIAN_CLAY)) return IP_MATERIAL_ELUKIAN_CLAY;
|
||||
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_ENTROPIUM)) return IP_MATERIAL_ENTROPIUM;
|
||||
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_GREENSTEEL_BAATORIAN)) return IP_MATERIAL_GREENSTEEL_BAATORIAN;
|
||||
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_HIZAGKUUR)) return IP_MATERIAL_HIZAGKUUR;
|
||||
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_IRON_FEVER)) return IP_MATERIAL_IRON_FEVER;
|
||||
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_IRON_GEHENNAN_MORGHUTH)) return IP_MATERIAL_IRON_GEHENNAN_MORGHUTH;
|
||||
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_LEAFWEAVE)) return IP_MATERIAL_LEAFWEAVE;
|
||||
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_LIVING_METAL)) return IP_MATERIAL_LIVING_METAL;
|
||||
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_MINDSTEEL_URDRUKAR)) return IP_MATERIAL_MINDSTEEL_URDRUKAR;
|
||||
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_TRUESTEEL_SOLANIAN)) return IP_MATERIAL_TRUESTEEL_SOLANIAN;
|
||||
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_WOOD_AGAFARI)) return IP_MATERIAL_WOOD_AGAFARI;
|
||||
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_CRYSTAL_DASL)) return IP_MATERIAL_CRYSTAL_DASL;
|
||||
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_DRAKE_IVORY)) return IP_MATERIAL_DRAKE_IVORY;
|
||||
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_ROPE_GIANT_HAIR)) return IP_MATERIAL_ROPE_GIANT_HAIR;
|
||||
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_OBSIDIAN)) return IP_MATERIAL_OBSIDIAN;
|
||||
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_BAMBOO)) return IP_MATERIAL_BAMBOO;
|
||||
else if( sMaterialName == GetStringUpperCase(IP_MATERIAL_NAME_POTTERY)) return IP_MATERIAL_POTTERY;
|
||||
|
||||
return IP_MATERIAL_INVALID;
|
||||
}
|
||||
|
||||
|
||||
//::///////////////////////////////////////////////////////////////
|
||||
// string IPGetMaterialName( itemproperty ipMaterial, int bLowerCase = FALSE)
|
||||
// Given an itempropety this function returns the material name of the property
|
||||
// as a string if it is a material property. If the specified itemproperty is
|
||||
// not a material property it returns IP_MATERIAL_NAME_INVALID.
|
||||
//::///////////////////////////////////////////////////////////////
|
||||
// Parameters: itemproperty ipMaterial - the itemproperty to check
|
||||
// int bLowerCase - if TRUE the returned name is all lower case
|
||||
// if FALSE the returned name is first letter cap
|
||||
//
|
||||
// Returns: the material name IP_MATERIAL_NAME_* of the material itemproperty
|
||||
// or IP_MATERIAL_NAME_INVALID if the itemproperty is not a material
|
||||
// itemproperty or is an invalid itemproperty.
|
||||
//::///////////////////////////////////////////////////////////////
|
||||
string IPGetMaterialName( itemproperty ipMaterial, int bLowerCase = FALSE);
|
||||
string IPGetMaterialName( itemproperty ipMaterial, int bLowerCase = FALSE)
|
||||
{
|
||||
int iType = GetItemPropertyType( ipMaterial);
|
||||
int iMaterial = GetItemPropertyCostTableValue( ipMaterial);
|
||||
if( !GetIsItemPropertyValid( ipMaterial) || (iType != ITEM_PROPERTY_MATERIAL) || (iMaterial < IP_MATERIAL_UNKNOWN) || (iMaterial > IP_NUM_MATERIALS)) return IP_MATERIAL_NAME_INVALID;
|
||||
|
||||
return GetMaterialName( iMaterial, bLowerCase);
|
||||
}
|
||||
|
||||
|
||||
//::///////////////////////////////////////////////////////////////
|
||||
// int IPGetMaterialType( itemproperty ipMaterial)
|
||||
// Given an itempropety this function returns the material type of the property
|
||||
// if it is a material itemproperty. If the specified itemproperty is invalid or
|
||||
// not a material property it returns IP_MATERIAL_INVALID.
|
||||
//::///////////////////////////////////////////////////////////////
|
||||
// Parameters: itemproperty ipMaterial - the itemproperty to check
|
||||
//
|
||||
// Returns: the material type IP_MATERIAL_* of the material itemproperty or
|
||||
// IP_MATERIAL_INVALID if the itemproperty is not a material itemproperty
|
||||
// or is an invalid itemproperty.
|
||||
//::///////////////////////////////////////////////////////////////
|
||||
int IPGetMaterialType( itemproperty ipMaterial);
|
||||
int IPGetMaterialType( itemproperty ipMaterial)
|
||||
{
|
||||
int iType = GetItemPropertyType( ipMaterial);
|
||||
int iMaterial = GetItemPropertyCostTableValue( ipMaterial);
|
||||
if( !GetIsItemPropertyValid( ipMaterial) || (iType != ITEM_PROPERTY_MATERIAL) || (iMaterial < IP_MATERIAL_UNKNOWN) || (iMaterial > IP_NUM_MATERIALS)) return IP_MATERIAL_INVALID;
|
||||
return (((iMaterial > IP_MATERIAL_INVALID) && (iMaterial <= IP_NUM_MATERIALS)) ? iMaterial : IP_MATERIAL_INVALID);
|
||||
}
|
||||
|
||||
|
||||
//::///////////////////////////////////////////////////////////////
|
||||
// itemproperty ItemPropertyMaterialByName( string sMaterialName)
|
||||
// Given a valid material name this function returns a new material itemproperty of
|
||||
// that type or and invalid itemproperty if the material name is not recognized.
|
||||
//::///////////////////////////////////////////////////////////////
|
||||
// Parameters: string sMaterialName - the material name IP_MATERIAL_NAME_*
|
||||
//
|
||||
// Returns: a material itemproperty or an invalid itempropery if the specified
|
||||
// material name is unrecognized.
|
||||
//::///////////////////////////////////////////////////////////////
|
||||
itemproperty ItemPropertyMaterialByName( string sMaterialName);
|
||||
itemproperty ItemPropertyMaterialByName( string sMaterialName)
|
||||
{
|
||||
return ItemPropertyMaterial( GetIPMaterial( sMaterialName));
|
||||
}
|
||||
|
||||
|
||||
//::///////////////////////////////////////////////////////////////
|
||||
// void IPAddMaterialProperty( int iMaterialType, int nDurationType, object oItem, float fDuration = 0.0f)
|
||||
// Adds a material itempropery specified by material type to an item for a
|
||||
// given duration type and duration.
|
||||
//::///////////////////////////////////////////////////////////////
|
||||
// Parameters: int iMaterialType - the material type IP_MATERIAL_*
|
||||
// int nDurationType - the duration type
|
||||
// DURATION_TYPE_TEMPORARY, must also supply a duration
|
||||
// DURATION_TYPE_PERMANENT, duration is ignored
|
||||
// object oItem - the item to add the itempropery to.
|
||||
// float fDuration - the duration in seconds that the itemproperty
|
||||
// will stay on the item before being automatically
|
||||
// removed. Ignored if duration type is permanent.
|
||||
// Default = 0.0 seconds.
|
||||
//
|
||||
// Returns: none. Note this does not check to see if the material property already
|
||||
// exists on the item and can add duplicate material properties to it.
|
||||
//::///////////////////////////////////////////////////////////////
|
||||
void IPAddMaterialProperty( int iMaterialType, int nDurationType, object oItem, float fDuration = 0.0f);
|
||||
void IPAddMaterialProperty( int iMaterialType, int nDurationType, object oItem, float fDuration = 0.0f)
|
||||
{
|
||||
itemproperty ipMaterial = ItemPropertyMaterial( iMaterialType);
|
||||
if( GetIsItemPropertyValid( ipMaterial)) AddItemProperty( nDurationType, ipMaterial, oItem, fDuration);
|
||||
}
|
||||
|
||||
|
||||
//::///////////////////////////////////////////////////////////////
|
||||
// void IPAddMaterialPropertyByName( string sMaterialName, int nDurationType, object oItem, float fDuration = 0.0f)
|
||||
// Adds a material itempropery specified by material name to an item for a
|
||||
// given duration type and duration.
|
||||
//::///////////////////////////////////////////////////////////////
|
||||
// Parameters: string sMaterialName - the material name IP_MATERIAL_NAME_*
|
||||
// int nDurationType - the duration type
|
||||
// DURATION_TYPE_TEMPORARY, must also supply a duration
|
||||
// DURATION_TYPE_PERMANENT, duration is ignored
|
||||
// object oItem - the item to add the itempropery to.
|
||||
// float fDuration - the duration in seconds that the itemproperty
|
||||
// will stay on the item before being automatically
|
||||
// removed. Ignored if duration type is permanent.
|
||||
// Default = 0.0 seconds.
|
||||
//
|
||||
// Returns: none. Note this does not check to see if the material property already
|
||||
// exists on the item and can add duplicate material properties to it.
|
||||
//::///////////////////////////////////////////////////////////////
|
||||
void IPAddMaterialPropertyByName( string sMaterialName, int nDurationType, object oItem, float fDuration = 0.0f);
|
||||
void IPAddMaterialPropertyByName( string sMaterialName, int nDurationType, object oItem, float fDuration = 0.0f)
|
||||
{
|
||||
IPAddMaterialProperty( GetIPMaterial( sMaterialName), nDurationType, oItem, fDuration);
|
||||
}
|
||||
|
||||
|
||||
//::///////////////////////////////////////////////////////////////
|
||||
// void IPSafeAddMaterialProperty( int iMaterialType, object oItem, float fDuration = 0.0f, int nAddItemPropertyPolicy = X2_IP_ADDPROP_POLICY_REPLACE_EXISTING, int bIgnoreDurationType = FALSE, int bIgnoreSubType = FALSE)
|
||||
// Adds a material itempropery specified by material type to an item for a
|
||||
// given duration. Checks to see if a material itemproperty of the same type
|
||||
// already exists on the item and adds the new one based on the add/drop policy
|
||||
// and ignore parameters specified.
|
||||
//::///////////////////////////////////////////////////////////////
|
||||
// Parameters: int iMaterialType - the material type IP_MATERIAL_*
|
||||
// object oItem - the item to add the itempropery to.
|
||||
// float fDuration - 0.0 for permanent, anything else is temporary
|
||||
// Default = 0.0
|
||||
// int nAddItemPropertyPolicy - the add/drop policy to use X2_IP_ADDPROP_POLICY_*
|
||||
// Default = X2_IP_ADDPROP_POLICY_REPLACE_EXISTING
|
||||
// int bIgnoreDurationType - TRUE or FALSE to ignore existing itemproperty duration types.
|
||||
// Default = FALSE
|
||||
// int bIgnoreSubType - TRUE or FALSE to ignore existing itemproperty subtypes
|
||||
// Default = FALSE
|
||||
//
|
||||
// Returns: none.
|
||||
//::///////////////////////////////////////////////////////////////
|
||||
void IPSafeAddMaterialProperty( int iMaterialType, object oItem, float fDuration = 0.0f, int nAddItemPropertyPolicy = X2_IP_ADDPROP_POLICY_REPLACE_EXISTING, int bIgnoreDurationType = FALSE, int bIgnoreSubType = FALSE);
|
||||
void IPSafeAddMaterialProperty( int iMaterialType, object oItem, float fDuration = 0.0f, int nAddItemPropertyPolicy = X2_IP_ADDPROP_POLICY_REPLACE_EXISTING, int bIgnoreDurationType = FALSE, int bIgnoreSubType = FALSE)
|
||||
{
|
||||
itemproperty ipMaterial = ItemPropertyMaterial( iMaterialType);
|
||||
if( GetIsItemPropertyValid( ipMaterial)) IPSafeAddItemProperty( oItem, ipMaterial, fDuration, nAddItemPropertyPolicy, bIgnoreDurationType, bIgnoreSubType);
|
||||
}
|
||||
|
||||
|
||||
//::///////////////////////////////////////////////////////////////
|
||||
// void IPSafeAddMaterialPropertyByName( string sMaterialName, object oItem, float fDuration = 0.0f, int nAddItemPropertyPolicy = X2_IP_ADDPROP_POLICY_REPLACE_EXISTING, int bIgnoreDurationType = FALSE, int bIgnoreSubType = FALSE)
|
||||
// Adds a material itempropery specified by material name to an item for a
|
||||
// given duration. Checks to see if a material itemproperty of the same type
|
||||
// already exists on the item and adds the new one based on the add/drop policy
|
||||
// and ignore parameters specified.
|
||||
//::///////////////////////////////////////////////////////////////
|
||||
// Parameters: string sMaterialName - the material name IP_MATERIAL_NAME_*
|
||||
// object oItem - the item to add the itempropery to.
|
||||
// float fDuration - 0.0 for permanent, anything else is temporary
|
||||
// Default = 0.0
|
||||
// int nAddItemPropertyPolicy - the add/drop policy to use X2_IP_ADDPROP_POLICY_*
|
||||
// Default = X2_IP_ADDPROP_POLICY_REPLACE_EXISTING
|
||||
// int bIgnoreDurationType - TRUE or FALSE to ignore existing itemproperty duration types.
|
||||
// Default = FALSE
|
||||
// int bIgnoreSubType - TRUE or FALSE to ignore existing itemproperty subtypes
|
||||
// Default = FALSE
|
||||
//
|
||||
// Returns: none.
|
||||
//::///////////////////////////////////////////////////////////////
|
||||
void IPSafeAddMaterialPropertyByName( string sMaterialName, object oItem, float fDuration = 0.0f, int nAddItemPropertyPolicy = X2_IP_ADDPROP_POLICY_REPLACE_EXISTING, int bIgnoreDurationType = FALSE, int bIgnoreSubType = FALSE);
|
||||
void IPSafeAddMaterialPropertyByName( string sMaterialName, object oItem, float fDuration = 0.0f, int nAddItemPropertyPolicy = X2_IP_ADDPROP_POLICY_REPLACE_EXISTING, int bIgnoreDurationType = FALSE, int bIgnoreSubType = FALSE)
|
||||
{
|
||||
IPSafeAddMaterialProperty( GetIPMaterial( sMaterialName), oItem, fDuration, nAddItemPropertyPolicy, bIgnoreDurationType, bIgnoreSubType);
|
||||
}
|
||||
|
||||
|
||||
//::///////////////////////////////////////////////////////////////
|
||||
// int GetItemHasMaterial( object oItem, int iMaterialType)
|
||||
// Given a valid item and material type, this function returns TRUE if the
|
||||
// item has an itemproperty of the specified type on it.
|
||||
//::///////////////////////////////////////////////////////////////
|
||||
// Parameters: object oItem - the item to check.
|
||||
// int iMaterialType - the material type to check for IP_MATERIAL_*
|
||||
//
|
||||
// Returns: TRUE if the item is a valid item and has a material itemproperty of
|
||||
// the specified type on it. FALSE otherwise.
|
||||
//::///////////////////////////////////////////////////////////////
|
||||
int GetItemHasMaterial( object oItem, int iMaterialType);
|
||||
int GetItemHasMaterial( object oItem, int iMaterialType)
|
||||
{
|
||||
if( !GetIsObjectValid( oItem) || (GetObjectType( oItem) != OBJECT_TYPE_ITEM) ||
|
||||
(iMaterialType <= IP_MATERIAL_INVALID) || (iMaterialType > IP_NUM_MATERIALS)) return FALSE;
|
||||
|
||||
itemproperty ipMaterial = GetFirstItemProperty( oItem);
|
||||
while( GetIsItemPropertyValid( ipMaterial))
|
||||
{
|
||||
if( IPGetMaterialType( ipMaterial) == iMaterialType) return TRUE;
|
||||
ipMaterial = GetNextItemProperty( oItem);
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
//::///////////////////////////////////////////////////////////////
|
||||
// int GetItemHasMaterialByName( object oItem, string sMaterialName)
|
||||
// Given a valid item and material name, this function returns TRUE if the
|
||||
// item has an itemproperty of the specified type on it.
|
||||
//::///////////////////////////////////////////////////////////////
|
||||
// Parameters: object oItem - the item to check.
|
||||
// string sMaterialName - the material Name to check for IP_MATERIAL_NAME_*
|
||||
//
|
||||
// Returns: TRUE if the item is a valid item and has a material itemproperty of
|
||||
// the specified type on it. FALSE otherwise.
|
||||
//::///////////////////////////////////////////////////////////////
|
||||
int GetItemHasMaterialByName( object oItem, string sMaterialName);
|
||||
int GetItemHasMaterialByName( object oItem, string sMaterialName)
|
||||
{
|
||||
return GetItemHasMaterial( oItem, GetIPMaterial( sMaterialName));
|
||||
}
|
||||
|
||||
//:: Returns the general type of material nMaterial is.
|
||||
int GetMaterialType(int nMaterial);
|
||||
int GetMaterialType(int nMaterial)
|
||||
{
|
||||
if ( nMaterial == IP_MATERIAL_INVALID )
|
||||
return MATERIAL_TYPE_INVALID;
|
||||
|
||||
else if ( nMaterial == IP_MATERIAL_BONE
|
||||
|| nMaterial == IP_MATERIAL_SCALE
|
||||
|| nMaterial == IP_MATERIAL_CHITIN
|
||||
|| nMaterial == IP_MATERIAL_DRAKE_IVORY )
|
||||
return MATERIAL_TYPE_BONE;
|
||||
|
||||
else if ( nMaterial == IP_MATERIAL_ELUKIAN_CLAY
|
||||
|| nMaterial == IP_MATERIAL_POTTERY )
|
||||
return MATERIAL_TYPE_CERAMIC;
|
||||
|
||||
else if ( nMaterial == IP_MATERIAL_CLOTH
|
||||
|| nMaterial == IP_MATERIAL_COTTON
|
||||
|| nMaterial == IP_MATERIAL_SILK
|
||||
|| nMaterial == IP_MATERIAL_WOOL )
|
||||
return MATERIAL_TYPE_FABRIC;
|
||||
|
||||
else if ( nMaterial == IP_MATERIAL_GEM
|
||||
|| nMaterial == IP_MATERIAL_GEM_ALEXANDRITE
|
||||
|| nMaterial == IP_MATERIAL_GEM_AMETHYST
|
||||
|| nMaterial == IP_MATERIAL_GEM_AVENTURINE
|
||||
|| nMaterial == IP_MATERIAL_GEM_BELJURIL
|
||||
|| nMaterial == IP_MATERIAL_GEM_BLOODSTONE
|
||||
|| nMaterial == IP_MATERIAL_GEM_BLUE_DIAMOND
|
||||
|| nMaterial == IP_MATERIAL_GEM_CANARY_DIAMOND
|
||||
|| nMaterial == IP_MATERIAL_GEM_DIAMOND
|
||||
|| nMaterial == IP_MATERIAL_GEM_EMERALD
|
||||
|| nMaterial == IP_MATERIAL_GEM_FIRE_AGATE
|
||||
|| nMaterial == IP_MATERIAL_GEM_FIRE_OPAL
|
||||
|| nMaterial == IP_MATERIAL_GEM_FLUORSPAR
|
||||
|| nMaterial == IP_MATERIAL_GEM_GARNET
|
||||
|| nMaterial == IP_MATERIAL_GEM_GREENSTONE
|
||||
|| nMaterial == IP_MATERIAL_GEM_JACINTH
|
||||
|| nMaterial == IP_MATERIAL_GEM_KINGS_TEAR
|
||||
|| nMaterial == IP_MATERIAL_GEM_MALACHITE
|
||||
|| nMaterial == IP_MATERIAL_GEM_OBSIDIAN
|
||||
|| nMaterial == IP_MATERIAL_GEM_PHENALOPE
|
||||
|| nMaterial == IP_MATERIAL_GEM_ROGUE_STONE
|
||||
|| nMaterial == IP_MATERIAL_GEM_RUBY
|
||||
|| nMaterial == IP_MATERIAL_GEM_SAPPHIRE
|
||||
|| nMaterial == IP_MATERIAL_GEM_STAR_SAPPHIRE
|
||||
|| nMaterial == IP_MATERIAL_GEM_TOPAZ
|
||||
|| nMaterial == IP_MATERIAL_GEM_CRYSTAL_DEEP
|
||||
|| nMaterial == IP_MATERIAL_GEM_CRYSTAL_MUNDANE
|
||||
|| nMaterial == IP_MATERIAL_GLASS
|
||||
|| nMaterial == IP_MATERIAL_ICE
|
||||
|| nMaterial == IP_MATERIAL_CRYSTAL_DASL
|
||||
|| nMaterial == IP_MATERIAL_OBSIDIAN )
|
||||
return MATERIAL_TYPE_CRYSTAL;
|
||||
|
||||
else if ( nMaterial == IP_MATERIAL_HIDE
|
||||
|| nMaterial == IP_MATERIAL_HIDE_SALAMANDER
|
||||
|| nMaterial == IP_MATERIAL_HIDE_UMBER_HULK
|
||||
|| nMaterial == IP_MATERIAL_HIDE_WYVERN
|
||||
|| nMaterial == IP_MATERIAL_HIDE_DRAGON_BLACK
|
||||
|| nMaterial == IP_MATERIAL_HIDE_DRAGON_BLUE
|
||||
|| nMaterial == IP_MATERIAL_HIDE_DRAGON_BRASS
|
||||
|| nMaterial == IP_MATERIAL_HIDE_DRAGON_BRONZE
|
||||
|| nMaterial == IP_MATERIAL_HIDE_DRAGON_COPPER
|
||||
|| nMaterial == IP_MATERIAL_HIDE_DRAGON_GOLD
|
||||
|| nMaterial == IP_MATERIAL_HIDE_DRAGON_GREEN
|
||||
|| nMaterial == IP_MATERIAL_HIDE_DRAGON_RED
|
||||
|| nMaterial == IP_MATERIAL_HIDE_DRAGON_SILVER
|
||||
|| nMaterial == IP_MATERIAL_HIDE_DRAGON_WHITE
|
||||
|| nMaterial == IP_MATERIAL_LEATHER
|
||||
|| nMaterial == IP_MATERIAL_LEAFWEAVE )
|
||||
return MATERIAL_TYPE_LEATHER;
|
||||
|
||||
else if ( nMaterial == IP_MATERIAL_ADAMANTINE
|
||||
|| nMaterial == IP_MATERIAL_BRASS
|
||||
|| nMaterial == IP_MATERIAL_COLD_IRON
|
||||
|| nMaterial == IP_MATERIAL_DARKSTEEL
|
||||
|| nMaterial == IP_MATERIAL_MITHRAL
|
||||
|| nMaterial == IP_MATERIAL_SILVER_ALCHEMICAL
|
||||
|| nMaterial == IP_MATERIAL_STEEL
|
||||
|| nMaterial == IP_MATERIAL_BYESHK
|
||||
|| nMaterial == IP_MATERIAL_CALOMEL
|
||||
|| nMaterial == IP_MATERIAL_CRYSTEEL_RIEDRAN
|
||||
|| nMaterial == IP_MATERIAL_IRON_FLAMETOUCHED
|
||||
|| nMaterial == IP_MATERIAL_MOURNLODE_PURPLE
|
||||
|| nMaterial == IP_MATERIAL_TARGATH
|
||||
|| nMaterial == IP_MATERIAL_ASTRAL_DRIFTMETAL
|
||||
|| nMaterial == IP_MATERIAL_ATANDUR
|
||||
|| nMaterial == IP_MATERIAL_BLENDED_QUARTZ
|
||||
|| nMaterial == IP_MATERIAL_DLARUN
|
||||
|| nMaterial == IP_MATERIAL_ENTROPIUM
|
||||
|| nMaterial == IP_MATERIAL_GREENSTEEL_BAATORIAN
|
||||
|| nMaterial == IP_MATERIAL_HIZAGKUUR
|
||||
|| nMaterial == IP_MATERIAL_IRON_FEVER
|
||||
|| nMaterial == IP_MATERIAL_IRON_GEHENNAN_MORGHUTH
|
||||
|| nMaterial == IP_MATERIAL_LIVING_METAL
|
||||
|| nMaterial == IP_MATERIAL_MINDSTEEL_URDRUKAR
|
||||
|| nMaterial == IP_MATERIAL_TRUESTEEL_SOLANIAN
|
||||
|| nMaterial == IP_MATERIAL_BRONZE
|
||||
|| nMaterial == IP_MATERIAL_COPPER
|
||||
|| nMaterial == IP_MATERIAL_GOLD
|
||||
|| nMaterial == IP_MATERIAL_IRON
|
||||
|| nMaterial == IP_MATERIAL_LEAD
|
||||
|| nMaterial == IP_MATERIAL_PLATINUM
|
||||
|| nMaterial == IP_MATERIAL_SILVER
|
||||
|| nMaterial == IP_MATERIAL_OBDURIUM )
|
||||
return MATERIAL_TYPE_METAL;
|
||||
|
||||
else if ( nMaterial == IP_MATERIAL_PAPER )
|
||||
return MATERIAL_TYPE_PAPER;
|
||||
|
||||
else if ( nMaterial == IP_MATERIAL_ROPE_HEMP
|
||||
|| nMaterial == IP_MATERIAL_ROPE_GIANT_HAIR )
|
||||
return MATERIAL_TYPE_ROPE;
|
||||
|
||||
else if ( nMaterial == IP_MATERIAL_CARBON
|
||||
|| nMaterial == IP_MATERIAL_ELEMENTAL
|
||||
|| nMaterial == IP_MATERIAL_ELEMENTAL_AIR
|
||||
|| nMaterial == IP_MATERIAL_ELEMENTAL_EARTH
|
||||
|| nMaterial == IP_MATERIAL_ELEMENTAL_FIRE
|
||||
|| nMaterial == IP_MATERIAL_ELEMENTAL_WATER
|
||||
|| nMaterial == IP_MATERIAL_STONE
|
||||
|| nMaterial == IP_MATERIAL_DEEP_CORAL
|
||||
|| nMaterial == IP_MATERIAL_DRAGONSHARD )
|
||||
return MATERIAL_TYPE_STONE;
|
||||
|
||||
else if ( nMaterial == IP_MATERIAL_WOOD
|
||||
|| nMaterial == IP_MATERIAL_WOOD_IRONWOOD
|
||||
|| nMaterial == IP_MATERIAL_WOOD_DUSKWOOD
|
||||
|| nMaterial == IP_MATERIAL_WOOD_DARKWOOD_ZALANTAR
|
||||
|| nMaterial == IP_MATERIAL_WOOD_ASH
|
||||
|| nMaterial == IP_MATERIAL_WOOD_YEW
|
||||
|| nMaterial == IP_MATERIAL_WOOD_OAK
|
||||
|| nMaterial == IP_MATERIAL_WOOD_PINE
|
||||
|| nMaterial == IP_MATERIAL_WOOD_CEDAR
|
||||
|| nMaterial == IP_MATERIAL_WOOD_LIVING
|
||||
|| nMaterial == IP_MATERIAL_WOOD_BRONZE
|
||||
|| nMaterial == IP_MATERIAL_DENSEWOOD
|
||||
|| nMaterial == IP_MATERIAL_LIVEWOOD
|
||||
|| nMaterial == IP_MATERIAL_SOARWOOD
|
||||
|| nMaterial == IP_MATERIAL_DARKLEAF_ELVEN
|
||||
|| nMaterial == IP_MATERIAL_DUSTWOOD
|
||||
|| nMaterial == IP_MATERIAL_WOOD_AGAFARI
|
||||
|| nMaterial == IP_MATERIAL_BAMBOO )
|
||||
return MATERIAL_TYPE_WOOD;
|
||||
|
||||
else { return MATERIAL_TYPE_UNKNOWN; }
|
||||
}
|
||||
|
||||
//:: Returns the name of nMaterialType as a string.
|
||||
string GetMaterialTypeName(int nMaterialType, int bLowerCase = FALSE);
|
||||
string GetMaterialTypeName(int nMaterialType, int bLowerCase = FALSE)
|
||||
{
|
||||
string sName;
|
||||
|
||||
sName = Get2DACache("prc_materialtype", "Name", nMaterialType);
|
||||
|
||||
if (sName == "")
|
||||
sName = "Invalid";
|
||||
|
||||
return (bLowerCase ? GetStringLowerCase( sName) : sName);
|
||||
}
|
||||
|
||||
//:: Returns the Hardness of a material.
|
||||
int GetIPMaterialHardness(int nMaterial);
|
||||
int GetIPMaterialHardness(int nMaterial)
|
||||
{
|
||||
int nHardness;
|
||||
nHardness = StringToInt(Get2DACache("prc_material", "Hardness", nMaterial));
|
||||
|
||||
if (nHardness < 0)
|
||||
nHardness = 1000;
|
||||
|
||||
return nHardness;
|
||||
}
|
||||
|
||||
//:: Returns the Hit Points Per Inch of a material.
|
||||
int GetIPMaterialHitPointMod(int nMaterial);
|
||||
int GetIPMaterialHitPointMod(int nMaterial)
|
||||
{
|
||||
int nHPMod;
|
||||
nHPMod = StringToInt(Get2DACache("prc_material", "HitPointsPerInch", nMaterial));
|
||||
|
||||
if (nHPMod < 1)
|
||||
nHPMod = 1000;
|
||||
|
||||
return nHPMod;
|
||||
}
|
||||
|
||||
|
||||
|
||||
//:: void main(){}
|
@@ -1,3 +1,4 @@
|
||||
//:: New itemproperties
|
||||
const int ITEM_PROPERTY_USE_LIMITATION_ABILITY_SCORE = 95;
|
||||
const int ITEM_PROPERTY_USE_LIMITATION_SKILL_RANKS = 96;
|
||||
const int ITEM_PROPERTY_USE_LIMITATION_SPELL_LEVEL = 88;
|
||||
@@ -16,7 +17,7 @@ const int ITEM_PROPERTY_WIZARDRY = 102;
|
||||
const int ITEM_PROPERTY_DIVINITY = 103;
|
||||
const int ITEM_PROPERTY_ECHOBLADE = 104;
|
||||
|
||||
|
||||
//:: AoE itemproperties
|
||||
const int IP_CONST_AOE_DARKNESS = 0;
|
||||
const int IP_CONST_AOE_DEEPER_DARKNESS = 1;
|
||||
const int IP_CONST_AOE_CIRCLE_VS_EVIL = 2;
|
||||
|
@@ -4,26 +4,27 @@
|
||||
|
||||
//::: iprp_feats
|
||||
|
||||
const int IP_CONST_FEAT_IMPROVED_CRITICAL_UNARMED = 20;
|
||||
const int IP_CONST_FEAT_WEAPON_FINESSE = 95;
|
||||
const int IP_CONST_FEAT_TRACK = 94;
|
||||
const int IP_CONST_FEAT_IMPROVED_UNARMED_STRIKE = 93;
|
||||
const int IP_CONST_FEAT_TRAPFINDING = 392;
|
||||
const int IP_CONST_FEAT_DEFLECT_ARROWS = 92;
|
||||
const int IP_CONST_FEAT_AWESOME_BLOW = 571;
|
||||
const int IP_CONST_FEAT_PRC_ATTACK = 572;
|
||||
const int IP_CONST_FEAT_BANE_MAGIC_DRAGON = 91;
|
||||
const int IP_CONST_FEAT_BONES_EARTH = 90;
|
||||
const int IP_CONST_FEAT_BREATHLESS = 574;
|
||||
const int IP_CONST_FEAT_IMPROVED_BULL_RUSH = 89;
|
||||
const int IP_CONST_FEAT_WATER_BREATHING = 575;
|
||||
const int IP_CONST_FEAT_TURN_UNDEAD = 88;
|
||||
const int IP_CONST_FEAT_THUG = 576;
|
||||
const int IP_CONST_FEAT_MOUNTED_COMBAT = 577;
|
||||
const int IP_CONST_FEAT_MOUNTED_ARCHERY = 578;
|
||||
const int IP_CONST_FEAT_PRC_DEATH_ATTACK = 579;
|
||||
const int IP_CONST_FEAT_DAYLIGHTADAPT = 581;
|
||||
const int IP_CONST_FEAT_RAGE = 87;
|
||||
const int IP_CONST_FEAT_IMPROVED_CRITICAL_UNARMED = 20;
|
||||
const int IP_CONST_FEAT_WEAPON_FINESSE = 95;
|
||||
const int IP_CONST_FEAT_TRACK = 94;
|
||||
const int IP_CONST_FEAT_IMPROVED_UNARMED_STRIKE = 93;
|
||||
const int IP_CONST_FEAT_TRAPFINDING = 392;
|
||||
const int IP_CONST_FEAT_DEFLECT_ARROWS = 92;
|
||||
const int IP_CONST_FEAT_AWESOME_BLOW = 571;
|
||||
const int IP_CONST_FEAT_PRC_ATTACK = 572;
|
||||
const int IP_CONST_FEAT_BANE_MAGIC_DRAGON = 91;
|
||||
const int IP_CONST_FEAT_BONES_EARTH = 90;
|
||||
const int IP_CONST_FEAT_BREATHLESS = 574;
|
||||
const int IP_CONST_FEAT_IMPROVED_BULL_RUSH = 89;
|
||||
const int IP_CONST_FEAT_WATER_BREATHING = 575;
|
||||
const int IP_CONST_FEAT_TURN_UNDEAD = 88;
|
||||
const int IP_CONST_FEAT_THUG = 576;
|
||||
const int IP_CONST_FEAT_MOUNTED_COMBAT = 577;
|
||||
const int IP_CONST_FEAT_MOUNTED_ARCHERY = 578;
|
||||
const int IP_CONST_FEAT_PRC_DEATH_ATTACK = 579;
|
||||
const int IP_CONST_FEAT_RAGE = 87;
|
||||
const int IP_CONST_FEAT_BLINDSIGHT_60_FT = 4670;
|
||||
const int IP_CONST_FEAT_DAYLIGHTADAPT = 581;
|
||||
|
||||
//:: Crafting feats
|
||||
const int IP_FEAT_FEAT_SCRIBE_SCROLL = 4340;
|
||||
|
@@ -2617,7 +2617,29 @@ int HaagentiTransmutation(object oTarget, int nSpellID)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
int KarsiteInability(object oCaster, int nCastingClass)
|
||||
{
|
||||
if (GetRacialType(oCaster) == RACIAL_TYPE_KARSITE)
|
||||
{
|
||||
//:: Check if the spell originates from an item
|
||||
object oSpellSource = GetSpellCastItem();
|
||||
if (GetIsObjectValid(oSpellSource))
|
||||
{
|
||||
//:: Spell is cast from an item; allow it
|
||||
return TRUE;
|
||||
}
|
||||
if (GetIsDivineClass(nCastingClass, oCaster) || GetIsArcaneClass(nCastingClass, oCaster))
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
// Default: allow
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/* int KarsiteInability(object oCaster, int nCastingClass)
|
||||
{
|
||||
if (GetRacialType(oCaster) == RACIAL_TYPE_KARSITE)
|
||||
{
|
||||
@@ -2626,7 +2648,7 @@ int KarsiteInability(object oCaster, int nCastingClass)
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
} */
|
||||
|
||||
int UrCleric(object oCaster, int nCastingClass)
|
||||
{
|
||||
|
@@ -305,6 +305,7 @@ include\pnp_lich_inc.nss \
|
||||
include\pnp_shft_main.nss \
|
||||
include\pnp_shft_poly.nss \
|
||||
include\prc_add_spell_dc.nss \
|
||||
include\prc_add_spl_pen.ncs \
|
||||
include\prc_add_spl_pen.nss \
|
||||
include\prc_allow_const.nss \
|
||||
include\prc_alterations.nss \
|
||||
@@ -343,6 +344,7 @@ include\prc_inc_hextor.nss \
|
||||
include\prc_inc_itmrstr.nss \
|
||||
include\prc_inc_leadersh.nss \
|
||||
include\prc_inc_listener.nss \
|
||||
include\prc_inc_material.nss \
|
||||
include\prc_inc_nat_hb.nss \
|
||||
include\prc_inc_natweap.nss \
|
||||
include\prc_inc_newip.nss \
|
||||
@@ -6820,6 +6822,7 @@ epicspellobjs\wander_unseen.ncs
|
||||
2das\iprp_feats.2da \
|
||||
2das\iprp_incvalue1.2da \
|
||||
2das\iprp_incvalue2.2da \
|
||||
2das\iprp_material.2da \
|
||||
2das\iprp_maxpp.2da \
|
||||
2das\iprp_metamagic.2da \
|
||||
2das\iprp_monstcost.2da \
|
||||
@@ -6872,6 +6875,8 @@ epicspellobjs\wander_unseen.ncs
|
||||
2das\prc_desc_water.2da \
|
||||
2das\prc_domains.2da \
|
||||
2das\prc_familiar.2da \
|
||||
2das\prc_material.2da \
|
||||
2das\prc_materialtype.2da \
|
||||
2das\prc_polymorph.2da \
|
||||
2das\prc_rune_craft.2da \
|
||||
2das\prc_spells.2da \
|
||||
@@ -26206,6 +26211,7 @@ newspellbook\tob_dvsp_imfort.nss \
|
||||
newspellbook\tob_dvsp_imfrtoh.nss \
|
||||
newspellbook\tob_dvsp_lwbrr.nss \
|
||||
newspellbook\tob_dvsp_mrtsprt.nss \
|
||||
newspellbook\tob_dvsp_ntgnle.nss \
|
||||
newspellbook\tob_dvsp_ntngle.nss \
|
||||
newspellbook\tob_dvsp_prford.nss \
|
||||
newspellbook\tob_dvsp_rdtchrg.nss \
|
||||
@@ -27375,6 +27381,7 @@ newspellbookobjs\tob_dvsp_imfort.ncs \
|
||||
newspellbookobjs\tob_dvsp_imfrtoh.ncs \
|
||||
newspellbookobjs\tob_dvsp_lwbrr.ncs \
|
||||
newspellbookobjs\tob_dvsp_mrtsprt.ncs \
|
||||
newspellbookobjs\tob_dvsp_ntgnle.ncs \
|
||||
newspellbookobjs\tob_dvsp_ntngle.ncs \
|
||||
newspellbookobjs\tob_dvsp_prford.ncs \
|
||||
newspellbookobjs\tob_dvsp_rdtchrg.ncs \
|
||||
@@ -36418,6 +36425,8 @@ newspellbookobjs\tob_dvsp_lwbrr.ncs: newspellbook\tob_dvsp_lwbrr.nss include\tob
|
||||
|
||||
newspellbookobjs\tob_dvsp_mrtsprt.ncs: newspellbook\tob_dvsp_mrtsprt.nss include\tob_inc_move.nss include\tob_movehook.nss include\tob_inc_martlore.nss include\tob_inc_recovery.nss include\tob_inc_tobfunc.nss include\tob_move_const.nss include\prc_alterations.nss include\tob_inc_moveknwn.nss include\inc_abil_damage.nss include\prc_inc_damage.nss include\prc_effect_inc.nss include\inc_item_props.nss include\prc_inc_castlvl.nss include\prc_inc_newip.nss include\prc_inc_descrptr.nss include\prc_x2_itemprop.nss include\prc_ipfeat_const.nss include\inc_utility.nss include\prc_inc_nwscript.nss include\prc_class_const.nss include\inc_target_list.nss include\inc_logmessage.nss include\inc_threads.nss include\prc_inc_actions.nss include\inc_time.nss include\inc_draw_prc.nss include\inc_eventhook.nss include\inc_metalocation.nss include\inc_array_sort.nss include\inc_uniqueid.nss include\inc_set.nss include\prc_misc_const.nss include\prc_spell_const.nss include\inv_invoc_const.nss include\psi_power_const.nss include\prc_inc_racial.nss include\prc_inc_array.nss include\moi_meld_const.nss include\bnd_vestig_const.nss include\inc_2dacache.nss include\prc_feat_const.nss include\prc_racial_const.nss include\inc_debug.nss include\prc_inc_switch.nss include\inc_persist_loca.nss include\prc_inc_skin.nss include\inc_persistsql.nss include\inc_draw.nss include\inc_draw_tools.nss include\inc_pers_array.nss include\inc_area.nss include\inc_heap.nss include\inc_prc_npc.nss include\prc_inc_spells.nss include\inc_newspellbook.nss include\inc_vfx_const.nss include\spinc_necro_cyst.nss include\true_utter_const.nss include\prc_inc_sneak.nss include\prcsp_engine.nss include\prc_inc_core.nss include\inc_sp_gain_mem.nss include\lookup_2da_spell.nss include\inc_lookups.nss include\prc_inc_sb_const.nss include\prcsp_archmaginc.nss include\prc_add_spl_pen.nss include\prcsp_reputation.nss include\x2_inc_spellhook.nss include\prc_x2_craft.nss include\prc_inc_combat.nss include\prc_inc_itmrstr.nss include\prc_inc_burn.nss include\pnp_shft_main.nss include\inc_dynconv.nss include\inc_npc.nss include\prc_add_spell_dc.nss include\prc_inc_unarmed.nss include\prc_inc_onhit.nss include\prc_inc_fork.nss include\prc_inc_natweap.nss include\prc_getbest_inc.nss include\prc_inc_function.nss include\prc_inc_util.nss include\prc_inc_stunfist.nss include\inc_nwnx_funcs.nss include\prc_template_con.nss
|
||||
|
||||
newspellbookobjs\tob_dvsp_ntgnle.ncs: newspellbook\tob_dvsp_ntgnle.nss include\tob_inc_move.nss include\tob_movehook.nss include\tob_inc_martlore.nss include\tob_inc_recovery.nss include\tob_inc_tobfunc.nss include\tob_move_const.nss include\prc_alterations.nss include\tob_inc_moveknwn.nss include\inc_abil_damage.nss include\prc_inc_damage.nss include\prc_effect_inc.nss include\inc_item_props.nss include\prc_inc_castlvl.nss include\prc_inc_newip.nss include\prc_inc_descrptr.nss include\prc_x2_itemprop.nss include\prc_ipfeat_const.nss include\inc_utility.nss include\prc_inc_nwscript.nss include\prc_class_const.nss include\inc_target_list.nss include\inc_logmessage.nss include\inc_threads.nss include\prc_inc_actions.nss include\inc_time.nss include\inc_draw_prc.nss include\inc_eventhook.nss include\inc_metalocation.nss include\inc_array_sort.nss include\inc_uniqueid.nss include\inc_set.nss include\prc_misc_const.nss include\prc_spell_const.nss include\inv_invoc_const.nss include\psi_power_const.nss include\prc_inc_racial.nss include\prc_inc_array.nss include\moi_meld_const.nss include\bnd_vestig_const.nss include\inc_2dacache.nss include\prc_feat_const.nss include\prc_racial_const.nss include\inc_debug.nss include\prc_inc_switch.nss include\inc_persist_loca.nss include\prc_inc_skin.nss include\inc_persistsql.nss include\inc_draw.nss include\inc_draw_tools.nss include\inc_pers_array.nss include\inc_area.nss include\inc_heap.nss include\inc_prc_npc.nss include\prc_inc_spells.nss include\inc_newspellbook.nss include\inc_vfx_const.nss include\spinc_necro_cyst.nss include\true_utter_const.nss include\prc_inc_sneak.nss include\prcsp_engine.nss include\prc_inc_core.nss include\inc_sp_gain_mem.nss include\lookup_2da_spell.nss include\inc_lookups.nss include\prc_inc_sb_const.nss include\prcsp_archmaginc.nss include\prc_add_spl_pen.nss include\prcsp_reputation.nss include\x2_inc_spellhook.nss include\prc_x2_craft.nss include\prc_inc_combat.nss include\prc_inc_itmrstr.nss include\prc_inc_burn.nss include\pnp_shft_main.nss include\inc_dynconv.nss include\inc_npc.nss include\prc_add_spell_dc.nss include\prc_inc_unarmed.nss include\prc_inc_onhit.nss include\prc_inc_fork.nss include\prc_inc_natweap.nss include\prc_getbest_inc.nss include\prc_inc_function.nss include\prc_inc_util.nss include\prc_inc_stunfist.nss include\inc_nwnx_funcs.nss include\prc_template_con.nss
|
||||
|
||||
newspellbookobjs\tob_dvsp_ntngle.ncs: newspellbook\tob_dvsp_ntngle.nss include\tob_inc_move.nss include\tob_movehook.nss include\tob_inc_martlore.nss include\tob_inc_recovery.nss include\tob_inc_tobfunc.nss include\tob_move_const.nss include\prc_alterations.nss include\tob_inc_moveknwn.nss include\inc_abil_damage.nss include\prc_inc_damage.nss include\prc_effect_inc.nss include\inc_item_props.nss include\prc_inc_castlvl.nss include\prc_inc_newip.nss include\prc_inc_descrptr.nss include\prc_x2_itemprop.nss include\prc_ipfeat_const.nss include\inc_utility.nss include\prc_inc_nwscript.nss include\prc_class_const.nss include\inc_target_list.nss include\inc_logmessage.nss include\inc_threads.nss include\prc_inc_actions.nss include\inc_time.nss include\inc_draw_prc.nss include\inc_eventhook.nss include\inc_metalocation.nss include\inc_array_sort.nss include\inc_uniqueid.nss include\inc_set.nss include\prc_misc_const.nss include\prc_spell_const.nss include\inv_invoc_const.nss include\psi_power_const.nss include\prc_inc_racial.nss include\prc_inc_array.nss include\moi_meld_const.nss include\bnd_vestig_const.nss include\inc_2dacache.nss include\prc_feat_const.nss include\prc_racial_const.nss include\inc_debug.nss include\prc_inc_switch.nss include\inc_persist_loca.nss include\prc_inc_skin.nss include\inc_persistsql.nss include\inc_draw.nss include\inc_draw_tools.nss include\inc_pers_array.nss include\inc_area.nss include\inc_heap.nss include\inc_prc_npc.nss include\prc_inc_spells.nss include\inc_newspellbook.nss include\inc_vfx_const.nss include\spinc_necro_cyst.nss include\true_utter_const.nss include\prc_inc_sneak.nss include\prcsp_engine.nss include\prc_inc_core.nss include\inc_sp_gain_mem.nss include\lookup_2da_spell.nss include\inc_lookups.nss include\prc_inc_sb_const.nss include\prcsp_archmaginc.nss include\prc_add_spl_pen.nss include\prcsp_reputation.nss include\x2_inc_spellhook.nss include\prc_x2_craft.nss include\prc_inc_combat.nss include\prc_inc_itmrstr.nss include\prc_inc_burn.nss include\pnp_shft_main.nss include\inc_dynconv.nss include\inc_npc.nss include\prc_add_spell_dc.nss include\prc_inc_unarmed.nss include\prc_inc_onhit.nss include\prc_inc_fork.nss include\prc_inc_natweap.nss include\prc_getbest_inc.nss include\prc_inc_function.nss include\prc_inc_util.nss include\prc_inc_stunfist.nss include\inc_nwnx_funcs.nss include\prc_template_con.nss
|
||||
|
||||
newspellbookobjs\tob_dvsp_prford.ncs: newspellbook\tob_dvsp_prford.nss include\tob_inc_move.nss include\tob_movehook.nss include\tob_inc_martlore.nss include\tob_inc_recovery.nss include\tob_inc_tobfunc.nss include\tob_move_const.nss include\prc_alterations.nss include\tob_inc_moveknwn.nss include\inc_abil_damage.nss include\prc_inc_damage.nss include\prc_effect_inc.nss include\inc_item_props.nss include\prc_inc_castlvl.nss include\prc_inc_newip.nss include\prc_inc_descrptr.nss include\prc_x2_itemprop.nss include\prc_ipfeat_const.nss include\inc_utility.nss include\prc_inc_nwscript.nss include\prc_class_const.nss include\inc_target_list.nss include\inc_logmessage.nss include\inc_threads.nss include\prc_inc_actions.nss include\inc_time.nss include\inc_draw_prc.nss include\inc_eventhook.nss include\inc_metalocation.nss include\inc_array_sort.nss include\inc_uniqueid.nss include\inc_set.nss include\prc_misc_const.nss include\prc_spell_const.nss include\inv_invoc_const.nss include\psi_power_const.nss include\prc_inc_racial.nss include\prc_inc_array.nss include\moi_meld_const.nss include\bnd_vestig_const.nss include\inc_2dacache.nss include\prc_feat_const.nss include\prc_racial_const.nss include\inc_debug.nss include\prc_inc_switch.nss include\inc_persist_loca.nss include\prc_inc_skin.nss include\inc_persistsql.nss include\inc_draw.nss include\inc_draw_tools.nss include\inc_pers_array.nss include\inc_area.nss include\inc_heap.nss include\inc_prc_npc.nss include\prc_inc_spells.nss include\inc_newspellbook.nss include\inc_vfx_const.nss include\spinc_necro_cyst.nss include\true_utter_const.nss include\prc_inc_sneak.nss include\prcsp_engine.nss include\prc_inc_core.nss include\inc_sp_gain_mem.nss include\lookup_2da_spell.nss include\inc_lookups.nss include\prc_inc_sb_const.nss include\prcsp_archmaginc.nss include\prc_add_spl_pen.nss include\prcsp_reputation.nss include\x2_inc_spellhook.nss include\prc_x2_craft.nss include\prc_inc_combat.nss include\prc_inc_itmrstr.nss include\prc_inc_burn.nss include\pnp_shft_main.nss include\inc_dynconv.nss include\inc_npc.nss include\prc_add_spell_dc.nss include\prc_inc_unarmed.nss include\prc_inc_onhit.nss include\prc_inc_fork.nss include\prc_inc_natweap.nss include\prc_getbest_inc.nss include\prc_inc_function.nss include\prc_inc_util.nss include\prc_inc_stunfist.nss include\inc_nwnx_funcs.nss include\prc_template_con.nss
|
||||
|
66
nwn/nwnprc/trunk/newspellbook/tob_dvsp_ntgnle.nss
Normal file
66
nwn/nwnprc/trunk/newspellbook/tob_dvsp_ntgnle.nss
Normal file
@@ -0,0 +1,66 @@
|
||||
/*
|
||||
----------------------------
|
||||
Reth Dekala Entangling Blade
|
||||
|
||||
tob_dvsp_rthdkln
|
||||
----------------
|
||||
|
||||
2024-12-05 07:55:55 by Jaysyn
|
||||
*/ /** @file
|
||||
|
||||
Reth Dekala Entangling Blade
|
||||
|
||||
Devoted Spirit (Strike)
|
||||
Level: Crusader 4
|
||||
Prerequisite: One Devoted Spirit Maneuver
|
||||
Initiation Action: 1 Standard Action
|
||||
Range: Melee Attack
|
||||
Target: One Creature
|
||||
Duration: 1 round.
|
||||
|
||||
You hack into your foe's legs, forcing his movement to slow and his resolution to falter.
|
||||
|
||||
You make a single attack against an enemy. If this attack hits, you deal 2d6 extra damage, and your foe takes a 20 ft penalty to his movement speed.
|
||||
*/
|
||||
|
||||
#include "tob_inc_move"
|
||||
#include "tob_movehook"
|
||||
|
||||
// Function to handle attack and effects
|
||||
void TOBAttack(object oTarget, object oInitiator)
|
||||
{
|
||||
effect eNone;
|
||||
PerformAttack(oTarget, oInitiator, eNone, 0.0, 0, 0, 0, "Reth Dekala Hit", "Reth Dekala Miss");
|
||||
|
||||
if (GetLocalInt(oTarget, "PRCCombat_StruckByAttack"))
|
||||
{
|
||||
// Apply 2d6 extra damage
|
||||
int nBonusDamage = d6(2);
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectDamage(nBonusDamage, DAMAGE_TYPE_SLASHING), oTarget);
|
||||
|
||||
// Apply movement speed penalty and visual effect
|
||||
effect eLink = EffectLinkEffects(EffectMovementSpeedDecrease(20), EffectVisualEffect(VFX_IMP_REDUCE_ABILITY_SCORE_RED));
|
||||
eLink = ExtraordinaryEffect(eLink);
|
||||
SPApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, oTarget, 6.0); // 6.0 seconds == 1 round
|
||||
}
|
||||
}
|
||||
|
||||
// Main function
|
||||
void main()
|
||||
{
|
||||
if (!PreManeuverCastCode())
|
||||
{
|
||||
// If code within the PreManeuverCastCode (e.g., UMD) reports FALSE, do not run this maneuver
|
||||
return;
|
||||
}
|
||||
|
||||
// End of Spell Cast Hook
|
||||
object oInitiator = OBJECT_SELF;
|
||||
object oTarget = PRCGetSpellTargetObject();
|
||||
struct maneuver move = EvaluateManeuver(oInitiator, oTarget);
|
||||
|
||||
if (move.bCanManeuver)
|
||||
{
|
||||
DelayCommand(0.0, TOBAttack(oTarget, oInitiator));
|
||||
}
|
||||
}
|
@@ -41,13 +41,12 @@
|
||||
37 Natural_Armor_2 4761
|
||||
38 Race_Outsider 4716
|
||||
39 SkillAff_Jump_4 4763
|
||||
40 Improved_Fortification 4580
|
||||
41 RethDekala_VilefireBlast 5409
|
||||
42 RethDekala_MartialSpirit 5410
|
||||
43 RethDekala_ThicketOfBlades 5411
|
||||
44 RethDekala_DauntingStrike 5412
|
||||
45 RethDekala_DeathFromAbove 5413
|
||||
46 RethDekala_DisarmingStrike 5414
|
||||
47 RethDekala_EntanglingBlade 5415
|
||||
48 RethDekala_WallOfBlades 5416
|
||||
49 RethDekala_RecoverManeuver 5417
|
||||
40 RethDekala_VilefireBlast 5409
|
||||
41 RethDekala_MartialSpirit 5410
|
||||
42 RethDekala_ThicketOfBlades 5411
|
||||
43 RethDekala_DauntingStrike 5412
|
||||
44 RethDekala_DeathFromAbove 5413
|
||||
45 RethDekala_DisarmingStrike 5414
|
||||
46 RethDekala_EntanglingBlade 5415
|
||||
47 RethDekala_WallOfBlades 5416
|
||||
48 RethDekala_RecoverManeuver 5417
|
||||
|
@@ -1,8 +1,7 @@
|
||||
2DA V2.0
|
||||
|
||||
FeatLabel FeatIndex
|
||||
0 ImmuneSneak 3591
|
||||
1 LivingConstruct 4556
|
||||
2 ImmuneCrits 3585
|
||||
3 AdamantineBody 4781
|
||||
4 PowerfulCharge 3506
|
||||
FeatLabel FeatIndex
|
||||
0 LivingConstruct 4556
|
||||
1 AdamantineBody 4781
|
||||
2 PowerfulCharge 3506
|
||||
3 WeaponProfCreature 289
|
||||
|
@@ -1,8 +1,9 @@
|
||||
2DA V2.0
|
||||
|
||||
FeatLabel FeatIndex
|
||||
0 darkvision 228
|
||||
1 SnakeBlood 386
|
||||
2 skillaffinityspot 239
|
||||
3 Innate_Resistence 2004
|
||||
4 Yuan_Charm 2011
|
||||
FeatLabel FeatIndex
|
||||
0 darkvision 228
|
||||
1 SnakeBlood 386
|
||||
2 skillaffinityspot 239
|
||||
3 Innate_Resistence 2004
|
||||
4 Yuan_Charm 2011
|
||||
5 FEAT_MONSTEROUS 4720
|
||||
|
@@ -5,6 +5,47 @@
|
||||
|
||||
#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()
|
||||
{
|
||||
object oPC = OBJECT_SELF;
|
||||
@@ -208,4 +249,16 @@ void main()
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (GetRacialType(oPC) == RACIAL_TYPE_RETH_DEKALA || GetRacialType(oPC) == RACIAL_TYPE_WARFORGED || GetRacialType(oPC) == RACIAL_TYPE_WARFORGED_CHARGER)
|
||||
{
|
||||
int bFortification = GetLocalInt(oPC, "FORTIFCATION_ACTIVE");
|
||||
|
||||
if (!bFortification)
|
||||
{
|
||||
DoFortification(oPC);
|
||||
SetLocalInt(oPC, "FORTIFCATION_ACTIVE", 1);
|
||||
if(DEBUG) DoDebug("race_hb >> DoFortification() activated.");
|
||||
}
|
||||
}
|
||||
}
|
@@ -26,12 +26,17 @@ void main()
|
||||
int nDamage = 0;
|
||||
int iChaMod = GetAbilityModifier(ABILITY_CHARISMA,oPC);
|
||||
int iSkill = GetSkillRank(SKILL_IAIJUTSU_FOCUS,oPC)+ d20(); //Iaijutsu Focus Check
|
||||
|
||||
if(DEBUG) DoDebug("prc_iaijutsu >> Initial Iaijutsu focus check is "+IntToString(iSkill)+".");
|
||||
|
||||
if(GetHasFeat(FEAT_SKILL_FOCUS_IAI))
|
||||
if(GetHasFeat(FEAT_EPIC_SKILL_FOCUS_IAI))
|
||||
iSkill = iSkill + 13;
|
||||
else
|
||||
iSkill = iSkill + 3;
|
||||
|
||||
if(DEBUG) DoDebug("prc_iaijutsu >> Finall Iaijutsu focus check is "+IntToString(iSkill)+".");
|
||||
|
||||
//string OneKat;
|
||||
int iDie = 0;
|
||||
|
||||
@@ -47,10 +52,20 @@ void main()
|
||||
iDie = 9;
|
||||
|
||||
nDamage = d6(iDie);
|
||||
if(DEBUG) DoDebug("prc_iaijutsu >> Iaijutsu damage = "+IntToString(nDamage)+" extra damage.");
|
||||
|
||||
|
||||
if(GetHasFeat(FEAT_STRIKE_VOID)) nDamage = nDamage + iChaMod*iDie;
|
||||
if(GetHasFeat(FEAT_STRIKE_VOID))
|
||||
{
|
||||
nDamage = nDamage + iChaMod*iDie;
|
||||
if(DEBUG) DoDebug("prc_iaijutsu >> Strike of the Void grants +"+IntToString(iChaMod+iDie)+" extra damage.");
|
||||
}
|
||||
// Only works on flatfooted foes or objects. Does half damage to objects
|
||||
if (!GetIsDeniedDexBonusToAC(oTarget, oPC) && GetObjectType(oTarget) == OBJECT_TYPE_CREATURE) nDamage = 0;
|
||||
if (!GetIsDeniedDexBonusToAC(oTarget, oPC) && GetObjectType(oTarget) == OBJECT_TYPE_CREATURE)
|
||||
{
|
||||
if(DEBUG) DoDebug("prc_iaijutsu >> Target is not flat-footed");
|
||||
nDamage = 0;
|
||||
}
|
||||
else if (GetObjectType(oTarget) != OBJECT_TYPE_CREATURE) nDamage /= 2;
|
||||
}
|
||||
|
||||
|
Binary file not shown.
@@ -3166,8 +3166,7 @@ Duration: 1 round/level (D)
|
||||
Saving Throw: No
|
||||
Spell Resistance: None
|
||||
|
||||
By casting aura of the sun, you fill the area around you with warm, glowing light that eliminates natural shadows and hampers magical darkness.Any creature attempting to cast a spell from the shadow subschool or a spell with the darkness descriptor within an aura of the sun must succeed on a caster level check (DC 11 + your caster level), or the spell fails. Areas of magical darkness originating from 3rd-level or lower spells and effects are temporarily suppressed when overlapping with an aura of the sun. Creatures that take penalties
|
||||
in bright light also take them while within an aura of the sun, and an undead creature takes 1d6 points of positive energy damage at the end of its turn every round that it spends within the spell's area.Furthermore, any creature attempting to hide within the aura takes a -4 penalty on Hide checks.
|
||||
By casting aura of the sun, you fill the area around you with warm, glowing light that eliminates natural shadows and hampers magical darkness. Any creature attempting to cast a spell from the shadow subschool or a spell with the darkness descriptor within an aura of the sun must succeed on a caster level check (DC 11 + your caster level), or the spell fails. Areas of magical darkness originating from 3rd-level or lower spells and effects are temporarily suppressed when overlapping with an aura of the sun. Creatures that take penalties in bright light also take them while within an aura of the sun, and an undead creature takes 1d6 points of positive energy damage at the end of its turn every round that it spends within the spell's area.Furthermore, any creature attempting to hide within the aura takes a -4 penalty on Hide checks.
|
||||
|
||||
This effect is centered on you and moves with you.
|
||||
|
||||
@@ -14280,7 +14279,7 @@ The Tempest is the point of calm within a whirling barrier of deadly blades. Poe
|
||||
REQUIREMENTS:
|
||||
|
||||
Base Attack Bonus: +9.
|
||||
Feats: Ambidexterity, Dodge, Mobility, Spring Attack, Two-Weapon Fighting, and Weapon Finesse (any) or Weapon Focus (any). Rangers are considered to have Ambidexterity and Two-Weapon-Fighting at Level 1.
|
||||
Feats: Dodge, Mobility, Spring Attack, Two-Weapon Fighting, and Weapon Finesse (any) or Weapon Focus (any). Rangers are considered to have Two-Weapon-Fighting at Level 1.
|
||||
|
||||
CLASS FEATURES:
|
||||
|
||||
@@ -15568,7 +15567,7 @@ Feats: True Lycanthrope or Iron Will
|
||||
Alignment: Any non-lawful and non-good
|
||||
Other: If not a true lycanthrope, you must be infected by someone who is.
|
||||
|
||||
CLASS FEATURES:
|
||||
WEREWOLF CLASS FEATURES:
|
||||
|
||||
Level
|
||||
1: Lycanthropy, Alternate Form (Wolf), Low-light Vision, Shapechanger subtype, Werewolf Feat(Spot)
|
||||
@@ -15577,7 +15576,7 @@ Level
|
||||
|
||||
Note: Only true lycanthropes can advance to level 3 in the werewolf class.
|
||||
|
||||
WOLF CLASS
|
||||
WOLF CLASS FEATURES:
|
||||
|
||||
Level
|
||||
1: Str + 2, Con + 2, Natural Armor + 2, Creature attacks
|
||||
@@ -33594,8 +33593,7 @@ Duration: One year
|
||||
Saving Throw: None
|
||||
Spell Resistance: No
|
||||
|
||||
The caster calls 3d4 lemures from the Nine Hells to where he is, offering them the soul that he has prepared. In exchange, they will serve the caster for one year as guards, slaves, or whatever else he needs them for. They are non-intelligent,
|
||||
so the caster cannot give them more complicated tasks than can be described in about five words.
|
||||
The caster calls 3d4 lemures from the Nine Hells to where he is, offering them the soul that he has prepared. In exchange, they will serve the caster for one year as guards, slaves, or whatever else he needs them for. They are non-intelligent, so the caster cannot give them more complicated tasks than can be described in about five words.
|
||||
|
||||
No matter how many times the caster casts this spell, he can control no more than 2 HD worth of fiends per caster level. If he exceeds this number, all the newly called creatures fall under the caster's control, and any excess from previous
|
||||
castings become uncontrolled. The caster chooses which creatures to release.
|
||||
@@ -50784,7 +50782,7 @@ Specifics: You have learned to fight with your weapons in different ways. A char
|
||||
<entry id="58725" lang="en" sex="m">Combat Style: Arcane</entry>
|
||||
<entry id="58726" lang="en" sex="m">Let your mind do the fighting with this telekinesis based combat style.</entry>
|
||||
<entry id="58727" lang="en" sex="m">Combat Style: Demon Blade</entry>
|
||||
<entry id="58728" lang="en" sex="m">You fight like a man possessed.
|
||||
<entry id="58728" lang="en" sex="m">You fight like you're possessed.
|
||||
</entry>
|
||||
<entry id="58729" lang="en" sex="m">Combat Style: Warrior</entry>
|
||||
<entry id="58730" lang="en" sex="m">This sword & shield combat style is heavy on blocking & counters.</entry>
|
||||
@@ -58642,10 +58640,7 @@ Use: Selected</entry>
|
||||
<entry id="60929" lang="en" sex="m">Witchborn Binders</entry>
|
||||
<entry id="60930" lang="en" sex="m">witchborn binder</entry>
|
||||
<entry id="60931" lang="en" sex="m">(PRESTIGE CLASS)
|
||||
Few creatures pose as much threat to human society as arcane spellcasters do. A single wizard can easily destroy an entire town, subvert a kingdom, or twist the very laws of nature with a few well-placed spells. Against this
|
||||
obvious threat stands a fellowship of royal agents known as the Vigilant Servants, whose members make it their business to frustrate the plans of the witchborn-namely sorcerers, wizards, and other users of arcane magic. The
|
||||
organization's elite agents are the witchborn binders - incarnum-wielding mage-hunters who can use the power of soul energy to create shields, traps, and shackles that can smother the magical powers of the witchborn and render
|
||||
them helpless.
|
||||
Few creatures pose as much threat to human society as arcane spellcasters do. A single wizard can easily destroy an entire town, subvert a kingdom, or twist the very laws of nature with a few well-placed spells. Against this obvious threat stands a fellowship of royal agents known as the Vigilant Servants, whose members make it their business to frustrate the plans of the witchborn-namely sorcerers, wizards, and other users of arcane magic. The organization's elite agents are the witchborn binders - incarnum-wielding mage-hunters who can use the power of soul energy to create shields, traps, and shackles that can smother the magical powers of the witchborn and render them helpless.
|
||||
|
||||
- Hit Die: d6
|
||||
- Proficiencies: Witchborn Binders gain no new proficiencies
|
||||
@@ -73239,4 +73234,49 @@ Special Abilities:
|
||||
<entry id="77205" lang="en" sex="m">Ranger Spellcasting (Master of Shrouds)</entry>
|
||||
<entry id="77206" lang="en" sex="m">Sohei Spellcasting (Master of Shrouds)</entry>
|
||||
<entry id="77207" lang="en" sex="m">Ur-Priest Spellcasting (Master of Shrouds)</entry>
|
||||
<entry id="200000" lang="en" sex="m">#PRC8 RESERVED#</entry>
|
||||
<entry id="200001" lang="en" sex="m">#START PRC8 MATERIAL EXPANSION#</entry>
|
||||
<entry id="200002" lang="en" sex="m">Paper</entry>
|
||||
<entry id="200003" lang="en" sex="m">Glass</entry>
|
||||
<entry id="200004" lang="en" sex="m">Ice</entry>
|
||||
<entry id="200005" lang="en" sex="m">Hemp rope</entry>
|
||||
<entry id="200006" lang="en" sex="m">Stone</entry>
|
||||
<entry id="200007" lang="en" sex="m">Deep Coral</entry>
|
||||
<entry id="200008" lang="en" sex="m">Living Wood</entry>
|
||||
<entry id="200009" lang="en" sex="m">Obdurium</entry>
|
||||
<entry id="200010" lang="en" sex="m">Bronze Wood</entry>
|
||||
<entry id="200011" lang="en" sex="m">Byeshk</entry>
|
||||
<entry id="200012" lang="en" sex="m">Calomel</entry>
|
||||
<entry id="200013" lang="en" sex="m">Riedran Crysteel</entry>
|
||||
<entry id="200014" lang="en" sex="m">Densewood</entry>
|
||||
<entry id="200015" lang="en" sex="m">Dragonshard</entry>
|
||||
<entry id="200016" lang="en" sex="m">Flametouched Iron</entry>
|
||||
<entry id="200017" lang="en" sex="m">Livewood</entry>
|
||||
<entry id="200018" lang="en" sex="m">Purple Mournlode</entry>
|
||||
<entry id="200019" lang="en" sex="m">Soarwood</entry>
|
||||
<entry id="200020" lang="en" sex="m">Targath</entry>
|
||||
<entry id="200021" lang="en" sex="m">Astral Driftmetal</entry>
|
||||
<entry id="200022" lang="en" sex="m">Atandur</entry>
|
||||
<entry id="200023" lang="en" sex="m">Blended Quartz</entry>
|
||||
<entry id="200024" lang="en" sex="m">Chitin</entry>
|
||||
<entry id="200025" lang="en" sex="m">Elven Darkleaf</entry>
|
||||
<entry id="200026" lang="en" sex="m">Dlarun</entry>
|
||||
<entry id="200027" lang="en" sex="m">Dustwood</entry>
|
||||
<entry id="200028" lang="en" sex="m">Elukian Clay</entry>
|
||||
<entry id="200029" lang="en" sex="m">Entropium</entry>
|
||||
<entry id="200030" lang="en" sex="m">Baatorian Greensteel</entry>
|
||||
<entry id="200031" lang="en" sex="m">Hizagkuur</entry>
|
||||
<entry id="200032" lang="en" sex="m">Fever Iron</entry>
|
||||
<entry id="200033" lang="en" sex="m">Gehennan Morghuth Iron</entry>
|
||||
<entry id="200034" lang="en" sex="m">Leafweave</entry>
|
||||
<entry id="200035" lang="en" sex="m">Living Metal</entry>
|
||||
<entry id="200036" lang="en" sex="m">Urdrukar Mindsteel</entry>
|
||||
<entry id="200037" lang="en" sex="m">Solanian Truesteel</entry>
|
||||
<entry id="200038" lang="en" sex="m">Agafari Wood</entry>
|
||||
<entry id="200039" lang="en" sex="m">Dasl</entry>
|
||||
<entry id="200040" lang="en" sex="m">Drake Ivory</entry>
|
||||
<entry id="200041" lang="en" sex="m">Giant Hair Rope</entry>
|
||||
<entry id="200042" lang="en" sex="m">Obsidian</entry>
|
||||
<entry id="200043" lang="en" sex="m">Bamboo</entry>
|
||||
<entry id="200044" lang="en" sex="m">Pottery</entry>
|
||||
</tlk>
|
Binary file not shown.
Reference in New Issue
Block a user