2025/12/14 Late Update
Moved Hidden Talent a from a masterfeat to a dynamic conversation. Updated PRC8 version number.
This commit is contained in:
@@ -25901,53 +25901,53 @@
|
||||
25897 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
25898 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
25899 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
25900 "## START PRC8 HIDDEN TALENT FEATS ##" **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
25901 FEAT_HIDDEN_TALENT_BIOFEEDBACK 16990419 16823714 fot_protmagweap 999 **** **** **** **** **** 11 **** **** **** 0 0 1 12 **** 14479 **** **** **** 120 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_BIOFEEDBACK 6 0 **** **** 1 **** 0 0
|
||||
25902 FEAT_HIDDEN_TALENT_BITE_WOLF 16990420 16824105 fot_bitewolf 999 **** **** **** **** **** 11 **** **** **** 0 0 1 10 **** 14421 **** **** **** 120 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_BITE_WOLF 6 0 **** **** 1 **** 0 0
|
||||
25903 FEAT_HIDDEN_TALENT_BOLT 16990421 16823684 fot_minorseq 999 **** **** **** **** **** 11 **** **** **** 0 0 1 12 **** 14422 **** **** **** 120 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_BOLT 6 0 **** **** 1 **** 0 0
|
||||
25904 FEAT_HIDDEN_TALENT_BURST 16990422 16823921 fot_exped 999 **** **** **** **** **** 11 **** **** **** 0 0 1 10 **** 14423 **** **** **** 120 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_BURST 6 0 **** **** 1 **** 0 0
|
||||
25905 FEAT_HIDDEN_TALENT_CALLTOMIND 16990423 16823630 fot_knowalign 999 **** **** **** **** **** 11 **** **** **** 0 0 1 **** **** 14424 **** **** **** 120 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_CALLTOMIND 6 0 **** **** 1 **** 0 0
|
||||
25906 FEAT_HIDDEN_TALENT_CALL_WEAPONRY 16990424 16824111 fot_seeksword 999 **** **** **** **** **** 11 **** **** **** 0 0 1 9 **** 14425 **** **** **** 120 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_CALL_WEAPONRY 6 0 **** **** 1 **** 0 0
|
||||
25907 FEAT_HIDDEN_TALENT_CHAMELEON 16990425 16823642 fot_chameleon 999 **** **** **** **** **** 11 **** **** **** 0 0 1 10 **** 14482 **** **** **** 120 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_CHAMELEON 6 0 **** **** 1 **** 0 0
|
||||
25908 FEAT_HIDDEN_TALENT_CLAWS_BEAST 16990426 16824107 fot_clawbeast 999 **** **** **** **** **** 11 **** **** **** 0 0 1 10 **** 14427 **** **** **** 120 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_CLAWS_BEAST 6 0 **** **** 1 **** 0 0
|
||||
25909 FEAT_HIDDEN_TALENT_COMPRESSION 16990427 16824120 fot_compress 999 **** **** **** **** **** 11 **** **** **** 0 0 1 9 **** 14428 **** **** **** 120 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_COMPRESSION 6 0 **** **** 1 **** 0 0
|
||||
25910 FEAT_HIDDEN_TALENT_CONCEALTHOUGHT 16990428 16823759 fot_nondetect 999 **** **** **** **** **** 11 **** **** **** 0 0 1 7 **** 14429 **** **** **** 120 0 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_CONCEALTHOUGHT 6 0 **** **** 1 **** 0 0
|
||||
25911 FEAT_HIDDEN_TALENT_CREATESOUND 16990429 16823869 fot_vocal 999 **** **** **** **** **** 11 **** **** **** 0 0 1 11 **** 14431 **** **** **** 120 0 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_CREATESOUND 6 1 **** **** 1 **** 0 0
|
||||
25912 FEAT_HIDDEN_TALENT_CRYSTALSHARD 16990430 16823632 fot_icestorm 999 **** **** **** **** **** 11 **** **** **** 0 0 1 2 **** 14432 **** **** **** 120 0 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_CRYSTALSHARD 6 1 **** **** 1 **** 0 0
|
||||
25913 FEAT_HIDDEN_TALENT_DAZE 16990431 16823650 fot_invisstalk 999 **** **** **** **** **** 11 **** **** **** 0 0 1 2 **** 14433 **** **** **** 120 0 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_DAZE 6 1 **** **** 1 **** 0 0
|
||||
25914 FEAT_HIDDEN_TALENT_DECELERATION 16990432 16823652 fot_Slow 999 **** **** **** **** **** 11 **** **** **** 0 0 1 1 **** 14434 **** **** **** 120 0 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_DECELERATION 6 1 **** **** 1 **** 0 0
|
||||
25915 FEAT_HIDDEN_TALENT_DEFPRECOG 16990433 16823708 fot_shield 999 **** **** **** **** **** 11 **** **** **** 0 0 1 13 **** 14435 **** **** **** 120 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_DEFPRECOG 6 0 **** **** 1 **** 0 0
|
||||
25916 FEAT_HIDDEN_TALENT_DEMORALIZE 16990434 16823686 fot_lowerres 999 **** **** **** **** **** 11 **** **** **** 0 0 1 8 **** 14436 **** **** **** 120 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_DEMORALIZE 6 0 **** **** 1 **** 0 0
|
||||
25917 FEAT_HIDDEN_TALENT_DISABLE 16990435 16823688 fot_enfeeble 999 **** **** **** **** **** 11 **** **** **** 0 0 1 2 **** 14438 **** **** **** 120 0 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_DISABLE 6 1 **** **** 1 **** 0 0
|
||||
25918 FEAT_HIDDEN_TALENT_DISSIPATINGTOUCH 16990436 16823656 fot_chilltouch 999 **** **** **** **** **** 11 **** **** **** 0 0 1 3 **** 14439 **** **** **** 120 0 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_DISSIPATINGTOUCH 6 1 **** **** 1 **** 0 0
|
||||
25919 FEAT_HIDDEN_TALENT_DISTRACT 16990437 16823690 fot_powerblind 999 **** **** **** **** **** 11 **** **** **** 0 0 1 2 **** 14440 **** **** **** 120 0 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_DISTRACT 6 1 **** **** 1 **** 0 0
|
||||
25920 FEAT_HIDDEN_TALENT_ELF_SIGHT 16990438 16823720 fot_infravis 999 **** **** **** **** **** 11 **** **** **** 0 0 1 10 **** 14370 **** **** **** 120 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_ELF_SIGHT 6 0 **** **** 1 **** 0 0
|
||||
25921 FEAT_HIDDEN_TALENT_EMPATHY 16990439 16823761 fot_friends 999 **** **** **** **** **** 11 **** **** **** 0 0 1 **** **** 14441 **** **** **** 120 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_EMPATHY 6 0 **** **** 1 **** 0 0
|
||||
25922 FEAT_HIDDEN_TALENT_EMPTYMIND 16990440 16823692 fot_detillusion 999 **** **** **** **** **** 11 **** **** **** 0 0 1 9 **** 14442 **** **** **** 120 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_EMPTYMIND 6 0 **** **** 1 **** 0 0
|
||||
25923 FEAT_HIDDEN_TALENT_ENERGYRAY 16990441 16823694 fot_flamearrow 999 **** **** **** **** **** 11 **** **** **** 0 0 1 **** **** 14443 **** **** **** 120 0 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_ENERGYRAY 6 1 **** **** 1 **** 0 0
|
||||
25924 FEAT_HIDDEN_TALENT_ENTANGLE 16990442 16823700 fot_entangle 999 **** **** **** **** **** 11 **** **** **** 0 0 1 2 **** 14448 **** **** **** 120 0 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_ENTANGLE 6 1 **** **** 1 **** 0 0
|
||||
25925 FEAT_HIDDEN_TALENT_EXPANSION 16990443 16824128 fot_strength 999 **** **** **** **** **** 11 **** **** **** 0 0 1 9 **** 14449 **** **** **** 120 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_EXPANSION 6 0 **** **** 1 **** 0 0
|
||||
25926 FEAT_HIDDEN_TALENT_FARHAND 16990444 16823763 fot_magicshort 999 **** **** **** **** **** 11 **** **** **** 0 0 1 2 **** 14450 **** **** **** 120 0 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_FARHAND 6 0 **** **** 1 **** 0 0
|
||||
25927 FEAT_HIDDEN_TALENT_FORCESCREEN 16990445 16823658 fot_polyself 999 **** **** **** **** **** 11 **** **** **** 0 0 1 13 **** 14451 **** **** **** 120 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_FORCESCREEN 6 0 **** **** 1 **** 0 0
|
||||
25928 FEAT_HIDDEN_TALENT_GREASE 16990446 16823702 fot_Grease 999 **** **** **** **** **** 11 **** **** **** 0 0 1 11 **** 14452 **** **** **** 120 0 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_GREASE 6 1 **** **** 1 **** 0 0
|
||||
25929 FEAT_HIDDEN_TALENT_HAMMER 16990447 16823704 fot_hammer 999 **** **** **** **** **** 11 **** **** **** 0 0 1 10 **** 14453 **** **** **** 120 0 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_HAMMER 6 1 **** **** 1 **** 0 0
|
||||
25930 FEAT_HIDDEN_TALENT_INERTIALARMOUR 16990448 16823660 fot_armor 999 **** **** **** **** **** 11 **** **** **** 0 0 1 9 **** 14454 **** **** **** 120 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_INERTIALARMOUR 6 0 **** **** 1 **** 0 0
|
||||
25931 FEAT_HIDDEN_TALENT_MATTERAGITATION 16990449 16823765 fot_elementfire 999 **** **** **** **** **** 11 **** **** **** 0 0 1 3 **** 14455 **** **** **** 120 0 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_MATTERAGITATION 6 1 **** **** 1 **** 0 0
|
||||
25932 FEAT_HIDDEN_TALENT_METAPHYSICAL_CLAW 16990450 16824134 fot_metaclaw 999 **** **** **** **** **** 11 **** **** **** 0 0 1 9 **** 14456 **** **** **** 120 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_METAPHYSICAL_CLAW 6 0 **** **** 1 **** 0 0
|
||||
25933 FEAT_HIDDEN_TALENT_METAPHYSICAL_WEAPON 16990451 16824136 fot_protnormal 999 **** **** **** **** **** 11 **** **** **** 0 0 1 9 **** 14457 **** **** **** 120 0 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_METAPHYSICAL_WEAPON 6 0 **** **** 1 **** 0 0
|
||||
25934 FEAT_HIDDEN_TALENT_MINDTHRUST 16990452 16823615 fot_skulltrap 999 **** **** **** **** **** 11 **** **** **** 0 0 1 2 **** 14458 **** **** **** 120 0 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_MINDTHRUST 6 1 **** **** 1 **** 0 0
|
||||
25935 FEAT_HIDDEN_TALENT_MYLIGHT 16990453 16823706 fot_dawn 999 **** **** **** **** **** 11 **** **** **** 0 0 1 **** **** 14459 **** **** **** 120 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_MYLIGHT 6 0 **** **** 1 **** 0 0
|
||||
25936 FEAT_HIDDEN_TALENT_OFFPRECOG 16990454 16823710 fot_snare 999 **** **** **** **** **** 11 **** **** **** 0 0 1 9 **** 14460 **** **** **** 120 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_OFFPRECOG 6 0 **** **** 1 **** 0 0
|
||||
25937 FEAT_HIDDEN_TALENT_OFFPRESC 16990455 16823712 fot_sols 999 **** **** **** **** **** 11 **** **** **** 0 0 1 9 **** 14461 **** **** **** 120 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_OFFPRESC 6 0 **** **** 1 **** 0 0
|
||||
25938 FEAT_HIDDEN_TALENT_PREVENOM 16990456 16824142 fot_grmalison 999 **** **** **** **** **** 11 **** **** **** 0 0 1 2 **** 14468 **** **** **** 120 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_PREVENOM 6 0 **** **** 1 **** 0 0
|
||||
25939 FEAT_HIDDEN_TALENT_PREVENOM_WEAPON 16990457 16824144 fot_prevnmw 999 **** **** **** **** **** 11 **** **** **** 0 0 1 2 **** 14469 **** **** **** 120 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_PREVENOM_WEAPON 6 0 **** **** 1 **** 0 0
|
||||
25940 FEAT_HIDDEN_TALENT_SKATE 16990458 16823767 fot_haste 999 **** **** **** **** **** 11 **** **** **** 0 0 1 10 **** 14470 **** **** **** 120 0 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_SKATE 6 0 **** **** 1 **** 0 0
|
||||
25941 FEAT_HIDDEN_TALENT_STOMP 16990459 16823682 fot_stomp 999 **** **** **** **** **** 11 **** **** **** 0 0 1 2 **** 14471 **** **** **** 120 0 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_STOMP 6 1 **** **** 1 **** 0 0
|
||||
25942 FEAT_HIDDEN_TALENT_SYNESTHETE 16990460 16823755 fot_physmirror 999 **** **** **** **** **** 11 **** **** **** 0 0 1 2 **** 14472 **** **** **** 120 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_SYNESTHETE 6 0 **** **** 1 **** 0 0
|
||||
25943 FEAT_HIDDEN_TALENT_TELEMPATHICPRO 16990461 16823769 fot_charmanim 999 **** **** **** **** **** 11 **** **** **** 0 0 1 2 **** 14473 **** **** **** 120 0 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_TELEMPATHICPRO 6 0 **** **** 1 **** 0 0
|
||||
25944 FEAT_HIDDEN_TALENT_THICKSKIN 16990462 16823670 fot_barkskin 999 **** **** **** **** **** 11 **** **** **** 0 0 1 13 **** 14474 **** **** **** 120 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_THICKSKIN 6 0 **** **** 1 **** 0 0
|
||||
25945 FEAT_HIDDEN_TALENT_VIGOR 16990463 16823672 fot_horror 999 **** **** **** **** **** 11 **** **** **** 0 0 1 9 **** 14475 **** **** **** 120 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_VIGOR 6 0 **** **** 1 **** 0 0
|
||||
25946 FEAT_HIDDEN_TALENT_GRIP_IRON 16990464 16790301 fot_metaclaw 999 **** **** **** **** **** 11 **** **** **** 0 0 1 10 **** 15686 **** **** **** 120 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_GRIP_IRON 6 0 **** **** 1 **** 0 0
|
||||
25900 FEAT_HIDDEN_TALENT 16990417 16990418 ife_psifeats **** **** **** **** **** **** 11 **** **** **** 0 0 1 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT 6 0 **** **** 1 **** 0 1
|
||||
25901 FEAT_HIDDEN_TALENT_BIOFEEDBACK 16990419 16823714 fot_protmagweap 999 **** **** **** **** **** 11 **** **** **** 0 0 0 12 **** 14479 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_BIOFEEDBACK 6 0 **** **** **** **** 0 0
|
||||
25902 FEAT_HIDDEN_TALENT_BITE_WOLF 16990420 16824105 fot_bitewolf 999 **** **** **** **** **** 11 **** **** **** 0 0 0 10 **** 14421 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_BITE_WOLF 6 0 **** **** **** **** 0 0
|
||||
25903 FEAT_HIDDEN_TALENT_BOLT 16990421 16823684 fot_minorseq 999 **** **** **** **** **** 11 **** **** **** 0 0 0 12 **** 14422 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_BOLT 6 0 **** **** **** **** 0 0
|
||||
25904 FEAT_HIDDEN_TALENT_BURST 16990422 16823921 fot_exped 999 **** **** **** **** **** 11 **** **** **** 0 0 0 10 **** 14423 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_BURST 6 0 **** **** **** **** 0 0
|
||||
25905 FEAT_HIDDEN_TALENT_CALLTOMIND 16990423 16823630 fot_knowalign 999 **** **** **** **** **** 11 **** **** **** 0 0 0 **** **** 14424 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_CALLTOMIND 6 0 **** **** **** **** 0 0
|
||||
25906 FEAT_HIDDEN_TALENT_CALL_WEAPONRY 16990424 16824111 fot_seeksword 999 **** **** **** **** **** 11 **** **** **** 0 0 0 9 **** 14425 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_CALL_WEAPONRY 6 0 **** **** **** **** 0 0
|
||||
25907 FEAT_HIDDEN_TALENT_CHAMELEON 16990425 16823642 fot_chameleon 999 **** **** **** **** **** 11 **** **** **** 0 0 0 10 **** 14482 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_CHAMELEON 6 0 **** **** **** **** 0 0
|
||||
25908 FEAT_HIDDEN_TALENT_CLAWS_BEAST 16990426 16824107 fot_clawbeast 999 **** **** **** **** **** 11 **** **** **** 0 0 0 10 **** 14427 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_CLAWS_BEAST 6 0 **** **** **** **** 0 0
|
||||
25909 FEAT_HIDDEN_TALENT_COMPRESSION 16990427 16824120 fot_compress 999 **** **** **** **** **** 11 **** **** **** 0 0 0 9 **** 14428 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_COMPRESSION 6 0 **** **** **** **** 0 0
|
||||
25910 FEAT_HIDDEN_TALENT_CONCEALTHOUGHT 16990428 16823759 fot_nondetect 999 **** **** **** **** **** 11 **** **** **** 0 0 0 7 **** 14429 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_CONCEALTHOUGHT 6 0 **** **** **** **** 0 0
|
||||
25911 FEAT_HIDDEN_TALENT_CREATESOUND 16990429 16823869 fot_vocal 999 **** **** **** **** **** 11 **** **** **** 0 0 0 11 **** 14431 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_CREATESOUND 6 1 **** **** **** **** 0 0
|
||||
25912 FEAT_HIDDEN_TALENT_CRYSTALSHARD 16990430 16823632 fot_icestorm 999 **** **** **** **** **** 11 **** **** **** 0 0 0 2 **** 14432 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_CRYSTALSHARD 6 1 **** **** **** **** 0 0
|
||||
25913 FEAT_HIDDEN_TALENT_DAZE 16990431 16823650 fot_invisstalk 999 **** **** **** **** **** 11 **** **** **** 0 0 0 2 **** 14433 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_DAZE 6 1 **** **** **** **** 0 0
|
||||
25914 FEAT_HIDDEN_TALENT_DECELERATION 16990432 16823652 fot_Slow 999 **** **** **** **** **** 11 **** **** **** 0 0 0 1 **** 14434 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_DECELERATION 6 1 **** **** **** **** 0 0
|
||||
25915 FEAT_HIDDEN_TALENT_DEFPRECOG 16990433 16823708 fot_shield 999 **** **** **** **** **** 11 **** **** **** 0 0 0 13 **** 14435 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_DEFPRECOG 6 0 **** **** **** **** 0 0
|
||||
25916 FEAT_HIDDEN_TALENT_DEMORALIZE 16990434 16823686 fot_lowerres 999 **** **** **** **** **** 11 **** **** **** 0 0 0 8 **** 14436 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_DEMORALIZE 6 0 **** **** **** **** 0 0
|
||||
25917 FEAT_HIDDEN_TALENT_DISABLE 16990435 16823688 fot_enfeeble 999 **** **** **** **** **** 11 **** **** **** 0 0 0 2 **** 14438 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_DISABLE 6 1 **** **** **** **** 0 0
|
||||
25918 FEAT_HIDDEN_TALENT_DISSIPATINGTOUCH 16990436 16823656 fot_chilltouch 999 **** **** **** **** **** 11 **** **** **** 0 0 0 3 **** 14439 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_DISSIPATINGTOUCH 6 1 **** **** **** **** 0 0
|
||||
25919 FEAT_HIDDEN_TALENT_DISTRACT 16990437 16823690 fot_powerblind 999 **** **** **** **** **** 11 **** **** **** 0 0 0 2 **** 14440 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_DISTRACT 6 1 **** **** **** **** 0 0
|
||||
25920 FEAT_HIDDEN_TALENT_ELF_SIGHT 16990438 16823720 fot_infravis 999 **** **** **** **** **** 11 **** **** **** 0 0 0 10 **** 14370 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_ELF_SIGHT 6 0 **** **** **** **** 0 0
|
||||
25921 FEAT_HIDDEN_TALENT_EMPATHY 16990439 16823761 fot_friends 999 **** **** **** **** **** 11 **** **** **** 0 0 0 **** **** 14441 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_EMPATHY 6 0 **** **** **** **** 0 0
|
||||
25922 FEAT_HIDDEN_TALENT_EMPTYMIND 16990440 16823692 fot_detillusion 999 **** **** **** **** **** 11 **** **** **** 0 0 0 9 **** 14442 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_EMPTYMIND 6 0 **** **** **** **** 0 0
|
||||
25923 FEAT_HIDDEN_TALENT_ENERGYRAY 16990441 16823694 fot_flamearrow 999 **** **** **** **** **** 11 **** **** **** 0 0 0 **** **** 14443 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_ENERGYRAY 6 1 **** **** **** **** 0 0
|
||||
25924 FEAT_HIDDEN_TALENT_ENTANGLE 16990442 16823700 fot_entangle 999 **** **** **** **** **** 11 **** **** **** 0 0 0 2 **** 14448 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_ENTANGLE 6 1 **** **** **** **** 0 0
|
||||
25925 FEAT_HIDDEN_TALENT_EXPANSION 16990443 16824128 fot_strength 999 **** **** **** **** **** 11 **** **** **** 0 0 0 9 **** 14449 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_EXPANSION 6 0 **** **** **** **** 0 0
|
||||
25926 FEAT_HIDDEN_TALENT_FARHAND 16990444 16823763 fot_magicshort 999 **** **** **** **** **** 11 **** **** **** 0 0 0 2 **** 14450 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_FARHAND 6 0 **** **** **** **** 0 0
|
||||
25927 FEAT_HIDDEN_TALENT_FORCESCREEN 16990445 16823658 fot_polyself 999 **** **** **** **** **** 11 **** **** **** 0 0 0 13 **** 14451 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_FORCESCREEN 6 0 **** **** **** **** 0 0
|
||||
25928 FEAT_HIDDEN_TALENT_GREASE 16990446 16823702 fot_Grease 999 **** **** **** **** **** 11 **** **** **** 0 0 0 11 **** 14452 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_GREASE 6 1 **** **** **** **** 0 0
|
||||
25929 FEAT_HIDDEN_TALENT_HAMMER 16990447 16823704 fot_hammer 999 **** **** **** **** **** 11 **** **** **** 0 0 0 10 **** 14453 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_HAMMER 6 1 **** **** **** **** 0 0
|
||||
25930 FEAT_HIDDEN_TALENT_INERTIALARMOUR 16990448 16823660 fot_armor 999 **** **** **** **** **** 11 **** **** **** 0 0 0 9 **** 14454 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_INERTIALARMOUR 6 0 **** **** **** **** 0 0
|
||||
25931 FEAT_HIDDEN_TALENT_MATTERAGITATION 16990449 16823765 fot_elementfire 999 **** **** **** **** **** 11 **** **** **** 0 0 0 3 **** 14455 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_MATTERAGITATION 6 1 **** **** **** **** 0 0
|
||||
25932 FEAT_HIDDEN_TALENT_METAPHYSICAL_CLAW 16990450 16824134 fot_metaclaw 999 **** **** **** **** **** 11 **** **** **** 0 0 0 9 **** 14456 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_METAPHYSICAL_CLAW 6 0 **** **** **** **** 0 0
|
||||
25933 FEAT_HIDDEN_TALENT_METAPHYSICAL_WEAPON 16990451 16824136 fot_protnormal 999 **** **** **** **** **** 11 **** **** **** 0 0 0 9 **** 14457 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_METAPHYSICAL_WEAPON 6 0 **** **** **** **** 0 0
|
||||
25934 FEAT_HIDDEN_TALENT_MINDTHRUST 16990452 16823615 fot_skulltrap 999 **** **** **** **** **** 11 **** **** **** 0 0 0 2 **** 14458 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_MINDTHRUST 6 1 **** **** **** **** 0 0
|
||||
25935 FEAT_HIDDEN_TALENT_MYLIGHT 16990453 16823706 fot_dawn 999 **** **** **** **** **** 11 **** **** **** 0 0 0 **** **** 14459 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_MYLIGHT 6 0 **** **** **** **** 0 0
|
||||
25936 FEAT_HIDDEN_TALENT_OFFPRECOG 16990454 16823710 fot_snare 999 **** **** **** **** **** 11 **** **** **** 0 0 0 9 **** 14460 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_OFFPRECOG 6 0 **** **** **** **** 0 0
|
||||
25937 FEAT_HIDDEN_TALENT_OFFPRESC 16990455 16823712 fot_sols 999 **** **** **** **** **** 11 **** **** **** 0 0 0 9 **** 14461 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_OFFPRESC 6 0 **** **** **** **** 0 0
|
||||
25938 FEAT_HIDDEN_TALENT_PREVENOM 16990456 16824142 fot_grmalison 999 **** **** **** **** **** 11 **** **** **** 0 0 0 2 **** 14468 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_PREVENOM 6 0 **** **** **** **** 0 0
|
||||
25939 FEAT_HIDDEN_TALENT_PREVENOM_WEAPON 16990457 16824144 fot_prevnmw 999 **** **** **** **** **** 11 **** **** **** 0 0 0 2 **** 14469 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_PREVENOM_WEAPON 6 0 **** **** **** **** 0 0
|
||||
25940 FEAT_HIDDEN_TALENT_SKATE 16990458 16823767 fot_haste 999 **** **** **** **** **** 11 **** **** **** 0 0 0 10 **** 14470 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_SKATE 6 0 **** **** **** **** 0 0
|
||||
25941 FEAT_HIDDEN_TALENT_STOMP 16990459 16823682 fot_stomp 999 **** **** **** **** **** 11 **** **** **** 0 0 0 2 **** 14471 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_STOMP 6 1 **** **** **** **** 0 0
|
||||
25942 FEAT_HIDDEN_TALENT_SYNESTHETE 16990460 16823755 fot_physmirror 999 **** **** **** **** **** 11 **** **** **** 0 0 0 2 **** 14472 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_SYNESTHETE 6 0 **** **** **** **** 0 0
|
||||
25943 FEAT_HIDDEN_TALENT_TELEMPATHICPRO 16990461 16823769 fot_charmanim 999 **** **** **** **** **** 11 **** **** **** 0 0 0 2 **** 14473 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_TELEMPATHICPRO 6 0 **** **** **** **** 0 0
|
||||
25944 FEAT_HIDDEN_TALENT_THICKSKIN 16990462 16823670 fot_barkskin 999 **** **** **** **** **** 11 **** **** **** 0 0 0 13 **** 14474 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_THICKSKIN 6 0 **** **** **** **** 0 0
|
||||
25945 FEAT_HIDDEN_TALENT_VIGOR 16990463 16823672 fot_horror 999 **** **** **** **** **** 11 **** **** **** 0 0 0 9 **** 14475 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_VIGOR 6 0 **** **** **** **** 0 0
|
||||
25946 FEAT_HIDDEN_TALENT_GRIP_IRON 16990464 16790301 fot_metaclaw 999 **** **** **** **** **** 11 **** **** **** 0 0 0 10 **** 15686 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** FEAT_HIDDEN_TALENT_GRIP_IRON 6 0 **** **** **** **** 0 0
|
||||
25947 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
25948 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
25949 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
|
||||
@@ -1,129 +1,129 @@
|
||||
2DA V2.0
|
||||
|
||||
LABEL STRREF DESCRIPTION ICON
|
||||
0 ImprovedCritical 6489 228 ife_impcrit
|
||||
1 WeaponFocus 6490 436 ife_wepfoc
|
||||
2 WeaponSpecialization 6491 444 ife_wepspec
|
||||
3 SpellFocus 6492 426 ife_magic
|
||||
4 SkillFocus 6493 424 ife_skfoc
|
||||
5 FavoredEnemy 6566 6079 ife_racehate
|
||||
6 GreaterSpellFocus 2838 2791 ife_magic
|
||||
7 ArcaneDefense 2839 2823 ife_magic
|
||||
8 ResistEnergy 2840 2835 ife_magic
|
||||
9 WeaponOfChoice 83313 8728 ife_X2WpCh
|
||||
10 EpicWeaponFocus 83475 8415 ife_X2EWpFo
|
||||
11 EpicWeaponSpec 83481 8456 ife_X2WpSpec
|
||||
12 OverwhelmingCritical 83480 8524 ife_X2OvCrit
|
||||
13 DevastatingCrit 83482 3909 ife_X2DevCrit
|
||||
14 EpicSpell 83483 83484 ife_X2ESpell
|
||||
15 EpicSkillFocus 83485 4063 ife_X2skfoc
|
||||
16 EpicSpellFocus 83486 4084 ife_X2magic
|
||||
17 EpicEnergyResistance 83487 83488 ife_X2EResi
|
||||
18 **** **** **** ****
|
||||
19 **** **** **** ****
|
||||
20 **** **** **** ****
|
||||
21 **** **** **** ****
|
||||
22 **** **** **** ****
|
||||
23 **** **** **** ****
|
||||
24 **** **** **** ****
|
||||
25 **** **** **** ****
|
||||
26 **** **** **** ****
|
||||
27 **** **** **** ****
|
||||
28 **** **** **** ****
|
||||
29 **** **** **** ****
|
||||
30 **** **** **** ****
|
||||
31 **** **** **** ****
|
||||
32 **** **** **** ****
|
||||
33 **** **** **** ****
|
||||
34 **** **** **** ****
|
||||
35 **** **** **** ****
|
||||
36 **** **** **** ****
|
||||
37 **** **** **** ****
|
||||
38 **** **** **** ****
|
||||
39 **** **** **** ****
|
||||
40 **** **** **** ****
|
||||
41 **** **** **** ****
|
||||
42 **** **** **** ****
|
||||
43 **** **** **** ****
|
||||
44 **** **** **** ****
|
||||
45 **** **** **** ****
|
||||
46 **** **** **** ****
|
||||
47 **** **** **** ****
|
||||
48 **** **** **** ****
|
||||
49 **** **** **** ****
|
||||
50 SpellLikeAbility 16822760 16822761 ife_X2ESpell
|
||||
51 **** **** **** ****
|
||||
52 BindingFeats 16835231 16835232 fot_oracle
|
||||
53 IncarnumFeats 16838110 16838111 ife_psi_focus
|
||||
54 ShadowcastingFeats 16836244 16836245 ife_X1SDaze
|
||||
55 HatedFoe 16824268 16824269 ife_racehate
|
||||
56 Gather_Horde 16824322 16824323 ife_unseenwander
|
||||
57 Gather_Horde 16824324 16824325 ife_unseenwander
|
||||
58 Summon_Demon 16824528 16824529 ife_alertness
|
||||
59 DragonHeritage 16832504 16832505 ife_drag_group
|
||||
60 DraconicFeats 16832502 16832503 ife_drag_group
|
||||
61 Psionic_Breath 16832466 16832467 ife_X2DDBreath
|
||||
62 Dragonwrought 16832408 16832409 ife_drag_group
|
||||
63 DragonBlood 16832131 16832132 ife_DDHDincrease
|
||||
64 Minor_Aura 16828301 16828302 ife_lliiraaura
|
||||
65 Major_Aura 16828303 16828304 ife_lliiraaura
|
||||
66 Dragon_Affinity 16832585 16832586 ife_drag_group
|
||||
67 Draconic_Surge_Phys 16832587 16832588 ife_drag_group
|
||||
68 Draconic_Surge_Mental 16832589 16832590 ife_drag_group
|
||||
69 ToT_Immunities 16832661 16832662 dradis_immune
|
||||
70 TattooFocus 16822436 16822437 rw_scribetatoo
|
||||
71 Dragon_Shaman_Auras 16832707 16832708 ife_lliiraaura
|
||||
72 Totem_Dragons 16832709 16832710 dradis_gen
|
||||
73 Bonus_Draconic_Auras 16832802 16832832 ife_lliiraaura
|
||||
74 Major_Aura_Draconic 16832818 16832819 ife_lliiraaura
|
||||
75 MetabreathFeats 16832867 16832868 ife_X2DDBreath
|
||||
76 BreathChanneling 16832869 16832870 ife_DDHDincrease
|
||||
77 BreathEffects 16832922 16832923 ife_X2DDBreath
|
||||
78 BladeMeditation 16827008 16827009 ife_X2EpWM
|
||||
79 WarforgedArmor 16828215 16828216 ife_armor_h
|
||||
80 PsionicFeats 16822911 16822912 ife_psifeats
|
||||
81 MetaPsionicFeats 16822913 16822914 ife_metapsifeat
|
||||
82 AntiPsionicFeats 16826474 16826475 ife_antipsifeats
|
||||
83 DragonAugment 16832444 16832445 dradis_gen
|
||||
84 ShifterFeats 16828112 16828113 ife_X2OutShape
|
||||
85 PnP_Weapon_Prof_Simp 16834217 16834260 ife_weppro_sim
|
||||
86 PnP_Weapon_Prof_Mart 16834218 16834261 ife_weppro_mar
|
||||
87 PnP_Weapon_Prof_Exot 16834219 16834262 ife_weppro_ex
|
||||
88 UFavoredEnemy 16825439 6079 ife_racehate
|
||||
89 VileMartial 16825479 16825480 ife_combat
|
||||
90 FocusedSpellPenetr 16825325 16825324 ife_magic
|
||||
91 BondedSummoner 16826038 16826039 ife_mastelem
|
||||
92 ElementalConflag 16823300 16823301 ife_mastelem
|
||||
93 SanctifyMartial 16823244 16823245 ife_combat
|
||||
94 WeaponChoiceTempus 16822944 16822945 ife_X2WpCh
|
||||
95 Evilbrand 16822849 16822850 ife_X2BoneSk1
|
||||
96 Aberrant 16790214 16790215 ife_dfrm_gaunt
|
||||
97 ExaltedFeats 16854436 16854437 ife_holyrad
|
||||
98 **** **** **** ****
|
||||
99 **** **** **** ****
|
||||
100 **** **** **** ****
|
||||
101 MinorOozyTouch 16825040 16825041 is_ghoultch
|
||||
102 MajorOozyTouch 16825050 16825051 is_ghoultch
|
||||
103 ToBFeats 16836033 16836034 im_MithTornado
|
||||
104 BaneMagic 16793665 16793666 ife_banemagic
|
||||
105 MinstrelSongTier1 16823496 16823497 ife_minstrel
|
||||
106 FavoredDivSong1 16823500 16823505 ife_fom
|
||||
107 FavoredDivSong2 16823501 16823505 ife_fom
|
||||
108 FavoredDivSong3 16823502 16823505 ife_fom
|
||||
109 FavoredDivSong4 16823503 16823505 ife_fom
|
||||
110 FavoredDivSong5 16823504 16823505 ife_fom
|
||||
111 BonusDomains 16827845 16827846 rw_specialistdef
|
||||
112 FocusedLexicon 16827469 16827468 ife_racehate
|
||||
113 UtteranceFocus 16827483 16827482 ife_foc_spel
|
||||
114 ReserveFeats 16852238 16852239 ife_foc_spel
|
||||
115 **** **** **** ****
|
||||
116 **** **** **** ****
|
||||
117 DivineGift 16854432 16854433 ife_magic
|
||||
118 **** **** **** ****
|
||||
119 **** **** **** ****
|
||||
120 HiddenTalent 16990417 16990418 ife_psifeats
|
||||
121 SpecialAttack 16987216 16987217 ife_combat
|
||||
122 InvokerMarkerFeats 16854434 16854435 ife_magic
|
||||
123 AbilityFocus 16854430 16854431 ife_magic
|
||||
124 PsionDiscipline 16854428 16854429 ife_psifeats
|
||||
125 SpellcastingMarkerFeats 16854426 16854427 ife_magic
|
||||
LABEL STRREF DESCRIPTION ICON
|
||||
0 ImprovedCritical 6489 228 ife_impcrit
|
||||
1 WeaponFocus 6490 436 ife_wepfoc
|
||||
2 WeaponSpecialization 6491 444 ife_wepspec
|
||||
3 SpellFocus 6492 426 ife_magic
|
||||
4 SkillFocus 6493 424 ife_skfoc
|
||||
5 FavoredEnemy 6566 6079 ife_racehate
|
||||
6 GreaterSpellFocus 2838 2791 ife_magic
|
||||
7 ArcaneDefense 2839 2823 ife_magic
|
||||
8 ResistEnergy 2840 2835 ife_magic
|
||||
9 WeaponOfChoice 83313 8728 ife_X2WpCh
|
||||
10 EpicWeaponFocus 83475 8415 ife_X2EWpFo
|
||||
11 EpicWeaponSpec 83481 8456 ife_X2WpSpec
|
||||
12 OverwhelmingCritical 83480 8524 ife_X2OvCrit
|
||||
13 DevastatingCrit 83482 3909 ife_X2DevCrit
|
||||
14 EpicSpell 83483 83484 ife_X2ESpell
|
||||
15 EpicSkillFocus 83485 4063 ife_X2skfoc
|
||||
16 EpicSpellFocus 83486 4084 ife_X2magic
|
||||
17 EpicEnergyResistance 83487 83488 ife_X2EResi
|
||||
18 **** **** **** ****
|
||||
19 **** **** **** ****
|
||||
20 **** **** **** ****
|
||||
21 **** **** **** ****
|
||||
22 **** **** **** ****
|
||||
23 **** **** **** ****
|
||||
24 **** **** **** ****
|
||||
25 **** **** **** ****
|
||||
26 **** **** **** ****
|
||||
27 **** **** **** ****
|
||||
28 **** **** **** ****
|
||||
29 **** **** **** ****
|
||||
30 **** **** **** ****
|
||||
31 **** **** **** ****
|
||||
32 **** **** **** ****
|
||||
33 **** **** **** ****
|
||||
34 **** **** **** ****
|
||||
35 **** **** **** ****
|
||||
36 **** **** **** ****
|
||||
37 **** **** **** ****
|
||||
38 **** **** **** ****
|
||||
39 **** **** **** ****
|
||||
40 **** **** **** ****
|
||||
41 **** **** **** ****
|
||||
42 **** **** **** ****
|
||||
43 **** **** **** ****
|
||||
44 **** **** **** ****
|
||||
45 **** **** **** ****
|
||||
46 **** **** **** ****
|
||||
47 **** **** **** ****
|
||||
48 **** **** **** ****
|
||||
49 **** **** **** ****
|
||||
50 SpellLikeAbility 16822760 16822761 ife_X2ESpell
|
||||
51 **** **** **** ****
|
||||
52 BindingFeats 16835231 16835232 fot_oracle
|
||||
53 IncarnumFeats 16838110 16838111 ife_psi_focus
|
||||
54 ShadowcastingFeats 16836244 16836245 ife_X1SDaze
|
||||
55 HatedFoe 16824268 16824269 ife_racehate
|
||||
56 Gather_Horde 16824322 16824323 ife_unseenwander
|
||||
57 Gather_Horde 16824324 16824325 ife_unseenwander
|
||||
58 Summon_Demon 16824528 16824529 ife_alertness
|
||||
59 DragonHeritage 16832504 16832505 ife_drag_group
|
||||
60 DraconicFeats 16832502 16832503 ife_drag_group
|
||||
61 Psionic_Breath 16832466 16832467 ife_X2DDBreath
|
||||
62 Dragonwrought 16832408 16832409 ife_drag_group
|
||||
63 DragonBlood 16832131 16832132 ife_DDHDincrease
|
||||
64 Minor_Aura 16828301 16828302 ife_lliiraaura
|
||||
65 Major_Aura 16828303 16828304 ife_lliiraaura
|
||||
66 Dragon_Affinity 16832585 16832586 ife_drag_group
|
||||
67 Draconic_Surge_Phys 16832587 16832588 ife_drag_group
|
||||
68 Draconic_Surge_Mental 16832589 16832590 ife_drag_group
|
||||
69 ToT_Immunities 16832661 16832662 dradis_immune
|
||||
70 TattooFocus 16822436 16822437 rw_scribetatoo
|
||||
71 Dragon_Shaman_Auras 16832707 16832708 ife_lliiraaura
|
||||
72 Totem_Dragons 16832709 16832710 dradis_gen
|
||||
73 Bonus_Draconic_Auras 16832802 16832832 ife_lliiraaura
|
||||
74 Major_Aura_Draconic 16832818 16832819 ife_lliiraaura
|
||||
75 MetabreathFeats 16832867 16832868 ife_X2DDBreath
|
||||
76 BreathChanneling 16832869 16832870 ife_DDHDincrease
|
||||
77 BreathEffects 16832922 16832923 ife_X2DDBreath
|
||||
78 BladeMeditation 16827008 16827009 ife_X2EpWM
|
||||
79 WarforgedArmor 16828215 16828216 ife_armor_h
|
||||
80 PsionicFeats 16822911 16822912 ife_psifeats
|
||||
81 MetaPsionicFeats 16822913 16822914 ife_metapsifeat
|
||||
82 AntiPsionicFeats 16826474 16826475 ife_antipsifeats
|
||||
83 DragonAugment 16832444 16832445 dradis_gen
|
||||
84 ShifterFeats 16828112 16828113 ife_X2OutShape
|
||||
85 PnP_Weapon_Prof_Simp 16834217 16834260 ife_weppro_sim
|
||||
86 PnP_Weapon_Prof_Mart 16834218 16834261 ife_weppro_mar
|
||||
87 PnP_Weapon_Prof_Exot 16834219 16834262 ife_weppro_ex
|
||||
88 UFavoredEnemy 16825439 6079 ife_racehate
|
||||
89 VileMartial 16825479 16825480 ife_combat
|
||||
90 FocusedSpellPenetr 16825325 16825324 ife_magic
|
||||
91 BondedSummoner 16826038 16826039 ife_mastelem
|
||||
92 ElementalConflag 16823300 16823301 ife_mastelem
|
||||
93 SanctifyMartial 16823244 16823245 ife_combat
|
||||
94 WeaponChoiceTempus 16822944 16822945 ife_X2WpCh
|
||||
95 Evilbrand 16822849 16822850 ife_X2BoneSk1
|
||||
96 Aberrant 16790214 16790215 ife_dfrm_gaunt
|
||||
97 ExaltedFeats 16854436 16854437 ife_holyrad
|
||||
98 **** **** **** ****
|
||||
99 **** **** **** ****
|
||||
100 **** **** **** ****
|
||||
101 MinorOozyTouch 16825040 16825041 is_ghoultch
|
||||
102 MajorOozyTouch 16825050 16825051 is_ghoultch
|
||||
103 ToBFeats 16836033 16836034 im_MithTornado
|
||||
104 BaneMagic 16793665 16793666 ife_banemagic
|
||||
105 MinstrelSongTier1 16823496 16823497 ife_minstrel
|
||||
106 FavoredDivSong1 16823500 16823505 ife_fom
|
||||
107 FavoredDivSong2 16823501 16823505 ife_fom
|
||||
108 FavoredDivSong3 16823502 16823505 ife_fom
|
||||
109 FavoredDivSong4 16823503 16823505 ife_fom
|
||||
110 FavoredDivSong5 16823504 16823505 ife_fom
|
||||
111 BonusDomains 16827845 16827846 rw_specialistdef
|
||||
112 FocusedLexicon 16827469 16827468 ife_racehate
|
||||
113 UtteranceFocus 16827483 16827482 ife_foc_spel
|
||||
114 ReserveFeats 16852238 16852239 ife_foc_spel
|
||||
115 **** **** **** ****
|
||||
116 **** **** **** ****
|
||||
117 DivineGift 16854432 16854433 ife_magic
|
||||
118 **** **** **** ****
|
||||
119 **** **** **** ****
|
||||
120 **** **** **** ****
|
||||
121 SpecialAttack 16987216 16987217 ife_combat
|
||||
122 InvokerMarkerFeats 16854434 16854435 ife_magic
|
||||
123 AbilityFocus 16854430 16854431 ife_magic
|
||||
124 PsionDiscipline 16854428 16854429 ife_psifeats
|
||||
125 SpellcastingMarkerFeats 16854426 16854427 ife_magic
|
||||
|
||||
@@ -6287,6 +6287,7 @@ const int FEAT_DSONG_SPELLCASTING_NONE = 19592;
|
||||
const int FEAT_OLLAM_SPELLCASTING_NONE = 19593;
|
||||
|
||||
//:: PRC8 Hidden Talent Feats
|
||||
const int FEAT_HIDDEN_TALENT = 25900;
|
||||
const int FEAT_HIDDEN_TALENT_BIOFEEDBACK = 25901;
|
||||
const int FEAT_HIDDEN_TALENT_BITE_WOLF = 25902;
|
||||
const int FEAT_HIDDEN_TALENT_BOLT = 25903;
|
||||
|
||||
@@ -76,7 +76,7 @@
|
||||
|
||||
/* This variable MUST be updated with every new version of the PRC!!! */
|
||||
|
||||
const string PRC_VERSION = "PRC8 4.74";
|
||||
const string PRC_VERSION = "PRC8 4.75";
|
||||
|
||||
/* This variable MUST be updated every time 'assemble_spellbooks.bat' is run!!! */
|
||||
|
||||
|
||||
@@ -1755,6 +1755,59 @@ int IsHiddenTalent(object oPC = OBJECT_SELF)
|
||||
}
|
||||
}
|
||||
|
||||
int GetHiddenTalentPowerFromFeat(int nFeatID)
|
||||
{
|
||||
// Map Hidden Talent feats to their corresponding power IDs
|
||||
// Using the same mappings as GetIsHiddenTalentPower()
|
||||
if(nFeatID == FEAT_HIDDEN_TALENT_BIOFEEDBACK) return POWER_BIOFEEDBACK;
|
||||
if(nFeatID == FEAT_HIDDEN_TALENT_BITE_WOLF) return POWER_BITE_WOLF;
|
||||
if(nFeatID == FEAT_HIDDEN_TALENT_BOLT) return POWER_BOLT;
|
||||
if(nFeatID == FEAT_HIDDEN_TALENT_BURST) return POWER_BURST;
|
||||
if(nFeatID == FEAT_HIDDEN_TALENT_CALLTOMIND) return POWER_CALLTOMIND;
|
||||
if(nFeatID == FEAT_HIDDEN_TALENT_CALL_WEAPONRY) return POWER_CALL_WEAPONRY;
|
||||
if(nFeatID == FEAT_HIDDEN_TALENT_CHAMELEON) return POWER_CHAMELEON;
|
||||
if(nFeatID == FEAT_HIDDEN_TALENT_CLAWS_BEAST) return POWER_CLAWS_BEAST;
|
||||
if(nFeatID == FEAT_HIDDEN_TALENT_COMPRESSION) return POWER_COMPRESSION;
|
||||
if(nFeatID == FEAT_HIDDEN_TALENT_CONCEALTHOUGHT) return POWER_CONCEALTHOUGHT;
|
||||
if(nFeatID == FEAT_HIDDEN_TALENT_CREATESOUND) return POWER_CREATESOUND;
|
||||
if(nFeatID == FEAT_HIDDEN_TALENT_CRYSTALSHARD) return POWER_CRYSTALSHARD;
|
||||
if(nFeatID == FEAT_HIDDEN_TALENT_DAZE) return POWER_DAZE;
|
||||
if(nFeatID == FEAT_HIDDEN_TALENT_DECELERATION) return POWER_DECELERATION;
|
||||
if(nFeatID == FEAT_HIDDEN_TALENT_DEFPRECOG) return POWER_DEFPRECOG;
|
||||
if(nFeatID == FEAT_HIDDEN_TALENT_DEMORALIZE) return POWER_DEMORALIZE;
|
||||
if(nFeatID == FEAT_HIDDEN_TALENT_DISABLE) return POWER_DISABLE;
|
||||
if(nFeatID == FEAT_HIDDEN_TALENT_DISSIPATINGTOUCH)return POWER_DISSIPATINGTOUCH;
|
||||
if(nFeatID == FEAT_HIDDEN_TALENT_DISTRACT) return POWER_DISTRACT;
|
||||
if(nFeatID == FEAT_HIDDEN_TALENT_ELFSIGHT) return POWER_ELFSIGHT;
|
||||
if(nFeatID == FEAT_HIDDEN_TALENT_EMPATHY) return POWER_EMPATHY;
|
||||
if(nFeatID == FEAT_HIDDEN_TALENT_EMPTYMIND) return POWER_EMPTYMIND;
|
||||
if(nFeatID == FEAT_HIDDEN_TALENT_ENTANGLE) return POWER_ENTANGLE;
|
||||
if(nFeatID == FEAT_HIDDEN_TALENT_EXPANSION) return POWER_EXPANSION;
|
||||
if(nFeatID == FEAT_HIDDEN_TALENT_FARHAND) return POWER_FARHAND;
|
||||
if(nFeatID == FEAT_HIDDEN_TALENT_FORCESCREEN) return POWER_FORCESCREEN;
|
||||
if(nFeatID == FEAT_HIDDEN_TALENT_GREASE) return POWER_GREASE;
|
||||
if(nFeatID == FEAT_HIDDEN_TALENT_HAMMER) return POWER_HAMMER;
|
||||
if(nFeatID == FEAT_HIDDEN_TALENT_INERTIALARMOUR) return POWER_INERTIALARMOUR;
|
||||
if(nFeatID == FEAT_HIDDEN_TALENT_MATTERAGITATION) return POWER_MATTERAGITATION;
|
||||
if(nFeatID == FEAT_HIDDEN_TALENT_METAPHYSICAL_CLAW) return POWER_METAPHYSICAL_CLAW;
|
||||
if(nFeatID == FEAT_HIDDEN_TALENT_METAPHYSICAL_WEAPON) return POWER_METAPHYSICAL_WEAPON;
|
||||
if(nFeatID == FEAT_HIDDEN_TALENT_MINDTHRUST) return POWER_MINDTHRUST;
|
||||
if(nFeatID == FEAT_HIDDEN_TALENT_MYLIGHT) return POWER_MYLIGHT;
|
||||
if(nFeatID == FEAT_HIDDEN_TALENT_OFFPRECOG) return POWER_OFFPRECOG;
|
||||
if(nFeatID == FEAT_HIDDEN_TALENT_OFFPRESC) return POWER_OFFPRESC;
|
||||
if(nFeatID == FEAT_HIDDEN_TALENT_PREVENOM) return POWER_PREVENOM;
|
||||
if(nFeatID == FEAT_HIDDEN_TALENT_PREVENOM_WEAPON) return POWER_PREVENOM_WEAPON;
|
||||
if(nFeatID == FEAT_HIDDEN_TALENT_SKATE) return POWER_SKATE;
|
||||
if(nFeatID == FEAT_HIDDEN_TALENT_STOMP) return POWER_STOMP;
|
||||
if(nFeatID == FEAT_HIDDEN_TALENT_SYNESTHETE) return POWER_SYNESTHETE;
|
||||
if(nFeatID == FEAT_HIDDEN_TALENT_TELEMPATHICPRO) return POWER_TELEMPATHICPRO;
|
||||
if(nFeatID == FEAT_HIDDEN_TALENT_THICKSKIN) return POWER_THICKSKIN;
|
||||
if(nFeatID == FEAT_HIDDEN_TALENT_VIGOR) return POWER_VIGOR;
|
||||
if(nFeatID == FEAT_HIDDEN_TALENT_GRIP_IRON) return POWER_GRIP_IRON;
|
||||
|
||||
return -1; // Not found
|
||||
}
|
||||
|
||||
int GetHiddenTalentCount(object oPC = OBJECT_SELF)
|
||||
{
|
||||
int nCount = 0;
|
||||
|
||||
@@ -142,8 +142,8 @@ int _GetFeatBonusPP(object oChar)
|
||||
nBonusPP += 2;
|
||||
|
||||
//:: Hidden Talent
|
||||
if(IsHiddenTalent())
|
||||
nBonusPP += 2 * GetHiddenTalentCount(oChar);
|
||||
if(GetHasFeat(FEAT_HIDDEN_TALENT, oChar))
|
||||
nBonusPP += 2;
|
||||
|
||||
//:: Psionic Feats
|
||||
int i;
|
||||
|
||||
174
nwn/nwnprc/trunk/psionics/hidden_talent_cv.nss
Normal file
174
nwn/nwnprc/trunk/psionics/hidden_talent_cv.nss
Normal file
@@ -0,0 +1,174 @@
|
||||
//:://////////////////////////////////////////////
|
||||
//:: Hidden Talent Power Conversation
|
||||
//:: hidden_talent_cv
|
||||
//:://////////////////////////////////////////////
|
||||
/** @file
|
||||
This allows you to choose a psionic power for Hidden Talent feat
|
||||
|
||||
@author Modified from prc_favsoulweap.nss
|
||||
@date Created - 2025.12.14
|
||||
*/
|
||||
//:://////////////////////////////////////////////
|
||||
//:://////////////////////////////////////////////
|
||||
|
||||
#include "prc_inc_fork"
|
||||
#include "inc_item_props"
|
||||
#include "prc_x2_itemprop"
|
||||
#include "inc_dynconv"
|
||||
#include "psi_inc_psifunc"
|
||||
|
||||
//////////////////////////////////////////////////
|
||||
/* Constant defintions */
|
||||
//////////////////////////////////////////////////
|
||||
|
||||
const int STAGE_POWER_CHOICE = 0;
|
||||
const int STAGE_CONFIRMATION = 1;
|
||||
|
||||
//////////////////////////////////////////////////
|
||||
/* Aid functions */
|
||||
//////////////////////////////////////////////////
|
||||
|
||||
//////////////////////////////////////////////////
|
||||
/* Main function */
|
||||
//////////////////////////////////////////////////
|
||||
|
||||
void main()
|
||||
{
|
||||
//object oPC = GetPCSpeaker();
|
||||
object oPC = OBJECT_SELF;
|
||||
/* Get the value of the local variable set by the conversation script calling
|
||||
* this script. Values:
|
||||
* DYNCONV_ABORTED Conversation aborted
|
||||
* DYNCONV_EXITED Conversation exited via the exit node
|
||||
* DYNCONV_SETUP_STAGE System's reply turn
|
||||
* 0 Error - something else called the script
|
||||
* Other The user made a choice
|
||||
*/
|
||||
int nValue = GetLocalInt(oPC, DYNCONV_VARIABLE);
|
||||
// The stage is used to determine the active conversation node.
|
||||
// 0 is the entry node.
|
||||
int nStage = GetStage(oPC);
|
||||
|
||||
if(DEBUG) DoDebug("hidden_talent_cv: Entering Hidden Talent conversation");
|
||||
|
||||
// Check which of the conversation scripts called the scripts
|
||||
if(nValue == 0) // All of them set the DynConv_Var to non-zero value, so something is wrong -> abort
|
||||
return;
|
||||
|
||||
if(nValue == DYNCONV_SETUP_STAGE)
|
||||
{
|
||||
// Check if this stage is marked as already set up
|
||||
// This stops list duplication when scrolling
|
||||
if(!GetIsStageSetUp(nStage, oPC))
|
||||
{
|
||||
// variable named nStage determines the current conversation node
|
||||
// Function SetHeader to set the text displayed to the PC
|
||||
// Function AddChoice to add a response option for the PC. The responses are show in order added
|
||||
if(nStage == STAGE_POWER_CHOICE)
|
||||
{
|
||||
string sHeader1 = "Select a 1st-level psionic power for Hidden Talent.\n";
|
||||
sHeader1 += "This will grant you the ability to manifest this power as a psionic-like ability.";
|
||||
SetHeader(sHeader1);
|
||||
|
||||
// Loop through all Hidden Talent feats (25901-25946)
|
||||
int added = 0;
|
||||
int i;
|
||||
string sFeatName;
|
||||
|
||||
for(i = 25901; i <= 25946; i++)
|
||||
{
|
||||
// Get the feat name from the feats.2da
|
||||
sFeatName = Get2DACache("feats", "NAME", i);
|
||||
if(sFeatName != "" && sFeatName != "****")
|
||||
{
|
||||
// Convert the feat constant name to display name
|
||||
// Remove "FEAT_HIDDEN_TALENT_" and replace underscores with spaces
|
||||
string sDisplayName = GetStringByStrRef(StringToInt(sFeatName));
|
||||
if(sDisplayName == "") sDisplayName = "Power " + IntToString(i);
|
||||
|
||||
AddChoice(sDisplayName, i, oPC);
|
||||
added++;
|
||||
}
|
||||
}
|
||||
|
||||
if(added == 0)
|
||||
{
|
||||
AddChoice("No valid powers found.", 0, oPC);
|
||||
}
|
||||
|
||||
MarkStageSetUp(STAGE_POWER_CHOICE, oPC); // This prevents the setup being run for this stage again until MarkStageNotSetUp is called for it
|
||||
SetDefaultTokens(); // Set the next, previous, exit and wait tokens to default values
|
||||
}
|
||||
else if(nStage == STAGE_CONFIRMATION)//confirmation
|
||||
{
|
||||
int nChoice = GetLocalInt(oPC, "HiddenTalentPower");
|
||||
AddChoice(GetStringByStrRef(4752), TRUE); // "Yes"
|
||||
AddChoice(GetStringByStrRef(4753), FALSE); // "No"
|
||||
|
||||
string sText = "You have selected the Hidden Talent power.\n";
|
||||
sText += "Is this correct?";
|
||||
|
||||
SetHeader(sText);
|
||||
MarkStageSetUp(STAGE_CONFIRMATION, oPC);
|
||||
}
|
||||
}
|
||||
|
||||
// Do token setup
|
||||
SetupTokens();
|
||||
}
|
||||
// End of conversation cleanup
|
||||
else if(nValue == DYNCONV_EXITED)
|
||||
{
|
||||
// End of conversation cleanup
|
||||
DeleteLocalInt(oPC, "HiddenTalentPower");
|
||||
}
|
||||
// Abort conversation cleanup.
|
||||
// NOTE: This section is only run when the conversation is aborted
|
||||
// while aborting is allowed. When it isn't, the dynconvo infrastructure
|
||||
// handles restoring the conversation in a transparent manner
|
||||
else if(nValue == DYNCONV_ABORTED)
|
||||
{
|
||||
// End of conversation cleanup
|
||||
DeleteLocalInt(oPC, "HiddenTalentPower");
|
||||
}
|
||||
// Handle PC responses
|
||||
else
|
||||
{
|
||||
// variable named nChoice is the value of the player's choice as stored when building the choice list
|
||||
// variable named nStage determines the current conversation node
|
||||
int nChoice = GetChoice(oPC);
|
||||
if(nStage == STAGE_POWER_CHOICE)
|
||||
{
|
||||
// Go to this stage next
|
||||
nStage = STAGE_CONFIRMATION;
|
||||
SetLocalInt(oPC, "HiddenTalentPower", nChoice);
|
||||
}
|
||||
else if(nStage == STAGE_CONFIRMATION)//confirmation
|
||||
{
|
||||
if(nChoice == TRUE)
|
||||
{
|
||||
int nFeatID = GetLocalInt(oPC, "HiddenTalentPower");
|
||||
|
||||
// Grant the Hidden Talent feat directly
|
||||
AddSkinFeat(nFeatID, nFeatID, GetPCSkin(oPC), oPC);
|
||||
|
||||
// Mark that Hidden Talent has been chosen
|
||||
SetPersistantLocalInt(oPC, "HiddenTalentChosen", TRUE);
|
||||
|
||||
// And we're all done
|
||||
AllowExit(DYNCONV_EXIT_FORCE_EXIT);
|
||||
}
|
||||
else
|
||||
{
|
||||
nStage = STAGE_POWER_CHOICE;
|
||||
MarkStageNotSetUp(STAGE_POWER_CHOICE, oPC);
|
||||
MarkStageNotSetUp(STAGE_CONFIRMATION, oPC);
|
||||
}
|
||||
|
||||
DeleteLocalInt(oPC, "HiddenTalentPower");
|
||||
}
|
||||
|
||||
// Store the stage value. If it has been changed, this clears out the choices
|
||||
SetStage(nStage, oPC);
|
||||
}
|
||||
}
|
||||
@@ -635,7 +635,7 @@ void PRCFeat_AddBonusFeats(object oPC, object oSkin)
|
||||
if(!GetHasFeat(FEAT_COMBAT_MOVE_3, oPC))
|
||||
AddSkinFeat(FEAT_COMBAT_MOVE_3, IP_CONST_FEAT_COMBAT_MOVE_3, oSkin, oPC);
|
||||
|
||||
if(GetHasFeat(FEAT_WILD_TALENT, oPC))
|
||||
if(GetHasFeat(FEAT_WILD_TALENT, oPC) || (GetHasFeat(FEAT_HIDDEN_TALENT, oPC)))
|
||||
AddSkinFeat(FEAT_PSIONIC_FOCUS, IP_CONST_FEAT_PSIONIC_FOCUS, oSkin, oPC);
|
||||
|
||||
if(IsHiddenTalent())
|
||||
|
||||
@@ -61,6 +61,13 @@ void main()
|
||||
ExecuteScript("tob_evnt_recover", oPC);
|
||||
ExecuteScript("moi_wchb_royal", oPC);
|
||||
|
||||
// Handle Hidden Talent
|
||||
if(GetHasFeat(FEAT_HIDDEN_TALENT, oPC) && !GetPersistantLocalInt(oPC, "HiddenTalentChosen"))
|
||||
{
|
||||
// Trigger Hidden Talent power selection conversation
|
||||
AssignCommand(oPC, ActionStartConversation(oPC, "hidden_talent_cv", TRUE, FALSE));
|
||||
}
|
||||
|
||||
// Execute scripts hooked to this event for the player triggering it
|
||||
ExecuteAllScriptsHookedToEvent(oPC, EVENT_ONPLAYERLEVELUP);
|
||||
if(DEBUG) DoDebug("prc_levelup: Exiting");
|
||||
|
||||
@@ -5286,8 +5286,7 @@ Baelnorn Properties: +8 bonus to Hide, Listen, Move Silently, Search, Persuade,
|
||||
<entry id="16565" lang="en" sex="m">Myconid</entry>
|
||||
<entry id="16566" lang="en" sex="m">Algoid</entry>
|
||||
<entry id="16567" lang="en" sex="m">****</entry>
|
||||
<entry id="16568" lang="en" sex="m">****
|
||||
</entry>
|
||||
<entry id="16568" lang="en" sex="m">****</entry>
|
||||
<entry id="16569" lang="en" sex="m">****</entry>
|
||||
<entry id="16570" lang="en" sex="m">****</entry>
|
||||
<entry id="16571" lang="en" sex="m">Abundant Step (Su)</entry>
|
||||
@@ -14756,8 +14755,7 @@ Level:
|
||||
<entry id="47155" lang="en" sex="m">Archetypal Form</entry>
|
||||
<entry id="47156" lang="en" sex="m">Type of Feat: Builder's Tool
|
||||
Prerequisite: A creature you don't want people to polymorph into
|
||||
Specifics: The presence of this feat on a creature, as tested for using GetHasFeat(), prevents the use of it as a template
|
||||
by users of PRC polymorphing mechanics (PnP Shifter, Soul Eater, etc.)
|
||||
Specifics: The presence of this feat on a creature, as tested for using GetHasFeat(), prevents the use of it as a template by users of PRC polymorphing mechanics (PnP Shifter, Soul Eater, etc.)
|
||||
Use: Automatic, used in the function GetCanShiftIntoCreature() in prc_inc_shifting</entry>
|
||||
<entry id="47157" lang="en" sex="m">Soak 4 Damage</entry>
|
||||
<entry id="47158" lang="en" sex="m">Soak 6 Damage</entry>
|
||||
|
||||
239
nwn/nwnprc/trunk/users/Jaysyn/imprint_power_stone.nss
Normal file
239
nwn/nwnprc/trunk/users/Jaysyn/imprint_power_stone.nss
Normal file
@@ -0,0 +1,239 @@
|
||||
// -----------------------------------------------------------------------------
|
||||
// Returns TRUE if the player used the last power to create a power stone
|
||||
// -----------------------------------------------------------------------------
|
||||
int CICraftCheckImprintPowerStone(object oSpellTarget, object oCaster, int nPowerID = 0)
|
||||
{
|
||||
if(nPowerID == 0) nPowerID = PRCGetSpellId(); // Using same function for powers
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// check if imprint stone feat is there
|
||||
// -------------------------------------------------------------------------
|
||||
if (GetHasFeat(FEAT_IMPRINT_STONE, oCaster) != TRUE) // Placeholder feat constant
|
||||
{
|
||||
FloatingTextStrRefOnCreature(40487, oCaster); // Item Creation Failed - Don't know how to create that type of item
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Check if the power is allowed to be used with Imprint Stone
|
||||
// -------------------------------------------------------------------------
|
||||
if (CIGetIsSpellRestrictedFromCraftFeat(nPowerID, FEAT_IMPRINT_STONE)) // Using same restriction function
|
||||
{
|
||||
FloatingTextStrRefOnCreature(83451, oCaster); // can not be used with this feat
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// XP/GP Cost Calculation
|
||||
// -------------------------------------------------------------------------
|
||||
int nPowerLevel = CIGetSpellInnateLevel(nPowerID,TRUE); // Using same function for power level
|
||||
int nManifesterLevel = GetManifesterLevel(oCaster); // Placeholder function for manifester level
|
||||
int nCost = nPowerLevel * nManifesterLevel * 25; // Power stone formula: level <20> manifester level <20> 25 gp
|
||||
|
||||
struct craft_cost_struct costs = GetModifiedCostsFromBase(nCost, oCaster, FEAT_IMPRINT_STONE, FALSE);
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Does Player have enough gold?
|
||||
// -------------------------------------------------------------------------
|
||||
if(!GetHasGPToSpend(oCaster, costs.nGoldCost))
|
||||
{
|
||||
FloatingTextStrRefOnCreature(3786, oCaster); // Item Creation Failed - not enough gold!
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
int nHD = GetHitDice(oCaster);
|
||||
int nMinXPForLevel = ((nHD * (nHD - 1)) / 2) * 1000;
|
||||
int nNewXP = GetXP(oCaster) - costs.nXPCost;
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// check for sufficient XP to cast power
|
||||
// -------------------------------------------------------------------------
|
||||
if (!GetHasXPToSpend(oCaster, costs.nXPCost))
|
||||
{
|
||||
FloatingTextStrRefOnCreature(3785, oCaster); // Item Creation Failed - Not enough XP
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
//check power emulation (using same function)
|
||||
if(!CheckAlternativeCrafting(oCaster, nPowerID, costs))
|
||||
{
|
||||
FloatingTextStringOnCreature("*Crafting failed!*", oCaster, FALSE);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Here we imprint the power stone
|
||||
// -------------------------------------------------------------------------
|
||||
object oPowerStone = CICraftImprintPowerStone(oCaster, nPowerID); // New function to create power stone
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Verify Results
|
||||
// -------------------------------------------------------------------------
|
||||
if (GetIsObjectValid(oPowerStone))
|
||||
{
|
||||
SetIdentified(oPowerStone,TRUE);
|
||||
ActionPlayAnimation (ANIMATION_FIREFORGET_READ,1.0);
|
||||
SpendXP(oCaster, costs.nXPCost);
|
||||
SpendGP(oCaster, costs.nGoldCost);
|
||||
DestroyObject (oSpellTarget);
|
||||
FloatingTextStrRefOnCreature(8502, oCaster); // Item Creation successful
|
||||
|
||||
//advance time here (1 day per 1000 gp of base price)
|
||||
int nTimeCost = nCost / 1000;
|
||||
if(nTimeCost < 1) nTimeCost = 1;
|
||||
AdvanceTimeForPlayer(oCaster, RoundsToSeconds(nTimeCost * 24 * 60)); // Convert days to rounds
|
||||
return TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
FloatingTextStrRefOnCreature(76417, oCaster); // Item Creation Failed
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
/ -----------------------------------------------------------------------------
|
||||
// Create and Return a power stone with an item property
|
||||
// matching nPowerID.
|
||||
// -----------------------------------------------------------------------------
|
||||
object CICraftImprintPowerStone(object oCreator, int nPowerID)
|
||||
{
|
||||
if (DEBUG) DoDebug("CICraftImprintPowerStone: Enter (nPowerID=" + IntToString(nPowerID) + ")");
|
||||
|
||||
// Keep original and compute one-step master (if subradial)
|
||||
int nPowerOriginal = nPowerID;
|
||||
int nPowerMaster = nPowerOriginal;
|
||||
if (GetIsSubradialSpell(nPowerOriginal))
|
||||
{
|
||||
nPowerMaster = GetMasterSpellFromSubradial(nPowerOriginal);
|
||||
if (DEBUG) DoDebug("CICraftImprintPowerStone: subradial detected original=" + IntToString(nPowerOriginal) + " master=" + IntToString(nPowerMaster));
|
||||
}
|
||||
|
||||
// Prefer iprp mapping for the original, fallback to master
|
||||
int nPropID = IPGetIPConstCastSpellFromSpellID(nPowerOriginal);
|
||||
int nPowerUsedForIP = nPowerOriginal;
|
||||
if (nPropID < 0)
|
||||
{
|
||||
if (DEBUG) DoDebug("CICraftImprintPowerStone: no iprp for original " + IntToString(nPowerOriginal) + ", trying master " + IntToString(nPowerMaster));
|
||||
nPropID = IPGetIPConstCastSpellFromSpellID(nPowerMaster);
|
||||
nPowerUsedForIP = nPowerMaster;
|
||||
}
|
||||
|
||||
// If neither original nor master has an iprp row, we can still try templates,
|
||||
// but most templates expect a matching iprp. Bail out now if nothing found.
|
||||
if (nPropID < 0)
|
||||
{
|
||||
if (DEBUG) DoDebug("CICraftImprintPowerStone: no iprp_spells entry for original/master -> aborting");
|
||||
FloatingTextStringOnCreature("This power cannot be imprinted (no item property mapping).", oCreator, FALSE);
|
||||
return OBJECT_INVALID;
|
||||
}
|
||||
|
||||
if (DEBUG) DoDebug("CICraftImprintPowerStone: using power " + IntToString(nPowerUsedForIP) + " (iprp row " + IntToString(nPropID) + ") for item property");
|
||||
|
||||
// Material component check (based on resolved iprp row)
|
||||
string sMat = GetMaterialComponentTag(nPropID);
|
||||
if (sMat != "")
|
||||
{
|
||||
object oMat = GetItemPossessedBy(oCreator, sMat);
|
||||
if (oMat == OBJECT_INVALID)
|
||||
{
|
||||
FloatingTextStrRefOnCreature(83374, oCreator); // Missing material component
|
||||
return OBJECT_INVALID;
|
||||
}
|
||||
else
|
||||
{
|
||||
DestroyObject(oMat);
|
||||
}
|
||||
}
|
||||
|
||||
// Resolve manifester class and power stone template
|
||||
int nClass = PRCGetLastSpellCastClass(); // Using same function for power manifestation class
|
||||
string sClass = "";
|
||||
switch (nClass)
|
||||
{
|
||||
case CLASS_TYPE_PSION: sClass = "Psion"; break;
|
||||
case CLASS_TYPE_PSYCHIC_WARRIOR: sClass = "PsychicWarrior"; break;
|
||||
case CLASS_TYPE_WILDER: sClass = "Wilder"; break;
|
||||
}
|
||||
|
||||
object oTarget = OBJECT_INVALID;
|
||||
string sResRef = "";
|
||||
|
||||
// Try to find a class-specific power stone template
|
||||
if (sClass != "")
|
||||
{
|
||||
// Try original first (so if you made a subradial-specific template it will be used)
|
||||
sResRef = Get2DACache("des_crft_powerstone", sClass, nPowerOriginal);
|
||||
if (sResRef == "")
|
||||
{
|
||||
// fallback to the power that matched an iprp row (master or original)
|
||||
sResRef = Get2DACache("des_crft_powerstone", sClass, nPowerUsedForIP);
|
||||
}
|
||||
if (sResRef != "")
|
||||
{
|
||||
oTarget = CreateItemOnObject(sResRef, oCreator);
|
||||
if (DEBUG) DoDebug("CICraftImprintPowerStone: created template " + sResRef + " for class " + sClass);
|
||||
// Ensure template uses the correct cast-spell property: replace the template's cast-spell IP with ours
|
||||
if (oTarget != OBJECT_INVALID)
|
||||
{
|
||||
itemproperty ipIter = GetFirstItemProperty(oTarget);
|
||||
while (GetIsItemPropertyValid(ipIter))
|
||||
{
|
||||
if (GetItemPropertyType(ipIter) == ITEM_PROPERTY_CAST_SPELL)
|
||||
{
|
||||
RemoveItemProperty(oTarget, ipIter);
|
||||
break;
|
||||
}
|
||||
ipIter = GetNextItemProperty(oTarget);
|
||||
}
|
||||
itemproperty ipPower = ItemPropertyCastSpell(nPropID, IP_CONST_CASTSPELL_NUMUSES_SINGLE_USE);
|
||||
AddItemProperty(DURATION_TYPE_PERMANENT, ipPower, oTarget);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// If no template or sClass was empty, create generic power stone and add itemprop.
|
||||
if (oTarget == OBJECT_INVALID)
|
||||
{
|
||||
sResRef = "craft_powerstone";
|
||||
oTarget = CreateItemOnObject(sResRef, oCreator);
|
||||
if (oTarget == OBJECT_INVALID)
|
||||
{
|
||||
WriteTimestampedLogEntry("CICraftImprintPowerStone: failed to create craft_powerstone template.");
|
||||
return OBJECT_INVALID;
|
||||
}
|
||||
// Remove existing default IP and add correct one
|
||||
itemproperty ipFirst = GetFirstItemProperty(oTarget);
|
||||
if (GetIsItemPropertyValid(ipFirst))
|
||||
RemoveItemProperty(oTarget, ipFirst);
|
||||
|
||||
itemproperty ipPower = ItemPropertyCastSpell(nPropID, IP_CONST_CASTSPELL_NUMUSES_SINGLE_USE);
|
||||
AddItemProperty(DURATION_TYPE_PERMANENT, ipPower, oTarget);
|
||||
}
|
||||
|
||||
// Add PRC metadata (use the same power that matched the iprp row so metadata and IP line up)
|
||||
if (GetPRCSwitch(PRC_SCRIBE_SCROLL_CASTER_LEVEL)) // Reusing same switch for power stones
|
||||
{
|
||||
int nManifesterLevel = GetManifesterLevel(oCreator); // Placeholder function
|
||||
itemproperty ipLevel = ItemPropertyCastSpellCasterLevel(nPowerUsedForIP, nManifesterLevel);
|
||||
AddItemProperty(DURATION_TYPE_PERMANENT, ipLevel, oTarget);
|
||||
|
||||
itemproperty ipMeta = ItemPropertyCastSpellMetamagic(nPowerUsedForIP, PRCGetMetaMagicFeat());
|
||||
AddItemProperty(DURATION_TYPE_PERMANENT, ipMeta, oTarget);
|
||||
|
||||
int nDC = PRCGetSpellSaveDC(nPowerUsedForIP, GetSpellSchool(nPowerUsedForIP), OBJECT_SELF);
|
||||
itemproperty ipDC = ItemPropertyCastSpellDC(nPowerUsedForIP, nDC);
|
||||
AddItemProperty(DURATION_TYPE_PERMANENT, ipDC, oTarget);
|
||||
}
|
||||
|
||||
if (oTarget == OBJECT_INVALID)
|
||||
{
|
||||
WriteTimestampedLogEntry("prc_x2_craft::CICraftImprintPowerStone failed - Resref: " + sResRef + " Class: " + sClass + "(" + IntToString(nClass) + ") " + " PowerID " + IntToString(nPowerID));
|
||||
return OBJECT_INVALID;
|
||||
}
|
||||
|
||||
if (DEBUG) DoDebug("CICraftImprintPowerStone: Success - created power stone " + sResRef + " for power " + IntToString(nPowerUsedForIP));
|
||||
return oTarget;
|
||||
}
|
||||
Reference in New Issue
Block a user