2026/05/07 Update
Hospitaler had incorrect epic bonus feat progression Hospitaler had incorrect bonus feat list. Hospitaler was missing Ride from its skill list. Runecaster had incorrect epic bonus feat progression Runecaster had incorrect bonus feat list. Warmage Edge should work with magic staves. Added PRC_RETH_DEKALA_AURA_HOSTILE_ONLY switch and modified Vilefire aura to use it. Spells that use DoCone() should now respect Mastery of Shaping. Removed Hospitaler from list of classes that use the Fighter Bonus Feat list. ExtraordinarySpellAim() now handles persistent AoEs Acid Fog, Blade Barrier, Creeping Doom, Grease, Incindiary Cloud, Wall of Fire, Wall of Frost, Prismatic Wall, Prismatic Sphere, Sleet Storm and Spike Growth now respect Extraordinary Spell Aim.
This commit is contained in:
@@ -11,53 +11,53 @@
|
||||
7 0
|
||||
8 1
|
||||
9 0
|
||||
10 0
|
||||
10 1
|
||||
11 0
|
||||
12 1
|
||||
13 0
|
||||
14 0
|
||||
15 1
|
||||
16 0
|
||||
14 1
|
||||
15 0
|
||||
16 1
|
||||
17 0
|
||||
18 1
|
||||
19 0
|
||||
20 0
|
||||
21 1
|
||||
22 0
|
||||
20 1
|
||||
21 0
|
||||
22 1
|
||||
23 0
|
||||
24 1
|
||||
25 0
|
||||
26 0
|
||||
27 1
|
||||
28 0
|
||||
26 1
|
||||
27 0
|
||||
28 1
|
||||
29 0
|
||||
30 1
|
||||
31 0
|
||||
32 0
|
||||
33 1
|
||||
34 0
|
||||
32 1
|
||||
33 0
|
||||
34 1
|
||||
35 0
|
||||
36 1
|
||||
37 0
|
||||
38 0
|
||||
39 1
|
||||
40 0
|
||||
38 1
|
||||
39 0
|
||||
40 1
|
||||
41 0
|
||||
42 1
|
||||
43 0
|
||||
44 0
|
||||
45 1
|
||||
46 0
|
||||
44 1
|
||||
45 0
|
||||
46 1
|
||||
47 0
|
||||
48 1
|
||||
49 0
|
||||
50 0
|
||||
51 1
|
||||
52 0
|
||||
50 1
|
||||
51 0
|
||||
52 1
|
||||
53 0
|
||||
54 1
|
||||
55 0
|
||||
56 0
|
||||
57 1
|
||||
58 0
|
||||
56 1
|
||||
57 0
|
||||
58 1
|
||||
59 0
|
||||
|
||||
@@ -16,48 +16,48 @@
|
||||
12 1
|
||||
13 0
|
||||
14 0
|
||||
15 0
|
||||
16 1
|
||||
15 1
|
||||
16 0
|
||||
17 0
|
||||
18 0
|
||||
18 1
|
||||
19 0
|
||||
20 1
|
||||
21 0
|
||||
20 0
|
||||
21 1
|
||||
22 0
|
||||
23 0
|
||||
24 1
|
||||
25 0
|
||||
26 0
|
||||
27 0
|
||||
28 1
|
||||
27 1
|
||||
28 0
|
||||
29 0
|
||||
30 0
|
||||
30 1
|
||||
31 0
|
||||
32 1
|
||||
33 0
|
||||
32 0
|
||||
33 1
|
||||
34 0
|
||||
35 0
|
||||
36 1
|
||||
37 0
|
||||
38 0
|
||||
39 0
|
||||
40 1
|
||||
39 1
|
||||
40 0
|
||||
41 0
|
||||
42 0
|
||||
42 1
|
||||
43 0
|
||||
44 1
|
||||
45 0
|
||||
44 0
|
||||
45 1
|
||||
46 0
|
||||
47 0
|
||||
48 1
|
||||
49 0
|
||||
50 0
|
||||
51 0
|
||||
52 1
|
||||
51 1
|
||||
52 0
|
||||
53 0
|
||||
54 0
|
||||
54 1
|
||||
55 0
|
||||
56 1
|
||||
57 0
|
||||
56 0
|
||||
57 1
|
||||
58 0
|
||||
59 0
|
||||
|
||||
@@ -65,7 +65,7 @@
|
||||
61 FEAT_HOSPITALER_SPELLCASTING_UR_PRIEST 19560 2 1 0
|
||||
62 FEAT_HOSPITALER_SPELLCASTING_VASSAL 19576 2 1 0
|
||||
63 FEAT_EPIC_ARMOR_SKIN 490 1 -1 0
|
||||
64 feat_epic_spellcasting 4073 1 -1 0
|
||||
64 feat_epic_spellcasting 4073 0 -1 0
|
||||
65 FEAT_EPIC_DEVASTATING_CRITICAL_CLUB 495 1 -1 0
|
||||
66 FEAT_EPIC_DEVASTATING_CRITICAL_DAGGER 496 1 -1 0
|
||||
67 FEAT_EPIC_DEVASTATING_CRITICAL_DART 497 1 -1 0
|
||||
@@ -181,425 +181,368 @@
|
||||
177 FEAT_EPIC_TOUGHNESS_8 761 1 -1 0
|
||||
178 FEAT_EPIC_TOUGHNESS_9 762 1 -1 0
|
||||
179 FEAT_EPIC_TOUGHNESS_10 763 1 -1 0
|
||||
180 FEAT_FREEZING_THE_LIFEBLOOD 26015 1 -1 0
|
||||
180 FEAT_FREEZING_THE_LIFEBLOOD 26015 0 -1 0
|
||||
181 Ambidex 1 1 -1 0
|
||||
182 Cleave 6 1 -1 0
|
||||
183 DefArrow 8 1 -1 0
|
||||
184 Disarm 9 1 -1 0
|
||||
185 Dodge 10 1 -1 0
|
||||
186 ImpDis 16 1 -1 0
|
||||
187 ImpTwo 20 1 -1 0
|
||||
188 LightngRef 24 1 -1 0
|
||||
189 Mobility 26 1 -1 0
|
||||
190 PBShot 27 1 -1 0
|
||||
191 PowerAtk 28 1 -1 0
|
||||
192 StunFist 39 1 -1 0
|
||||
193 TwoWeap 41 1 -1 0
|
||||
194 WeapFinesse 42 1 -1 0
|
||||
195 BlindFight 408 1 -1 0
|
||||
196 Expertise 389 1 -1 0
|
||||
197 ImpExpertise 390 1 -1 0
|
||||
198 GreatCleave 391 1 -1 0
|
||||
199 SpringAttack 392 1 -1 0
|
||||
200 ImpInit 377 1 -1 0
|
||||
201 WP_BstrdSwd 7904 1 -1 0
|
||||
202 WP_TwoBldSwd 7911 1 -1 0
|
||||
203 WP_DireMace 7915 1 -1 0
|
||||
204 WP_DblAxe 7916 1 -1 0
|
||||
205 WP_Kama 7920 1 -1 0
|
||||
206 WP_Katana 7921 1 -1 0
|
||||
207 WP_Kukri 7922 1 -1 0
|
||||
208 WP_Scythe 7926 1 -1 0
|
||||
209 WP_Shuriken 7928 1 -1 0
|
||||
210 WP_DwarfWaraxe 7933 1 -1 0
|
||||
211 WP_Whip 7934 1 -1 0
|
||||
212 WP_Lightblade 7935 1 -1 0
|
||||
213 WP_Thinblade 7936 1 -1 0
|
||||
214 WP_Courtblade 7937 1 -1 0
|
||||
215 ImpStrike 21 1 -1 0
|
||||
216 ImpCritDart 53 1 -1 0
|
||||
217 ImpCritDagger 52 1 -1 0
|
||||
218 ImpCritHXBow 54 1 -1 0
|
||||
219 ImpCritLgXBow 55 1 -1 0
|
||||
220 ImpCritLgMace 56 1 -1 0
|
||||
221 ImpCritMorn 57 1 -1 0
|
||||
222 ImpCritStaff 58 1 -1 0
|
||||
223 ImpCritSpear 59 1 -1 0
|
||||
224 ImpCritSickle 60 1 -1 0
|
||||
225 ImpCritSling 61 1 -1 0
|
||||
226 ImpCritUnArm 62 1 -1 0
|
||||
227 ImpCritLongBow 63 1 -1 0
|
||||
228 ImpCritShortBow 64 1 -1 0
|
||||
229 ImpCritShortSword 65 1 -1 0
|
||||
230 ImpCritRapier 66 1 -1 0
|
||||
231 ImpCritScim 67 1 -1 0
|
||||
232 ImpCritLSw 68 1 -1 0
|
||||
233 ImpCritGSw 69 1 -1 0
|
||||
234 ImpCritHAxe 70 1 -1 0
|
||||
235 ImpCritTAxe 71 1 -1 0
|
||||
236 ImpCritBAxe 72 1 -1 0
|
||||
237 ImpCritGAxe 73 1 -1 0
|
||||
238 ImpCritHalb 74 1 -1 0
|
||||
239 ImpCritLgHam 75 1 -1 0
|
||||
240 ImpCritLgFlail 76 1 -1 0
|
||||
241 ImpCritWHam 77 1 -1 0
|
||||
242 ImpCritHFlail 78 1 -1 0
|
||||
243 ImpCritKama 79 1 -1 0
|
||||
244 ImpCritKukri 80 1 -1 0
|
||||
245 ImpCritShur 82 1 -1 0
|
||||
246 ImpCritScy 83 1 -1 0
|
||||
247 ImpCritKatana 84 1 -1 0
|
||||
248 ImpCritBSw 85 1 -1 0
|
||||
249 ImpCritDMace 87 1 -1 0
|
||||
250 ImpCritDAxe 88 1 -1 0
|
||||
251 ImpCrit2Sw 89 1 -1 0
|
||||
252 IMP_CRIT_LIGHT_LANCE 24649 1 -1 0
|
||||
253 IMP_CRIT_HEAVY_PICK 24650 1 -1 0
|
||||
254 IMP_CRIT_LIGHT_PICK 24651 1 -1 0
|
||||
255 IMP_CRIT_SAI 24652 1 -1 0
|
||||
256 IMP_CRIT_NUNCHAKU 24653 1 -1 0
|
||||
257 IMP_CRIT_FALCHION 24654 1 -1 0
|
||||
258 IMP_CRIT_SAP 24655 1 -1 0
|
||||
259 IMP_CRIT_KATAR 24656 1 -1 0
|
||||
260 IMP_CRIT_HEAVY_MACE 24657 1 -1 0
|
||||
261 IMP_CRIT_MAUL 24658 1 -1 0
|
||||
262 IMP_CRIT_DBL_SCIMITAR 24659 1 -1 0
|
||||
263 IMP_CRIT_GOAD 24660 1 -1 0
|
||||
264 IMP_CRIT_ELVEN_LIGHTBLADE 24701 1 -1 0
|
||||
265 IMP_CRIT_ELVEN_THINBLADE 24709 1 -1 0
|
||||
266 IMP_CRIT_ELVEN_COURTBLADE 24717 1 -1 0
|
||||
267 WeapFocDagger 90 1 -1 0
|
||||
268 WeapFocDart 91 1 -1 0
|
||||
269 WeapFocHXBow 92 1 -1 0
|
||||
270 WeapFocLgXBow 93 1 -1 0
|
||||
271 WeapFocLgMace 94 1 -1 0
|
||||
272 WeapFocMorn 95 1 -1 0
|
||||
273 WeapFocStaff 96 1 -1 0
|
||||
274 WeapFocSpear 97 1 -1 0
|
||||
275 WeapFocSickle 98 1 -1 0
|
||||
276 WeapFocSling 99 1 -1 0
|
||||
277 WeapFocUnArm 100 1 -1 0
|
||||
278 WeapFocLongBow 101 1 -1 0
|
||||
279 WeapFocShortBow 102 1 -1 0
|
||||
280 WeapFocShortSword 103 1 -1 0
|
||||
281 WeapFocRapier 104 1 -1 0
|
||||
282 WeapFocScim 105 1 -1 0
|
||||
283 WeapFocLSw 106 1 -1 0
|
||||
284 WeapFocGSw 107 1 -1 0
|
||||
285 WeapFocHAxe 108 1 -1 0
|
||||
286 WeapFocTAxe 109 1 -1 0
|
||||
287 WeapFocBAxe 110 1 -1 0
|
||||
288 WeapFocGAxe 111 1 -1 0
|
||||
289 WeapFocHalb 112 1 -1 0
|
||||
290 WeapFocLgHam 113 1 -1 0
|
||||
291 WeapFocLgFlail 114 1 -1 0
|
||||
292 WeapFocWHam 115 1 -1 0
|
||||
293 WeapFocHFlail 116 1 -1 0
|
||||
294 WeapFocKama 117 1 -1 0
|
||||
295 WeapFocKukri 118 1 -1 0
|
||||
296 WeapFocShur 120 1 -1 0
|
||||
297 WeapFocScy 121 1 -1 0
|
||||
298 WeapFocKatana 122 1 -1 0
|
||||
299 WeapFocBSw 123 1 -1 0
|
||||
300 WeapFocDMace 125 1 -1 0
|
||||
301 WeapFocDAxe 126 1 -1 0
|
||||
302 WeapFoc2Sw 127 1 -1 0
|
||||
303 WF_LIGHT_LANCE 24613 1 -1 0
|
||||
304 WF_HEAVY_PICK 24614 1 -1 0
|
||||
305 WF_LIGHT_PICK 24615 1 -1 0
|
||||
306 WF_SAI 24616 1 -1 0
|
||||
307 WF_NUNCHUKU 24617 1 -1 0
|
||||
308 WF_FALCHION 24618 1 -1 0
|
||||
309 WF_SAP 24619 1 -1 0
|
||||
310 WF_KATAR 24620 1 -1 0
|
||||
311 WF_HEAVY_MACE 24621 1 -1 0
|
||||
312 WF_MAUL 24622 1 -1 0
|
||||
313 WF_DOUBLE_SCIMITAR 24623 1 -1 0
|
||||
314 WF_GOAD 24624 1 -1 0
|
||||
315 WF_ELVEN_LIGHTBLADE 24697 1 -1 0
|
||||
316 WF_ELVEN_THINBLADE 24705 1 -1 0
|
||||
317 WF_ELVEN_COURTBLADE 24713 1 -1 0
|
||||
318 FEAT_EPIC_WEAPON_FOCUS_CLUB 619 1 -1 0
|
||||
319 FEAT_EPIC_WEAPON_FOCUS_DAGGER 620 1 -1 0
|
||||
320 FEAT_EPIC_WEAPON_FOCUS_DART 621 1 -1 0
|
||||
321 FEAT_EPIC_WEAPON_FOCUS_HEAVYCROSSBOW 622 1 -1 0
|
||||
322 FEAT_EPIC_WEAPON_FOCUS_LIGHTCROSSBOW 623 1 -1 0
|
||||
323 FEAT_EPIC_WEAPON_FOCUS_LIGHTMACE 624 1 -1 0
|
||||
324 FEAT_EPIC_WEAPON_FOCUS_MORNINGSTAR 625 1 -1 0
|
||||
325 FEAT_EPIC_WEAPON_FOCUS_QUARTERSTAFF 626 1 -1 0
|
||||
326 FEAT_EPIC_WEAPON_FOCUS_SHORTSPEAR 627 1 -1 0
|
||||
327 FEAT_EPIC_WEAPON_FOCUS_SICKLE 628 1 -1 0
|
||||
328 FEAT_EPIC_WEAPON_FOCUS_SLING 629 1 -1 0
|
||||
329 FEAT_EPIC_WEAPON_FOCUS_UNARMED 630 1 -1 0
|
||||
330 FEAT_EPIC_WEAPON_FOCUS_LONGBOW 631 1 -1 0
|
||||
331 FEAT_EPIC_WEAPON_FOCUS_SHORTBOW 632 1 -1 0
|
||||
332 FEAT_EPIC_WEAPON_FOCUS_SHORTSWORD 633 1 -1 0
|
||||
333 FEAT_EPIC_WEAPON_FOCUS_RAPIER 634 1 -1 0
|
||||
334 FEAT_EPIC_WEAPON_FOCUS_SCIMITAR 635 1 -1 0
|
||||
335 FEAT_EPIC_WEAPON_FOCUS_LONGSWORD 636 1 -1 0
|
||||
336 FEAT_EPIC_WEAPON_FOCUS_GREATSWORD 637 1 -1 0
|
||||
337 FEAT_EPIC_WEAPON_FOCUS_HANDAXE 638 1 -1 0
|
||||
338 FEAT_EPIC_WEAPON_FOCUS_THROWINGAXE 639 1 -1 0
|
||||
339 FEAT_EPIC_WEAPON_FOCUS_BATTLEAXE 640 1 -1 0
|
||||
340 FEAT_EPIC_WEAPON_FOCUS_GREATAXE 641 1 -1 0
|
||||
341 FEAT_EPIC_WEAPON_FOCUS_HALBERD 642 1 -1 0
|
||||
342 FEAT_EPIC_WEAPON_FOCUS_LIGHTHAMMER 643 1 -1 0
|
||||
343 FEAT_EPIC_WEAPON_FOCUS_LIGHTFLAIL 644 1 -1 0
|
||||
344 FEAT_EPIC_WEAPON_FOCUS_WARHAMMER 645 1 -1 0
|
||||
345 FEAT_EPIC_WEAPON_FOCUS_HEAVYFLAIL 646 1 -1 0
|
||||
346 FEAT_EPIC_WEAPON_FOCUS_KAMA 647 1 -1 0
|
||||
347 FEAT_EPIC_WEAPON_FOCUS_KUKRI 648 1 -1 0
|
||||
348 FEAT_EPIC_WEAPON_FOCUS_SHURIKEN 649 1 -1 0
|
||||
349 FEAT_EPIC_WEAPON_FOCUS_SCYTHE 650 1 -1 0
|
||||
350 FEAT_EPIC_WEAPON_FOCUS_KATANA 651 1 -1 0
|
||||
351 FEAT_EPIC_WEAPON_FOCUS_BASTARDSWORD 652 1 -1 0
|
||||
352 FEAT_EPIC_WEAPON_FOCUS_DIREMACE 653 1 -1 0
|
||||
353 FEAT_EPIC_WEAPON_FOCUS_DOUBLEAXE 654 1 -1 0
|
||||
354 EPIC_WEAPON_FOCUS_LANCE 24637 1 -1 0
|
||||
355 EPIC_WEAPON_FOCUS_HEAVY_PICK 24638 1 -1 0
|
||||
356 EPIC_WEAPON_FOCUS_LIGHT_PICK 24639 1 -1 0
|
||||
357 EPIC_WEAPON_FOCUS_SAI 24640 1 -1 0
|
||||
358 EPIC_WEAPON_FOCUS_NUNCHAKU 24641 1 -1 0
|
||||
359 EPIC_WEAPON_FOCUS_FALCHION 24642 1 -1 0
|
||||
360 EPIC_WEAPON_FOCUS_SAP 24643 1 -1 0
|
||||
361 EPIC_WEAPON_FOCUS_KATAR 24644 1 -1 0
|
||||
362 EPIC_WEAPON_FOCUS_HEAVY_MACE 24645 1 -1 0
|
||||
363 EPIC_WEAPON_FOCUS_MAUL 24646 1 -1 0
|
||||
364 EPIC_WEAPON_FOCUS_DBL_SCIMITAR 24647 1 -1 0
|
||||
365 EPIC_WEAPON_FOCUS_GOAD 24648 1 -1 0
|
||||
366 EPIC_WEAPON_FOCUS_ELVEN_LIGHTBLADE 24698 1 -1 0
|
||||
367 EPIC_WEAPON_FOCUS_ELVEN_THINBLADE 24706 1 -1 0
|
||||
368 EPIC_WEAPON_FOCUS_ELVEN_COURTBLADE 24714 1 -1 0
|
||||
369 FEAT_EPIC_WEAPON_FOCUS_TWOBLADEDSWORD 655 1 -1 0
|
||||
370 FEAT_WEAPON_FOCUS_TRIDENT 1072 1 -1 0
|
||||
371 FEAT_IMPROVED_CRITICAL_TRIDENT 1074 1 -1 0
|
||||
372 FEAT_EPIC_DEVASTATING_CRITICAL_TRIDENT 1075 1 -1 0
|
||||
373 FEAT_EPIC_WEAPON_FOCUS_TRIDENT 1076 1 -1 0
|
||||
374 FEAT_EPIC_OVERWHELMING_CRITICAL_TRIDENT 1078 1 -1 0
|
||||
375 FEAT_EPIC_PERFECT_HEALTH 747 1 -1 0
|
||||
376 FEAT_EPIC_PLANAR_TURNING 854 1 -1 1
|
||||
377 FEAT_EPIC_IMPROVED_COMBAT_CASTING 696 1 -1 0
|
||||
378 DivineMight 413 1 -1 1
|
||||
379 DivineShield 414 1 -1 1
|
||||
380 FEAT_EPIC_GREAT_WISDOM_1 804 1 -1 0
|
||||
381 FEAT_EPIC_GREAT_WISDOM_2 805 1 -1 0
|
||||
382 FEAT_EPIC_GREAT_WISDOM_3 806 1 -1 0
|
||||
383 FEAT_EPIC_GREAT_WISDOM_4 807 1 -1 0
|
||||
384 FEAT_EPIC_GREAT_WISDOM_5 808 1 -1 0
|
||||
385 FEAT_EPIC_GREAT_WISDOM_6 809 1 -1 0
|
||||
386 FEAT_EPIC_GREAT_WISDOM_7 810 1 -1 0
|
||||
387 FEAT_EPIC_GREAT_WISDOM_8 811 1 -1 0
|
||||
388 FEAT_EPIC_GREAT_WISDOM_9 812 1 -1 0
|
||||
389 FEAT_EPIC_GREAT_WISDOM_10 813 1 -1 0
|
||||
390 FEAT_EPIC_AUTOMATIC_QUICKEN_1 857 1 -1 0
|
||||
391 FEAT_EPIC_AUTOMATIC_QUICKEN_2 858 1 -1 0
|
||||
392 FEAT_EPIC_AUTOMATIC_QUICKEN_3 859 1 -1 0
|
||||
393 FEAT_EPIC_AUTOMATIC_SILENT_SPELL_1 860 1 -1 0
|
||||
394 FEAT_EPIC_AUTOMATIC_SILENT_SPELL_2 861 1 -1 0
|
||||
395 FEAT_EPIC_AUTOMATIC_SILENT_SPELL_3 862 1 -1 0
|
||||
396 FEAT_EPIC_AUTOMATIC_STILL_SPELL_1 863 1 -1 0
|
||||
397 FEAT_EPIC_AUTOMATIC_STILL_SPELL_2 864 1 -1 0
|
||||
398 FEAT_EPIC_AUTOMATIC_STILL_SPELL_3 865 1 -1 0
|
||||
399 WhirlwindAttack 867 1 -1 0
|
||||
400 WeaponFocusdwaxe 952 1 -1 0
|
||||
401 WeaponFocuswhip 993 1 -1 0
|
||||
402 FocusedSpellPenetrCon 3128 1 -1 0
|
||||
403 FocusedSpellPenetrDiv 3129 1 -1 0
|
||||
404 FocusedSpellPenetrEnc 3130 1 -1 0
|
||||
405 FocusedSpellPenetrEvo 3131 1 -1 0
|
||||
406 FocusedSpellPenetrIll 3132 1 -1 0
|
||||
407 FocusedSpellPenetrNec 3133 1 -1 0
|
||||
408 FocusedSpellPenetrTra 3134 1 -1 0
|
||||
409 FocusedSpellPenetrAbj 3135 1 -1 0
|
||||
410 FEAT_EPIC_DIVINE_VIGOR 3115 1 -1 1
|
||||
411 FEAT_EPIC_DIVINE_RESISTANCE 3119 1 -1 1
|
||||
412 FEAT_EPIC_DIVINE_MIGHT 3120 1 -1 1
|
||||
413 FEAT_EPIC_BLINDING_SPEED 491 1 -1 1
|
||||
414 FEAT_EPIC_SPELL_PENETRATION 618 1 -1 0
|
||||
415 FEAT_EPIC_DIVINE_SHIELD 3548 1 -1 1
|
||||
416 OverWCrit_Mindblade 3615 1 -1 0
|
||||
417 DevCrit_Mindblade 3616 1 -1 0
|
||||
418 Epic_WeaponFocus_Mindblade 3618 1 -1 0
|
||||
419 ImpCrit_Mindblade 3614 1 -1 0
|
||||
420 FEAT_EPIC_REPUTATION 586 1 -1 0
|
||||
421 FEAT_EPIC_SPELL_FOCUS_ABJURATION 610 1 -1 0
|
||||
422 FEAT_EPIC_SPELL_FOCUS_CONJURATION 611 1 -1 0
|
||||
423 FEAT_EPIC_SPELL_FOCUS_DIVINATION 612 1 -1 0
|
||||
424 FEAT_EPIC_SPELL_FOCUS_ENCHANTMENT 613 1 -1 0
|
||||
425 FEAT_EPIC_SPELL_FOCUS_EVOCATION 614 1 -1 0
|
||||
426 FEAT_EPIC_SPELL_FOCUS_ILLUSION 615 1 -1 0
|
||||
427 FEAT_EPIC_SPELL_FOCUS_NECROMANCY 616 1 -1 0
|
||||
428 FEAT_EPIC_SPELL_FOCUS_TRANSMUTATION 617 1 -1 0
|
||||
429 FEAT_EPIC_WEAPON_SPECIALIZATION_CLUB 657 1 -1 0
|
||||
430 FEAT_EPIC_WEAPON_SPECIALIZATION_DAGGER 658 1 -1 0
|
||||
431 FEAT_EPIC_WEAPON_SPECIALIZATION_DART 659 1 -1 0
|
||||
432 FEAT_EPIC_WEAPON_SPECIALIZATION_HEAVYCROSSBOW 660 1 -1 0
|
||||
433 FEAT_EPIC_WEAPON_SPECIALIZATION_LIGHTCROSSBOW 661 1 -1 0
|
||||
434 FEAT_EPIC_WEAPON_SPECIALIZATION_LIGHTMACE 662 1 -1 0
|
||||
435 FEAT_EPIC_WEAPON_SPECIALIZATION_MORNINGSTAR 663 1 -1 0
|
||||
436 FEAT_EPIC_WEAPON_SPECIALIZATION_QUARTERSTAFF 664 1 -1 0
|
||||
437 FEAT_EPIC_WEAPON_SPECIALIZATION_SHORTSPEAR 665 1 -1 0
|
||||
438 FEAT_EPIC_WEAPON_SPECIALIZATION_SICKLE 666 1 -1 0
|
||||
439 FEAT_EPIC_WEAPON_SPECIALIZATION_SLING 667 1 -1 0
|
||||
440 FEAT_EPIC_WEAPON_SPECIALIZATION_UNARMED 668 1 -1 0
|
||||
441 FEAT_EPIC_WEAPON_SPECIALIZATION_LONGBOW 669 1 -1 0
|
||||
442 FEAT_EPIC_WEAPON_SPECIALIZATION_SHORTBOW 670 1 -1 0
|
||||
443 FEAT_EPIC_WEAPON_SPECIALIZATION_SHORTSWORD 671 1 -1 0
|
||||
444 FEAT_EPIC_WEAPON_SPECIALIZATION_RAPIER 672 1 -1 0
|
||||
445 FEAT_EPIC_WEAPON_SPECIALIZATION_SCIMITAR 673 1 -1 0
|
||||
446 FEAT_EPIC_WEAPON_SPECIALIZATION_LONGSWORD 674 1 -1 0
|
||||
447 FEAT_EPIC_WEAPON_SPECIALIZATION_GREATSWORD 675 1 -1 0
|
||||
448 FEAT_EPIC_WEAPON_SPECIALIZATION_HANDAXE 676 1 -1 0
|
||||
449 FEAT_EPIC_WEAPON_SPECIALIZATION_THROWINGAXE 677 1 -1 0
|
||||
450 FEAT_EPIC_WEAPON_SPECIALIZATION_BATTLEAXE 678 1 -1 0
|
||||
451 FEAT_EPIC_WEAPON_SPECIALIZATION_GREATAXE 679 1 -1 0
|
||||
452 FEAT_EPIC_WEAPON_SPECIALIZATION_HALBERD 680 1 -1 0
|
||||
453 FEAT_EPIC_WEAPON_SPECIALIZATION_LIGHTHAMMER 681 1 -1 0
|
||||
454 FEAT_EPIC_WEAPON_SPECIALIZATION_LIGHTFLAIL 682 1 -1 0
|
||||
455 FEAT_EPIC_WEAPON_SPECIALIZATION_WARHAMMER 683 1 -1 0
|
||||
456 FEAT_EPIC_WEAPON_SPECIALIZATION_HEAVYFLAIL 684 1 -1 0
|
||||
457 FEAT_EPIC_WEAPON_SPECIALIZATION_KAMA 685 1 -1 0
|
||||
458 FEAT_EPIC_WEAPON_SPECIALIZATION_KUKRI 686 1 -1 0
|
||||
459 FEAT_EPIC_WEAPON_SPECIALIZATION_SHURIKEN 687 1 -1 0
|
||||
460 FEAT_EPIC_WEAPON_SPECIALIZATION_SCYTHE 688 1 -1 0
|
||||
461 FEAT_EPIC_WEAPON_SPECIALIZATION_KATANA 689 1 -1 0
|
||||
462 FEAT_EPIC_WEAPON_SPECIALIZATION_BASTARDSWORD 690 1 -1 0
|
||||
463 FEAT_EPIC_WEAPON_SPECIALIZATION_DIREMACE 691 1 -1 0
|
||||
464 FEAT_EPIC_WEAPON_SPECIALIZATION_DOUBLEAXE 692 1 -1 0
|
||||
465 FEAT_EPIC_WEAPON_SPECIALIZATION_TWOBLADEDSWORD 693 1 -1 0
|
||||
466 EPIC_WEAPON_SPECIALIZATION_ELVEN_LIGHTBLADE 24700 1 -1 0
|
||||
467 EPIC_WEAPON_SPECIALIZATION_ELVEN_THINBLADE 24708 1 -1 0
|
||||
468 EPIC_WEAPON_SPECIALIZATION_ELVEN_COURTBLADE 24716 1 -1 0
|
||||
469 FEAT_EPIC_WEAPON_SPECIALIZATION_DWAXE 957 1 -1 0
|
||||
470 FEAT_EPIC_WEAPON_SPECIALIZATION_WHIP 998 1 -1 0
|
||||
471 FEAT_EPIC_GREAT_CHARISMA_1 764 1 -1 0
|
||||
472 FEAT_EPIC_GREAT_CHARISMA_2 765 1 -1 0
|
||||
473 FEAT_EPIC_GREAT_CHARISMA_3 766 1 -1 0
|
||||
474 FEAT_EPIC_GREAT_CHARISMA_4 767 1 -1 0
|
||||
475 FEAT_EPIC_GREAT_CHARISMA_5 768 1 -1 0
|
||||
476 FEAT_EPIC_GREAT_CHARISMA_6 769 1 -1 0
|
||||
477 FEAT_EPIC_GREAT_CHARISMA_7 770 1 -1 0
|
||||
478 FEAT_EPIC_GREAT_CHARISMA_8 771 1 -1 0
|
||||
479 FEAT_EPIC_GREAT_CHARISMA_9 772 1 -1 0
|
||||
480 FEAT_EPIC_GREAT_CHARISMA_10 773 1 -1 0
|
||||
481 FEAT_EPIC_GREAT_SMITING_1 824 1 -1 0
|
||||
482 FEAT_EPIC_GREAT_SMITING_2 825 1 -1 0
|
||||
483 FEAT_EPIC_GREAT_SMITING_3 826 1 -1 0
|
||||
484 FEAT_EPIC_GREAT_SMITING_4 827 1 -1 0
|
||||
485 FEAT_EPIC_GREAT_SMITING_5 828 1 -1 0
|
||||
486 FEAT_EPIC_GREAT_SMITING_6 829 1 -1 0
|
||||
487 FEAT_EPIC_GREAT_SMITING_7 830 1 -1 0
|
||||
488 FEAT_EPIC_GREAT_SMITING_8 831 1 -1 0
|
||||
489 FEAT_EPIC_GREAT_SMITING_9 832 1 -1 0
|
||||
490 FEAT_EPIC_GREAT_SMITING_10 833 1 -1 0
|
||||
491 FEAT_DIVINE_VIGOR 3116 0 -1 1
|
||||
492 FEAT_DIVINE_RESISTANCE 3117 0 -1 1
|
||||
493 FEAT_DIVINE_CLEANSING 3118 0 -1 1
|
||||
494 FEAT_DIVINE_VENGEANCE 3142 0 -1 1
|
||||
495 FEAT_DISCIPLE_OF_SUN 3127 0 -1 1
|
||||
496 Bane_Magic_Aberration 23556 0 -1 0
|
||||
497 Bane_Magic_Animal 23557 0 -1 0
|
||||
498 Bane_Magic_Beast 23558 0 -1 0
|
||||
499 Bane_Magic_Construct 23559 0 -1 0
|
||||
500 Bane_Magic_Dragon 23560 0 -1 0
|
||||
501 Bane_Magic_Dwarf 23561 0 -1 0
|
||||
502 Bane_Magic_Elemental 23562 0 -1 0
|
||||
503 Bane_Magic_Elf 23563 0 -1 0
|
||||
504 Bane_Magic_Fey 23564 0 -1 0
|
||||
505 Bane_Magic_Giant 23565 0 -1 0
|
||||
506 Bane_Magic_Gnome 23566 0 -1 0
|
||||
507 Bane_Magic_HalfElf 23567 0 -1 0
|
||||
508 Bane_Magic_Halfling 23568 0 -1 0
|
||||
509 Bane_Magic_HalfOrc 23569 0 -1 0
|
||||
510 Bane_Magic_Human 23570 0 -1 0
|
||||
511 Bane_Magic_Humanoid_Goblinoid 23571 0 -1 0
|
||||
512 Bane_Magic_Humanoid_Monstrous 23572 0 -1 0
|
||||
513 Bane_Magic_Humanoid_Orc 23573 0 -1 0
|
||||
514 Bane_Magic_Humanoid_Reptilian 23574 0 -1 0
|
||||
515 Bane_Magic_Magical_Beast 23575 0 -1 0
|
||||
516 Bane_Magic_Outsider 23576 0 -1 0
|
||||
517 Bane_Magic_Shapechanger 23577 0 -1 0
|
||||
518 Bane_Magic_Undead 23578 0 -1 0
|
||||
519 Bane_Magic_Vermin 23579 0 -1 0
|
||||
520 DivineMetamagic_Empower 23530 0 -1 1
|
||||
521 DivineMetamagic_Extend 23531 0 -1 1
|
||||
522 DivineMetamagic_Maximize 23532 0 -1 1
|
||||
523 SpellFocusCon 166 0 -1 0
|
||||
524 SpellFocusDiv 167 0 -1 0
|
||||
525 SpellFocusEnc 168 0 -1 0
|
||||
526 SpellFocusEvo 169 0 -1 0
|
||||
527 SpellFocusIll 170 0 -1 0
|
||||
528 SpellFocusNec 171 0 -1 0
|
||||
529 SpellFocusTra 172 0 -1 0
|
||||
530 SpellFocusAbj 35 0 -1 0
|
||||
531 FEAT_BREW_POTION 944 0 -1 0
|
||||
532 Quicken 29 0 -1 0
|
||||
533 FEAT_IMP_MANYSHOT 3350 1 -1 1
|
||||
534 FEAT_WEAPON_FOCUS_RAY 4819 1 -1 0
|
||||
535 FEAT_EPIC_WEAPON_FOCUS_RAY 4820 1 -1 0
|
||||
536 FEAT_IMPROVED_CRITICAL_TOUCH 26009 1 -1 0
|
||||
537 FEAT_IMPROVED_CRITICAL_RAY 26010 1 -1 0
|
||||
538 FEAT_WEAPON_FOCUS_TOUCH 26011 1 -1 0
|
||||
539 FEAT_EPIC_WEAPON_FOCUS_TOUCH 26012 1 -1 0
|
||||
540 FEAT_CHARMING_THE_ARROW 25997 1 -1 0
|
||||
541 WeapSpeClub 47 1 -1 0
|
||||
542 WeapSpeDagger 128 1 -1 0
|
||||
543 WeapSpeDart 129 1 -1 0
|
||||
544 WeapSpeHXBow 130 1 -1 0
|
||||
545 WeapSpeLgXBow 131 1 -1 0
|
||||
546 WeapSpeLgMace 132 1 -1 0
|
||||
547 WeapSpeMorn 133 1 -1 0
|
||||
548 WeapSpeStaff 134 1 -1 0
|
||||
549 WeapSpeSpear 135 1 -1 0
|
||||
550 WeapSpeSickle 136 1 -1 0
|
||||
551 WeapSpeSling 137 1 -1 0
|
||||
552 WeapSpeUnArm 138 1 -1 0
|
||||
553 WeapSpeLongBow 139 1 -1 0
|
||||
554 WeapSpeShortBow 140 1 -1 0
|
||||
555 WeapSpeShortSword 141 1 -1 0
|
||||
556 WeapSpeRapier 142 1 -1 0
|
||||
557 WeapSpeScim 143 1 -1 0
|
||||
558 WeapSpeLSw 144 1 -1 0
|
||||
559 WeapSpeGSw 145 1 -1 0
|
||||
560 WeapSpeHAxe 146 1 -1 0
|
||||
561 WeapSpeTAxe 147 1 -1 0
|
||||
562 WeapSpeBAxe 148 1 -1 0
|
||||
563 WeapSpeGAxe 149 1 -1 0
|
||||
564 WeapSpeHalb 150 1 -1 0
|
||||
565 WeapSpeLgHam 151 1 -1 0
|
||||
566 WeapSpeLgFlail 152 1 -1 0
|
||||
567 WeapSpeWHam 153 1 -1 0
|
||||
568 WeapSpeHFlail 154 1 -1 0
|
||||
569 WeapSpeKama 155 1 -1 0
|
||||
570 WeapSpeKukri 156 1 -1 0
|
||||
571 WeapSpeShur 158 1 -1 0
|
||||
572 WeapSpeScy 159 1 -1 0
|
||||
573 WeapSpeKatana 160 1 -1 0
|
||||
574 WeapSpeBSw 161 1 -1 0
|
||||
575 WeapSpeDMace 163 1 -1 0
|
||||
576 WeapSpeDAxe 164 1 -1 0
|
||||
577 WeapSpe2Sw 165 1 -1 0
|
||||
578 FEAT_WEAPON_SPECIALIZATION_TRIDENT 1073 1 -1 0
|
||||
579 WEAP_SPEC_LIGHT_LANCE 24625 1 -1 0
|
||||
580 WEAP_SPEC_HEAVY_PICK 24626 1 -1 0
|
||||
581 WEAP_SPEC_LIGHT_PICK 24627 1 -1 0
|
||||
582 WEAP_SPEC_SAI 24628 1 -1 0
|
||||
583 WEAP_SPEC_NUNCHAKU 24629 1 -1 0
|
||||
584 WEAP_SPEC_FALCHION 24630 1 -1 0
|
||||
585 WEAP_SPEC_SAP 24631 1 -1 0
|
||||
586 WEAP_SPEC_KATAR 24632 1 -1 0
|
||||
587 WEAP_SPEC_HEAVY_MACE 24633 1 -1 0
|
||||
588 WEAP_SPEC_MAUL 24634 1 -1 0
|
||||
589 WEAP_SPEC_DBL_SCIMITAR 24635 1 -1 0
|
||||
590 WEAP_SPEC_GOAD 24636 1 -1 0
|
||||
591 WEAP_SPEC_ELVEN_LIGHTBLADE 24699 1 -1 0
|
||||
592 WEAP_SPEC_ELVEN_THINBLADE 24707 1 -1 0
|
||||
593 WEAP_SPEC_ELVEN_COURTBLADE 24715 1 -1 0
|
||||
594 ExtraTurning 13 0 -1 0
|
||||
595 FEAT_COMBAT_FOCUS 26020 1 -1 0
|
||||
596 FEAT_COMBAT_AWARENESS 26021 1 -1 0
|
||||
597 FEAT_COMBAT_DEFENSE 26022 1 -1 0
|
||||
598 FEAT_COMBAT_STABILITY 26023 1 -1 0
|
||||
599 FEAT_COMBAT_STRIKE 26024 1 -1 1
|
||||
600 FEAT_COMBAT_VIGOR 26025 1 -1 0
|
||||
601 FEAT_FREEZING_THE_LIFEBLOOD 26015 1 -1 1
|
||||
184 Dodge 10 1 -1 0
|
||||
185 ImpDis 16 1 -1 0
|
||||
186 ImpTwo 20 1 -1 0
|
||||
187 LightngRef 24 0 -1 0
|
||||
188 Mobility 26 1 -1 0
|
||||
189 PBShot 27 1 -1 0
|
||||
190 PowerAtk 28 1 -1 0
|
||||
191 StunFist 39 1 -1 0
|
||||
192 TwoWeap 41 1 -1 0
|
||||
193 WeapFinesse 42 1 -1 0
|
||||
194 BlindFight 408 1 -1 0
|
||||
195 Expertise 389 1 -1 0
|
||||
196 ImpExpertise 390 1 -1 0
|
||||
197 GreatCleave 391 1 -1 0
|
||||
198 SpringAttack 392 1 -1 0
|
||||
199 ImpInit 377 1 -1 0
|
||||
200 WP_BstrdSwd 7904 1 -1 0
|
||||
201 WP_TwoBldSwd 7911 1 -1 0
|
||||
202 WP_DireMace 7915 1 -1 0
|
||||
203 WP_DblAxe 7916 1 -1 0
|
||||
204 WP_Kama 7920 1 -1 0
|
||||
205 WP_Katana 7921 1 -1 0
|
||||
206 WP_Kukri 7922 1 -1 0
|
||||
207 WP_Scythe 7926 1 -1 0
|
||||
208 WP_Shuriken 7928 1 -1 0
|
||||
209 WP_DwarfWaraxe 7933 1 -1 0
|
||||
210 WP_Whip 7934 1 -1 0
|
||||
211 WP_Lightblade 7935 1 -1 0
|
||||
212 WP_Thinblade 7936 1 -1 0
|
||||
213 WP_Courtblade 7937 1 -1 0
|
||||
214 ImpStrike 21 1 -1 0
|
||||
215 ImpCritDart 53 1 -1 0
|
||||
216 ImpCritDagger 52 1 -1 0
|
||||
217 ImpCritHXBow 54 1 -1 0
|
||||
218 ImpCritLgXBow 55 1 -1 0
|
||||
219 ImpCritLgMace 56 1 -1 0
|
||||
220 ImpCritMorn 57 1 -1 0
|
||||
221 ImpCritStaff 58 1 -1 0
|
||||
222 ImpCritSpear 59 1 -1 0
|
||||
223 ImpCritSickle 60 1 -1 0
|
||||
224 ImpCritSling 61 1 -1 0
|
||||
225 ImpCritUnArm 62 1 -1 0
|
||||
226 ImpCritLongBow 63 1 -1 0
|
||||
227 ImpCritShortBow 64 1 -1 0
|
||||
228 ImpCritShortSword 65 1 -1 0
|
||||
229 ImpCritRapier 66 1 -1 0
|
||||
230 ImpCritScim 67 1 -1 0
|
||||
231 ImpCritLSw 68 1 -1 0
|
||||
232 ImpCritGSw 69 1 -1 0
|
||||
233 ImpCritHAxe 70 1 -1 0
|
||||
234 ImpCritTAxe 71 1 -1 0
|
||||
235 ImpCritBAxe 72 1 -1 0
|
||||
236 ImpCritGAxe 73 1 -1 0
|
||||
237 ImpCritHalb 74 1 -1 0
|
||||
238 ImpCritLgHam 75 1 -1 0
|
||||
239 ImpCritLgFlail 76 1 -1 0
|
||||
240 ImpCritWHam 77 1 -1 0
|
||||
241 ImpCritHFlail 78 1 -1 0
|
||||
242 ImpCritKama 79 1 -1 0
|
||||
243 ImpCritKukri 80 1 -1 0
|
||||
244 ImpCritShur 82 1 -1 0
|
||||
245 ImpCritScy 83 1 -1 0
|
||||
246 ImpCritKatana 84 1 -1 0
|
||||
247 ImpCritBSw 85 1 -1 0
|
||||
248 ImpCritDMace 87 1 -1 0
|
||||
249 ImpCritDAxe 88 1 -1 0
|
||||
250 ImpCrit2Sw 89 1 -1 0
|
||||
251 IMP_CRIT_LIGHT_LANCE 24649 1 -1 0
|
||||
252 IMP_CRIT_HEAVY_PICK 24650 1 -1 0
|
||||
253 IMP_CRIT_LIGHT_PICK 24651 1 -1 0
|
||||
254 IMP_CRIT_SAI 24652 1 -1 0
|
||||
255 IMP_CRIT_NUNCHAKU 24653 1 -1 0
|
||||
256 IMP_CRIT_FALCHION 24654 1 -1 0
|
||||
257 IMP_CRIT_SAP 24655 1 -1 0
|
||||
258 IMP_CRIT_KATAR 24656 1 -1 0
|
||||
259 IMP_CRIT_HEAVY_MACE 24657 1 -1 0
|
||||
260 IMP_CRIT_MAUL 24658 1 -1 0
|
||||
261 IMP_CRIT_DBL_SCIMITAR 24659 1 -1 0
|
||||
262 IMP_CRIT_GOAD 24660 1 -1 0
|
||||
263 IMP_CRIT_ELVEN_LIGHTBLADE 24701 1 -1 0
|
||||
264 IMP_CRIT_ELVEN_THINBLADE 24709 1 -1 0
|
||||
265 IMP_CRIT_ELVEN_COURTBLADE 24717 1 -1 0
|
||||
266 WeapFocDagger 90 1 -1 0
|
||||
267 WeapFocDart 91 1 -1 0
|
||||
268 WeapFocHXBow 92 1 -1 0
|
||||
269 WeapFocLgXBow 93 1 -1 0
|
||||
270 WeapFocLgMace 94 1 -1 0
|
||||
271 WeapFocMorn 95 1 -1 0
|
||||
272 WeapFocStaff 96 1 -1 0
|
||||
273 WeapFocSpear 97 1 -1 0
|
||||
274 WeapFocSickle 98 1 -1 0
|
||||
275 WeapFocSling 99 1 -1 0
|
||||
276 WeapFocUnArm 100 1 -1 0
|
||||
277 WeapFocLongBow 101 1 -1 0
|
||||
278 WeapFocShortBow 102 1 -1 0
|
||||
279 WeapFocShortSword 103 1 -1 0
|
||||
280 WeapFocRapier 104 1 -1 0
|
||||
281 WeapFocScim 105 1 -1 0
|
||||
282 WeapFocLSw 106 1 -1 0
|
||||
283 WeapFocGSw 107 1 -1 0
|
||||
284 WeapFocHAxe 108 1 -1 0
|
||||
285 WeapFocTAxe 109 1 -1 0
|
||||
286 WeapFocBAxe 110 1 -1 0
|
||||
287 WeapFocGAxe 111 1 -1 0
|
||||
288 WeapFocHalb 112 1 -1 0
|
||||
289 WeapFocLgHam 113 1 -1 0
|
||||
290 WeapFocLgFlail 114 1 -1 0
|
||||
291 WeapFocWHam 115 1 -1 0
|
||||
292 WeapFocHFlail 116 1 -1 0
|
||||
293 WeapFocKama 117 1 -1 0
|
||||
294 WeapFocKukri 118 1 -1 0
|
||||
295 WeapFocShur 120 1 -1 0
|
||||
296 WeapFocScy 121 1 -1 0
|
||||
297 WeapFocKatana 122 1 -1 0
|
||||
298 WeapFocBSw 123 1 -1 0
|
||||
299 WeapFocDMace 125 1 -1 0
|
||||
300 WeapFocDAxe 126 1 -1 0
|
||||
301 WeapFoc2Sw 127 1 -1 0
|
||||
302 WF_LIGHT_LANCE 24613 1 -1 0
|
||||
303 WF_HEAVY_PICK 24614 1 -1 0
|
||||
304 WF_LIGHT_PICK 24615 1 -1 0
|
||||
305 WF_SAI 24616 1 -1 0
|
||||
306 WF_NUNCHUKU 24617 1 -1 0
|
||||
307 WF_FALCHION 24618 1 -1 0
|
||||
308 WF_SAP 24619 1 -1 0
|
||||
309 WF_KATAR 24620 1 -1 0
|
||||
310 WF_HEAVY_MACE 24621 1 -1 0
|
||||
311 WF_MAUL 24622 1 -1 0
|
||||
312 WF_DOUBLE_SCIMITAR 24623 1 -1 0
|
||||
313 WF_GOAD 24624 1 -1 0
|
||||
314 WF_ELVEN_LIGHTBLADE 24697 1 -1 0
|
||||
315 WF_ELVEN_THINBLADE 24705 1 -1 0
|
||||
316 WF_ELVEN_COURTBLADE 24713 1 -1 0
|
||||
317 FEAT_EPIC_WEAPON_FOCUS_CLUB 619 1 -1 0
|
||||
318 FEAT_EPIC_WEAPON_FOCUS_DAGGER 620 1 -1 0
|
||||
319 FEAT_EPIC_WEAPON_FOCUS_DART 621 1 -1 0
|
||||
320 FEAT_EPIC_WEAPON_FOCUS_HEAVYCROSSBOW 622 1 -1 0
|
||||
321 FEAT_EPIC_WEAPON_FOCUS_LIGHTCROSSBOW 623 1 -1 0
|
||||
322 FEAT_EPIC_WEAPON_FOCUS_LIGHTMACE 624 1 -1 0
|
||||
323 FEAT_EPIC_WEAPON_FOCUS_MORNINGSTAR 625 1 -1 0
|
||||
324 FEAT_EPIC_WEAPON_FOCUS_QUARTERSTAFF 626 1 -1 0
|
||||
325 FEAT_EPIC_WEAPON_FOCUS_SHORTSPEAR 627 1 -1 0
|
||||
326 FEAT_EPIC_WEAPON_FOCUS_SICKLE 628 1 -1 0
|
||||
327 FEAT_EPIC_WEAPON_FOCUS_SLING 629 1 -1 0
|
||||
328 FEAT_EPIC_WEAPON_FOCUS_UNARMED 630 1 -1 0
|
||||
329 FEAT_EPIC_WEAPON_FOCUS_LONGBOW 631 1 -1 0
|
||||
330 FEAT_EPIC_WEAPON_FOCUS_SHORTBOW 632 1 -1 0
|
||||
331 FEAT_EPIC_WEAPON_FOCUS_SHORTSWORD 633 1 -1 0
|
||||
332 FEAT_EPIC_WEAPON_FOCUS_RAPIER 634 1 -1 0
|
||||
333 FEAT_EPIC_WEAPON_FOCUS_SCIMITAR 635 1 -1 0
|
||||
334 FEAT_EPIC_WEAPON_FOCUS_LONGSWORD 636 1 -1 0
|
||||
335 FEAT_EPIC_WEAPON_FOCUS_GREATSWORD 637 1 -1 0
|
||||
336 FEAT_EPIC_WEAPON_FOCUS_HANDAXE 638 1 -1 0
|
||||
337 FEAT_EPIC_WEAPON_FOCUS_THROWINGAXE 639 1 -1 0
|
||||
338 FEAT_EPIC_WEAPON_FOCUS_BATTLEAXE 640 1 -1 0
|
||||
339 FEAT_EPIC_WEAPON_FOCUS_GREATAXE 641 1 -1 0
|
||||
340 FEAT_EPIC_WEAPON_FOCUS_HALBERD 642 1 -1 0
|
||||
341 FEAT_EPIC_WEAPON_FOCUS_LIGHTHAMMER 643 1 -1 0
|
||||
342 FEAT_EPIC_WEAPON_FOCUS_LIGHTFLAIL 644 1 -1 0
|
||||
343 FEAT_EPIC_WEAPON_FOCUS_WARHAMMER 645 1 -1 0
|
||||
344 FEAT_EPIC_WEAPON_FOCUS_HEAVYFLAIL 646 1 -1 0
|
||||
345 FEAT_EPIC_WEAPON_FOCUS_KAMA 647 1 -1 0
|
||||
346 FEAT_EPIC_WEAPON_FOCUS_KUKRI 648 1 -1 0
|
||||
347 FEAT_EPIC_WEAPON_FOCUS_SHURIKEN 649 1 -1 0
|
||||
348 FEAT_EPIC_WEAPON_FOCUS_SCYTHE 650 1 -1 0
|
||||
349 FEAT_EPIC_WEAPON_FOCUS_KATANA 651 1 -1 0
|
||||
350 FEAT_EPIC_WEAPON_FOCUS_BASTARDSWORD 652 1 -1 0
|
||||
351 FEAT_EPIC_WEAPON_FOCUS_DIREMACE 653 1 -1 0
|
||||
352 FEAT_EPIC_WEAPON_FOCUS_DOUBLEAXE 654 1 -1 0
|
||||
353 EPIC_WEAPON_FOCUS_LANCE 24637 1 -1 0
|
||||
354 EPIC_WEAPON_FOCUS_HEAVY_PICK 24638 1 -1 0
|
||||
355 EPIC_WEAPON_FOCUS_LIGHT_PICK 24639 1 -1 0
|
||||
356 EPIC_WEAPON_FOCUS_SAI 24640 1 -1 0
|
||||
357 EPIC_WEAPON_FOCUS_NUNCHAKU 24641 1 -1 0
|
||||
358 EPIC_WEAPON_FOCUS_FALCHION 24642 1 -1 0
|
||||
359 EPIC_WEAPON_FOCUS_SAP 24643 1 -1 0
|
||||
360 EPIC_WEAPON_FOCUS_KATAR 24644 1 -1 0
|
||||
361 EPIC_WEAPON_FOCUS_HEAVY_MACE 24645 1 -1 0
|
||||
362 EPIC_WEAPON_FOCUS_MAUL 24646 1 -1 0
|
||||
363 EPIC_WEAPON_FOCUS_DBL_SCIMITAR 24647 1 -1 0
|
||||
364 EPIC_WEAPON_FOCUS_GOAD 24648 1 -1 0
|
||||
365 EPIC_WEAPON_FOCUS_ELVEN_LIGHTBLADE 24698 1 -1 0
|
||||
366 EPIC_WEAPON_FOCUS_ELVEN_THINBLADE 24706 1 -1 0
|
||||
367 EPIC_WEAPON_FOCUS_ELVEN_COURTBLADE 24714 1 -1 0
|
||||
368 FEAT_EPIC_WEAPON_FOCUS_TWOBLADEDSWORD 655 1 -1 0
|
||||
369 FEAT_WEAPON_FOCUS_TRIDENT 1072 1 -1 0
|
||||
370 FEAT_IMPROVED_CRITICAL_TRIDENT 1074 1 -1 0
|
||||
371 FEAT_EPIC_DEVASTATING_CRITICAL_TRIDENT 1075 1 -1 0
|
||||
372 FEAT_EPIC_WEAPON_FOCUS_TRIDENT 1076 1 -1 0
|
||||
373 FEAT_EPIC_OVERWHELMING_CRITICAL_TRIDENT 1078 1 -1 0
|
||||
374 FEAT_EPIC_PERFECT_HEALTH 747 1 -1 0
|
||||
375 FEAT_EPIC_PLANAR_TURNING 854 1 -1 1
|
||||
376 FEAT_EPIC_IMPROVED_COMBAT_CASTING 696 1 -1 0
|
||||
377 DivineMight 413 0 -1 1
|
||||
378 DivineShield 414 0 -1 1
|
||||
379 FEAT_EPIC_GREAT_WISDOM_1 804 0 -1 0
|
||||
380 FEAT_EPIC_GREAT_WISDOM_2 805 0 -1 0
|
||||
381 FEAT_EPIC_GREAT_WISDOM_3 806 0 -1 0
|
||||
382 FEAT_EPIC_GREAT_WISDOM_4 807 0 -1 0
|
||||
383 FEAT_EPIC_GREAT_WISDOM_5 808 0 -1 0
|
||||
384 FEAT_EPIC_GREAT_WISDOM_6 809 0 -1 0
|
||||
385 FEAT_EPIC_GREAT_WISDOM_7 810 0 -1 0
|
||||
386 FEAT_EPIC_GREAT_WISDOM_8 811 0 -1 0
|
||||
387 FEAT_EPIC_GREAT_WISDOM_9 812 0 -1 0
|
||||
388 FEAT_EPIC_GREAT_WISDOM_10 813 0 -1 0
|
||||
389 FEAT_EPIC_AUTOMATIC_QUICKEN_1 857 0 -1 0
|
||||
390 FEAT_EPIC_AUTOMATIC_QUICKEN_2 858 0 -1 0
|
||||
391 FEAT_EPIC_AUTOMATIC_QUICKEN_3 859 0 -1 0
|
||||
392 FEAT_EPIC_AUTOMATIC_SILENT_SPELL_1 860 0 -1 0
|
||||
393 FEAT_EPIC_AUTOMATIC_SILENT_SPELL_2 861 0 -1 0
|
||||
394 FEAT_EPIC_AUTOMATIC_SILENT_SPELL_3 862 0 -1 0
|
||||
395 FEAT_EPIC_AUTOMATIC_STILL_SPELL_1 863 0 -1 0
|
||||
396 FEAT_EPIC_AUTOMATIC_STILL_SPELL_2 864 0 -1 0
|
||||
397 FEAT_EPIC_AUTOMATIC_STILL_SPELL_3 865 0 -1 0
|
||||
398 WhirlwindAttack 867 0 -1 0
|
||||
399 WeaponFocusdwaxe 952 1 -1 0
|
||||
400 WeaponFocuswhip 993 1 -1 0
|
||||
401 FocusedSpellPenetrCon 3128 0 -1 0
|
||||
402 FocusedSpellPenetrDiv 3129 0 -1 0
|
||||
403 FocusedSpellPenetrEnc 3130 0 -1 0
|
||||
404 FocusedSpellPenetrEvo 3131 0 -1 0
|
||||
405 FocusedSpellPenetrIll 3132 0 -1 0
|
||||
406 FocusedSpellPenetrNec 3133 0 -1 0
|
||||
407 FocusedSpellPenetrTra 3134 0 -1 0
|
||||
408 FocusedSpellPenetrAbj 3135 0 -1 0
|
||||
409 FEAT_EPIC_DIVINE_VIGOR 3115 0 -1 1
|
||||
410 FEAT_EPIC_DIVINE_RESISTANCE 3119 0 -1 1
|
||||
411 FEAT_EPIC_DIVINE_MIGHT 3120 0 -1 1
|
||||
412 FEAT_EPIC_BLINDING_SPEED 491 0 -1 1
|
||||
413 FEAT_EPIC_SPELL_PENETRATION 618 0 -1 0
|
||||
414 FEAT_EPIC_DIVINE_SHIELD 3548 0 -1 1
|
||||
415 OverWCrit_Mindblade 3615 1 -1 0
|
||||
416 DevCrit_Mindblade 3616 1 -1 0
|
||||
417 Epic_WeaponFocus_Mindblade 3618 1 -1 0
|
||||
418 ImpCrit_Mindblade 3614 1 -1 0
|
||||
419 FEAT_EPIC_REPUTATION 586 1 -1 0
|
||||
420 FEAT_EPIC_SPELL_FOCUS_ABJURATION 610 0 -1 0
|
||||
421 FEAT_EPIC_SPELL_FOCUS_CONJURATION 611 0 -1 0
|
||||
422 FEAT_EPIC_SPELL_FOCUS_DIVINATION 612 0 -1 0
|
||||
423 FEAT_EPIC_SPELL_FOCUS_ENCHANTMENT 613 0 -1 0
|
||||
424 FEAT_EPIC_SPELL_FOCUS_EVOCATION 614 0 -1 0
|
||||
425 FEAT_EPIC_SPELL_FOCUS_ILLUSION 615 0 -1 0
|
||||
426 FEAT_EPIC_SPELL_FOCUS_NECROMANCY 616 0 -1 0
|
||||
427 FEAT_EPIC_SPELL_FOCUS_TRANSMUTATION 617 0 -1 0
|
||||
428 FEAT_EPIC_WEAPON_SPECIALIZATION_CLUB 657 0 -1 0
|
||||
429 FEAT_EPIC_WEAPON_SPECIALIZATION_DAGGER 658 0 -1 0
|
||||
430 FEAT_EPIC_WEAPON_SPECIALIZATION_DART 659 0 -1 0
|
||||
431 FEAT_EPIC_WEAPON_SPECIALIZATION_HEAVYCROSSBOW 660 0 -1 0
|
||||
432 FEAT_EPIC_WEAPON_SPECIALIZATION_LIGHTCROSSBOW 661 0 -1 0
|
||||
433 FEAT_EPIC_WEAPON_SPECIALIZATION_LIGHTMACE 662 0 -1 0
|
||||
434 FEAT_EPIC_WEAPON_SPECIALIZATION_MORNINGSTAR 663 0 -1 0
|
||||
435 FEAT_EPIC_WEAPON_SPECIALIZATION_QUARTERSTAFF 664 0 -1 0
|
||||
436 FEAT_EPIC_WEAPON_SPECIALIZATION_SHORTSPEAR 665 0 -1 0
|
||||
437 FEAT_EPIC_WEAPON_SPECIALIZATION_SICKLE 666 0 -1 0
|
||||
438 FEAT_EPIC_WEAPON_SPECIALIZATION_SLING 667 0 -1 0
|
||||
439 FEAT_EPIC_WEAPON_SPECIALIZATION_UNARMED 668 0 -1 0
|
||||
440 FEAT_EPIC_WEAPON_SPECIALIZATION_LONGBOW 669 0 -1 0
|
||||
441 FEAT_EPIC_WEAPON_SPECIALIZATION_SHORTBOW 670 0 -1 0
|
||||
442 FEAT_EPIC_WEAPON_SPECIALIZATION_SHORTSWORD 671 0 -1 0
|
||||
443 FEAT_EPIC_WEAPON_SPECIALIZATION_RAPIER 672 0 -1 0
|
||||
444 FEAT_EPIC_WEAPON_SPECIALIZATION_SCIMITAR 673 0 -1 0
|
||||
445 FEAT_EPIC_WEAPON_SPECIALIZATION_LONGSWORD 674 0 -1 0
|
||||
446 FEAT_EPIC_WEAPON_SPECIALIZATION_GREATSWORD 675 0 -1 0
|
||||
447 FEAT_EPIC_WEAPON_SPECIALIZATION_HANDAXE 676 0 -1 0
|
||||
448 FEAT_EPIC_WEAPON_SPECIALIZATION_THROWINGAXE 677 0 -1 0
|
||||
449 FEAT_EPIC_WEAPON_SPECIALIZATION_BATTLEAXE 678 0 -1 0
|
||||
450 FEAT_EPIC_WEAPON_SPECIALIZATION_GREATAXE 679 0 -1 0
|
||||
451 FEAT_EPIC_WEAPON_SPECIALIZATION_HALBERD 680 0 -1 0
|
||||
452 FEAT_EPIC_WEAPON_SPECIALIZATION_LIGHTHAMMER 681 0 -1 0
|
||||
453 FEAT_EPIC_WEAPON_SPECIALIZATION_LIGHTFLAIL 682 0 -1 0
|
||||
454 FEAT_EPIC_WEAPON_SPECIALIZATION_WARHAMMER 683 0 -1 0
|
||||
455 FEAT_EPIC_WEAPON_SPECIALIZATION_HEAVYFLAIL 684 0 -1 0
|
||||
456 FEAT_EPIC_WEAPON_SPECIALIZATION_KAMA 685 0 -1 0
|
||||
457 FEAT_EPIC_WEAPON_SPECIALIZATION_KUKRI 686 0 -1 0
|
||||
458 FEAT_EPIC_WEAPON_SPECIALIZATION_SHURIKEN 687 0 -1 0
|
||||
459 FEAT_EPIC_WEAPON_SPECIALIZATION_SCYTHE 688 0 -1 0
|
||||
460 FEAT_EPIC_WEAPON_SPECIALIZATION_KATANA 689 0 -1 0
|
||||
461 FEAT_EPIC_WEAPON_SPECIALIZATION_BASTARDSWORD 690 0 -1 0
|
||||
462 FEAT_EPIC_WEAPON_SPECIALIZATION_DIREMACE 691 0 -1 0
|
||||
463 FEAT_EPIC_WEAPON_SPECIALIZATION_DOUBLEAXE 692 0 -1 0
|
||||
464 FEAT_EPIC_WEAPON_SPECIALIZATION_TWOBLADEDSWORD 693 0 -1 0
|
||||
465 EPIC_WEAPON_SPECIALIZATION_ELVEN_LIGHTBLADE 24700 0 -1 0
|
||||
466 EPIC_WEAPON_SPECIALIZATION_ELVEN_THINBLADE 24708 0 -1 0
|
||||
467 EPIC_WEAPON_SPECIALIZATION_ELVEN_COURTBLADE 24716 0 -1 0
|
||||
468 FEAT_EPIC_WEAPON_SPECIALIZATION_DWAXE 957 0 -1 0
|
||||
469 FEAT_EPIC_WEAPON_SPECIALIZATION_WHIP 998 0 -1 0
|
||||
470 FEAT_EPIC_GREAT_CHARISMA_1 764 0 -1 0
|
||||
471 FEAT_EPIC_GREAT_CHARISMA_2 765 0 -1 0
|
||||
472 FEAT_EPIC_GREAT_CHARISMA_3 766 0 -1 0
|
||||
473 FEAT_EPIC_GREAT_CHARISMA_4 767 0 -1 0
|
||||
474 FEAT_EPIC_GREAT_CHARISMA_5 768 0 -1 0
|
||||
475 FEAT_EPIC_GREAT_CHARISMA_6 769 0 -1 0
|
||||
476 FEAT_EPIC_GREAT_CHARISMA_7 770 0 -1 0
|
||||
477 FEAT_EPIC_GREAT_CHARISMA_8 771 0 -1 0
|
||||
478 FEAT_EPIC_GREAT_CHARISMA_9 772 0 -1 0
|
||||
479 FEAT_EPIC_GREAT_CHARISMA_10 773 0 -1 0
|
||||
480 FEAT_EPIC_GREAT_SMITING_1 824 0 -1 0
|
||||
481 FEAT_EPIC_GREAT_SMITING_2 825 0 -1 0
|
||||
482 FEAT_EPIC_GREAT_SMITING_3 826 0 -1 0
|
||||
483 FEAT_EPIC_GREAT_SMITING_4 827 0 -1 0
|
||||
484 FEAT_EPIC_GREAT_SMITING_5 828 0 -1 0
|
||||
485 FEAT_EPIC_GREAT_SMITING_6 829 0 -1 0
|
||||
486 FEAT_EPIC_GREAT_SMITING_7 830 0 -1 0
|
||||
487 FEAT_EPIC_GREAT_SMITING_8 831 0 -1 0
|
||||
488 FEAT_EPIC_GREAT_SMITING_9 832 0 -1 0
|
||||
489 FEAT_EPIC_GREAT_SMITING_10 833 0 -1 0
|
||||
490 FEAT_DIVINE_VIGOR 3116 0 -1 1
|
||||
491 FEAT_DIVINE_RESISTANCE 3117 0 -1 1
|
||||
492 FEAT_DIVINE_CLEANSING 3118 0 -1 1
|
||||
493 FEAT_DIVINE_VENGEANCE 3142 0 -1 1
|
||||
494 FEAT_DISCIPLE_OF_SUN 3127 0 -1 1
|
||||
495 Bane_Magic_Aberration 23556 0 -1 0
|
||||
496 Bane_Magic_Animal 23557 0 -1 0
|
||||
497 Bane_Magic_Beast 23558 0 -1 0
|
||||
498 Bane_Magic_Construct 23559 0 -1 0
|
||||
499 Bane_Magic_Dragon 23560 0 -1 0
|
||||
500 Bane_Magic_Dwarf 23561 0 -1 0
|
||||
501 Bane_Magic_Elemental 23562 0 -1 0
|
||||
502 Bane_Magic_Elf 23563 0 -1 0
|
||||
503 Bane_Magic_Fey 23564 0 -1 0
|
||||
504 Bane_Magic_Giant 23565 0 -1 0
|
||||
505 Bane_Magic_Gnome 23566 0 -1 0
|
||||
506 Bane_Magic_HalfElf 23567 0 -1 0
|
||||
507 Bane_Magic_Halfling 23568 0 -1 0
|
||||
508 Bane_Magic_HalfOrc 23569 0 -1 0
|
||||
509 Bane_Magic_Human 23570 0 -1 0
|
||||
510 Bane_Magic_Humanoid_Goblinoid 23571 0 -1 0
|
||||
511 Bane_Magic_Humanoid_Monstrous 23572 0 -1 0
|
||||
512 Bane_Magic_Humanoid_Orc 23573 0 -1 0
|
||||
513 Bane_Magic_Humanoid_Reptilian 23574 0 -1 0
|
||||
514 Bane_Magic_Magical_Beast 23575 0 -1 0
|
||||
515 Bane_Magic_Outsider 23576 0 -1 0
|
||||
516 Bane_Magic_Shapechanger 23577 0 -1 0
|
||||
517 Bane_Magic_Undead 23578 0 -1 0
|
||||
518 Bane_Magic_Vermin 23579 0 -1 0
|
||||
519 DivineMetamagic_Empower 23530 0 -1 1
|
||||
520 DivineMetamagic_Extend 23531 0 -1 1
|
||||
521 DivineMetamagic_Maximize 23532 0 -1 1
|
||||
522 SpellFocusCon 166 0 -1 0
|
||||
523 SpellFocusDiv 167 0 -1 0
|
||||
524 SpellFocusEnc 168 0 -1 0
|
||||
525 SpellFocusEvo 169 0 -1 0
|
||||
526 SpellFocusIll 170 0 -1 0
|
||||
527 SpellFocusNec 171 0 -1 0
|
||||
528 SpellFocusTra 172 0 -1 0
|
||||
529 SpellFocusAbj 35 0 -1 0
|
||||
530 FEAT_BREW_POTION 944 0 -1 0
|
||||
531 Quicken 29 0 -1 0
|
||||
532 FEAT_IMP_MANYSHOT 3350 0 -1 1
|
||||
533 FEAT_WEAPON_FOCUS_RAY 4819 1 -1 0
|
||||
534 FEAT_EPIC_WEAPON_FOCUS_RAY 4820 1 -1 0
|
||||
535 FEAT_IMPROVED_CRITICAL_TOUCH 26009 1 -1 0
|
||||
536 FEAT_IMPROVED_CRITICAL_RAY 26010 1 -1 0
|
||||
537 FEAT_WEAPON_FOCUS_TOUCH 26011 1 -1 0
|
||||
538 FEAT_EPIC_WEAPON_FOCUS_TOUCH 26012 1 -1 0
|
||||
539 FEAT_CHARMING_THE_ARROW 25997 0 -1 0
|
||||
540 ExtraTurning 13 0 -1 0
|
||||
541 ImprovedTrip 2807 1 -1 0
|
||||
542 RapidShot 30 1 -1 0
|
||||
543 ImprovedBullrush 2806 1 -1 0
|
||||
544 FEAT_EPIC_LEADERSHIP 4366 1 -1 0
|
||||
|
||||
@@ -61,148 +61,64 @@
|
||||
57 FEAT_EPIC_TOUGHNESS_10 763 1 -1 0
|
||||
58 FEAT_EPIC_SPELLCASTING 4073 1 -1 0
|
||||
59 IGNORE_MATERIAL_COMPONENTS 2597 1 -1 0
|
||||
60 FEAT_EPIC_ARMOR_SKIN 490 1 -1 0
|
||||
61 FEAT_EPIC_BLINDING_SPEED 491 1 -1 1
|
||||
62 FEAT_EPIC_ENERGY_RESISTANCE_COLD_1 533 1 -1 0
|
||||
63 FEAT_EPIC_ENERGY_RESISTANCE_COLD_2 534 1 -1 0
|
||||
64 FEAT_EPIC_ENERGY_RESISTANCE_COLD_3 535 1 -1 0
|
||||
65 FEAT_EPIC_ENERGY_RESISTANCE_COLD_4 536 1 -1 0
|
||||
66 FEAT_EPIC_ENERGY_RESISTANCE_COLD_5 537 1 -1 0
|
||||
67 FEAT_EPIC_ENERGY_RESISTANCE_COLD_6 538 1 -1 0
|
||||
68 FEAT_EPIC_ENERGY_RESISTANCE_COLD_7 539 1 -1 0
|
||||
69 FEAT_EPIC_ENERGY_RESISTANCE_COLD_8 540 1 -1 0
|
||||
70 FEAT_EPIC_ENERGY_RESISTANCE_COLD_9 541 1 -1 0
|
||||
71 FEAT_EPIC_ENERGY_RESISTANCE_COLD_10 542 1 -1 0
|
||||
72 FEAT_EPIC_ENERGY_RESISTANCE_ACID_1 543 1 -1 0
|
||||
73 FEAT_EPIC_ENERGY_RESISTANCE_ACID_2 544 1 -1 0
|
||||
74 FEAT_EPIC_ENERGY_RESISTANCE_ACID_3 545 1 -1 0
|
||||
75 FEAT_EPIC_ENERGY_RESISTANCE_ACID_4 546 1 -1 0
|
||||
76 FEAT_EPIC_ENERGY_RESISTANCE_ACID_5 547 1 -1 0
|
||||
77 FEAT_EPIC_ENERGY_RESISTANCE_ACID_6 548 1 -1 0
|
||||
78 FEAT_EPIC_ENERGY_RESISTANCE_ACID_7 549 1 -1 0
|
||||
79 FEAT_EPIC_ENERGY_RESISTANCE_ACID_8 550 1 -1 0
|
||||
80 FEAT_EPIC_ENERGY_RESISTANCE_ACID_9 551 1 -1 0
|
||||
81 FEAT_EPIC_ENERGY_RESISTANCE_ACID_10 552 1 -1 0
|
||||
82 FEAT_EPIC_ENERGY_RESISTANCE_FIRE_1 553 1 -1 0
|
||||
83 FEAT_EPIC_ENERGY_RESISTANCE_FIRE_2 554 1 -1 0
|
||||
84 FEAT_EPIC_ENERGY_RESISTANCE_FIRE_3 555 1 -1 0
|
||||
85 FEAT_EPIC_ENERGY_RESISTANCE_FIRE_4 556 1 -1 0
|
||||
86 FEAT_EPIC_ENERGY_RESISTANCE_FIRE_5 557 1 -1 0
|
||||
87 FEAT_EPIC_ENERGY_RESISTANCE_FIRE_6 558 1 -1 0
|
||||
88 FEAT_EPIC_ENERGY_RESISTANCE_FIRE_7 559 1 -1 0
|
||||
89 FEAT_EPIC_ENERGY_RESISTANCE_FIRE_8 560 1 -1 0
|
||||
90 FEAT_EPIC_ENERGY_RESISTANCE_FIRE_9 561 1 -1 0
|
||||
91 FEAT_EPIC_ENERGY_RESISTANCE_FIRE_10 562 1 -1 0
|
||||
92 FEAT_EPIC_ENERGY_RESISTANCE_ELECTRICAL_1 563 1 -1 0
|
||||
93 FEAT_EPIC_ENERGY_RESISTANCE_ELECTRICAL_2 564 1 -1 0
|
||||
94 FEAT_EPIC_ENERGY_RESISTANCE_ELECTRICAL_3 565 1 -1 0
|
||||
95 FEAT_EPIC_ENERGY_RESISTANCE_ELECTRICAL_4 566 1 -1 0
|
||||
96 FEAT_EPIC_ENERGY_RESISTANCE_ELECTRICAL_5 567 1 -1 0
|
||||
97 FEAT_EPIC_ENERGY_RESISTANCE_ELECTRICAL_6 568 1 -1 0
|
||||
98 FEAT_EPIC_ENERGY_RESISTANCE_ELECTRICAL_7 569 1 -1 0
|
||||
99 FEAT_EPIC_ENERGY_RESISTANCE_ELECTRICAL_8 570 1 -1 0
|
||||
100 FEAT_EPIC_ENERGY_RESISTANCE_ELECTRICAL_9 571 1 -1 0
|
||||
101 FEAT_EPIC_ENERGY_RESISTANCE_ELECTRICAL_10 572 1 -1 0
|
||||
102 FEAT_EPIC_ENERGY_RESISTANCE_SONIC_1 573 1 -1 0
|
||||
103 FEAT_EPIC_ENERGY_RESISTANCE_SONIC_2 574 1 -1 0
|
||||
104 FEAT_EPIC_ENERGY_RESISTANCE_SONIC_3 575 1 -1 0
|
||||
105 FEAT_EPIC_ENERGY_RESISTANCE_SONIC_4 576 1 -1 0
|
||||
106 FEAT_EPIC_ENERGY_RESISTANCE_SONIC_5 577 1 -1 0
|
||||
107 FEAT_EPIC_ENERGY_RESISTANCE_SONIC_6 578 1 -1 0
|
||||
108 FEAT_EPIC_ENERGY_RESISTANCE_SONIC_7 579 1 -1 0
|
||||
109 FEAT_EPIC_ENERGY_RESISTANCE_SONIC_8 580 1 -1 0
|
||||
110 FEAT_EPIC_ENERGY_RESISTANCE_SONIC_9 581 1 -1 0
|
||||
111 FEAT_EPIC_ENERGY_RESISTANCE_SONIC_10 582 1 -1 0
|
||||
112 FEAT_EPIC_FORTITUDE 583 1 -1 0
|
||||
113 FEAT_EPIC_PROWESS 584 1 -1 0
|
||||
114 FEAT_EPIC_GREAT_CHARISMA_1 764 1 -1 0
|
||||
115 FEAT_EPIC_GREAT_CHARISMA_2 765 1 -1 0
|
||||
116 FEAT_EPIC_GREAT_CHARISMA_3 766 1 -1 0
|
||||
117 FEAT_EPIC_GREAT_CHARISMA_4 767 1 -1 0
|
||||
118 FEAT_EPIC_GREAT_CHARISMA_5 768 1 -1 0
|
||||
119 FEAT_EPIC_GREAT_CHARISMA_6 769 1 -1 0
|
||||
120 FEAT_EPIC_GREAT_CHARISMA_7 770 1 -1 0
|
||||
121 FEAT_EPIC_GREAT_CHARISMA_8 771 1 -1 0
|
||||
122 FEAT_EPIC_GREAT_CHARISMA_9 772 1 -1 0
|
||||
123 FEAT_EPIC_GREAT_CHARISMA_10 773 1 -1 0
|
||||
124 FEAT_EPIC_GREAT_WISDOM_1 804 1 -1 0
|
||||
125 FEAT_EPIC_GREAT_WISDOM_2 805 1 -1 0
|
||||
126 FEAT_EPIC_GREAT_WISDOM_3 806 1 -1 0
|
||||
127 FEAT_EPIC_GREAT_WISDOM_4 807 1 -1 0
|
||||
128 FEAT_EPIC_GREAT_WISDOM_5 808 1 -1 0
|
||||
129 FEAT_EPIC_GREAT_WISDOM_6 809 1 -1 0
|
||||
130 FEAT_EPIC_GREAT_WISDOM_7 810 1 -1 0
|
||||
131 FEAT_EPIC_GREAT_WISDOM_8 811 1 -1 0
|
||||
132 FEAT_EPIC_GREAT_WISDOM_9 812 1 -1 0
|
||||
133 FEAT_EPIC_GREAT_WISDOM_10 813 1 -1 0
|
||||
134 FEAT_EPIC_PERFECT_HEALTH 747 1 -1 0
|
||||
135 FEAT_EPIC_PLANAR_TURNING 854 1 -1 0
|
||||
136 FEAT_TENACIOUSMAGIC 2961 1 -1 0
|
||||
137 FAST_HEALING_1 4145 1 -1 0
|
||||
138 FAST_HEALING_2 4146 1 -1 0
|
||||
139 FAST_HEALING_3 4147 1 -1 0
|
||||
140 FEAT_EPIC_WEAPON_FOCUS_CLUB 619 1 -1 0
|
||||
141 FEAT_EPIC_WEAPON_FOCUS_DAGGER 620 1 -1 0
|
||||
142 FEAT_EPIC_WEAPON_FOCUS_DART 621 1 -1 0
|
||||
143 FEAT_EPIC_WEAPON_FOCUS_HEAVYCROSSBOW 622 1 -1 0
|
||||
144 FEAT_EPIC_WEAPON_FOCUS_LIGHTCROSSBOW 623 1 -1 0
|
||||
145 FEAT_EPIC_WEAPON_FOCUS_LIGHTMACE 624 1 -1 0
|
||||
146 FEAT_EPIC_WEAPON_FOCUS_MORNINGSTAR 625 1 -1 0
|
||||
147 FEAT_EPIC_WEAPON_FOCUS_QUARTERSTAFF 626 1 -1 0
|
||||
148 FEAT_EPIC_WEAPON_FOCUS_SHORTSPEAR 627 1 -1 0
|
||||
149 FEAT_EPIC_WEAPON_FOCUS_SICKLE 628 1 -1 0
|
||||
150 FEAT_EPIC_WEAPON_FOCUS_SLING 629 1 -1 0
|
||||
151 FEAT_EPIC_WEAPON_FOCUS_UNARMED 630 1 -1 0
|
||||
152 FEAT_EPIC_WEAPON_FOCUS_LONGBOW 631 1 -1 0
|
||||
153 FEAT_EPIC_WEAPON_FOCUS_SHORTBOW 632 1 -1 0
|
||||
154 FEAT_EPIC_WEAPON_FOCUS_SHORTSWORD 633 1 -1 0
|
||||
155 FEAT_EPIC_WEAPON_FOCUS_RAPIER 634 1 -1 0
|
||||
156 FEAT_EPIC_WEAPON_FOCUS_SCIMITAR 635 1 -1 0
|
||||
157 FEAT_EPIC_WEAPON_FOCUS_LONGSWORD 636 1 -1 0
|
||||
158 FEAT_EPIC_WEAPON_FOCUS_GREATSWORD 637 1 -1 0
|
||||
159 FEAT_EPIC_WEAPON_FOCUS_HANDAXE 638 1 -1 0
|
||||
160 FEAT_EPIC_WEAPON_FOCUS_THROWINGAXE 639 1 -1 0
|
||||
161 FEAT_EPIC_WEAPON_FOCUS_BATTLEAXE 640 1 -1 0
|
||||
162 FEAT_EPIC_WEAPON_FOCUS_GREATAXE 641 1 -1 0
|
||||
163 FEAT_EPIC_WEAPON_FOCUS_HALBERD 642 1 -1 0
|
||||
164 FEAT_EPIC_WEAPON_FOCUS_LIGHTHAMMER 643 1 -1 0
|
||||
165 FEAT_EPIC_WEAPON_FOCUS_LIGHTFLAIL 644 1 -1 0
|
||||
166 FEAT_EPIC_WEAPON_FOCUS_WARHAMMER 645 1 -1 0
|
||||
167 FEAT_EPIC_WEAPON_FOCUS_HEAVYFLAIL 646 1 -1 0
|
||||
168 FEAT_EPIC_WEAPON_FOCUS_KAMA 647 1 -1 0
|
||||
169 FEAT_EPIC_WEAPON_FOCUS_KUKRI 648 1 -1 0
|
||||
170 FEAT_EPIC_WEAPON_FOCUS_SHURIKEN 649 1 -1 0
|
||||
171 FEAT_EPIC_WEAPON_FOCUS_SCYTHE 650 1 -1 0
|
||||
172 FEAT_EPIC_WEAPON_FOCUS_KATANA 651 1 -1 0
|
||||
173 FEAT_EPIC_WEAPON_FOCUS_BASTARDSWORD 652 1 -1 0
|
||||
174 FEAT_EPIC_WEAPON_FOCUS_DIREMACE 653 1 -1 0
|
||||
175 FEAT_EPIC_WEAPON_FOCUS_DOUBLEAXE 654 1 -1 0
|
||||
176 FEAT_EPIC_WEAPON_FOCUS_TWOBLADEDSWORD 655 1 -1 0
|
||||
177 EPIC_WEAPON_FOCUS_LANCE 24613 1 -1 0
|
||||
178 EPIC_WEAPON_FOCUS_HEAVY_PICK 24614 1 -1 0
|
||||
179 EPIC_WEAPON_FOCUS_LIGHT_PICK 24615 1 -1 0
|
||||
180 EPIC_WEAPON_FOCUS_SAI 24616 1 -1 0
|
||||
181 EPIC_WEAPON_FOCUS_NUNCHAKU 24617 1 -1 0
|
||||
182 EPIC_WEAPON_FOCUS_FALCHION 24618 1 -1 0
|
||||
183 EPIC_WEAPON_FOCUS_SAP 24619 1 -1 0
|
||||
184 EPIC_WEAPON_FOCUS_KATAR 24620 1 -1 0
|
||||
185 EPIC_WEAPON_FOCUS_HEAVY_MACE 24621 1 -1 0
|
||||
186 EPIC_WEAPON_FOCUS_MAUL 24622 1 -1 0
|
||||
187 EPIC_WEAPON_FOCUS_DBL_SCIMITAR 24623 1 -1 0
|
||||
188 EPIC_WEAPON_FOCUS_GOAD 24624 1 -1 0
|
||||
189 EPIC_WEAPON_FOCUS_ELVEN_LIGHTBLADE 24698 1 -1 0
|
||||
190 EPIC_WEAPON_FOCUS_ELVEN_THINBLADE 24706 1 -1 0
|
||||
191 EPIC_WEAPON_FOCUS_ELVEN_COURTBLADE 24714 1 -1 0
|
||||
192 FEAT_EPIC_WEAPON_FOCUS_DWAXE 956 1 -1 0
|
||||
193 FEAT_EPIC_WEAPON_FOCUS_WHIP 997 1 -1 0
|
||||
194 Epic_WeaponFocus_Mindblade 3618 1 -1 0
|
||||
195 FEAT_EPIC_GREAT_INTELLIGENCE_1 794 1 -1 0
|
||||
196 FEAT_EPIC_GREAT_INTELLIGENCE_2 795 1 -1 0
|
||||
197 FEAT_EPIC_GREAT_INTELLIGENCE_3 796 1 -1 0
|
||||
198 FEAT_EPIC_GREAT_INTELLIGENCE_4 797 1 -1 0
|
||||
199 FEAT_EPIC_GREAT_INTELLIGENCE_5 798 1 -1 0
|
||||
200 FEAT_EPIC_GREAT_INTELLIGENCE_6 799 1 -1 0
|
||||
201 FEAT_EPIC_GREAT_INTELLIGENCE_7 800 1 -1 0
|
||||
202 FEAT_EPIC_GREAT_INTELLIGENCE_8 801 1 -1 0
|
||||
203 FEAT_EPIC_GREAT_INTELLIGENCE_9 802 1 -1 0
|
||||
204 FEAT_EPIC_GREAT_INTELLIGENCE_10 803 1 -1 0
|
||||
60 FEAT_EPIC_ARMOR_SKIN 490 0 -1 0
|
||||
61 FEAT_EPIC_BLINDING_SPEED 491 0 -1 1
|
||||
62 FEAT_TENACIOUSMAGIC 2961 1 -1 0
|
||||
63 BonusDomainAIR 2001 1 2 0
|
||||
64 BonusDomainANIMAL 2002 1 2 0
|
||||
65 BonusDomainDEATH 2003 1 2 0
|
||||
66 BonusDomainDESTRUCTION 2004 1 2 0
|
||||
67 BonusDomainEARTH 2005 1 2 0
|
||||
68 BonusDomainEVIL 2006 1 2 0
|
||||
69 BonusDomainFIRE 2007 1 2 0
|
||||
70 BonusDomainGOOD 2008 1 2 0
|
||||
71 BonusDomainHEALING 2009 1 2 0
|
||||
72 BonusDomainKNOWLEDGE 2010 1 2 0
|
||||
73 BonusDomainMAGIC 2011 1 2 0
|
||||
74 BonusDomainPLANT 2012 1 2 0
|
||||
75 BonusDomainPROTECTION 2013 1 2 0
|
||||
76 BonusDomainSTRENGTH 2014 1 2 0
|
||||
77 BonusDomainSUN 2015 1 2 0
|
||||
78 BonusDomainTRAVEL 2016 1 2 0
|
||||
79 BonusDomainTRICKERY 2017 1 2 0
|
||||
80 BonusDomainWAR 2018 1 2 0
|
||||
81 BonusDomainWATER 2019 1 2 0
|
||||
82 BonusDomainDARKNESS 2020 1 2 0
|
||||
83 BonusDomainSTORM 2021 1 2 0
|
||||
84 BonusDomainMETAL 2022 1 2 0
|
||||
85 BonusDomainPORTAL 2023 1 2 0
|
||||
86 BonusDomainFORCE 2024 1 2 0
|
||||
87 BonusDomainSLIME 2025 1 2 0
|
||||
88 BonusDomainTYRANNY 2026 1 2 0
|
||||
89 BonusDomainDOMINATION 2027 1 2 0
|
||||
90 BonusDomainSPIDER 2028 1 2 0
|
||||
91 BonusDomainUNDEATH 2029 1 2 0
|
||||
92 BonusDomainTIME 2030 1 2 0
|
||||
93 BonusDomainDWARF 2031 1 2 0
|
||||
94 BonusDomainCHARM 2032 1 2 0
|
||||
95 BonusDomainELF 2033 1 2 0
|
||||
96 BonusDomainFAMILY 2034 1 2 0
|
||||
97 BonusDomainFATE 2035 1 2 0
|
||||
98 BonusDomainGNOME 2036 1 2 0
|
||||
99 BonusDomainILLUSION 2037 1 2 0
|
||||
100 BonusDomainHATRED 2038 1 2 0
|
||||
101 BonusDomainHALFLING 2039 1 2 0
|
||||
102 BonusDomainNOBILITY 2040 1 2 0
|
||||
103 BonusDomainOCEAN 2041 1 2 0
|
||||
104 BonusDomainORC 2042 1 2 0
|
||||
105 BonusDomainRENEWAL 2043 1 2 0
|
||||
106 BonusDomainRETRIBUTION 2044 1 2 0
|
||||
107 BonusDomainRUNE 2045 1 2 0
|
||||
108 BonusDomainSPELLS 2046 1 2 0
|
||||
109 BonusDomainSCALEYKIND 2047 1 2 0
|
||||
110 FEAT_BONUS_DOMAIN_CHAOS 25130 1 2 0
|
||||
111 FEAT_BONUS_DOMAIN_LAW 25131 1 2 0
|
||||
112 FEAT_BONUS_DOMAIN_LUCK 25132 1 2 0
|
||||
113 FEAT_BONUS_DOMAIN_GLORY 25133 1 2 0
|
||||
114 FEAT_BONUS_DOMAIN_MADNESS 25134 1 2 0
|
||||
115 FEAT_BONUS_DOMAIN_MIND 25135 1 2 0
|
||||
116 FEAT_BONUS_DOMAIN_MOON 25136 1 2 0
|
||||
117 FEAT_EPIC_SKILL_FOCUS_CRAFT_TRAP 590 1 -1 0
|
||||
118 FEAT_EPIC_SKILL_FOCUS_CRAFT_GENERAL 3054 1 -1 0
|
||||
119 FEAT_EPIC_SKILL_FOCUS_CRAFT_ARMOR 913 1 -1 0
|
||||
120 FEAT_EPIC_SKILL_FOCUS_CRAFT_WEAPON 914 1 -1 0
|
||||
|
||||
@@ -24,7 +24,7 @@
|
||||
20 Intimidate 24 0
|
||||
21 CraftArmor 25 1
|
||||
22 CraftWeapon 26 1
|
||||
23 Ride 27 0
|
||||
23 Ride 27 1
|
||||
24 Jump 28 0
|
||||
25 TrueSpeak 29 1
|
||||
26 Sense_Motive 30 0
|
||||
|
||||
@@ -870,6 +870,9 @@ void CreateSwitchNameArray()
|
||||
array_set_string(oWP, "Switch_Name", array_get_size(oWP, "Switch_Name"), PRC_COMBAT_DEBUG);
|
||||
array_set_string(oWP, "Switch_Name", array_get_size(oWP, "Switch_Name"), PRC_PRCX_ENABLED);
|
||||
|
||||
// racial
|
||||
array_set_string(oWP, "Switch_Name", array_get_size(oWP, "Switch_Name"), PRC_RETH_DEKALA_AURA_HOSTILE_ONLY);
|
||||
|
||||
//craft
|
||||
array_set_string(oWP, "Switch_Name", array_get_size(oWP, "Switch_Name"), PRC_DISABLE_CRAFT);
|
||||
//array_set_string(oWP, "Switch_Name", array_get_size(oWP, "Switch_Name"), PRC_CRAFT_ENHANCEMENT_CAP);
|
||||
|
||||
@@ -2664,8 +2664,10 @@ effect PRCEffectDamage(object oTarget, int nDamageAmount, int nDamageType=DAMAGE
|
||||
}
|
||||
}
|
||||
|
||||
// None of the stuff here works when items are involved
|
||||
if (!GetIsObjectValid(PRCGetSpellCastItem()))
|
||||
object oSpellCastItem = PRCGetSpellCastItem();
|
||||
|
||||
//if (!GetIsObjectValid(PRCGetSpellCastItem()))
|
||||
if (!GetIsObjectValid(oSpellCastItem) || GetBaseItemType(oSpellCastItem) == BASE_ITEM_MAGICSTAFF)
|
||||
{
|
||||
if(PRCGetLastSpellCastClass(oCaster) == CLASS_TYPE_WARMAGE && !GetLocalInt(oTarget, "WarmageEdgeDelay"))
|
||||
{
|
||||
|
||||
@@ -637,6 +637,17 @@ const string PRC_PNP_SHIFTER_BONUS = "PRC_PNP_SHIFTER
|
||||
*/
|
||||
const string PRC_CHICKEN_INFESTED = "PRC_CHICKEN_INFESTED";
|
||||
|
||||
/******************************************************************************\
|
||||
* Racial switches *
|
||||
\******************************************************************************/
|
||||
|
||||
/**
|
||||
* When enabled, Reth Dekala's vilefire aura only affects hostile creatures
|
||||
* instead of all creatures in melee range.
|
||||
*/
|
||||
const string PRC_RETH_DEKALA_AURA_HOSTILE_ONLY = "PRC_RETH_DEKALA_AURA_HOSTILE_ONLY";
|
||||
|
||||
|
||||
/******************************************************************************\
|
||||
* Template and Weapon of Legacy switches *
|
||||
\******************************************************************************/
|
||||
|
||||
@@ -67,14 +67,17 @@ void ToggleMasteryOfShapes(object oCaster);
|
||||
|
||||
void SetMasteryOfElements();
|
||||
|
||||
object GetAreaOfEffectObject(location lTarget, string sTag, object oCaster = OBJECT_SELF);
|
||||
|
||||
//////////////////////////////////////////////////
|
||||
/* Includes */
|
||||
//////////////////////////////////////////////////
|
||||
|
||||
#include "prc_feat_const"
|
||||
//#include "prc_inc_spells"
|
||||
//#include "lookup_2da_spell"
|
||||
#include "prcsp_reputation"
|
||||
#include "prc_inc_core"
|
||||
//#include "prc_inc_spells"
|
||||
|
||||
|
||||
|
||||
//////////////////////////////////////////////////
|
||||
@@ -99,6 +102,45 @@ int ExtraordinarySpellAim(object oCaster, object oTarget)
|
||||
{
|
||||
int bRetVal = FALSE;
|
||||
|
||||
if(GetHasFeat(FEAT_EXTRAORDINARY_SPELL_AIM, oCaster)
|
||||
&& GetIsFriend(oTarget, oCaster))
|
||||
{
|
||||
// Check if this is an AOE spell
|
||||
object oAoE = GetAreaOfEffectObject(GetLocation(oTarget), "", oCaster);
|
||||
|
||||
if(GetIsObjectValid(oAoE))
|
||||
{
|
||||
// For persistent AOEs, store exclusion on the AOE object
|
||||
string sTargetID = ObjectToString(oTarget);
|
||||
if(!GetLocalInt(oAoE, "ExtraordinarySpellAim_" + sTargetID))
|
||||
{
|
||||
if(GetIsSkillSuccessful(oCaster, SKILL_SPELLCRAFT, 25 + PRCGetSpellLevel(oCaster, PRCGetSpellId())))
|
||||
{
|
||||
SetLocalInt(oAoE, "ExtraordinarySpellAim_" + sTargetID, TRUE);
|
||||
bRetVal = TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// For instant spells, use original logic
|
||||
if(!GetLocalInt(oCaster, "ExtraordinarySpellAim"))
|
||||
{
|
||||
SetLocalInt(oCaster, "ExtraordinarySpellAim", TRUE);
|
||||
DelayCommand(1.0, DeleteLocalInt(oCaster, "ExtraordinarySpellAim"));
|
||||
|
||||
if(GetIsSkillSuccessful(oCaster, SKILL_SPELLCRAFT, 25 + PRCGetSpellLevel(oCaster, PRCGetSpellId())))
|
||||
bRetVal = TRUE;
|
||||
}
|
||||
}
|
||||
}
|
||||
return bRetVal;
|
||||
}
|
||||
|
||||
/* int ExtraordinarySpellAim(object oCaster, object oTarget)
|
||||
{
|
||||
int bRetVal = FALSE;
|
||||
|
||||
// This variable should not be set without the feat being available.
|
||||
// If someone wants to cheat, let them.
|
||||
if(GetHasFeat(FEAT_EXTRAORDINARY_SPELL_AIM, oCaster)
|
||||
@@ -114,7 +156,7 @@ int ExtraordinarySpellAim(object oCaster, object oTarget)
|
||||
|
||||
return bRetVal;
|
||||
}
|
||||
|
||||
*/
|
||||
//
|
||||
// Help with Visual Effects when setting feats
|
||||
//
|
||||
|
||||
@@ -21,7 +21,6 @@ int CheckSpellfire(object oCaster, object oTarget, int bFriendly = FALSE);
|
||||
//#include "prc_add_spell_dc"
|
||||
#include "prc_add_spl_pen"
|
||||
|
||||
|
||||
//
|
||||
// This function is a wrapper should someone wish to rewrite the Bioware
|
||||
// version. This is where it should be done.
|
||||
|
||||
@@ -51,6 +51,12 @@ void DoCone (int nDieSize, int nBonusDam, int nDieCap, int nConeEffect /* unused
|
||||
{
|
||||
if(spellsIsTarget(oTarget, SPELL_TARGET_STANDARDHOSTILE, OBJECT_SELF))
|
||||
{
|
||||
if(CheckMasteryOfShapes(OBJECT_SELF, oTarget))
|
||||
{
|
||||
// Target is protected by Mastery of Shaping, skip damage
|
||||
oTarget = MyNextObjectInShape(SHAPE_SPELLCONE, 11.0, lTargetLocation, FALSE, OBJECT_TYPE_CREATURE | OBJECT_TYPE_DOOR | OBJECT_TYPE_PLACEABLE);
|
||||
continue;
|
||||
}
|
||||
//Fire cast spell at event for the specified target
|
||||
PRCSignalSpellEvent(oTarget, TRUE, nSpellID);
|
||||
|
||||
|
||||
@@ -597,6 +597,44 @@ void Shieldmate(object oInitiator)
|
||||
}
|
||||
|
||||
void RethDekalaAura(object oInitiator)
|
||||
{
|
||||
location lTarget = GetLocation(oInitiator);
|
||||
object oAreaTarget = MyFirstObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_MEDIUM, lTarget, TRUE, OBJECT_TYPE_CREATURE);
|
||||
|
||||
// Check if we should only target hostiles
|
||||
int bHostileOnly = GetPRCSwitch(PRC_RETH_DEKALA_AURA_HOSTILE_ONLY);
|
||||
|
||||
while(GetIsObjectValid(oAreaTarget))
|
||||
{
|
||||
if(oAreaTarget != oInitiator && // Not you
|
||||
GetIsInMeleeRange(oInitiator, oAreaTarget)) // They must be in melee range
|
||||
{
|
||||
// If switch is enabled, only affect hostile creatures
|
||||
if(bHostileOnly && !GetIsEnemy(oAreaTarget, oInitiator))
|
||||
{
|
||||
oAreaTarget = MyNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_MEDIUM, lTarget, TRUE, OBJECT_TYPE_CREATURE);
|
||||
continue;
|
||||
}
|
||||
|
||||
int nDamage = d6();
|
||||
int nDC = 10 + GetHitDice(oInitiator)/2 + GetAbilityModifier(ABILITY_CONSTITUTION, oInitiator);
|
||||
if(!PRCMySavingThrow(SAVING_THROW_FORT, oAreaTarget, nDC, SAVING_THROW_TYPE_NONE))
|
||||
{
|
||||
// Half fire, half acid
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, SupernaturalEffect(EffectDamage(nDamage/2, DAMAGE_TYPE_FIRE)), oAreaTarget);
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_FLAME_M), oAreaTarget);
|
||||
// The +1 makes acid round up instead of round down, so you don't miss out on odd numbers
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, SupernaturalEffect(EffectDamage((nDamage+1)/2, DAMAGE_TYPE_ACID)), oAreaTarget);
|
||||
ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_IMP_ACID_L), oAreaTarget);
|
||||
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, SupernaturalEffect(EffectSickened()), oAreaTarget, 6.0);
|
||||
}
|
||||
}
|
||||
//Select the next target within the spell shape.
|
||||
oAreaTarget = MyNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_MEDIUM, lTarget, TRUE, OBJECT_TYPE_CREATURE);
|
||||
}
|
||||
}
|
||||
|
||||
/* void RethDekalaAura(object oInitiator)
|
||||
{
|
||||
location lTarget = GetLocation(oInitiator);
|
||||
// Use the function to get the closest creature as a target
|
||||
@@ -622,7 +660,7 @@ void RethDekalaAura(object oInitiator)
|
||||
//Select the next target within the spell shape.
|
||||
oAreaTarget = MyNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_MEDIUM, lTarget, TRUE, OBJECT_TYPE_CREATURE);
|
||||
}
|
||||
}
|
||||
} */
|
||||
|
||||
void HadrimoiPerfectSymmetry(object oInitiator)
|
||||
{
|
||||
|
||||
@@ -61,6 +61,7 @@ void main()
|
||||
object oAoE = GetAreaOfEffectObject(lTarget, "VFX_PER_FOGACID");
|
||||
SetAllAoEInts(SPELL_ACID_FOG, oAoE, PRCGetSpellSaveDC(SPELL_ACID_FOG, SPELL_SCHOOL_CONJURATION), 0, CasterLvl);
|
||||
SetLocalInt(oAoE, "Acid_Fog_Damage", ChangedElementalDamage(OBJECT_SELF, DAMAGE_TYPE_ACID));
|
||||
SetLocalObject(oAoE, "ExtraordinarySpellAim_Caster", OBJECT_SELF);
|
||||
|
||||
PRCSetSchool();
|
||||
}
|
||||
@@ -28,21 +28,36 @@ void main()
|
||||
PRCSetSchool(SPELL_SCHOOL_CONJURATION);
|
||||
|
||||
//Declare major variables
|
||||
object oCaster = GetAreaOfEffectCreator();
|
||||
object aoeCreator = GetAreaOfEffectCreator();
|
||||
object oTarget = GetEnteringObject();
|
||||
|
||||
int nMetaMagic = PRCGetMetaMagicFeat();
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_ACID_S);
|
||||
effect eSlow = EffectMovementSpeedDecrease(50);
|
||||
float fDelay = PRCGetRandomDelay(1.0, 2.2);
|
||||
int nPenetr = GetLocalInt(OBJECT_SELF, "X2_AoE_Caster_Level") + SPGetPenetr(oCaster);
|
||||
int nPenetr = GetLocalInt(OBJECT_SELF, "X2_AoE_Caster_Level") + SPGetPenetr(aoeCreator);
|
||||
|
||||
if (spellsIsTarget(oTarget, SPELL_TARGET_STANDARDHOSTILE, oCaster))
|
||||
// Check Extraordinary Spell Aim
|
||||
if(GetHasFeat(FEAT_EXTRAORDINARY_SPELL_AIM, aoeCreator)
|
||||
&& GetIsFriend(oTarget, aoeCreator))
|
||||
{
|
||||
string sTargetID = ObjectToString(oTarget);
|
||||
if(!GetLocalInt(OBJECT_SELF, "ExtraordinarySpellAim_" + sTargetID))
|
||||
{
|
||||
if(GetIsSkillSuccessful(aoeCreator, SKILL_SPELLCRAFT, 25 + PRCGetSpellLevel(aoeCreator, SPELL_ACID_FOG)))
|
||||
{
|
||||
SetLocalInt(OBJECT_SELF, "ExtraordinarySpellAim_" + sTargetID, TRUE);
|
||||
return; // Target excluded
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (spellsIsTarget(oTarget, SPELL_TARGET_STANDARDHOSTILE, aoeCreator))
|
||||
{
|
||||
//Fire cast spell at event for the target
|
||||
SignalEvent(oTarget, EventSpellCastAt(oCaster, SPELL_ACID_FOG));
|
||||
SignalEvent(oTarget, EventSpellCastAt(aoeCreator, SPELL_ACID_FOG));
|
||||
//Spell resistance check
|
||||
if(!PRCDoResistSpell(oCaster, oTarget, nPenetr, fDelay))
|
||||
if(!PRCDoResistSpell(aoeCreator, oTarget, nPenetr, fDelay))
|
||||
{
|
||||
//Roll Damage
|
||||
//Enter Metamagic conditions
|
||||
@@ -52,9 +67,9 @@ void main()
|
||||
if (nMetaMagic & METAMAGIC_EMPOWER)
|
||||
nDamage = nDamage + (nDamage/2); //Damage/Healing is +50%
|
||||
// Acid Sheath adds +1 damage per die to acid descriptor spells
|
||||
if (GetHasDescriptor(SPELL_ACID_FOG, DESCRIPTOR_ACID) && GetHasSpellEffect(SPELL_MESTILS_ACID_SHEATH, oCaster))
|
||||
if (GetHasDescriptor(SPELL_ACID_FOG, DESCRIPTOR_ACID) && GetHasSpellEffect(SPELL_MESTILS_ACID_SHEATH, aoeCreator))
|
||||
nDamage += 2;
|
||||
nDamage += SpellDamagePerDice(oCaster, 2);
|
||||
nDamage += SpellDamagePerDice(aoeCreator, 2);
|
||||
|
||||
//slowing effect
|
||||
SPApplyEffectToObject(DURATION_TYPE_PERMANENT, eSlow, oTarget,0.0f,FALSE);
|
||||
@@ -97,21 +112,21 @@ void main()
|
||||
PRCSetSchool(SPELL_SCHOOL_CONJURATION);
|
||||
|
||||
//Declare major variables
|
||||
object oCaster = GetAreaOfEffectCreator();
|
||||
object aoeCreator = GetAreaOfEffectCreator();
|
||||
object oTarget = GetEnteringObject();
|
||||
|
||||
int nMetaMagic = PRCGetMetaMagicFeat();
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_ACID_S);
|
||||
effect eSlow = EffectMovementSpeedDecrease(50);
|
||||
float fDelay = PRCGetRandomDelay(1.0, 2.2);
|
||||
int nPenetr = GetLocalInt(OBJECT_SELF, "X2_AoE_Caster_Level") + SPGetPenetr(oCaster);
|
||||
int nPenetr = GetLocalInt(OBJECT_SELF, "X2_AoE_Caster_Level") + SPGetPenetr(aoeCreator);
|
||||
|
||||
if (spellsIsTarget(oTarget, SPELL_TARGET_STANDARDHOSTILE, oCaster))
|
||||
if (spellsIsTarget(oTarget, SPELL_TARGET_STANDARDHOSTILE, aoeCreator))
|
||||
{
|
||||
//Fire cast spell at event for the target
|
||||
SignalEvent(oTarget, EventSpellCastAt(oCaster, SPELL_ACID_FOG));
|
||||
SignalEvent(oTarget, EventSpellCastAt(aoeCreator, SPELL_ACID_FOG));
|
||||
//Spell resistance check
|
||||
if(!PRCDoResistSpell(oCaster, oTarget, nPenetr, fDelay))
|
||||
if(!PRCDoResistSpell(aoeCreator, oTarget, nPenetr, fDelay))
|
||||
{
|
||||
//Roll Damage
|
||||
//Enter Metamagic conditions
|
||||
@@ -121,11 +136,11 @@ void main()
|
||||
if (nMetaMagic & METAMAGIC_EMPOWER)
|
||||
nDamage = nDamage + (nDamage/2); //Damage/Healing is +50%
|
||||
// Acid Sheath adds +1 damage per die to acid descriptor spells
|
||||
if (GetHasDescriptor(SPELL_ACID_FOG, DESCRIPTOR_ACID) && GetHasSpellEffect(SPELL_MESTILS_ACID_SHEATH, oCaster))
|
||||
if (GetHasDescriptor(SPELL_ACID_FOG, DESCRIPTOR_ACID) && GetHasSpellEffect(SPELL_MESTILS_ACID_SHEATH, aoeCreator))
|
||||
nDamage += 2;
|
||||
nDamage += SpellDamagePerDice(oCaster, 2);
|
||||
nDamage += SpellDamagePerDice(aoeCreator, 2);
|
||||
//Make a Fortitude Save to avoid the effects of the movement hit.
|
||||
if(!PRCMySavingThrow(SAVING_THROW_FORT, oTarget, (PRCGetSaveDC(oTarget,oCaster)), SAVING_THROW_TYPE_ACID, oCaster, fDelay))
|
||||
if(!PRCMySavingThrow(SAVING_THROW_FORT, oTarget, (PRCGetSaveDC(oTarget,aoeCreator)), SAVING_THROW_TYPE_ACID, aoeCreator, fDelay))
|
||||
{
|
||||
//slowing effect
|
||||
SPApplyEffectToObject(DURATION_TYPE_PERMANENT, eSlow, oTarget,0.0f,FALSE);
|
||||
|
||||
@@ -28,8 +28,8 @@ void main()
|
||||
|
||||
// When the caster is no longer there, all functions calling
|
||||
// GetAreaOfEffectCreator will fail. Its better to remove the barrier then
|
||||
object oCaster = GetAreaOfEffectCreator();
|
||||
if(!GetIsObjectValid(oCaster))
|
||||
object aoeCreator = GetAreaOfEffectCreator();
|
||||
if(!GetIsObjectValid(aoeCreator))
|
||||
{
|
||||
DestroyObject(OBJECT_SELF);
|
||||
return;
|
||||
@@ -46,26 +46,45 @@ void main()
|
||||
if ((nMetaMagic & METAMAGIC_EMPOWER))
|
||||
nDamage = nDamage + (nDamage/2);
|
||||
// Acid Sheath adds +1 damage per die to acid descriptor spells
|
||||
if (GetHasDescriptor(SPELL_ACID_FOG, DESCRIPTOR_ACID) && GetHasSpellEffect(SPELL_MESTILS_ACID_SHEATH, oCaster))
|
||||
if (GetHasDescriptor(SPELL_ACID_FOG, DESCRIPTOR_ACID) && GetHasSpellEffect(SPELL_MESTILS_ACID_SHEATH, aoeCreator))
|
||||
nDamage += 2;
|
||||
nDamage += SpellDamagePerDice(oCaster, 2);
|
||||
int nPenetr = GetLocalInt(OBJECT_SELF, "X2_AoE_Caster_Level") + SPGetPenetr(oCaster);
|
||||
nDamage += SpellDamagePerDice(aoeCreator, 2);
|
||||
int nPenetr = GetLocalInt(OBJECT_SELF, "X2_AoE_Caster_Level") + SPGetPenetr(aoeCreator);
|
||||
|
||||
//Start cycling through the AOE Object for viable targets including doors and placable objects.
|
||||
object oTarget = GetFirstInPersistentObject(OBJECT_SELF);
|
||||
while(GetIsObjectValid(oTarget))
|
||||
{
|
||||
if (spellsIsTarget(oTarget, SPELL_TARGET_STANDARDHOSTILE, oCaster))
|
||||
// Check Extraordinary Spell Aim
|
||||
if(GetIsObjectValid(aoeCreator) && GetHasFeat(FEAT_EXTRAORDINARY_SPELL_AIM, aoeCreator))
|
||||
{
|
||||
int nDC = PRCGetSaveDC(oTarget, oCaster);
|
||||
string sTargetID = ObjectToString(oTarget);
|
||||
if(!GetLocalInt(OBJECT_SELF, "ExtraordinarySpellAim_" + sTargetID))
|
||||
{
|
||||
if(GetIsFriend(oTarget, aoeCreator))
|
||||
{
|
||||
if(GetIsSkillSuccessful(aoeCreator, SKILL_SPELLCRAFT, 25 + PRCGetSpellLevel(aoeCreator, SPELL_ACID_FOG)))
|
||||
{
|
||||
SetLocalInt(OBJECT_SELF, "ExtraordinarySpellAim_" + sTargetID, TRUE);
|
||||
// Target is excluded, skip to next
|
||||
oTarget = GetNextInPersistentObject();
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (spellsIsTarget(oTarget, SPELL_TARGET_STANDARDHOSTILE, aoeCreator))
|
||||
{
|
||||
int nDC = PRCGetSaveDC(oTarget, aoeCreator);
|
||||
int nDamageType = GetLocalInt(OBJECT_SELF, "Acid_Fog_Damage");
|
||||
int nSaveType = ChangedSaveType(nDamageType);
|
||||
float fDelay = PRCGetRandomDelay(0.4, 1.2);
|
||||
|
||||
//Fire cast spell at event for the affected target
|
||||
SignalEvent(oTarget, EventSpellCastAt(oCaster, SPELL_ACID_FOG));
|
||||
SignalEvent(oTarget, EventSpellCastAt(aoeCreator, SPELL_ACID_FOG));
|
||||
//Spell resistance check
|
||||
if(!PRCDoResistSpell(oCaster, oTarget, nPenetr, fDelay))
|
||||
if(!PRCDoResistSpell(aoeCreator, oTarget, nPenetr, fDelay))
|
||||
{
|
||||
//Set the damage effect
|
||||
effect eDam = PRCEffectDamage(oTarget, nDamage, nDamageType);
|
||||
|
||||
@@ -58,6 +58,7 @@ SetLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR", SPELL_SCHOOL_EVOCATION);
|
||||
|
||||
object oAoE = GetAreaOfEffectObject(lTarget, "VFX_PER_WALLBLADE");
|
||||
SetAllAoEInts(SPELL_BLADE_BARRIER, oAoE, PRCGetSpellSaveDC(SPELL_BLADE_BARRIER, SPELL_SCHOOL_EVOCATION), 0, CasterLvl);
|
||||
SetLocalObject(oAoE, "ExtraordinarySpellAim_Caster", OBJECT_SELF);
|
||||
|
||||
DeleteLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR");
|
||||
// Getting rid of the local integer storing the spellschool name
|
||||
|
||||
@@ -14,13 +14,10 @@
|
||||
//:: Created On: July 20, 2001
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
|
||||
//:: modified by mr_bumpkin Dec 4, 2003
|
||||
#include "prc_inc_spells"
|
||||
#include "prc_add_spell_dc"
|
||||
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
|
||||
@@ -43,6 +40,22 @@ SetLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR", SPELL_SCHOOL_EVOCATION);
|
||||
{
|
||||
nLevel = 20;
|
||||
}
|
||||
|
||||
// Check Extraordinary Spell Aim
|
||||
if(GetHasFeat(FEAT_EXTRAORDINARY_SPELL_AIM, aoeCreator)
|
||||
&& GetIsFriend(oTarget, aoeCreator))
|
||||
{
|
||||
string sTargetID = ObjectToString(oTarget);
|
||||
if(!GetLocalInt(OBJECT_SELF, "ExtraordinarySpellAim_" + sTargetID))
|
||||
{
|
||||
if(GetIsSkillSuccessful(aoeCreator, SKILL_SPELLCRAFT, 25 + PRCGetSpellLevel(aoeCreator, SPELL_BLADE_BARRIER)))
|
||||
{
|
||||
SetLocalInt(OBJECT_SELF, "ExtraordinarySpellAim_" + sTargetID, TRUE);
|
||||
return; // Target excluded
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (spellsIsTarget(oTarget, SPELL_TARGET_STANDARDHOSTILE, aoeCreator))
|
||||
{
|
||||
//Fire spell cast at event
|
||||
|
||||
@@ -14,13 +14,10 @@
|
||||
//:: Created On: July 20, 2001
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
|
||||
//:: modified by mr_bumpkin Dec 4, 2003
|
||||
#include "prc_inc_spells"
|
||||
#include "prc_add_spell_dc"
|
||||
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
DeleteLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR");
|
||||
@@ -62,6 +59,24 @@ SetLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR", SPELL_SCHOOL_EVOCATION);
|
||||
|
||||
while(GetIsObjectValid(oTarget))
|
||||
{
|
||||
// Check Extraordinary Spell Aim
|
||||
if(GetIsObjectValid(aoeCreator) && GetHasFeat(FEAT_EXTRAORDINARY_SPELL_AIM, aoeCreator))
|
||||
{
|
||||
string sTargetID = ObjectToString(oTarget);
|
||||
if(!GetLocalInt(OBJECT_SELF, "ExtraordinarySpellAim_" + sTargetID))
|
||||
{
|
||||
if(GetIsFriend(oTarget, aoeCreator))
|
||||
{
|
||||
if(GetIsSkillSuccessful(aoeCreator, SKILL_SPELLCRAFT, 25 + PRCGetSpellLevel(aoeCreator, SPELL_BLADE_BARRIER)))
|
||||
{
|
||||
SetLocalInt(OBJECT_SELF, "ExtraordinarySpellAim_" + sTargetID, TRUE);
|
||||
// Target is excluded, skip to next
|
||||
oTarget = GetNextInPersistentObject(OBJECT_SELF, OBJECT_TYPE_CREATURE);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (spellsIsTarget(oTarget, SPELL_TARGET_STANDARDHOSTILE, aoeCreator))
|
||||
{
|
||||
//Fire spell cast at event
|
||||
|
||||
@@ -16,7 +16,6 @@
|
||||
//:://////////////////////////////////////////////
|
||||
//Needed would require an entry into the vfx_persistent.2DA and a new AOE constant
|
||||
|
||||
|
||||
//:: modified by mr_bumpkin Dec 4, 2003
|
||||
#include "prc_inc_spells"
|
||||
#include "prc_add_spell_dc"
|
||||
@@ -25,13 +24,6 @@ void main()
|
||||
{
|
||||
DeleteLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR");
|
||||
SetLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR", SPELL_SCHOOL_CONJURATION);
|
||||
/*
|
||||
Spellcast Hook Code
|
||||
Added 2003-06-20 by Georg
|
||||
If you want to make changes to all spells,
|
||||
check x2_inc_spellhook.nss to find out more
|
||||
|
||||
*/
|
||||
|
||||
if (!X2PreSpellCastCode())
|
||||
{
|
||||
@@ -39,9 +31,6 @@ SetLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR", SPELL_SCHOOL_CONJURATION);
|
||||
return;
|
||||
}
|
||||
|
||||
// End of Spell Cast Hook
|
||||
|
||||
|
||||
//Declare major variables including Area of Effect Object
|
||||
effect eAOE = EffectAreaOfEffect(AOE_PER_CREEPING_DOOM);
|
||||
location lTarget = PRCGetSpellTargetLocation();
|
||||
@@ -63,6 +52,7 @@ SetLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR", SPELL_SCHOOL_CONJURATION);
|
||||
|
||||
object oAoE = GetAreaOfEffectObject(lTarget, "VFX_PER_CREEPING_DOOM");
|
||||
SetAllAoEInts(SPELL_CREEPING_DOOM, oAoE, PRCGetSpellSaveDC(SPELL_CREEPING_DOOM, SPELL_SCHOOL_CONJURATION), 0, CasterLvl);
|
||||
SetLocalObject(oAoE, "ExtraordinarySpellAim_Caster", OBJECT_SELF);
|
||||
|
||||
DeleteLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR");
|
||||
// Getting rid of the local integer storing the spellschool name
|
||||
|
||||
@@ -13,13 +13,9 @@
|
||||
//:: Created On: May 17, 2001
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
|
||||
//:: modified by mr_bumpkin Dec 4, 2003
|
||||
#include "prc_inc_spells"
|
||||
|
||||
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
DeleteLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR");
|
||||
@@ -40,6 +36,21 @@ SetLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR", SPELL_SCHOOL_CONJURATION);
|
||||
|
||||
int nPenetr = SPGetPenetrAOE(aoeCreator,CasterLvl);
|
||||
|
||||
// Check Extraordinary Spell Aim
|
||||
if(GetHasFeat(FEAT_EXTRAORDINARY_SPELL_AIM, aoeCreator)
|
||||
&& GetIsFriend(oTarget, aoeCreator))
|
||||
{
|
||||
string sTargetID = ObjectToString(oTarget);
|
||||
if(!GetLocalInt(OBJECT_SELF, "ExtraordinarySpellAim_" + sTargetID))
|
||||
{
|
||||
if(GetIsSkillSuccessful(aoeCreator, SKILL_SPELLCRAFT, 25 + PRCGetSpellLevel(aoeCreator, SPELL_CREEPING_DOOM)))
|
||||
{
|
||||
SetLocalInt(OBJECT_SELF, "ExtraordinarySpellAim_" + sTargetID, TRUE);
|
||||
return; // Target excluded
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (spellsIsTarget(oTarget, SPELL_TARGET_STANDARDHOSTILE, aoeCreator))
|
||||
{
|
||||
//Fire cast spell at event for the target
|
||||
|
||||
@@ -40,7 +40,7 @@ SetLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR", SPELL_SCHOOL_CONJURATION);
|
||||
{
|
||||
if(GetEffectType(eAOE) == EFFECT_TYPE_MOVEMENT_SPEED_DECREASE)
|
||||
{
|
||||
//If the effect was created by the Acid_Fog then remove it
|
||||
//If the effect was created by the Creeping Doom then remove it
|
||||
if(GetEffectSpellId(eAOE) == SPELL_CREEPING_DOOM)
|
||||
{
|
||||
RemoveEffect(oTarget, eAOE);
|
||||
|
||||
@@ -13,13 +13,9 @@
|
||||
//:: Created On: May 17, 2001
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
|
||||
//:: modified by mr_bumpkin Dec 4, 2003
|
||||
#include "prc_inc_spells"
|
||||
|
||||
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
DeleteLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR");
|
||||
@@ -29,6 +25,7 @@ SetLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR", SPELL_SCHOOL_CONJURATION);
|
||||
int nDamage;
|
||||
effect eDam;
|
||||
effect eVis = EffectVisualEffect(VFX_COM_BLOOD_REG_RED);
|
||||
object aoeCreator = GetAreaOfEffectCreator();
|
||||
object oTarget = GetEnteringObject();
|
||||
string sConstant1 = "NW_SPELL_CONSTANT_CREEPING_DOOM1" + ObjectToString(GetAreaOfEffectCreator());
|
||||
string sConstant2 = "NW_SPELL_CONSTANT_CREEPING_DOOM2" + ObjectToString(GetAreaOfEffectCreator());
|
||||
@@ -44,7 +41,7 @@ SetLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR", SPELL_SCHOOL_CONJURATION);
|
||||
// When the caster is no longer there, all functions calling
|
||||
// GetAreaOfEffectCreator will fail. Its better to remove the barrier then
|
||||
//--------------------------------------------------------------------------
|
||||
if (!GetIsObjectValid(GetAreaOfEffectCreator()))
|
||||
if (!GetIsObjectValid(aoeCreator))
|
||||
{
|
||||
DestroyObject(OBJECT_SELF);
|
||||
return;
|
||||
@@ -55,26 +52,39 @@ SetLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR", SPELL_SCHOOL_CONJURATION);
|
||||
oTarget = GetFirstInPersistentObject();
|
||||
while(GetIsObjectValid(oTarget) && nDamCount < 1000)
|
||||
{
|
||||
if (spellsIsTarget(oTarget, SPELL_TARGET_STANDARDHOSTILE, GetAreaOfEffectCreator()))
|
||||
// Check Extraordinary Spell Aim
|
||||
if(GetIsObjectValid(aoeCreator) && GetHasFeat(FEAT_EXTRAORDINARY_SPELL_AIM, aoeCreator))
|
||||
{
|
||||
string sTargetID = ObjectToString(oTarget);
|
||||
if(!GetLocalInt(OBJECT_SELF, "ExtraordinarySpellAim_" + sTargetID))
|
||||
{
|
||||
if(GetIsFriend(oTarget, aoeCreator))
|
||||
{
|
||||
if(GetIsSkillSuccessful(aoeCreator, SKILL_SPELLCRAFT, 25 + PRCGetSpellLevel(aoeCreator, SPELL_CREEPING_DOOM)))
|
||||
{
|
||||
SetLocalInt(OBJECT_SELF, "ExtraordinarySpellAim_" + sTargetID, TRUE);
|
||||
// Target is excluded, skip to next
|
||||
oTarget = GetNextInPersistentObject(OBJECT_SELF, OBJECT_TYPE_CREATURE);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (spellsIsTarget(oTarget, SPELL_TARGET_STANDARDHOSTILE, aoeCreator))
|
||||
{
|
||||
fDelay = PRCGetRandomDelay(1.0, 2.2);
|
||||
//------------------------------------------------------------------
|
||||
// According to the book, SR Does not count against creeping doom
|
||||
//------------------------------------------------------------------
|
||||
//Spell resistance check
|
||||
// if(!PRCDoResistSpell(GetAreaOfEffectCreator(), oTarget, fDelay))
|
||||
// {
|
||||
SignalEvent(oTarget,EventSpellCastAt(GetAreaOfEffectCreator(), SPELL_CREEPING_DOOM, FALSE));
|
||||
|
||||
SignalEvent(oTarget,EventSpellCastAt(aoeCreator, SPELL_CREEPING_DOOM, FALSE));
|
||||
//Roll Damage
|
||||
nDamage = d6(nSwarm);
|
||||
nDamage += SpellDamagePerDice(GetAreaOfEffectCreator(), nSwarm);
|
||||
nDamage += SpellDamagePerDice(aoeCreator, nSwarm);
|
||||
//Set Damage Effect with the modified damage
|
||||
eDam = PRCEffectDamage(oTarget, nDamage, DAMAGE_TYPE_PIERCING);
|
||||
//Apply damage and visuals
|
||||
DelayCommand(fDelay, ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget));
|
||||
DelayCommand(fDelay, SPApplyEffectToObject(DURATION_TYPE_INSTANT, eDam, oTarget));
|
||||
nDamCount = nDamCount + nDamage;
|
||||
// }
|
||||
|
||||
}
|
||||
//Get next target in spell area
|
||||
oTarget = GetNextInPersistentObject();
|
||||
|
||||
@@ -41,6 +41,7 @@ void main()
|
||||
|
||||
object oAoE = GetAreaOfEffectObject(lTarget, "VFX_PER_GREASE");
|
||||
SetAllAoEInts(SPELL_GREASE, oAoE, PRCGetSpellSaveDC(SPELL_GREASE, SPELL_SCHOOL_CONJURATION), 0, CasterLvl);
|
||||
SetLocalObject(oAoE, "ExtraordinarySpellAim_Caster", OBJECT_SELF);
|
||||
|
||||
PRCSetSchool();
|
||||
}
|
||||
|
||||
@@ -27,19 +27,34 @@ void main()
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_SLOW);
|
||||
effect eSlow = EffectMovementSpeedDecrease(50);
|
||||
effect eLink = EffectLinkEffects(eVis, eSlow);
|
||||
object aoeCreator = GetAreaOfEffectCreator();
|
||||
object oTarget = GetEnteringObject();
|
||||
float fDelay = PRCGetRandomDelay(1.0, 2.2);
|
||||
|
||||
int nPenetr = SPGetPenetrAOE(GetAreaOfEffectCreator());
|
||||
int nPenetr = SPGetPenetrAOE(aoeCreator);
|
||||
|
||||
// Check Extraordinary Spell Aim
|
||||
if(GetHasFeat(FEAT_EXTRAORDINARY_SPELL_AIM, aoeCreator)
|
||||
&& GetIsFriend(oTarget, aoeCreator))
|
||||
{
|
||||
string sTargetID = ObjectToString(oTarget);
|
||||
if(!GetLocalInt(OBJECT_SELF, "ExtraordinarySpellAim_" + sTargetID))
|
||||
{
|
||||
if(GetIsSkillSuccessful(aoeCreator, SKILL_SPELLCRAFT, 25 + PRCGetSpellLevel(aoeCreator, SPELL_GREASE)))
|
||||
{
|
||||
SetLocalInt(OBJECT_SELF, "ExtraordinarySpellAim_" + sTargetID, TRUE);
|
||||
return; // Target excluded
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(spellsIsTarget(oTarget, SPELL_TARGET_STANDARDHOSTILE, GetAreaOfEffectCreator()))
|
||||
if(spellsIsTarget(oTarget, SPELL_TARGET_STANDARDHOSTILE, aoeCreator))
|
||||
{
|
||||
if(!GetHasFeat(FEAT_WOODLAND_STRIDE, oTarget) &&(GetCreatureFlag(OBJECT_SELF, CREATURE_VAR_IS_INCORPOREAL) != TRUE) )
|
||||
{
|
||||
//Fire cast spell at event for the target
|
||||
SignalEvent(oTarget, EventSpellCastAt(GetAreaOfEffectCreator(), SPELL_GREASE));
|
||||
int nDC = PRCGetSaveDC(oTarget,GetAreaOfEffectCreator());
|
||||
SignalEvent(oTarget, EventSpellCastAt(aoeCreator, SPELL_GREASE));
|
||||
int nDC = PRCGetSaveDC(oTarget, aoeCreator);
|
||||
if(DEBUG) DoDebug("nw_s0_greasec running, SpellId: " + IntToString(PRCGetSpellId()));
|
||||
|
||||
if(!PRCMySavingThrow(SAVING_THROW_REFLEX, oTarget, (nDC), SAVING_THROW_TYPE_NONE, OBJECT_SELF, fDelay))
|
||||
@@ -49,7 +64,6 @@ void main()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
DeleteLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR");
|
||||
// Getting rid of the local integer storing the spellschool name
|
||||
}
|
||||
|
||||
@@ -23,6 +23,7 @@ void main()
|
||||
SetLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR", SPELL_SCHOOL_CONJURATION);
|
||||
|
||||
//Declare major variables
|
||||
object aoeCreator = GetAreaOfEffectCreator();
|
||||
object oTarget;
|
||||
effect eFall = EffectKnockdown();
|
||||
float fDelay;
|
||||
@@ -31,11 +32,30 @@ void main()
|
||||
oTarget = GetFirstInPersistentObject();
|
||||
while(GetIsObjectValid(oTarget))
|
||||
{
|
||||
// Check Extraordinary Spell Aim
|
||||
if(GetIsObjectValid(aoeCreator) && GetHasFeat(FEAT_EXTRAORDINARY_SPELL_AIM, aoeCreator))
|
||||
{
|
||||
string sTargetID = ObjectToString(oTarget);
|
||||
if(!GetLocalInt(OBJECT_SELF, "ExtraordinarySpellAim_" + sTargetID))
|
||||
{
|
||||
if(GetIsFriend(oTarget, aoeCreator))
|
||||
{
|
||||
if(GetIsSkillSuccessful(aoeCreator, SKILL_SPELLCRAFT, 25 + PRCGetSpellLevel(aoeCreator, SPELL_GREASE)))
|
||||
{
|
||||
SetLocalInt(OBJECT_SELF, "ExtraordinarySpellAim_" + sTargetID, TRUE);
|
||||
// Target is excluded, skip to next
|
||||
oTarget = GetNextInPersistentObject();
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(!GetHasFeat(FEAT_WOODLAND_STRIDE, oTarget) &&(GetCreatureFlag(OBJECT_SELF, CREATURE_VAR_IS_INCORPOREAL) != TRUE) )
|
||||
{
|
||||
if(spellsIsTarget(oTarget, SPELL_TARGET_STANDARDHOSTILE, GetAreaOfEffectCreator()))
|
||||
if(spellsIsTarget(oTarget, SPELL_TARGET_STANDARDHOSTILE, aoeCreator))
|
||||
{
|
||||
int nDC = PRCGetSaveDC(oTarget,GetAreaOfEffectCreator());
|
||||
int nDC = PRCGetSaveDC(oTarget, aoeCreator);
|
||||
if(DEBUG) DoDebug("nw_s0_greasec running, SpellId: " + IntToString(PRCGetSpellId()));
|
||||
|
||||
fDelay = PRCGetRandomDelay(0.0, 2.0);
|
||||
|
||||
@@ -46,6 +46,7 @@ void main()
|
||||
object oAoE = GetAreaOfEffectObject(lTarget, "VFX_PER_FOGFIRE");
|
||||
SetAllAoEInts(SPELL_INCENDIARY_CLOUD, oAoE, PRCGetSpellSaveDC(SPELL_INCENDIARY_CLOUD, SPELL_SCHOOL_EVOCATION), 0, CasterLvl);
|
||||
SetLocalInt(oAoE, "IC_Damage", ChangedElementalDamage(OBJECT_SELF, DAMAGE_TYPE_FIRE));
|
||||
SetLocalObject(oAoE, "ExtraordinarySpellAim_Caster", OBJECT_SELF);
|
||||
|
||||
PRCSetSchool();
|
||||
}
|
||||
@@ -17,8 +17,6 @@
|
||||
#include "prc_inc_spells"
|
||||
#include "prc_add_spell_dc"
|
||||
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
DeleteLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR");
|
||||
@@ -36,18 +34,33 @@ SetLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR", SPELL_SCHOOL_EVOCATION);
|
||||
effect eLink = eVis2; //EffectLinkEffects(eSpeed, eVis2);
|
||||
float fDelay;
|
||||
//Capture the first target object in the shape.
|
||||
object aoeCreator = GetAreaOfEffectCreator();
|
||||
oTarget = GetEnteringObject();
|
||||
|
||||
int nPenetr = SPGetPenetrAOE(GetAreaOfEffectCreator());
|
||||
int nPenetr = SPGetPenetrAOE(aoeCreator);
|
||||
|
||||
// Check Extraordinary Spell Aim
|
||||
if(GetHasFeat(FEAT_EXTRAORDINARY_SPELL_AIM, aoeCreator)
|
||||
&& GetIsFriend(oTarget, aoeCreator))
|
||||
{
|
||||
string sTargetID = ObjectToString(oTarget);
|
||||
if(!GetLocalInt(OBJECT_SELF, "ExtraordinarySpellAim_" + sTargetID))
|
||||
{
|
||||
if(GetIsSkillSuccessful(aoeCreator, SKILL_SPELLCRAFT, 25 + PRCGetSpellLevel(aoeCreator, SPELL_INCENDIARY_CLOUD)))
|
||||
{
|
||||
SetLocalInt(OBJECT_SELF, "ExtraordinarySpellAim_" + sTargetID, TRUE);
|
||||
return; // Target excluded
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Declare the spell shape, size and the location.
|
||||
if (spellsIsTarget(oTarget, SPELL_TARGET_STANDARDHOSTILE, GetAreaOfEffectCreator()))
|
||||
if (spellsIsTarget(oTarget, SPELL_TARGET_STANDARDHOSTILE, aoeCreator))
|
||||
{
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELL_INCENDIARY_CLOUD));
|
||||
//Make SR check, and appropriate saving throw(s).
|
||||
if(!PRCDoResistSpell(GetAreaOfEffectCreator(), oTarget,nPenetr, fDelay))
|
||||
if(!PRCDoResistSpell(aoeCreator, oTarget,nPenetr, fDelay))
|
||||
{
|
||||
fDelay = PRCGetRandomDelay(0.5, 2.0);
|
||||
//Roll damage.
|
||||
@@ -61,9 +74,9 @@ SetLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR", SPELL_SCHOOL_EVOCATION);
|
||||
{
|
||||
nDamage = nDamage + (nDamage/2); //Damage/Healing is +50%
|
||||
}
|
||||
nDamage += SpellDamagePerDice(GetAreaOfEffectCreator(), 4);
|
||||
nDamage += SpellDamagePerDice(aoeCreator, 4);
|
||||
//Adjust damage for Reflex Save, Evasion and Improved Evasion
|
||||
nDamage = PRCGetReflexAdjustedDamage(nDamage, oTarget, PRCGetSaveDC(oTarget, GetAreaOfEffectCreator(), SPELL_INCENDIARY_CLOUD), SAVING_THROW_TYPE_FIRE, GetAreaOfEffectCreator());
|
||||
nDamage = PRCGetReflexAdjustedDamage(nDamage, oTarget, PRCGetSaveDC(oTarget, aoeCreator, SPELL_INCENDIARY_CLOUD), SAVING_THROW_TYPE_FIRE, aoeCreator);
|
||||
// Apply effects to the currently selected target.
|
||||
eDam = PRCEffectDamage(oTarget, nDamage, GetLocalInt(OBJECT_SELF, "IC_Damage"));
|
||||
if(nDamage > 0)
|
||||
|
||||
@@ -13,13 +13,10 @@
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Updated By: GeorgZ 2003-08-21: Now affects doors and placeables as well
|
||||
|
||||
|
||||
//:: modified by mr_bumpkin Dec 4, 2003 for PRC stuff
|
||||
#include "prc_inc_spells"
|
||||
#include "prc_add_spell_dc"
|
||||
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
DeleteLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR");
|
||||
@@ -59,6 +56,24 @@ SetLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR", SPELL_SCHOOL_EVOCATION);
|
||||
//Declare the spell shape, size and the location.
|
||||
while(GetIsObjectValid(oTarget))
|
||||
{
|
||||
// Check Extraordinary Spell Aim
|
||||
if(GetIsObjectValid(aoeCreator) && GetHasFeat(FEAT_EXTRAORDINARY_SPELL_AIM, aoeCreator))
|
||||
{
|
||||
string sTargetID = ObjectToString(oTarget);
|
||||
if(!GetLocalInt(OBJECT_SELF, "ExtraordinarySpellAim_" + sTargetID))
|
||||
{
|
||||
if(GetIsFriend(oTarget, aoeCreator))
|
||||
{
|
||||
if(GetIsSkillSuccessful(aoeCreator, SKILL_SPELLCRAFT, 25 + PRCGetSpellLevel(aoeCreator, SPELL_INCENDIARY_CLOUD)))
|
||||
{
|
||||
SetLocalInt(OBJECT_SELF, "ExtraordinarySpellAim_" + sTargetID, TRUE);
|
||||
// Target is excluded, skip to next
|
||||
oTarget = MyNextObjectInShape(SHAPE_SPHERE, RADIUS_SIZE_LARGE, GetLocation(OBJECT_SELF), FALSE, OBJECT_TYPE_CREATURE | OBJECT_TYPE_DOOR | OBJECT_TYPE_PLACEABLE);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
if (spellsIsTarget(oTarget, SPELL_TARGET_STANDARDHOSTILE, aoeCreator))
|
||||
{
|
||||
fDelay = PRCGetRandomDelay(0.5, 2.0);
|
||||
|
||||
@@ -20,14 +20,14 @@
|
||||
#include "prc_inc_spells"
|
||||
#include "prc_add_spell_dc"
|
||||
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
DeleteLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR");
|
||||
SetLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR", SPELL_SCHOOL_CONJURATION);
|
||||
|
||||
//Declare major variables
|
||||
object aoeCreator = GetAreaOfEffectCreator();
|
||||
|
||||
effect eStun = EffectStunned();
|
||||
effect eVisAcid = EffectVisualEffect(VFX_IMP_ACID_S);
|
||||
effect eVisElec = EffectVisualEffect(VFX_IMP_LIGHTNING_M);
|
||||
@@ -35,41 +35,58 @@ SetLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR", SPELL_SCHOOL_CONJURATION);
|
||||
effect eDur = EffectVisualEffect(VFX_DUR_CESSATE_NEGATIVE);
|
||||
effect eLink = EffectLinkEffects(eStun, eVisStun);
|
||||
eLink = EffectLinkEffects(eLink, eDur);
|
||||
|
||||
float fDelay;
|
||||
|
||||
int CasterLvl = PRCGetCasterLevel(GetAreaOfEffectCreator());
|
||||
int nPenetr = SPGetPenetrAOE(GetAreaOfEffectCreator(),CasterLvl);
|
||||
|
||||
|
||||
int CasterLvl = PRCGetCasterLevel(aoeCreator);
|
||||
int nPenetr = SPGetPenetrAOE(aoeCreator, CasterLvl);
|
||||
|
||||
//Get first target in spell area
|
||||
object oTarget = GetFirstInPersistentObject(OBJECT_SELF,OBJECT_TYPE_CREATURE);
|
||||
while(GetIsObjectValid(oTarget))
|
||||
{
|
||||
// Check Extraordinary Spell Aim
|
||||
if(GetIsObjectValid(aoeCreator) && GetHasFeat(FEAT_EXTRAORDINARY_SPELL_AIM, aoeCreator))
|
||||
{
|
||||
string sTargetID = ObjectToString(oTarget);
|
||||
if(!GetLocalInt(OBJECT_SELF, "ExtraordinarySpellAim_" + sTargetID))
|
||||
{
|
||||
if(GetIsFriend(oTarget, aoeCreator))
|
||||
{
|
||||
if(GetIsSkillSuccessful(aoeCreator, SKILL_SPELLCRAFT, 25 + PRCGetSpellLevel(aoeCreator, SPELL_STORM_OF_VENGEANCE)))
|
||||
{
|
||||
SetLocalInt(OBJECT_SELF, "ExtraordinarySpellAim_" + sTargetID, TRUE);
|
||||
// Target is excluded, skip to next
|
||||
oTarget = GetNextInPersistentObject(OBJECT_SELF, OBJECT_TYPE_CREATURE);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
int nDamage = d6(6);
|
||||
nDamage += SpellDamagePerDice(GetAreaOfEffectCreator(), 6);
|
||||
effect eElec = PRCEffectDamage(oTarget, nDamage, ChangedElementalDamage(GetAreaOfEffectCreator(), DAMAGE_TYPE_ELECTRICAL));
|
||||
nDamage += SpellDamagePerDice(aoeCreator, 6);
|
||||
effect eElec = PRCEffectDamage(oTarget, nDamage, ChangedElementalDamage(aoeCreator, DAMAGE_TYPE_ELECTRICAL));
|
||||
|
||||
if (spellsIsTarget(oTarget, SPELL_TARGET_SELECTIVEHOSTILE, GetAreaOfEffectCreator()))
|
||||
if (spellsIsTarget(oTarget, SPELL_TARGET_SELECTIVEHOSTILE, aoeCreator))
|
||||
{
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(GetAreaOfEffectCreator(), SPELL_STORM_OF_VENGEANCE));
|
||||
SignalEvent(oTarget, EventSpellCastAt(aoeCreator, SPELL_STORM_OF_VENGEANCE));
|
||||
//Make an SR Check
|
||||
fDelay = PRCGetRandomDelay(0.5, 2.0);
|
||||
if(PRCDoResistSpell(GetAreaOfEffectCreator(), oTarget,nPenetr, fDelay) == 0)
|
||||
if(PRCDoResistSpell(aoeCreator, oTarget,nPenetr, fDelay) == 0)
|
||||
{
|
||||
int nDC = PRCGetSaveDC(oTarget,GetAreaOfEffectCreator());
|
||||
int nDC = PRCGetSaveDC(oTarget, aoeCreator);
|
||||
int nAcid = d6(3);
|
||||
nAcid += SpellDamagePerDice(GetAreaOfEffectCreator(), 3);
|
||||
nAcid += SpellDamagePerDice(aoeCreator, 3);
|
||||
// Acid Sheath adds +1 damage per die to acid descriptor spells
|
||||
if (GetHasDescriptor(SPELL_STORM_OF_VENGEANCE, DESCRIPTOR_ACID) && GetHasSpellEffect(SPELL_MESTILS_ACID_SHEATH, GetAreaOfEffectCreator()))
|
||||
if (GetHasDescriptor(SPELL_STORM_OF_VENGEANCE, DESCRIPTOR_ACID) && GetHasSpellEffect(SPELL_MESTILS_ACID_SHEATH, aoeCreator))
|
||||
nAcid += 3;
|
||||
effect eAcid = PRCEffectDamage(oTarget, nAcid, DAMAGE_TYPE_ACID);
|
||||
|
||||
//Make a saving throw check
|
||||
// * if the saving throw is made they still suffer acid damage.
|
||||
// * if they fail the saving throw, they suffer Electrical damage too
|
||||
if(PRCMySavingThrow(SAVING_THROW_REFLEX, oTarget, (nDC), SAVING_THROW_TYPE_ELECTRICITY, GetAreaOfEffectCreator(), fDelay))
|
||||
if(PRCMySavingThrow(SAVING_THROW_REFLEX, oTarget, (nDC), SAVING_THROW_TYPE_ELECTRICITY, aoeCreator, fDelay))
|
||||
{
|
||||
//Apply the VFX impact and effects
|
||||
DelayCommand(fDelay, SPApplyEffectToObject(DURATION_TYPE_INSTANT, eVisAcid, oTarget));
|
||||
@@ -95,8 +112,6 @@ SetLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR", SPELL_SCHOOL_CONJURATION);
|
||||
oTarget = GetNextInPersistentObject(OBJECT_SELF,OBJECT_TYPE_CREATURE);
|
||||
}
|
||||
|
||||
|
||||
|
||||
DeleteLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR");
|
||||
// Getting rid of the integer used to hold the spells spell school
|
||||
}
|
||||
|
||||
@@ -36,6 +36,7 @@ void main()
|
||||
//Setup Area Of Effect object
|
||||
object oAoE = GetAreaOfEffectObject(lTarget, "VFX_PER_STORM");
|
||||
SetAllAoEInts(SPELL_STORM_OF_VENGEANCE, oAoE, PRCGetSpellSaveDC(SPELL_STORM_OF_VENGEANCE, SPELL_SCHOOL_CONJURATION), 0, PRCGetCasterLevel(oCaster));
|
||||
SetLocalObject(oAoE, "ExtraordinarySpellAim_Caster", OBJECT_SELF);
|
||||
|
||||
PRCSetSchool();
|
||||
}
|
||||
@@ -46,6 +46,7 @@ void main()
|
||||
object oAoE = GetAreaOfEffectObject(lTarget, "VFX_PER_WALLFIRE");
|
||||
SetAllAoEInts(SPELL_WALL_OF_FIRE, oAoE, PRCGetSpellSaveDC(SPELL_WALL_OF_FIRE, SPELL_SCHOOL_EVOCATION), 0, CasterLvl);
|
||||
SetLocalInt(oAoE, "Wall_Fire_Damage", ChangedElementalDamage(OBJECT_SELF, DAMAGE_TYPE_FIRE));
|
||||
SetLocalObject(oAoE, "ExtraordinarySpellAim_Caster", OBJECT_SELF);
|
||||
|
||||
PRCSetSchool();
|
||||
}
|
||||
|
||||
@@ -16,8 +16,6 @@
|
||||
#include "prc_inc_spells"
|
||||
#include "prc_add_spell_dc"
|
||||
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
|
||||
@@ -28,19 +26,36 @@ SetLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR", SPELL_SCHOOL_EVOCATION);
|
||||
int nMetaMagic = PRCGetMetaMagicFeat();
|
||||
int nDamage;
|
||||
effect eDam;
|
||||
object oCaster = GetAreaOfEffectCreator();
|
||||
object oTarget;
|
||||
//Declare and assign personal impact visual effect.
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_FLAME_M);
|
||||
int nPenetr = SPGetPenetrAOE(GetAreaOfEffectCreator());
|
||||
int nPenetr = SPGetPenetrAOE(oCaster);
|
||||
|
||||
//Capture the first target object in the shape.
|
||||
oTarget = GetEnteringObject();
|
||||
if (spellsIsTarget(oTarget, SPELL_TARGET_STANDARDHOSTILE, GetAreaOfEffectCreator()))
|
||||
|
||||
// Check Extraordinary Spell Aim
|
||||
if(GetHasFeat(FEAT_EXTRAORDINARY_SPELL_AIM, oCaster)
|
||||
&& GetIsFriend(oTarget, oCaster))
|
||||
{
|
||||
string sTargetID = ObjectToString(oTarget);
|
||||
if(!GetLocalInt(OBJECT_SELF, "ExtraordinarySpellAim_" + sTargetID))
|
||||
{
|
||||
if(GetIsSkillSuccessful(oCaster, SKILL_SPELLCRAFT, 25 + PRCGetSpellLevel(oCaster, SPELL_WALL_OF_FIRE)))
|
||||
{
|
||||
SetLocalInt(OBJECT_SELF, "ExtraordinarySpellAim_" + sTargetID, TRUE);
|
||||
return; // Target excluded
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (spellsIsTarget(oTarget, SPELL_TARGET_STANDARDHOSTILE, oCaster))
|
||||
{
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELL_WALL_OF_FIRE));
|
||||
//Make SR check, and appropriate saving throw(s).
|
||||
if(!PRCDoResistSpell(GetAreaOfEffectCreator(), oTarget,nPenetr))
|
||||
if(!PRCDoResistSpell(oCaster, oTarget,nPenetr))
|
||||
{
|
||||
//Roll damage.
|
||||
nDamage = d6(4);
|
||||
@@ -53,8 +68,8 @@ SetLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR", SPELL_SCHOOL_EVOCATION);
|
||||
{
|
||||
nDamage = nDamage + (nDamage/2); //Damage/Healing is +50%
|
||||
}
|
||||
nDamage += SpellDamagePerDice(GetAreaOfEffectCreator(), 4);
|
||||
nDamage = PRCGetReflexAdjustedDamage(nDamage, oTarget, (PRCGetSaveDC(oTarget,GetAreaOfEffectCreator())), SAVING_THROW_TYPE_FIRE);
|
||||
nDamage += SpellDamagePerDice(oCaster, 4);
|
||||
nDamage = PRCGetReflexAdjustedDamage(nDamage, oTarget, (PRCGetSaveDC(oTarget, oCaster)), SAVING_THROW_TYPE_FIRE);
|
||||
if(nDamage > 0)
|
||||
{
|
||||
// Apply effects to the currently selected target.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Wall of Fire: Heartbeat
|
||||
//:: NW_S0_WallFireA.nss
|
||||
//:: NW_S0_WallFireC.nss
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
@@ -28,6 +28,7 @@ SetLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR", SPELL_SCHOOL_EVOCATION);
|
||||
int nMetaMagic = PRCGetMetaMagicFeat();
|
||||
int nDamage;
|
||||
effect eDam;
|
||||
object oCaster = GetAreaOfEffectCreator();
|
||||
object oTarget;
|
||||
//Declare and assign personal impact visual effect.
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_FLAME_M);
|
||||
@@ -38,27 +39,46 @@ SetLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR", SPELL_SCHOOL_EVOCATION);
|
||||
// When the caster is no longer there, all functions calling
|
||||
// GetAreaOfEffectCreator will fail. Its better to remove the barrier then
|
||||
//--------------------------------------------------------------------------
|
||||
if (!GetIsObjectValid(GetAreaOfEffectCreator()))
|
||||
if (!GetIsObjectValid(oCaster))
|
||||
{
|
||||
DestroyObject(OBJECT_SELF);
|
||||
return;
|
||||
}
|
||||
|
||||
int CasterLvl = PRCGetCasterLevel(GetAreaOfEffectCreator());
|
||||
int CasterLvl = PRCGetCasterLevel(oCaster);
|
||||
|
||||
int nPenetr = SPGetPenetrAOE(GetAreaOfEffectCreator(),CasterLvl);
|
||||
int nPenetr = SPGetPenetrAOE(oCaster, CasterLvl);
|
||||
int EleDmg = GetLocalInt(OBJECT_SELF, "Wall_Fire_Damage");
|
||||
|
||||
oTarget = GetFirstInPersistentObject(OBJECT_SELF,OBJECT_TYPE_CREATURE | OBJECT_TYPE_DOOR | OBJECT_TYPE_PLACEABLE);
|
||||
//Declare the spell shape, size and the location.
|
||||
while(GetIsObjectValid(oTarget))
|
||||
{
|
||||
if (spellsIsTarget(oTarget, SPELL_TARGET_STANDARDHOSTILE, GetAreaOfEffectCreator()))
|
||||
if (spellsIsTarget(oTarget, SPELL_TARGET_STANDARDHOSTILE, oCaster))
|
||||
{
|
||||
// Check Extraordinary Spell Aim for persistent AOEs
|
||||
if(GetHasFeat(FEAT_EXTRAORDINARY_SPELL_AIM, oCaster))
|
||||
{
|
||||
string sTargetID = ObjectToString(oTarget);
|
||||
if(!GetLocalInt(OBJECT_SELF, "ExtraordinarySpellAim_" + sTargetID))
|
||||
{
|
||||
if(!GetIsEnemy(oTarget, oCaster))
|
||||
{
|
||||
if(GetIsSkillSuccessful(oCaster, SKILL_SPELLCRAFT, 25 + PRCGetSpellLevel(oCaster, SPELL_WALL_OF_FIRE)))
|
||||
{
|
||||
SetLocalInt(OBJECT_SELF, "ExtraordinarySpellAim_" + sTargetID, TRUE);
|
||||
// Target is excluded, skip to next
|
||||
oTarget = GetNextInPersistentObject(OBJECT_SELF, OBJECT_TYPE_CREATURE | OBJECT_TYPE_DOOR | OBJECT_TYPE_PLACEABLE);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, SPELL_WALL_OF_FIRE));
|
||||
//Make SR check, and appropriate saving throw(s).
|
||||
if(!PRCDoResistSpell(GetAreaOfEffectCreator(), oTarget,nPenetr))
|
||||
if(!PRCDoResistSpell(oCaster, oTarget,nPenetr))
|
||||
{
|
||||
//Roll damage.
|
||||
nDamage = d6(4);
|
||||
@@ -72,9 +92,9 @@ SetLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR", SPELL_SCHOOL_EVOCATION);
|
||||
nDamage = nDamage + (nDamage/2); //Damage/Healing is +50%
|
||||
}
|
||||
|
||||
nDamage += SpellDamagePerDice(GetAreaOfEffectCreator(), 4);
|
||||
nDamage += SpellDamagePerDice(oCaster, 4);
|
||||
|
||||
int nDC = PRCGetSaveDC(oTarget,GetAreaOfEffectCreator());
|
||||
int nDC = PRCGetSaveDC(oTarget, oCaster);
|
||||
|
||||
nDamage = PRCGetReflexAdjustedDamage(nDamage, oTarget, (nDC), SAVING_THROW_TYPE_FIRE);
|
||||
if(nDamage > 0)
|
||||
|
||||
@@ -89,5 +89,7 @@ void main()
|
||||
object oAoE = GetAreaOfEffectObject(lLoc, "VFX_PER_PRISMATIC_WALL");
|
||||
SetAllAoEInts(SPELL_PRISMATIC_WALL, oAoE, PRCGetSpellSaveDC(SPELL_PRISMATIC_WALL, SPELL_SCHOOL_ABJURATION), 0, nCasterLvl);
|
||||
|
||||
SetLocalObject(oAoE, "ExtraordinarySpellAim_Caster", oPC);
|
||||
|
||||
PRCSetSchool();
|
||||
}
|
||||
@@ -68,6 +68,7 @@ Created: 7/6/07
|
||||
|
||||
#include "prc_inc_spells"
|
||||
#include "prc_add_spell_dc"
|
||||
#include "prcsp_archmaginc"
|
||||
|
||||
void main()
|
||||
{
|
||||
@@ -80,6 +81,12 @@ void main()
|
||||
|
||||
if(!GetIsReactionTypeFriendly(oTarget, oPC) && (oTarget != oPC))
|
||||
{
|
||||
if(ExtraordinarySpellAim(oPC, oTarget))
|
||||
{
|
||||
// Target is excluded from AOE effects
|
||||
return;
|
||||
}
|
||||
|
||||
//Red
|
||||
if(!PRCDoResistSpell(oPC, oTarget,nPenetr))
|
||||
{
|
||||
|
||||
@@ -76,6 +76,8 @@ void main()
|
||||
object oAoE = GetAreaOfEffectObject(lTarget, "VFX_PER_PRISMATIC_SPHERE");
|
||||
SetAllAoEInts(SPELL_PRISMATIC_SPHERE, oAoE, PRCGetSpellSaveDC(SPELL_PRISMATIC_SPHERE, SPELL_SCHOOL_ABJURATION), 0, nCasterLvl);
|
||||
|
||||
SetLocalObject(oAoE, "ExtraordinarySpellAim_Caster", oPC);
|
||||
|
||||
//SendMessageToPC(oPC, "Casting a modified Prismatic Sphere with dur: " + FloatToString(fDurAoE));
|
||||
|
||||
// Handles visual fx of the spell (and continued on the heartbeat script) since the fx seem to last max 3 secs.
|
||||
|
||||
@@ -49,6 +49,7 @@ Created: 7/6/07
|
||||
|
||||
#include "prc_inc_spells"
|
||||
#include "prc_add_spell_dc"
|
||||
#include "prcsp_archmaginc"
|
||||
|
||||
void main()
|
||||
{
|
||||
@@ -64,6 +65,12 @@ void main()
|
||||
|
||||
if(!GetIsReactionTypeFriendly(oTarget, oPC) && (oTarget != oPC))
|
||||
{
|
||||
if(ExtraordinarySpellAim(oPC, oTarget))
|
||||
{
|
||||
// Target is excluded from AOE effects
|
||||
return;
|
||||
}
|
||||
|
||||
//Red
|
||||
if(!PRCDoResistSpell(oPC, oTarget,nPenetr))
|
||||
{
|
||||
|
||||
@@ -52,6 +52,7 @@ void main()
|
||||
|
||||
object oAoE = GetAreaOfEffectObject(lLoc, "VFX_PER_SLEET_STORM");
|
||||
SetAllAoEInts(SPELL_SLEET_STORM, oAoE, 20, 0, nCasterLevel);
|
||||
SetLocalObject(oAoE, "ExtraordinarySpellAim_Caster", OBJECT_SELF);
|
||||
|
||||
PRCSetSchool();
|
||||
}
|
||||
@@ -39,16 +39,31 @@ void main()
|
||||
{
|
||||
PRCSetSchool(SPELL_SCHOOL_CONJURATION);
|
||||
|
||||
object oPC = GetAreaOfEffectCreator();
|
||||
object aoeCreator = GetAreaOfEffectCreator();
|
||||
object oTarget = GetEnteringObject();
|
||||
int nCasterLvl = PRCGetCasterLevel(oPC);
|
||||
int nCasterLvl = PRCGetCasterLevel(aoeCreator);
|
||||
|
||||
if(CheckMasteryOfShapes(oPC, oTarget))
|
||||
if(CheckMasteryOfShapes(aoeCreator, oTarget))
|
||||
{
|
||||
PRCSetSchool();
|
||||
return;
|
||||
}
|
||||
|
||||
// Check Extraordinary Spell Aim
|
||||
if(GetHasFeat(FEAT_EXTRAORDINARY_SPELL_AIM, aoeCreator)
|
||||
&& GetIsFriend(oTarget, aoeCreator))
|
||||
{
|
||||
string sTargetID = ObjectToString(oTarget);
|
||||
if(!GetLocalInt(OBJECT_SELF, "ExtraordinarySpellAim_" + sTargetID))
|
||||
{
|
||||
if(GetIsSkillSuccessful(aoeCreator, SKILL_SPELLCRAFT, 25 + PRCGetSpellLevel(aoeCreator, SPELL_SLEET_STORM)))
|
||||
{
|
||||
SetLocalInt(OBJECT_SELF, "ExtraordinarySpellAim_" + sTargetID, TRUE);
|
||||
return; // Target excluded
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
effect eLink = EffectLinkEffects(EffectBlindness(), EffectMovementSpeedDecrease(50));
|
||||
|
||||
SPApplyEffectToObject(DURATION_TYPE_PERMANENT, eLink, oTarget, 0.0f, TRUE, SPELL_SLEET_STORM, nCasterLvl);
|
||||
|
||||
@@ -40,19 +40,40 @@ int BalanceCheckFailure(object oTarget);
|
||||
void main()
|
||||
{
|
||||
PRCSetSchool(SPELL_SCHOOL_CONJURATION);
|
||||
int nCasterLvl = PRCGetCasterLevel(GetAreaOfEffectCreator());
|
||||
|
||||
object aoeCreator = GetAreaOfEffectCreator();
|
||||
object oTarget = GetFirstInPersistentObject(OBJECT_SELF, OBJECT_TYPE_CREATURE);
|
||||
|
||||
int nCasterLvl = PRCGetCasterLevel(aoeCreator);
|
||||
|
||||
while(GetIsObjectValid(oTarget))
|
||||
{
|
||||
if(CheckMasteryOfShapes(GetAreaOfEffectCreator(), oTarget))
|
||||
if(CheckMasteryOfShapes(aoeCreator, oTarget))
|
||||
{
|
||||
// Target is protected by Mastery of Shaping.
|
||||
oTarget = GetNextInPersistentObject(OBJECT_SELF, OBJECT_TYPE_CREATURE);
|
||||
continue;
|
||||
}
|
||||
|
||||
// Check Extraordinary Spell Aim
|
||||
if(GetIsObjectValid(aoeCreator) && GetHasFeat(FEAT_EXTRAORDINARY_SPELL_AIM, aoeCreator))
|
||||
{
|
||||
string sTargetID = ObjectToString(oTarget);
|
||||
if(!GetLocalInt(OBJECT_SELF, "ExtraordinarySpellAim_" + sTargetID))
|
||||
{
|
||||
if(GetIsFriend(oTarget, aoeCreator))
|
||||
{
|
||||
if(GetIsSkillSuccessful(aoeCreator, SKILL_SPELLCRAFT, 25 + PRCGetSpellLevel(aoeCreator, SPELL_SLEET_STORM)))
|
||||
{
|
||||
SetLocalInt(OBJECT_SELF, "ExtraordinarySpellAim_" + sTargetID, TRUE);
|
||||
// Target is excluded, skip to next
|
||||
oTarget = GetNextInPersistentObject();
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
int nFail = BalanceCheckFailure(oTarget);
|
||||
|
||||
//Can't move
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Wall of Frost
|
||||
//:: SP_WallFrost.nss
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Creates a wall of ice that chills any creature
|
||||
@@ -45,7 +45,7 @@ SetLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR", SPELL_SCHOOL_EVOCATION);
|
||||
}
|
||||
int nMetaMagic = PRCGetMetaMagicFeat();
|
||||
|
||||
//Check fort metamagic
|
||||
//Check for metamagic
|
||||
if (CheckMetaMagic(nMetaMagic, METAMAGIC_EXTEND))
|
||||
{
|
||||
nDuration = nDuration *2; //Duration is +100%
|
||||
@@ -55,6 +55,7 @@ SetLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR", SPELL_SCHOOL_EVOCATION);
|
||||
|
||||
object oAoE = GetAreaOfEffectObject(lTarget, "VFX_PER_WALLFROST");
|
||||
SetAllAoEInts(GetSpellId(), oAoE, PRCGetSpellSaveDC(GetSpellId(), SPELL_SCHOOL_EVOCATION), 0, nCasterLevel);
|
||||
SetLocalObject(oAoE, "ExtraordinarySpellAim_Caster", OBJECT_SELF);
|
||||
|
||||
DeleteLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR");
|
||||
// Getting rid of the integer used to hold the spells spell school
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Wall of Frost: On Enter
|
||||
//:: SP_WallFrostA.nss
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Person within the AoE take 4d6 cold damage
|
||||
@@ -23,6 +23,7 @@ SetLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR", SPELL_SCHOOL_EVOCATION);
|
||||
int nMetaMagic = PRCGetMetaMagicFeat();
|
||||
int nDamage;
|
||||
effect eDam;
|
||||
object oCaster = GetAreaOfEffectCreator();
|
||||
object oTarget;
|
||||
//Declare and assign personal impact visual effect.
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_FROST_S);
|
||||
@@ -30,12 +31,28 @@ SetLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR", SPELL_SCHOOL_EVOCATION);
|
||||
|
||||
//Capture the first target object in the shape.
|
||||
oTarget = GetEnteringObject();
|
||||
if (spellsIsTarget(oTarget, SPELL_TARGET_STANDARDHOSTILE, GetAreaOfEffectCreator()))
|
||||
|
||||
// Check Extraordinary Spell Aim
|
||||
if(GetHasFeat(FEAT_EXTRAORDINARY_SPELL_AIM, oCaster)
|
||||
&& GetIsFriend(oTarget, oCaster))
|
||||
{
|
||||
string sTargetID = ObjectToString(oTarget);
|
||||
if(!GetLocalInt(OBJECT_SELF, "ExtraordinarySpellAim_" + sTargetID))
|
||||
{
|
||||
if(GetIsSkillSuccessful(oCaster, SKILL_SPELLCRAFT, 25 + PRCGetSpellLevel(oCaster, GetSpellId())))
|
||||
{
|
||||
SetLocalInt(OBJECT_SELF, "ExtraordinarySpellAim_" + sTargetID, TRUE);
|
||||
return; // Target excluded
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (spellsIsTarget(oTarget, SPELL_TARGET_STANDARDHOSTILE, oCaster))
|
||||
{
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, GetSpellId()));
|
||||
//Make SR check, and appropriate saving throw(s).
|
||||
if(!PRCDoResistSpell(GetAreaOfEffectCreator(), oTarget,nPenetr))
|
||||
if(!PRCDoResistSpell(oCaster, oTarget,nPenetr))
|
||||
{
|
||||
//Roll damage.
|
||||
nDamage = d6(4);
|
||||
@@ -48,12 +65,12 @@ SetLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR", SPELL_SCHOOL_EVOCATION);
|
||||
{
|
||||
nDamage = nDamage + (nDamage/2); //Damage/Healing is +50%
|
||||
}
|
||||
nDamage += SpellDamagePerDice(GetAreaOfEffectCreator(), 4);
|
||||
nDamage = PRCGetReflexAdjustedDamage(nDamage, oTarget, (PRCGetSaveDC(oTarget,GetAreaOfEffectCreator())), SAVING_THROW_TYPE_COLD);
|
||||
nDamage += SpellDamagePerDice(oCaster, 4);
|
||||
nDamage = PRCGetReflexAdjustedDamage(nDamage, oTarget, (PRCGetSaveDC(oTarget, oCaster)), SAVING_THROW_TYPE_COLD);
|
||||
if(nDamage > 0)
|
||||
{
|
||||
// Apply effects to the currently selected target.
|
||||
eDam = PRCEffectDamage(oTarget, nDamage, ChangedElementalDamage(GetAreaOfEffectCreator(), DAMAGE_TYPE_COLD));
|
||||
eDam = PRCEffectDamage(oTarget, nDamage, ChangedElementalDamage(oCaster, DAMAGE_TYPE_COLD));
|
||||
SPApplyEffectToObject(DURATION_TYPE_INSTANT, eDam, oTarget);
|
||||
PRCBonusDamage(oTarget);
|
||||
SPApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, oTarget);
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
//::///////////////////////////////////////////////
|
||||
//:: Wall of Frost: Heartbeat
|
||||
//:: SP_WallFrostC.nss
|
||||
//:: Copyright (c) 2001 Bioware Corp.
|
||||
//::
|
||||
//:://////////////////////////////////////////////
|
||||
/*
|
||||
Person within the AoE take 4d6 cold damage
|
||||
@@ -11,8 +11,6 @@
|
||||
#include "prc_inc_spells"
|
||||
#include "prc_add_spell_dc"
|
||||
|
||||
|
||||
|
||||
void main()
|
||||
{
|
||||
|
||||
@@ -23,6 +21,7 @@ SetLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR", SPELL_SCHOOL_EVOCATION);
|
||||
int nMetaMagic = PRCGetMetaMagicFeat();
|
||||
int nDamage;
|
||||
effect eDam;
|
||||
object oCaster = GetAreaOfEffectCreator();
|
||||
object oTarget;
|
||||
//Declare and assign personal impact visual effect.
|
||||
effect eVis = EffectVisualEffect(VFX_IMP_FROST_S);
|
||||
@@ -33,27 +32,46 @@ SetLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR", SPELL_SCHOOL_EVOCATION);
|
||||
// When the caster is no longer there, all functions calling
|
||||
// GetAreaOfEffectCreator will fail. Its better to remove the barrier then
|
||||
//--------------------------------------------------------------------------
|
||||
if (!GetIsObjectValid(GetAreaOfEffectCreator()))
|
||||
if (!GetIsObjectValid(oCaster))
|
||||
{
|
||||
DestroyObject(OBJECT_SELF);
|
||||
return;
|
||||
}
|
||||
|
||||
int CasterLvl = PRCGetCasterLevel(GetAreaOfEffectCreator());
|
||||
int CasterLvl = PRCGetCasterLevel(oCaster);
|
||||
|
||||
int nPenetr = SPGetPenetrAOE(GetAreaOfEffectCreator(),CasterLvl);
|
||||
int EleDmg = ChangedElementalDamage(GetAreaOfEffectCreator(), DAMAGE_TYPE_COLD);
|
||||
int nPenetr = SPGetPenetrAOE(oCaster,CasterLvl);
|
||||
int EleDmg = ChangedElementalDamage(oCaster, DAMAGE_TYPE_COLD);
|
||||
|
||||
oTarget = GetFirstInPersistentObject(OBJECT_SELF,OBJECT_TYPE_CREATURE | OBJECT_TYPE_DOOR | OBJECT_TYPE_PLACEABLE);
|
||||
//Declare the spell shape, size and the location.
|
||||
while(GetIsObjectValid(oTarget))
|
||||
{
|
||||
if (spellsIsTarget(oTarget, SPELL_TARGET_STANDARDHOSTILE, GetAreaOfEffectCreator()))
|
||||
// Check Extraordinary Spell Aim
|
||||
if(GetIsObjectValid(oCaster) && GetHasFeat(FEAT_EXTRAORDINARY_SPELL_AIM, oCaster))
|
||||
{
|
||||
string sTargetID = ObjectToString(oTarget);
|
||||
if(!GetLocalInt(OBJECT_SELF, "ExtraordinarySpellAim_" + sTargetID))
|
||||
{
|
||||
if(GetIsFriend(oTarget, oCaster))
|
||||
{
|
||||
if(GetIsSkillSuccessful(oCaster, SKILL_SPELLCRAFT, 25 + PRCGetSpellLevel(oCaster, GetSpellId())))
|
||||
{
|
||||
SetLocalInt(OBJECT_SELF, "ExtraordinarySpellAim_" + sTargetID, TRUE);
|
||||
// Target is excluded, skip to next
|
||||
oTarget = GetNextInPersistentObject(OBJECT_SELF, OBJECT_TYPE_CREATURE);
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (spellsIsTarget(oTarget, SPELL_TARGET_STANDARDHOSTILE, oCaster))
|
||||
{
|
||||
//Fire cast spell at event for the specified target
|
||||
SignalEvent(oTarget, EventSpellCastAt(OBJECT_SELF, GetSpellId()));
|
||||
//Make SR check, and appropriate saving throw(s).
|
||||
if(!PRCDoResistSpell(GetAreaOfEffectCreator(), oTarget,nPenetr))
|
||||
if(!PRCDoResistSpell(oCaster, oTarget,nPenetr))
|
||||
{
|
||||
//Roll damage.
|
||||
nDamage = d6(4);
|
||||
@@ -67,9 +85,9 @@ SetLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR", SPELL_SCHOOL_EVOCATION);
|
||||
nDamage = nDamage + (nDamage/2); //Damage/Healing is +50%
|
||||
}
|
||||
|
||||
nDamage += SpellDamagePerDice(GetAreaOfEffectCreator(), 4);
|
||||
nDamage += SpellDamagePerDice(oCaster, 4);
|
||||
|
||||
int nDC = PRCGetSaveDC(oTarget,GetAreaOfEffectCreator());
|
||||
int nDC = PRCGetSaveDC(oTarget, oCaster);
|
||||
|
||||
nDamage = PRCGetReflexAdjustedDamage(nDamage, oTarget, (nDC), SAVING_THROW_TYPE_COLD);
|
||||
if(nDamage > 0)
|
||||
|
||||
@@ -24,13 +24,6 @@ void main()
|
||||
{
|
||||
DeleteLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR");
|
||||
SetLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR", SPELL_SCHOOL_TRANSMUTATION);
|
||||
/*
|
||||
Spellcast Hook Code
|
||||
Added 2003-06-20 by Georg
|
||||
If you want to make changes to all spells,
|
||||
check x2_inc_spellhook.nss to find out more
|
||||
|
||||
*/
|
||||
|
||||
if (!X2PreSpellCastCode())
|
||||
{
|
||||
@@ -38,12 +31,9 @@ SetLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR", SPELL_SCHOOL_TRANSMUTATION
|
||||
return;
|
||||
}
|
||||
|
||||
// End of Spell Cast Hook
|
||||
|
||||
|
||||
//Declare major variables including Area of Effect Object
|
||||
// * passing dirge script for exit because it is an empty script (i.e., there is no special exit effects)
|
||||
effect eAOE = EffectAreaOfEffect(AOE_PER_ENTANGLE, "x0_s0_spikegroEN", "x0_s0_spikegroHB", "x0_s0_dirgeEX");
|
||||
effect eAOE = EffectAreaOfEffect(AOE_PER_ENTANGLE, "x0_s0_spikegroen", "x0_s0_spikegrohb", "x0_s0_dirgeex");
|
||||
location lTarget = PRCGetSpellTargetLocation();
|
||||
int nCasterLevel = PRCGetCasterLevel(OBJECT_SELF);
|
||||
int nDuration = nCasterLevel;
|
||||
@@ -65,10 +55,8 @@ SetLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR", SPELL_SCHOOL_TRANSMUTATION
|
||||
|
||||
object oAoE = GetAreaOfEffectObject(lTarget, "VFX_PER_ENTANGLE");
|
||||
SetAllAoEInts(SPELL_SPIKE_GROWTH, oAoE, PRCGetSpellSaveDC(SPELL_SPIKE_GROWTH, SPELL_SCHOOL_TRANSMUTATION), 0, nCasterLevel);
|
||||
SetLocalObject(oAoE, "ExtraordinarySpellAim_Caster", OBJECT_SELF);
|
||||
|
||||
DeleteLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR");
|
||||
// Erasing the variable used to store the spell's spell school
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -69,11 +69,27 @@ void main()
|
||||
DeleteLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR");
|
||||
SetLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR", SPELL_SCHOOL_TRANSMUTATION);
|
||||
|
||||
int nPenetr = SPGetPenetrAOE(GetAreaOfEffectCreator());
|
||||
object aoeCreator = GetAreaOfEffectCreator();
|
||||
object oTarget = GetEnteringObject();
|
||||
|
||||
int nPenetr = SPGetPenetrAOE(oTarget);
|
||||
|
||||
PRCDoSpikeGrowthEffect(GetEnteringObject(),nPenetr);
|
||||
// Check Extraordinary Spell Aim
|
||||
if(GetHasFeat(FEAT_EXTRAORDINARY_SPELL_AIM, aoeCreator)
|
||||
&& GetIsFriend(oTarget, aoeCreator))
|
||||
{
|
||||
string sTargetID = ObjectToString(oTarget);
|
||||
if(!GetLocalInt(OBJECT_SELF, "ExtraordinarySpellAim_" + sTargetID))
|
||||
{
|
||||
if(GetIsSkillSuccessful(aoeCreator, SKILL_SPELLCRAFT, 25 + PRCGetSpellLevel(aoeCreator, SPELL_SPIKE_GROWTH)))
|
||||
{
|
||||
SetLocalInt(OBJECT_SELF, "ExtraordinarySpellAim_" + sTargetID, TRUE);
|
||||
return; // Target excluded
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
PRCDoSpikeGrowthEffect(oTarget, nPenetr);
|
||||
|
||||
DeleteLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR");
|
||||
// Erasing the variable used to store the spell's spell school
|
||||
|
||||
@@ -73,10 +73,31 @@ SetLocalInt(OBJECT_SELF, "X2_L_LAST_SPELLSCHOOL_VAR", SPELL_SCHOOL_TRANSMUTATION
|
||||
|
||||
|
||||
object oTarget;
|
||||
object aoeCreator = GetAreaOfEffectCreator();
|
||||
|
||||
//Start cycling through the AOE Object for viable targets including doors and placable objects.
|
||||
oTarget = GetFirstInPersistentObject(OBJECT_SELF);
|
||||
while(GetIsObjectValid(oTarget))
|
||||
{
|
||||
// Check Extraordinary Spell Aim
|
||||
if(GetIsObjectValid(aoeCreator) && GetHasFeat(FEAT_EXTRAORDINARY_SPELL_AIM, aoeCreator))
|
||||
{
|
||||
string sTargetID = ObjectToString(oTarget);
|
||||
if(!GetLocalInt(OBJECT_SELF, "ExtraordinarySpellAim_" + sTargetID))
|
||||
{
|
||||
if(GetIsFriend(oTarget, aoeCreator))
|
||||
{
|
||||
if(GetIsSkillSuccessful(aoeCreator, SKILL_SPELLCRAFT, 25 + PRCGetSpellLevel(aoeCreator, SPELL_SPIKE_GROWTH)))
|
||||
{
|
||||
SetLocalInt(OBJECT_SELF, "ExtraordinarySpellAim_" + sTargetID, TRUE);
|
||||
// Target is excluded, skip to next
|
||||
oTarget = GetNextInPersistentObject();
|
||||
continue;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
PRCDoSpikeGrowthEffect(oTarget, nPenetr);
|
||||
//Get next target.
|
||||
oTarget = GetNextInPersistentObject(OBJECT_SELF);
|
||||
|
||||
Binary file not shown.
@@ -74708,13 +74708,13 @@ Armor Skin, Blinding Speed, Devastating Critical, Epic Damage Reduction, Epic Pr
|
||||
|
||||
Hit Die: d8
|
||||
Skill Points at Each Additional Level: 2 + Int Modifier
|
||||
Bonus Feats: The epic Hospitaler gains a bonus feat every three levels
|
||||
Bonus Feats: The epic Hospitaler gains a bonus feat every other level.
|
||||
|
||||
Special:
|
||||
Spellcasting: At each level the epic Hospitaler continues to increase in divine caster level (and spells known, if applicable).
|
||||
|
||||
Epic Hospitaler Bonus Feats List:
|
||||
Armor Skin, Automatic Quicken Spell, Automatic Silent Spell, Automatic Still Spell, Blinding Speed, Devastating Critical, Epic Divine Might, Epic Divine Resistance, Epic Divine Shield, Epic Divine Vigor, Epic Prowess, Epic Reputation, Epic Spellcasting, Epic Spell Focus, Epic Spell Penetration,Epc Spellcasting, Epic Toughness, Epic Weapon Focus, Epic Weapon Specialization, Great Charisma, Great Smiting, Great Wisdom, Improved Combat Casting, Overwhelming Critical, Perfect Health, Planar Turning.</entry>
|
||||
Armor Skin, Devastating Critical, Epic Prowess, Epic Reputation, Epic Leadership, Epic Toughness, Epic Weapon Focus, Improved Combat Casting, Overwhelming Critical, Perfect Health, Planar Turning.</entry>
|
||||
<entry id="205142" lang="en" sex="m">Epic Master of Shrouds</entry>
|
||||
<entry id="205143" lang="en" sex="m">At epic levels, the Master of Shrouds commands the dread powers of the grave with terrifying authority. Her ability to summon incorporeal undead grows to include even greater horrors, and her dominion over death magic becomes absolute.
|
||||
|
||||
@@ -75029,7 +75029,7 @@ Armor Skin, Automatic Quicken Spell, Automatic Silent Spell, Automatic Still Spe
|
||||
|
||||
Hit Die: d8
|
||||
Skill Points at Each Additional Level: 2 + Int Modifier
|
||||
Bonus Feats: The epic Runecaster gains a bonus feat every four levels.
|
||||
Bonus Feats: The epic Runecaster gains a bonus feat every three levels.
|
||||
|
||||
Special:
|
||||
Rune Craft: The epic Runecaster continues to gain a +1 on Runecarving checks at every odd level.
|
||||
@@ -75037,7 +75037,7 @@ Rune Power: The epic Runecaster's Rune Power ability continues to gain +1 to DC
|
||||
Spellcasting: The epic Runecaster continues to increase in divine caster level (and spells known, if applicable).
|
||||
|
||||
Epic Runecaster Bonus Feat List:
|
||||
Armor Skin, Automatic Quicken Spell, Automatic Silent Spell, Automatic Still Spell, Blinding Speed, Epic Energy Resistance, Epic Fortitude, Epic Spell Focus, Epic Spell Penetration, Epic Prowess, Epic Toughness, Epic Spellcasting, Epic Weapon Focus, Fast Healing, Focused Spell Penetration, Improved Combat Casting, Inscribe Epic Runes, Great Charisma, Great Intelligence, Great Wisdom, Perfect Health, Planar Turning, Tenacious Magic.</entry>
|
||||
Automatic Quicken Spell, Automatic Silent Spell, Automatic Still Spell, Bonus Domain, Epic Skill Focus (Craft [any]), Epic Spell Focus, Epic Spell Penetration, Epic Spellcasting, Epic Toughness, Ignore Material Components, Improved Combat Casting, Inscribe Epic Rune, Tenacious Magic.</entry>
|
||||
<entry id="205196" lang="en" sex="m">Epic Warchief</entry>
|
||||
<entry id="205197" lang="en" sex="m">The epic Warchief becomes the stuff of legend, feared and revered by entire nations. His warcries shake enemy lines, and his presence alone can rally tribes to conquer cities and kingdoms. As he grows in power, his influence spreads like wildfire, turning even the most fractured clans into an unstoppable force. Epic Warchiefs inspire absolute loyalty and demand unquestioning obedience, forging empires from chaos and blood.
|
||||
|
||||
|
||||
Binary file not shown.
@@ -2,7 +2,6 @@ Champion of Torm
|
||||
Dragon Devotee
|
||||
Eldritch Knight
|
||||
Fighter
|
||||
Hospitaler
|
||||
Psychic Warrior
|
||||
Serene Guardian
|
||||
Spellsword
|
||||
|
||||
Reference in New Issue
Block a user