diff --git a/nwn/nwnprc/trunk/2das/prc_polymorph.2da b/nwn/nwnprc/trunk/2das/prc_polymorph.2da index 65d3291d..c004de12 100644 --- a/nwn/nwnprc/trunk/2das/prc_polymorph.2da +++ b/nwn/nwnprc/trunk/2das/prc_polymorph.2da @@ -1,425 +1,425 @@ 2DA V2.0 - Label Name ResRef Race HD CR Type -0 Default 6614 **** **** **** **** 0xFF -1 Adult_Black_Dragon 12461 nw_drgblack001 11 19 13,00 0x0C -2 Adult_Blue_Dragon 12465 nw_drgblue001 11 21 14,00 0x0C -3 Adult_Brass_Dragon 12469 nw_drgbrass001 11 19 13,00 0x0C -4 Adult_Bronze_Dragon 12473 nw_drgbrnz001 11 21 15,00 0x0C -5 Adult_Copper_Dragon 12477 nw_drgcopp001 11 20 14,00 0x0C -6 Adult_Gold_Dragon 12481 nw_drggold001 11 23 16,00 0x0C -7 Adult_Green_Dragon 12485 nw_drggreen001 11 20 14,00 0x0C -8 Adult_Red_Dragon 12489 nw_drgred001 11 22 15,00 0x0C -9 Adult_Silver_Dragon 12493 nw_drgsilv001 11 22 16,00 0x0C -10 Adult_White_Dragon 12497 nw_drgwhite001 11 18 12,00 0x0C -11 Adult_Wyvern 111389 x3_wyvern002 11 12 8,00 0x08 -12 Air_Elemental 12354 nw_air 16 4 4,00 0x02 -13 Air_Mephit 12636 nw_mepair 20 3 3,00 0x00 -14 Alhoon 84506 x2_mindflayer003 24 16 18,00 0x00 -15 Allip 12360 nw_allip 24 4 3,00 0x00 -16 Ancient_Black_Dragon 12463 nw_drgblack003 11 31 21,00 0x0C -17 Ancient_Blue_Dragon 12467 nw_drgblue003 11 33 23,00 0x0C -18 Ancient_Brass_Dragon 12471 nw_drgbrass003 11 31 22,00 0x0C -19 Ancient_Bronze_Dragon 12475 nw_drgbrnz003 11 33 23,00 0x0C -20 Ancient_Copper_Dragon 12479 nw_drgcopp003 11 32 22,00 0x0C -21 Ancient_Dire_Bear 56563 nw_beardireboss 8 12 15,00 0x09 -22 Ancient_Gold_Dragon 12483 nw_drggold003 11 35 25,00 0x0C -23 Ancient_Green_Dragon 12487 nw_drggreen003 11 32 22,00 0x0C -24 Ancient_Red_Dragon 12491 nw_drgred003 11 34 24,00 0x0C -25 Ancient_Shadow_Dragon 90379 x2_dragonshad001 11 31 22,00 0x0C -26 Ancient_Silver_Dragon 12495 nw_drgsilv003 11 34 24,00 0x0C -27 Ancient_White_Dragon 12499 nw_drgwhite003 11 30 20,00 0x0C -28 Androsphinx 40618 x0_sphinx 19 18 13,00 0x08 -29 Aranea 12362 nw_aranea 23 3 3,00 0x00 -30 Asabi_Chieftain 2901 x0_asabi_chief 15 9 6,00 0x08 -31 Asabi_Shaman 2902 x0_asabi_shaman 15 7 5,00 0x08 -32 Asabi_Warrior 2900 x0_asabi_warrior 15 3 2,00 0x08 -33 Azer 100964 x2_azer001 20 2 2,00 0x00 -34 Azer 100965 x2_azer002 20 2 2,00 0x00 -35 Badger 12366 nw_badger 8 1 0,50 0x09 -36 Baelnorn 12630 nw_lich002 24 15 18,00 0x00 -37 Balor 12443 nw_demon 20 13 15,00 0x00 -38 Bandit 12367 nw_bandit001 6 1 0,50 0x08 -39 Bandit_Archer 12368 nw_bandit002 6 1 0,50 0x08 -40 Bandit_Chief 12373 nw_bandit007 6 15 11,00 0x08 -41 Bartender 6974 nw_bartender 6 1 0,25 0x08 -42 Basilisk 2861 x0_basilisk 19 6 5,00 0x08 -43 Bat 12376 nw_bat 8 1 0,33 0x09 -44 Battle_Devourer 12380 nw_battdevour 7 9 11,00 0x08 -45 Battle_Horror 12378 nw_bathorror 10 13 13,00 0x00 -46 Bebilith 90432 x2_spiderdemo001 20 12 12,00 0x00 -47 Beggar 6960 nw_beggmale 6 1 0,25 0x08 -48 Beholder 95219 x2_beholder001 7 11 11,00 0x08 -49 Beholder_Mage 90374 x2_beholder003 7 21 15,00 0x08 -50 Black_Bear 12382 nw_bearblck 8 3 2,00 0x09 -51 Black_Cormyrian_Cobra 111368 x3_blckcobra001 8 3 2,00 0x09 -52 Blink_Dog 12395 nw_blinkdog 19 4 3,00 0x08 -53 Bloodsailor 2167 nw_humsailor 6 1 0,25 0x08 -54 Blue_Slaad 12706 nw_slaadbl 20 8 7,00 0x00 -55 Boar 12397 nw_boar 8 3 2,00 0x09 -56 Bodak 12401 nw_bodak 24 9 9,00 0x00 -57 Bombardier_Beetle 12403 nw_btlbomb 25 2 3,00 0x08 -58 Bone_Golem 12570 nw_golbone 10 14 11,00 0x00 -59 Boy 12634 nw_malekid01 6 1 0,25 0x08 -60 Brown_Bear 12384 nw_bearbrwn 8 6 5,00 0x09 -61 Bugbear 12411 nw_bugbeara 12 3 2,00 0x08 -62 Bugbear_Chieftain 56565 nw_bugbearboss 12 11 10,00 0x08 -63 Bugbear_Hero 12412 nw_bugchiefa 12 6 5,00 0x08 -64 Bugbear_Shaman 12413 nw_bugwiza 12 6 4,00 0x08 -65 Bulette 110635 nw_bulette 9 9 7,00 0x00 -66 Celestial_Avenger 12431 nw_ctrumpet 20 12 11,00 0x00 -67 Chicken 12416 nw_chicken 8 1 0,25 0x09 -68 Clay_Golem 12572 nw_golclay 10 11 10,00 0x00 -69 Cockatrice 40596 x0_cockatrice 19 5 5,00 0x08 -70 Commoner,_Female 2168 nw_comfemale 6 1 0,25 0x08 -71 Commoner,_Male 2169 nw_commale 6 1 0,25 0x08 -72 Convict 12424 nw_convict 6 1 0,25 0x08 -73 Cougar 12426 nw_cougar 8 3 2,00 0x09 -74 Cow 12428 nw_cow 8 1 0,17 0x09 -75 Crag_Cat 57919 nw_cragcat 8 3 2,00 0x09 -76 Cult_Member 12433 nw_cultmember 6 1 0,25 0x08 -77 Curst_Monk 12438 nw_curst004 24 5 6,00 0x00 -78 Curst_Ranger 12437 nw_curst003 24 5 5,00 0x00 -79 Curst_Rogue 12436 nw_curst002 24 5 6,00 0x00 -80 Curst_Swordsman 111431 x3_curstsword 24 6 6,00 0x00 -81 Curst_Warrior 12435 nw_curst001 24 5 5,00 0x00 -82 Death_Slaad 12708 nw_slaaddeth 20 15 15,00 0x00 -83 Deep_Rothe 3073 x2_deeprothe001 19 2 1,00 0x08 -84 Deer 12440 nw_deer 8 1 0,33 0x09 -85 Demilich 3087 x2_demilich001 24 21 24,00 0x00 -86 Demonflesh_Golem 84195 nw_goldmflesh001 10 24 25,00 0x00 -87 Diamond_Golem 111377 x3_diagolem001 10 14 14,00 0x00 -88 Dire_Badger 12447 nw_direbadg 8 3 3,00 0x09 -89 Dire_Bear 12386 nw_beardire 8 12 9,00 0x09 -90 Dire_Boar 12399 nw_boardire 8 7 5,00 0x09 -91 Dire_Rat 3105 nw_ratdire001 8 1 0,50 0x09 -92 Dire_Spider 12718 nw_spiddire 25 10 7,00 0x08 -93 Dire_Tiger 12448 nw_diretiger 8 16 11,00 0x09 -94 Dire_Wolf 10526 nw_direwolf 8 6 5,00 0x09 -95 Dog 12457 nw_dog 8 2 1,00 0x09 -96 Doom_Knight 12459 nw_doomkght 24 9 10,00 0x00 -97 Doom_Knight_Commander 56566 nw_doomkghtboss 24 9 15,00 0x00 -98 Drider 3063 x2_drider001 7 6 6,00 0x08 -99 Drider_Chief 90380 x2_drider002 7 11 10,00 0x08 -100 Drider_Cleric 90389 x2_fdrider002 7 6 7,00 0x08 -101 Drider_Wizard 90381 x2_driderw01 7 6 8,00 0x08 -102 Drow_Assassin 12503 nw_drowrogue001 1 1 1,00 0x08 -103 Drow_Mage 12502 nw_drowmage001 1 1 1,00 0x08 -104 Drow_Militia 12501 nw_drowfight001 1 1 1,00 0x08 -105 Drow_Priestess 12500 nw_drowcler001 1 1 1,00 0x08 -106 Drow_Rogue 90394 x2_mephdrow001 1 11 7,00 0x08 -107 Drow_Slave 90382 x2_drow001 1 1 0,50 0x08 -108 Drow_Warrior 85590 x2_mephdrow004 1 11 8,00 0x08 -109 Drow_Wizard 90383 x2_drow002 1 5 4,00 0x08 -110 Dryad 12505 nw_dryad 17 2 2,00 0x08 -111 Duergar_Chief 90385 x2_duergar002 0 5 4,00 0x08 -112 Duergar_Cleric 12507 nw_duecler001 0 1 1,00 0x08 -113 Duergar_Mage 90400 x2_mephduer007 0 10 7,00 0x08 -114 Duergar_Priestess 90401 x2_mephduer010 0 10 8,00 0x08 -115 Duergar_Rogue 12510 x2_mephduer004 0 10 7,00 0x08 -116 Duergar_Slaver 101022 x2_duergar001 0 1 0,25 0x08 -117 Duergar_Warrior 12508 nw_duefight001 0 1 1,00 0x08 -118 Dust_Mephit 12637 nw_mepdust 20 3 3,00 0x00 -119 Dwarf_Mercenary 12511 nw_dwarfmerc001 0 1 0,50 0x08 -120 Earth_Elemental 12513 nw_earth 16 4 4,00 0x02 -121 Earth_Mephit 12638 nw_mepearth 20 3 3,00 0x00 -122 Elder_Air_Elemental 12356 nw_airelder 16 24 20,00 0x02 -123 Elder_Earth_Elemental 12515 nw_eartheld 16 24 17,00 0x02 -124 Elder_Fire_Elemental 12531 nw_fireelder 16 24 17,00 0x02 -125 Elder_Water_Elemental 12800 nw_watelder 16 24 16,00 0x02 -126 Elf_Mage 12518 nw_elfmage001 1 1 0,50 0x08 -127 Elf_Mercenary 12519 nw_elfmerc001 1 3 2,00 0x08 -128 Elf_Ranger 12520 nw_elfranger001 1 1 0,50 0x08 -129 Emerald_Golem 111379 x3_emgolem001 10 12 12,00 0x00 -130 Erinyes 90386 x2_erinyes 20 6 8,00 0x00 -131 Ettercap 12522 nw_ettercap 7 5 5,00 0x08 -132 Ettin 12524 nw_ettin 18 10 8,00 0x08 -133 Eyeball 84490 x2_beholder002 7 1 3,00 0x08 -134 Faerie_Dragon 9162 x0_dragon_faerie 11 10 5,00 0x08 -135 Falcon 12685 nw_raptor001 8 1 0,33 0x09 -136 Female_Drider 90388 x2_fdrider001 7 6 6,00 0x08 -137 Fenhound 12527 nw_fenhound 20 5 4,00 0x00 -138 Fire_Beetle 12405 nw_btlfire 25 1 0,25 0x08 -139 Fire_Elemental 12529 nw_fire 16 4 3,00 0x02 -140 Fire_Giant 12558 nw_gntfire 18 15 12,00 0x08 -141 Fire_Giant 2898 x0_gntfirefem 18 15 10,00 0x08 -142 Fire_Mephit 6001 nw_mepfire 20 3 3,00 0x00 -143 Flesh_Golem 12574 nw_golflesh 10 9 8,00 0x00 -144 Formian_Myrmarch 2889 x0_form_myrmarch 20 12 11,00 0x00 -145 Formian_Queen 2890 x0_form_queen 20 37 20,00 0x00 -146 Formian_Taskmaster 40603 x0_form_taskmast 20 6 7,00 0x00 -147 Formian_Warrior 2888 x0_form_warrior 20 4 4,00 0x00 -148 Formian_Worker 2887 x0_form_worker 20 1 1,00 0x00 -149 Frost_Giant 12560 nw_gntfrost 18 14 10,00 0x08 -150 Frost_Giant 2897 x0_gntfrostfem 18 14 9,00 0x08 -151 Gargoyle 12550 nw_gargoyle 19 4 3,00 0x08 -152 Gaseous_Form 12798 nw_vampire_shad 24 3 3,00 0x00 -153 Gelatinous_Cube 84439 x2_gelcube 29 4 3,00 0x08 -154 Ghast 12552 nw_ghast 24 4 4,00 0x00 -155 Ghoul 12554 nw_ghoul 24 2 2,00 0x00 -156 Ghoul_Lord 12556 nw_ghoullord 24 6 5,00 0x00 -157 Ghoul_Ravager 56567 nw_ghoulboss 24 9 10,00 0x00 -158 Giant_Spider 12720 nw_spidgiant 25 4 3,00 0x08 -159 Girl 12525 nw_femalekid01 6 1 0,25 0x08 -160 Gnoll 3097 nw_gnoll001 12 2 1,00 0x08 -161 Gnoll_Shaman 3099 nw_gnoll002 12 4 3,00 0x08 -162 Goblin 12567 nw_goblina 12 1 0,25 0x08 -163 Goblin_Chieftain 56568 nw_goblinboss 12 9 11,00 0x08 -164 Goblin_Elite 12566 nw_gobchiefa 12 5 4,00 0x08 -165 Goblin_Shaman 12568 nw_gobwiza 12 4 3,00 0x08 -166 Goblin_Shark 110730 nw_sharkgoblin 8 3 2,00 0x09 -167 Gold_Cormyrian_Cobra 111370 x3_goldcobra001 8 5 4,00 0x09 -168 Gorgon 2856 x0_gorgon 19 8 7,00 0x08 -169 Gray_Ooze 110742 nw_grayooze 29 3 3,00 0x08 -170 Gray_Render 12579 nw_grayrend 9 10 8,00 0x00 -171 Gray_Slaad 12710 nw_slaadgray 20 10 10,00 0x00 -172 Great_Cobra 111372 x3_grtcobra001 8 7 5,00 0x09 -173 Great_Wyvern 111387 x3_wyvern001 11 14 9,00 0x08 -174 Greater_Air_Elemental 12357 nw_airgreat 16 21 18,00 0x02 -175 Greater_Earth_Elemental 12516 nw_earthgreat 16 21 15,00 0x02 -176 Greater_Fire_Elemental 12532 nw_firegreat 16 21 15,00 0x02 -177 Greater_Mummy 5644 nw_mumcleric 24 12 10,00 0x00 -178 Greater_Water_Elemental 12803 nw_watergreat 16 21 14,00 0x02 -179 Green_Slaad 12712 nw_slaadgrn 20 9 9,00 0x00 -180 Grig 12581 nw_grig 17 1 2,00 0x08 -181 Grizzly_Bear 12387 nw_bearkodiak 8 8 6,00 0x09 -182 Gynosphinx 2869 x0_gynosphinx 19 8 8,00 0x08 -183 Gypsy_Chief 12589 nw_gypsy006 6 15 11,00 0x08 -184 Gypsy_Healer 12588 nw_gypsy005 6 10 8,00 0x08 -185 Gypsy_Mage 12587 nw_gypsy004 6 5 4,00 0x08 -186 Gypsy_Rogue 12586 nw_gypsy002 6 1 0,50 0x08 -187 Gypsy_Warrior 12585 nw_gypsy001 6 1 0,50 0x08 -188 Gypsy_Female 12583 nw_gypfemale 6 1 0,25 0x08 -189 Gypsy_Male 12584 nw_gypmale 6 1 0,25 0x08 -190 GZhorb_the_All-Seeing_Eye 111435 x3_gzhorb 7 33 18,00 0x08 -191 Half-Celestial_Warrior 12591 nw_halfcel001 20 10 9,00 0x00 -192 Half-Dragon_Cleric 12594 nw_halfdra002 11 10 8,00 0x08 -193 Half-Dragon_Sorcerer 12592 nw_halfdra001 11 10 9,00 0x08 -194 Half-Fiend_Warrior 12597 nw_halffnd001 20 10 8,00 0x00 -195 Halfling 6992 nw_halfling001 3 1 0,50 0x08 -196 Halfling 6991 nw_halfling005 3 5 3,00 0x08 -197 Halfling_Mercenary 12599 nw_halfmerc002 3 4 3,00 0x08 -198 Half-Orc_Bandit 12372 nw_bandit006 5 10 7,00 0x08 -199 Hammerhead_Shark 110729 nw_sharkhammer 8 3 3,00 0x09 -200 Harpy 3076 x2_harpy001 13 7 5,00 0x08 -201 Hell_Hound 5997 nw_hellhound 20 4 4,00 0x00 -202 Helmed_Horror 12602 nw_helmhorr 10 13 11,00 0x00 -203 Hill_Giant 12562 nw_gnthill 18 12 10,00 0x08 -204 Hive_Mother 56564 nw_beetleboss 25 11 16,00 0x08 -205 Hobgoblin 3100 nw_hobgoblin001 12 1 0,25 0x08 -206 Hobgoblin_Shaman 3102 nw_hobgoblin002 12 2 2,00 0x08 -207 Hook_Horror 12616 nw_horror 7 5 5,00 0x08 -208 Horse 111456 x3_horse001 8 1 0,50 0x09 -209 Hound_Archon 12418 nw_chound01 20 6 6,00 0x00 -210 Hound_of_Xvim 12391 nw_beastxvim 20 5 5,00 0x00 -211 House_Guard 2173 nw_guard 6 1 0,50 0x08 -212 Huge_Air_Elemental 12358 nw_airhuge 16 16 13,00 0x02 -213 Huge_Earth_Elemental 12517 nw_earthhuge 16 16 11,00 0x02 -214 Huge_Fire_Elemental 12533 nw_firehuge 16 16 12,00 0x02 -215 Huge_Iron_Golem 90393 x2_goliron_huge 10 21 21,00 0x00 -216 Huge_Water_Elemental 12804 nw_waterhuge 16 16 11,00 0x02 -217 Human_Mercenary 12617 nw_humanmerc003 6 7 6,00 0x08 -218 Hybrid_Cormyrian_Cobra 111373 x3_hybcobra001 8 3 2,00 0x09 -219 Ice_Mephit 6003 nw_mepice 20 3 3,00 0x00 -220 Imp 5999 nw_imp 20 3 3,00 0x00 -221 Innkeeper 6973 nw_innkeeper 6 1 0,25 0x08 -222 Intellect_Devourer 12445 nw_devour 7 6 7,00 0x08 -223 Invisible_Stalker 12621 nw_invstalk 16 8 6,00 0x02 -224 Iron_Golem 12576 nw_goliron 10 18 16,00 0x00 -225 Jaguar 12623 nw_jaguar 8 5 3,00 0x09 -226 Juvenile_Wyvern 111390 x3_wyvern003 11 9 6,00 0x08 -227 Kobold 2924 nw_kobold001 15 1 0,33 0x08 -228 Kobold_Footpad 2933 nw_kobold004 15 2 2,00 0x08 -229 Kobold_Shaman 2926 nw_kobold005 15 2 2,00 0x08 -230 Kobold_Thug 2925 nw_kobold003 15 2 2,00 0x08 -231 Krenshar 12625 nw_krenshar 19 2 2,00 0x08 -232 Kurths_Soldier 2175 nw_kurthsold 6 1 0,50 0x08 -233 Lantern_Archon 12421 nw_clantern 20 1 5,00 0x00 -234 Leopard 12414 nw_cat 8 3 2,00 0x09 -235 Lich 12627 nw_lichboss 24 16 21,00 0x00 -236 Lion 12632 nw_lion 8 5 3,00 0x09 -237 Lizardfolk_Chieftain 12668 nw_oldchiefa 15 5 4,00 0x08 -238 Lizardfolk_Shaman 12669 nw_oldmageb 15 5 4,00 0x08 -239 Lizardfolk_Warrior 12671 nw_oldwarra 15 2 2,00 0x08 -240 Luskan_Guard 6951 nw_luskanite 6 1 0,25 0x08 -241 Magma_Mephit 12639 nw_mepmagma 20 3 3,00 0x00 -242 Mako_Shark 110728 nw_sharkmako 8 3 3,00 0x09 -243 Malar_Panther 2976 nw_beastmalar001 23 9 7,00 0x00 -244 Manticore 2865 x0_manticore 19 6 6,00 0x08 -245 Medusa 2854 x0_medusa 13 6 6,00 0x08 -246 Mind_Flayer 90403 x2_mindflayer001 7 8 9,00 0x08 -247 Mind_Flayer_Darkener 90402 x2_mindfdarkener 7 15 16,00 0x08 -248 Mind_Flayer_Venerator 90405 x2_mindfveneratr 7 15 20,00 0x08 -249 Minogon 12647 nw_minogon 10 8 8,00 0x00 -250 Minotaur 12648 nw_minotaur 13 6 4,00 0x08 -251 Minotaur_Berserker 12645 nw_minchief 13 12 8,00 0x08 -252 Minotaur_Chieftain 56569 nw_minotaurboss 13 12 13,00 0x08 -253 Minotaur_Shaman 12649 nw_minwiz 13 12 9,00 0x08 -254 Mist_Dragon 111393 x3_dragmist001 11 21 14,00 0x0C -255 Mohrg 12651 nw_mohrg 24 14 12,00 0x00 -256 Mountain_Giant 12564 nw_gntmount 18 12 10,00 0x08 -257 Mummy 12656 nw_mummy 24 6 5,00 0x00 -258 Mummy_Lord 56570 nw_mummyboss 24 12 11,00 0x00 -259 Neverwintan_Militia 6950 nw_nevmilitia 6 1 0,50 0x08 -260 Nightmare 110968 x3_nightmare002 20 9 8,00 0x00 -261 Nixie 12658 nw_nixie 17 1 1,00 0x08 -262 Nobleman 2179 nw_noblmale 6 1 0,25 0x08 -263 Noblewoman 2178 nw_noblfemale 6 1 0,25 0x08 -264 Nymph 12662 nw_nymph 17 3 3,00 0x08 -265 Ochre_Jelly 110835 nw_ochrejellymed 29 4 3,00 0x08 -266 Ogre 12664 nw_ogre01 18 4 3,00 0x08 -267 Ogre_Berserker 12665 nw_ogrechief01 18 8 6,00 0x08 -268 Ogre_Chieftain 56571 nw_ogreboss 18 11 9,00 0x08 -269 Ogre_High_Mage 56572 nw_ogremageboss 18 12 18,00 0x08 -270 Ogre_Mage 12666 nw_ogremage01 18 5 5,00 0x08 -271 Old_Black_Dragon 12462 nw_drgblack002 11 25 17,00 0x0C -272 Old_Blue_Dragon 12466 nw_drgblue002 11 27 18,00 0x0C -273 Old_Brass_Dragon 12470 nw_drgbrass002 11 25 17,00 0x0C -274 Old_Bronze_Dragon 12474 nw_drgbrnz002 11 27 19,00 0x0C -275 Old_Copper_Dragon 12478 nw_drgcopp002 11 26 18,00 0x0C -276 Old_Gold_Dragon 12482 nw_drggold002 11 29 21,00 0x0C -277 Old_Green_Dragon 12486 nw_drggreen002 11 26 18,00 0x0C -278 Old_Man 6979 nw_oldman 6 1 0,25 0x08 -279 Old_Red_Dragon 12490 nw_drgred002 11 28 19,00 0x0C -280 Old_Silver_Dragon 12494 nw_drgsilv002 11 28 20,00 0x0C -281 Old_White_Dragon 12498 nw_drgwhite002 11 24 16,00 0x0C -282 Old_Woman 6980 nw_oldwoman 6 1 0,25 0x08 -283 Ooze_Mephit 12640 nw_mepooze 20 3 3,00 0x00 -284 Orc 12674 nw_orca 14 1 0,25 0x08 -285 Orc_Champion 12675 nw_orcchiefa 14 4 3,00 0x08 -286 Orc_Chieftain 56573 nw_orcboss 14 11 10,00 0x08 -287 Orc_Shaman 12676 nw_orcwiza 14 5 4,00 0x08 -288 Ox 12678 nw_ox 8 1 0,50 0x09 -289 Pack_Leader 56578 nw_wolfdireboss 8 6 11,00 0x09 -290 Panther 5995 nw_panther 8 3 2,00 0x09 -291 Parrot 110798 nw_parrot 8 1 0,25 0x09 -292 Penguin 40617 x0_penguin001 8 1 0,17 0x09 -293 Phase_Spider 12722 nw_spidphase 19 5 3,00 0x08 -294 Pit_Fiend 3095 nw_devil001 20 13 15,00 0x00 -295 Pixie 6005 nw_pixie 17 1 2,00 0x08 -296 Plague_Victim 2180 nw_plagmale 6 1 0,25 0x08 -297 Polar_Bear 12389 nw_bearpolar 8 8 6,00 0x09 -298 Prismatic_Dragon 90378 x2_dragonpris001 11 40 37,00 0x0C -299 Prostitute 12614 nw_hooker01 6 1 0,25 0x08 -300 Pseudodragon 9161 x0_dragon_pseudo 11 2 0,50 0x08 -301 Purple_Dragon_Archer 110996 x3_pdkaf001 6 2 2,00 0x08 -302 Purple_Dragon_Archer 110997 x3_pdkam001 6 2 2,00 0x08 -303 Purple_Dragon_Blade 110998 x3_pdkbf001 6 2 2,00 0x08 -304 Purple_Dragon_Blade 110999 x3_pdkbm001 6 2 2,00 0x08 -305 Quasit 12451 nw_dmquasit 20 3 3,00 0x00 -306 Queen_Spider 56576 nw_spiderboss 25 11 14,00 0x08 -307 Rakshasa 12682 nw_rakshasa 20 7 7,00 0x00 -308 Rat 3103 nw_rat001 8 1 0,13 0x09 -309 Raven 6008 nw_raven 8 1 0,33 0x09 -310 Red_Slaad 12714 nw_slaadred 20 7 6,00 0x00 -311 Revenant 12687 nw_revenant001 24 6 7,00 0x00 -312 Ruby_Golem 111381 x3_rubygolem001 10 10 12,00 0x00 -313 Sahuagin 110752 nw_sahuagin 15 2 2,00 0x08 -314 Sahuagin_Cleric 110753 nw_sahuaginclr 15 2 2,00 0x08 -315 Sahuagin_Leader 110754 nw_sahuaginldr 15 3 3,00 0x08 -316 Salt_Mephit 12641 nw_mepsalt 20 3 3,00 0x00 -317 Satyr 110988 x3_satyr003 17 5 4,00 0x08 -318 Satyr_Archer 111384 x3_satyr002 17 5 4,00 0x08 -319 Satyr_Warrior 111386 x3_satyr001 17 5 4,00 0x08 -320 Sea_Hag 110534 nw_seahag 13 3 4,00 0x08 -321 Seagull 110684 nw_seagullfly 8 3 2,00 0x09 -322 Shadow 12689 nw_shadow 24 3 3,00 0x00 -323 Shadow_Fiend 12691 nw_shfiend 24 7 7,00 0x00 -324 Shadow_Mastiff 12695 nw_shmastif 20 4 4,00 0x00 -325 Shield_Guardian 12693 nw_shguard 10 15 13,00 0x00 -326 Shop_Keeper 6972 nw_shopkeep 6 1 0,25 0x08 -327 Skeletal_Devourer 12700 nw_skeldevour 24 11 13,00 0x00 -328 Skeleton 12701 nw_skeleton 24 1 0,50 0x00 -329 Skeleton_Chieftain 12698 nw_skelchief 24 7 7,00 0x00 -330 Skeleton_Mage 12702 nw_skelmage 24 4 4,00 0x00 -331 Skeleton_Priest 12703 nw_skelpriest 24 4 4,00 0x00 -332 Skeleton_Warrior 12704 nw_skelwarr01 24 6 6,00 0x00 -333 Spectre 12716 nw_spectre 24 7 6,00 0x00 -334 Spitting_Cobra 111375 x3_spitcobra001 8 4 3,00 0x09 -335 Spitting_Fire_Beetle 79561 nw_btlfire02 25 1 3,00 0x08 -336 Stag_Beetle 12407 nw_btlstag 25 7 7,00 0x08 -337 Steam_Mephit 12642 nw_mepsteam 20 3 3,00 0x00 -338 Stinger 2872 x0_stinger 13 4 3,00 0x08 -339 Stinger_Chieftain 2875 x0_stinger_chief 13 10 7,00 0x08 -340 Stinger_Mage 2876 x0_stinger_mage 13 7 5,00 0x08 -341 Stinger_Warrior 2874 x0_stinger_war 13 7 5,00 0x08 -342 Stink_Beetle 12409 nw_btlstink 25 3 3,00 0x08 -343 Stirge 12727 nw_stirge 9 1 0,33 0x00 -344 Stone_Golem 12578 nw_golstone 10 14 12,00 0x00 -345 Succubus 12453 nw_dmsucubus 20 6 7,00 0x00 -346 Svirfneblin 3080 x2_svirfneblin01 2 1 0,50 0x08 -347 Svirfneblin 3081 x2_svirfneblin02 2 1 0,50 0x08 -348 Sword_Spider 12724 nw_spidswrd 25 5 4,00 0x08 -349 Tiefling 12784 nw_tiefling02 20 1 0,50 0x00 -350 Troglodyte 110636 nw_trog001 15 2 1,00 0x08 -351 Troglodyte_Cleric 110638 nw_trog003 15 6 5,00 0x08 -352 Troglodyte_Warrior 110637 nw_trog002 15 4 3,00 0x08 -353 Troll 12786 nw_troll 18 6 5,00 0x08 -354 Troll_Berserker 12787 nw_trollchief 18 10 7,00 0x08 -355 Troll_Chieftain 56577 nw_trollboss 18 12 9,00 0x08 -356 Troll_Shaman 12788 nw_trollwiz 18 10 7,00 0x08 -357 Tyrantfog_Zombie 12829 nw_zombtyrant 24 4 3,00 0x00 -358 Ulitharid 90404 x2_mindflayer002 7 16 19,00 0x08 -359 Umber_Hulk 12790 nw_umberhulk 7 8 9,00 0x08 -360 Uthgard_Elk_Tribesmen 12791 nw_uthgard01 6 1 1,00 0x08 -361 Uthgard_Tiger_Tribesmen 12792 nw_uthgard02 6 1 1,00 0x08 -362 Vampire 12772 nw_vampire 24 5 6,00 0x00 -363 Vampire_Mage 12796 nw_vampire003 24 10 16,00 0x00 -364 Vampire_Priest 12797 nw_vampire004 24 10 13,00 0x00 -365 Vampire_Rogue 12795 nw_vampire002 24 10 13,00 0x00 -366 Vampire_Warrior 12794 nw_vampire001 24 10 12,00 0x00 -367 Vrock 12455 nw_dmvrock 20 8 10,00 0x00 -368 Waitress 6975 nw_waitress 6 1 0,25 0x08 -369 Warrior_Mummy 12654 nw_mumfight 24 12 10,00 0x00 -370 Water_Elemental 12802 nw_water 16 4 4,00 0x02 -371 Water_Mephit 12643 nw_mepwater 20 3 3,00 0x00 -372 Wereboar 111014 x3_wereboar001 23 10 9,00 0x00 -373 Werecat 12806 nw_werecat 23 6 5,00 0x00 -374 Wererat 12808 nw_wererat 23 1 0,50 0x00 -375 Werewolf 12810 nw_werewolf 23 2 2,00 0x00 -376 White_Slaad 90431 x2_slaadwhite001 20 24 25,00 0x00 -377 White_Stag 12441 nw_deerstag 8 1 0,33 0x09 -378 Wight 12812 nw_wight 24 4 4,00 0x00 -379 Will-O-Wisp 12814 nw_willowisp 7 9 8,00 0x08 -380 Winter_Wolf 12818 nw_wolfwint 19 6 5,00 0x08 -381 Wolf 12816 nw_wolf 8 2 1,00 0x09 -382 Worg 12820 nw_worg 19 4 3,00 0x08 -383 Wraith 12822 nw_wraith 24 5 5,00 0x00 -384 Wraith_Spider 12726 nw_spidwra 24 3 4,00 0x00 -385 Wyrmling_Black_Dragon 40624 x0_wyrmling_blk 11 4 3,00 0x0C -386 Wyrmling_Blue_Dragon 40626 x0_wyrmling_blu 11 6 5,00 0x0C -387 Wyrmling_Brass_Dragon 40628 x0_wyrmling_brs 11 4 4,00 0x0C -388 Wyrmling_Bronze_Dragon 40630 x0_wyrmling_brz 11 6 5,00 0x0C -389 Wyrmling_Copper_Dragon 40632 x0_wyrmling_cop 11 5 5,00 0x0C -390 Wyrmling_Gold_Dragon 40634 x0_wyrmling_gld 11 8 7,00 0x0C -391 Wyrmling_Green_Dragon 40635 x0_wyrmling_grn 11 5 4,00 0x0C -392 Wyrmling_Red_Dragon 40637 x0_wyrmling_red 11 7 5,00 0x0C -393 Wyrmling_Silver_Dragon 40638 x0_wyrmling_sil 11 7 6,00 0x0C -394 Wyrmling_White_Dragon 40640 x0_wyrmling_wht 11 3 3,00 0x0C -395 Young_Wyvern 111391 x3_wyvern004 11 6 4,00 0x08 -396 Yuan-ti 12823 nw_yuan_ti001 15 6 5,00 0x08 -397 Yuan-Ti_Priest 12825 nw_yuan_ti003 15 6 6,00 0x08 -398 Yuan-Ti_Sorcerer 12824 nw_yuan_ti002 15 6 5,00 0x08 -399 Zombie 12827 nw_zombie01 24 2 1,00 0x00 -400 Zombie_Lord 56579 nw_zombieboss 24 9 8,00 0x00 -401 Zombie_Warrior 12830 nw_zombwarr01 24 5 4,00 0x00 -402 BattleDevourer 12380 nw_battdevour 7 9 11,00 0x16 -403 Beholder 95219 x2_beholder001 7 11 11,00 0x16 -404 BeholderMage 90374 x2_beholder003 7 21 15,00 0x16 -405 Drider 3063 x2_drider001 7 6 7,00 0x16 -406 DriderChief 3064 x2_drider002 7 11 10,00 0x16 -407 DriderCleric 90389 x2_fdrider002 7 6 7,00 0x16 -408 DriderWizard 3066 x2_driderw01 7 6 8,00 0x16 -409 Ettercap 2136 nw_ettercap 7 5 5,00 0x16 -410 Eyeball 84490 x2_beholder002 7 1 3,00 0x16 -411 HookHorror 12616 nw_horror 7 5 5,00 0x16 -412 IntellectDevourer 2093 nw_devour 7 8 7,00 0x16 -413 Illithid 90403 x2_mindflayer001 7 8 9,00 0x16 -414 Ulitharid 90404 x2_mindflayer002 7 16 20,00 0x16 -415 UmberHulk 2138 nw_umberhulk 7 8 9,00 0x16 -416 WillOWisp 12814 nw_willowisp 7 9 9,00 0x16 -417 Treant 16793778 prc_sum_treant 52 7 6,00 0x20 -418 ShamblingMound 16793779 prc_shambmound 52 8 6,00 0x20 -419 TwigBlight 16793780 wol_twigblight 52 1 1,00 0x20 -420 Myconid 16793781 prc_myconid 52 2 1,00 0x20 -421 Algoid 16793782 prc_algoid 52 5 4,00 0x20 + Label Name ResRef Race HD CR Type +0 Default 6614 **** **** **** **** 0xFF +1 Adult_Black_Dragon 12461 nw_drgblack001 11 19 13,00 0x0C +2 Adult_Blue_Dragon 12465 nw_drgblue001 11 21 14,00 0x0C +3 Adult_Brass_Dragon 12469 nw_drgbrass001 11 19 13,00 0x0C +4 Adult_Bronze_Dragon 12473 nw_drgbrnz001 11 21 15,00 0x0C +5 Adult_Copper_Dragon 12477 nw_drgcopp001 11 20 14,00 0x0C +6 Adult_Gold_Dragon 12481 nw_drggold001 11 23 16,00 0x0C +7 Adult_Green_Dragon 12485 nw_drggreen001 11 20 14,00 0x0C +8 Adult_Red_Dragon 12489 nw_drgred001 11 22 15,00 0x0C +9 Adult_Silver_Dragon 12493 nw_drgsilv001 11 22 16,00 0x0C +10 Adult_White_Dragon 12497 nw_drgwhite001 11 18 12,00 0x0C +11 Adult_Wyvern 111389 x3_wyvern002 11 12 8,00 0x08 +12 Air_Elemental 12354 nw_air 16 4 4,00 0x02 +13 Air_Mephit 12636 nw_mepair 20 3 3,00 0x00 +14 Alhoon 84506 x2_mindflayer003 24 16 18,00 0x00 +15 Allip 12360 nw_allip 24 4 3,00 0x00 +16 Ancient_Black_Dragon 12463 nw_drgblack003 11 31 21,00 0x0C +17 Ancient_Blue_Dragon 12467 nw_drgblue003 11 33 23,00 0x0C +18 Ancient_Brass_Dragon 12471 nw_drgbrass003 11 31 22,00 0x0C +19 Ancient_Bronze_Dragon 12475 nw_drgbrnz003 11 33 23,00 0x0C +20 Ancient_Copper_Dragon 12479 nw_drgcopp003 11 32 22,00 0x0C +21 Ancient_Dire_Bear 56563 nw_beardireboss 8 12 15,00 0x09 +22 Ancient_Gold_Dragon 12483 nw_drggold003 11 35 25,00 0x0C +23 Ancient_Green_Dragon 12487 nw_drggreen003 11 32 22,00 0x0C +24 Ancient_Red_Dragon 12491 nw_drgred003 11 34 24,00 0x0C +25 Ancient_Shadow_Dragon 90379 x2_dragonshad001 11 31 22,00 0x0C +26 Ancient_Silver_Dragon 12495 nw_drgsilv003 11 34 24,00 0x0C +27 Ancient_White_Dragon 12499 nw_drgwhite003 11 30 20,00 0x0C +28 Androsphinx 40618 x0_sphinx 19 18 13,00 0x08 +29 Aranea 12362 nw_aranea 23 3 3,00 0x00 +30 Asabi_Chieftain 2901 x0_asabi_chief 15 9 6,00 0x08 +31 Asabi_Shaman 2902 x0_asabi_shaman 15 7 5,00 0x08 +32 Asabi_Warrior 2900 x0_asabi_warrior 15 3 2,00 0x08 +33 Azer 100964 x2_azer001 20 2 2,00 0x00 +34 Azer 100965 x2_azer002 20 2 2,00 0x00 +35 Badger 12366 nw_badger 8 1 0,50 0x09 +36 Baelnorn 12630 nw_lich002 24 15 18,00 0x00 +37 Balor 12443 nw_demon 20 13 15,00 0x00 +38 Bandit 12367 nw_bandit001 6 1 0,50 0x08 +39 Bandit_Archer 12368 nw_bandit002 6 1 0,50 0x08 +40 Bandit_Chief 12373 nw_bandit007 6 15 11,00 0x08 +41 Bartender 6974 nw_bartender 6 1 0,25 0x08 +42 Basilisk 2861 x0_basilisk 19 6 5,00 0x08 +43 Bat 12376 nw_bat 8 1 0,33 0x09 +44 Battle_Devourer 12380 nw_battdevour 7 9 11,00 0x08 +45 Battle_Horror 12378 nw_bathorror 10 13 13,00 0x00 +46 Bebilith 90432 x2_spiderdemo001 20 12 12,00 0x00 +47 Beggar 6960 nw_beggmale 6 1 0,25 0x08 +48 Beholder 95219 x2_beholder001 7 11 11,00 0x08 +49 Beholder_Mage 90374 x2_beholder003 7 21 15,00 0x08 +50 Black_Bear 12382 nw_bearblck 8 3 2,00 0x09 +51 Black_Cormyrian_Cobra 111368 x3_blckcobra001 8 3 2,00 0x09 +52 Blink_Dog 12395 nw_blinkdog 19 4 3,00 0x08 +53 Bloodsailor 2167 nw_humsailor 6 1 0,25 0x08 +54 Blue_Slaad 12706 nw_slaadbl 20 8 7,00 0x00 +55 Boar 12397 nw_boar 8 3 2,00 0x09 +56 Bodak 12401 nw_bodak 24 9 9,00 0x00 +57 Bombardier_Beetle 12403 nw_btlbomb 25 2 3,00 0x08 +58 Bone_Golem 12570 nw_golbone 10 14 11,00 0x00 +59 Boy 12634 nw_malekid01 6 1 0,25 0x08 +60 Brown_Bear 12384 nw_bearbrwn 8 6 5,00 0x09 +61 Bugbear 12411 nw_bugbeara 12 3 2,00 0x08 +62 Bugbear_Chieftain 56565 nw_bugbearboss 12 11 10,00 0x08 +63 Bugbear_Hero 12412 nw_bugchiefa 12 6 5,00 0x08 +64 Bugbear_Shaman 12413 nw_bugwiza 12 6 4,00 0x08 +65 Bulette 110635 nw_bulette 9 9 7,00 0x00 +66 Celestial_Avenger 12431 nw_ctrumpet 20 12 11,00 0x00 +67 Chicken 12416 nw_chicken 8 1 0,25 0x09 +68 Clay_Golem 12572 nw_golclay 10 11 10,00 0x00 +69 Cockatrice 40596 x0_cockatrice 19 5 5,00 0x08 +70 Commoner,_Female 2168 nw_comfemale 6 1 0,25 0x08 +71 Commoner,_Male 2169 nw_commale 6 1 0,25 0x08 +72 Convict 12424 nw_convict 6 1 0,25 0x08 +73 Cougar 12426 nw_cougar 8 3 2,00 0x09 +74 Cow 12428 nw_cow 8 1 0,17 0x09 +75 Crag_Cat 57919 nw_cragcat 8 3 2,00 0x09 +76 Cult_Member 12433 nw_cultmember 6 1 0,25 0x08 +77 Curst_Monk 12438 nw_curst004 24 5 6,00 0x00 +78 Curst_Ranger 12437 nw_curst003 24 5 5,00 0x00 +79 Curst_Rogue 12436 nw_curst002 24 5 6,00 0x00 +80 Curst_Swordsman 111431 x3_curstsword 24 6 6,00 0x00 +81 Curst_Warrior 12435 nw_curst001 24 5 5,00 0x00 +82 Death_Slaad 12708 nw_slaaddeth 20 15 15,00 0x00 +83 Deep_Rothe 3073 x2_deeprothe001 19 2 1,00 0x08 +84 Deer 12440 nw_deer 8 1 0,33 0x09 +85 Demilich 3087 x2_demilich001 24 21 24,00 0x00 +86 Demonflesh_Golem 84195 nw_goldmflesh001 10 24 25,00 0x00 +87 Diamond_Golem 111377 x3_diagolem001 10 14 14,00 0x00 +88 Dire_Badger 12447 nw_direbadg 8 3 3,00 0x09 +89 Dire_Bear 12386 nw_beardire 8 12 9,00 0x09 +90 Dire_Boar 12399 nw_boardire 8 7 5,00 0x09 +91 Dire_Rat 3105 nw_ratdire001 8 1 0,50 0x09 +92 Dire_Spider 12718 nw_spiddire 25 10 7,00 0x08 +93 Dire_Tiger 12448 nw_diretiger 8 16 11,00 0x09 +94 Dire_Wolf 10526 nw_direwolf 8 6 5,00 0x09 +95 Dog 12457 nw_dog 8 2 1,00 0x09 +96 Doom_Knight 12459 nw_doomkght 24 9 10,00 0x00 +97 Doom_Knight_Commander 56566 nw_doomkghtboss 24 9 15,00 0x00 +98 Drider 3063 x2_drider001 7 6 6,00 0x08 +99 Drider_Chief 90380 x2_drider002 7 11 10,00 0x08 +100 Drider_Cleric 90389 x2_fdrider002 7 6 7,00 0x08 +101 Drider_Wizard 90381 x2_driderw01 7 6 8,00 0x08 +102 Drow_Assassin 12503 nw_drowrogue001 1 1 1,00 0x08 +103 Drow_Mage 12502 nw_drowmage001 1 1 1,00 0x08 +104 Drow_Militia 12501 nw_drowfight001 1 1 1,00 0x08 +105 Drow_Priestess 12500 nw_drowcler001 1 1 1,00 0x08 +106 Drow_Rogue 90394 x2_mephdrow001 1 11 7,00 0x08 +107 Drow_Slave 90382 x2_drow001 1 1 0,50 0x08 +108 Drow_Warrior 85590 x2_mephdrow004 1 11 8,00 0x08 +109 Drow_Wizard 90383 x2_drow002 1 5 4,00 0x08 +110 Dryad 12505 nw_dryad 17 2 2,00 0x08 +111 Duergar_Chief 90385 x2_duergar002 0 5 4,00 0x08 +112 Duergar_Cleric 12507 nw_duecler001 0 1 1,00 0x08 +113 Duergar_Mage 90400 x2_mephduer007 0 10 7,00 0x08 +114 Duergar_Priestess 90401 x2_mephduer010 0 10 8,00 0x08 +115 Duergar_Rogue 12510 x2_mephduer004 0 10 7,00 0x08 +116 Duergar_Slaver 101022 x2_duergar001 0 1 0,25 0x08 +117 Duergar_Warrior 12508 nw_duefight001 0 1 1,00 0x08 +118 Dust_Mephit 12637 nw_mepdust 20 3 3,00 0x00 +119 Dwarf_Mercenary 12511 nw_dwarfmerc001 0 1 0,50 0x08 +120 Earth_Elemental 12513 nw_earth 16 4 4,00 0x02 +121 Earth_Mephit 12638 nw_mepearth 20 3 3,00 0x00 +122 Elder_Air_Elemental 12356 nw_airelder 16 24 20,00 0x02 +123 Elder_Earth_Elemental 12515 nw_eartheld 16 24 17,00 0x02 +124 Elder_Fire_Elemental 12531 nw_fireelder 16 24 17,00 0x02 +125 Elder_Water_Elemental 12800 nw_watelder 16 24 16,00 0x02 +126 Elf_Mage 12518 nw_elfmage001 1 1 0,50 0x08 +127 Elf_Mercenary 12519 nw_elfmerc001 1 3 2,00 0x08 +128 Elf_Ranger 12520 nw_elfranger001 1 1 0,50 0x08 +129 Emerald_Golem 111379 x3_emgolem001 10 12 12,00 0x00 +130 Erinyes 90386 x2_erinyes 20 6 8,00 0x00 +131 Ettercap 12522 nw_ettercap 7 5 5,00 0x08 +132 Ettin 12524 nw_ettin 18 10 8,00 0x08 +133 Eyeball 84490 x2_beholder002 7 1 3,00 0x08 +134 Faerie_Dragon 9162 x0_dragon_faerie 11 10 5,00 0x08 +135 Falcon 12685 nw_raptor001 8 1 0,33 0x09 +136 Female_Drider 90388 x2_fdrider001 7 6 6,00 0x08 +137 Fenhound 12527 nw_fenhound 20 5 4,00 0x00 +138 Fire_Beetle 12405 nw_btlfire 25 1 0,25 0x08 +139 Fire_Elemental 12529 nw_fire 16 4 3,00 0x02 +140 Fire_Giant 12558 nw_gntfire 18 15 12,00 0x08 +141 Fire_Giant 2898 x0_gntfirefem 18 15 10,00 0x08 +142 Fire_Mephit 6001 nw_mepfire 20 3 3,00 0x00 +143 Flesh_Golem 12574 nw_golflesh 10 9 8,00 0x00 +144 Formian_Myrmarch 2889 x0_form_myrmarch 20 12 11,00 0x00 +145 Formian_Queen 2890 x0_form_queen 20 37 20,00 0x00 +146 Formian_Taskmaster 40603 x0_form_taskmast 20 6 7,00 0x00 +147 Formian_Warrior 2888 x0_form_warrior 20 4 4,00 0x00 +148 Formian_Worker 2887 x0_form_worker 20 1 1,00 0x00 +149 Frost_Giant 12560 nw_gntfrost 18 14 10,00 0x08 +150 Frost_Giant 2897 x0_gntfrostfem 18 14 9,00 0x08 +151 Gargoyle 12550 nw_gargoyle 19 4 3,00 0x08 +152 Gaseous_Form 12798 nw_vampire_shad 24 3 3,00 0x00 +153 Gelatinous_Cube 84439 x2_gelcube 29 4 3,00 0x08 +154 Ghast 12552 nw_ghast 24 4 4,00 0x00 +155 Ghoul 12554 nw_ghoul 24 2 2,00 0x00 +156 Ghoul_Lord 12556 nw_ghoullord 24 6 5,00 0x00 +157 Ghoul_Ravager 56567 nw_ghoulboss 24 9 10,00 0x00 +158 Giant_Spider 12720 nw_spidgiant 25 4 3,00 0x08 +159 Girl 12525 nw_femalekid01 6 1 0,25 0x08 +160 Gnoll 3097 nw_gnoll001 12 2 1,00 0x08 +161 Gnoll_Shaman 3099 nw_gnoll002 12 4 3,00 0x08 +162 Goblin 12567 nw_goblina 12 1 0,25 0x08 +163 Goblin_Chieftain 56568 nw_goblinboss 12 9 11,00 0x08 +164 Goblin_Elite 12566 nw_gobchiefa 12 5 4,00 0x08 +165 Goblin_Shaman 12568 nw_gobwiza 12 4 3,00 0x08 +166 Goblin_Shark 110730 nw_sharkgoblin 8 3 2,00 0x09 +167 Gold_Cormyrian_Cobra 111370 x3_goldcobra001 8 5 4,00 0x09 +168 Gorgon 2856 x0_gorgon 19 8 7,00 0x08 +169 Gray_Ooze 110742 nw_grayooze 29 3 3,00 0x08 +170 Gray_Render 12579 nw_grayrend 9 10 8,00 0x00 +171 Gray_Slaad 12710 nw_slaadgray 20 10 10,00 0x00 +172 Great_Cobra 111372 x3_grtcobra001 8 7 5,00 0x09 +173 Great_Wyvern 111387 x3_wyvern001 11 14 9,00 0x08 +174 Greater_Air_Elemental 12357 nw_airgreat 16 21 18,00 0x02 +175 Greater_Earth_Elemental 12516 nw_earthgreat 16 21 15,00 0x02 +176 Greater_Fire_Elemental 12532 nw_firegreat 16 21 15,00 0x02 +177 Greater_Mummy 5644 nw_mumcleric 24 12 10,00 0x00 +178 Greater_Water_Elemental 12803 nw_watergreat 16 21 14,00 0x02 +179 Green_Slaad 12712 nw_slaadgrn 20 9 9,00 0x00 +180 Grig 12581 nw_grig 17 1 2,00 0x08 +181 Grizzly_Bear 12387 nw_bearkodiak 8 8 6,00 0x09 +182 Gynosphinx 2869 x0_gynosphinx 19 8 8,00 0x08 +183 Gypsy_Chief 12589 nw_gypsy006 6 15 11,00 0x08 +184 Gypsy_Healer 12588 nw_gypsy005 6 10 8,00 0x08 +185 Gypsy_Mage 12587 nw_gypsy004 6 5 4,00 0x08 +186 Gypsy_Rogue 12586 nw_gypsy002 6 1 0,50 0x08 +187 Gypsy_Warrior 12585 nw_gypsy001 6 1 0,50 0x08 +188 Gypsy_Female 12583 nw_gypfemale 6 1 0,25 0x08 +189 Gypsy_Male 12584 nw_gypmale 6 1 0,25 0x08 +190 GZhorb_the_All-Seeing_Eye 111435 x3_gzhorb 7 33 18,00 0x08 +191 Half-Celestial_Warrior 12591 nw_halfcel001 20 10 9,00 0x00 +192 Half-Dragon_Cleric 12594 nw_halfdra002 11 10 8,00 0x08 +193 Half-Dragon_Sorcerer 12592 nw_halfdra001 11 10 9,00 0x08 +194 Half-Fiend_Warrior 12597 nw_halffnd001 20 10 8,00 0x00 +195 Halfling 6992 nw_halfling001 3 1 0,50 0x08 +196 Halfling 6991 nw_halfling005 3 5 3,00 0x08 +197 Halfling_Mercenary 12599 nw_halfmerc002 3 4 3,00 0x08 +198 Half-Orc_Bandit 12372 nw_bandit006 5 10 7,00 0x08 +199 Hammerhead_Shark 110729 nw_sharkhammer 8 3 3,00 0x09 +200 Harpy 3076 x2_harpy001 13 7 5,00 0x08 +201 Hell_Hound 5997 nw_hellhound 20 4 4,00 0x00 +202 Helmed_Horror 12602 nw_helmhorr 10 13 11,00 0x00 +203 Hill_Giant 12562 nw_gnthill 18 12 10,00 0x08 +204 Hive_Mother 56564 nw_beetleboss 25 11 16,00 0x08 +205 Hobgoblin 3100 nw_hobgoblin001 12 1 0,25 0x08 +206 Hobgoblin_Shaman 3102 nw_hobgoblin002 12 2 2,00 0x08 +207 Hook_Horror 12616 nw_horror 7 5 5,00 0x08 +208 Horse 111456 x3_horse001 8 1 0,50 0x09 +209 Hound_Archon 12418 nw_chound01 20 6 6,00 0x00 +210 Hound_of_Xvim 12391 nw_beastxvim 20 5 5,00 0x00 +211 House_Guard 2173 nw_guard 6 1 0,50 0x08 +212 Huge_Air_Elemental 12358 nw_airhuge 16 16 13,00 0x02 +213 Huge_Earth_Elemental 12517 nw_earthhuge 16 16 11,00 0x02 +214 Huge_Fire_Elemental 12533 nw_firehuge 16 16 12,00 0x02 +215 Huge_Iron_Golem 90393 x2_goliron_huge 10 21 21,00 0x00 +216 Huge_Water_Elemental 12804 nw_waterhuge 16 16 11,00 0x02 +217 Human_Mercenary 12617 nw_humanmerc003 6 7 6,00 0x08 +218 Hybrid_Cormyrian_Cobra 111373 x3_hybcobra001 8 3 2,00 0x09 +219 Ice_Mephit 6003 nw_mepice 20 3 3,00 0x00 +220 Imp 5999 nw_imp 20 3 3,00 0x00 +221 Innkeeper 6973 nw_innkeeper 6 1 0,25 0x08 +222 Intellect_Devourer 12445 nw_devour 7 6 7,00 0x08 +223 Invisible_Stalker 12621 nw_invstalk 16 8 6,00 0x02 +224 Iron_Golem 12576 nw_goliron 10 18 16,00 0x00 +225 Jaguar 12623 nw_jaguar 8 5 3,00 0x09 +226 Juvenile_Wyvern 111390 x3_wyvern003 11 9 6,00 0x08 +227 Kobold 2924 nw_kobold001 15 1 0,33 0x08 +228 Kobold_Footpad 2933 nw_kobold004 15 2 2,00 0x08 +229 Kobold_Shaman 2926 nw_kobold005 15 2 2,00 0x08 +230 Kobold_Thug 2925 nw_kobold003 15 2 2,00 0x08 +231 Krenshar 12625 nw_krenshar 19 2 2,00 0x08 +232 Kurths_Soldier 2175 nw_kurthsold 6 1 0,50 0x08 +233 Lantern_Archon 12421 nw_clantern 20 1 5,00 0x00 +234 Leopard 12414 nw_cat 8 3 2,00 0x09 +235 Lich 12627 nw_lichboss 24 16 21,00 0x00 +236 Lion 12632 nw_lion 8 5 3,00 0x09 +237 Lizardfolk_Chieftain 12668 nw_oldchiefa 15 5 4,00 0x08 +238 Lizardfolk_Shaman 12669 nw_oldmageb 15 5 4,00 0x08 +239 Lizardfolk_Warrior 12671 nw_oldwarra 15 2 2,00 0x08 +240 Luskan_Guard 6951 nw_luskanite 6 1 0,25 0x08 +241 Magma_Mephit 12639 nw_mepmagma 20 3 3,00 0x00 +242 Mako_Shark 110728 nw_sharkmako 8 3 3,00 0x09 +243 Malar_Panther 2976 nw_beastmalar001 23 9 7,00 0x00 +244 Manticore 2865 x0_manticore 19 6 6,00 0x08 +245 Medusa 2854 x0_medusa 13 6 6,00 0x08 +246 Mind_Flayer 90403 x2_mindflayer001 7 8 9,00 0x08 +247 Mind_Flayer_Darkener 90402 x2_mindfdarkener 7 15 16,00 0x08 +248 Mind_Flayer_Venerator 90405 x2_mindfveneratr 7 15 20,00 0x08 +249 Minogon 12647 nw_minogon 10 8 8,00 0x00 +250 Minotaur 12648 nw_minotaur 13 6 4,00 0x08 +251 Minotaur_Berserker 12645 nw_minchief 13 12 8,00 0x08 +252 Minotaur_Chieftain 56569 nw_minotaurboss 13 12 13,00 0x08 +253 Minotaur_Shaman 12649 nw_minwiz 13 12 9,00 0x08 +254 Mist_Dragon 111393 x3_dragmist001 11 21 14,00 0x0C +255 Mohrg 12651 nw_mohrg 24 14 12,00 0x00 +256 Mountain_Giant 12564 nw_gntmount 18 12 10,00 0x08 +257 Mummy 12656 nw_mummy 24 6 5,00 0x00 +258 Mummy_Lord 56570 nw_mummyboss 24 12 11,00 0x00 +259 Neverwintan_Militia 6950 nw_nevmilitia 6 1 0,50 0x08 +260 Nightmare 110968 x3_nightmare002 20 9 8,00 0x00 +261 Nixie 12658 nw_nixie 17 1 1,00 0x08 +262 Nobleman 2179 nw_noblmale 6 1 0,25 0x08 +263 Noblewoman 2178 nw_noblfemale 6 1 0,25 0x08 +264 Nymph 12662 nw_nymph 17 3 3,00 0x08 +265 Ochre_Jelly 110835 nw_ochrejellymed 29 4 3,00 0x08 +266 Ogre 12664 nw_ogre01 18 4 3,00 0x08 +267 Ogre_Berserker 12665 nw_ogrechief01 18 8 6,00 0x08 +268 Ogre_Chieftain 56571 nw_ogreboss 18 11 9,00 0x08 +269 Ogre_High_Mage 56572 nw_ogremageboss 18 12 18,00 0x08 +270 Ogre_Mage 12666 nw_ogremage01 18 5 5,00 0x08 +271 Old_Black_Dragon 12462 nw_drgblack002 11 25 17,00 0x0C +272 Old_Blue_Dragon 12466 nw_drgblue002 11 27 18,00 0x0C +273 Old_Brass_Dragon 12470 nw_drgbrass002 11 25 17,00 0x0C +274 Old_Bronze_Dragon 12474 nw_drgbrnz002 11 27 19,00 0x0C +275 Old_Copper_Dragon 12478 nw_drgcopp002 11 26 18,00 0x0C +276 Old_Gold_Dragon 12482 nw_drggold002 11 29 21,00 0x0C +277 Old_Green_Dragon 12486 nw_drggreen002 11 26 18,00 0x0C +278 Old_Man 6979 nw_oldman 6 1 0,25 0x08 +279 Old_Red_Dragon 12490 nw_drgred002 11 28 19,00 0x0C +280 Old_Silver_Dragon 12494 nw_drgsilv002 11 28 20,00 0x0C +281 Old_White_Dragon 12498 nw_drgwhite002 11 24 16,00 0x0C +282 Old_Woman 6980 nw_oldwoman 6 1 0,25 0x08 +283 Ooze_Mephit 12640 nw_mepooze 20 3 3,00 0x00 +284 Orc 12674 nw_orca 14 1 0,25 0x08 +285 Orc_Champion 12675 nw_orcchiefa 14 4 3,00 0x08 +286 Orc_Chieftain 56573 nw_orcboss 14 11 10,00 0x08 +287 Orc_Shaman 12676 nw_orcwiza 14 5 4,00 0x08 +288 Ox 12678 nw_ox 8 1 0,50 0x09 +289 Pack_Leader 56578 nw_wolfdireboss 8 6 11,00 0x09 +290 Panther 5995 nw_panther 8 3 2,00 0x09 +291 Parrot 110798 nw_parrot 8 1 0,25 0x09 +292 Penguin 40617 x0_penguin001 8 1 0,17 0x09 +293 Phase_Spider 12722 nw_spidphase 19 5 3,00 0x08 +294 Pit_Fiend 3095 nw_devil001 20 13 15,00 0x00 +295 Pixie 6005 nw_pixie 17 1 2,00 0x08 +296 Plague_Victim 2180 nw_plagmale 6 1 0,25 0x08 +297 Polar_Bear 12389 nw_bearpolar 8 8 6,00 0x09 +298 Prismatic_Dragon 90378 x2_dragonpris001 11 40 37,00 0x0C +299 Prostitute 12614 nw_hooker01 6 1 0,25 0x08 +300 Pseudodragon 9161 x0_dragon_pseudo 11 2 0,50 0x08 +301 Purple_Dragon_Archer 110996 x3_pdkaf001 6 2 2,00 0x08 +302 Purple_Dragon_Archer 110997 x3_pdkam001 6 2 2,00 0x08 +303 Purple_Dragon_Blade 110998 x3_pdkbf001 6 2 2,00 0x08 +304 Purple_Dragon_Blade 110999 x3_pdkbm001 6 2 2,00 0x08 +305 Quasit 12451 nw_dmquasit 20 3 3,00 0x00 +306 Queen_Spider 56576 nw_spiderboss 25 11 14,00 0x08 +307 Rakshasa 12682 nw_rakshasa 20 7 7,00 0x00 +308 Rat 3103 nw_rat001 8 1 0,13 0x09 +309 Raven 6008 nw_raven 8 1 0,33 0x09 +310 Red_Slaad 12714 nw_slaadred 20 7 6,00 0x00 +311 Revenant 12687 nw_revenant001 24 6 7,00 0x00 +312 Ruby_Golem 111381 x3_rubygolem001 10 10 12,00 0x00 +313 Sahuagin 110752 nw_sahuagin 15 2 2,00 0x08 +314 Sahuagin_Cleric 110753 nw_sahuaginclr 15 2 2,00 0x08 +315 Sahuagin_Leader 110754 nw_sahuaginldr 15 3 3,00 0x08 +316 Salt_Mephit 12641 nw_mepsalt 20 3 3,00 0x00 +317 Satyr 110988 x3_satyr003 17 5 4,00 0x08 +318 Satyr_Archer 111384 x3_satyr002 17 5 4,00 0x08 +319 Satyr_Warrior 111386 x3_satyr001 17 5 4,00 0x08 +320 Sea_Hag 110534 nw_seahag 13 3 4,00 0x08 +321 Seagull 110684 nw_seagullfly 8 3 2,00 0x09 +322 Shadow 12689 nw_shadow 24 3 3,00 0x00 +323 Shadow_Fiend 12691 nw_shfiend 24 7 7,00 0x00 +324 Shadow_Mastiff 12695 nw_shmastif 20 4 4,00 0x00 +325 Shield_Guardian 12693 nw_shguard 10 15 13,00 0x00 +326 Shop_Keeper 6972 nw_shopkeep 6 1 0,25 0x08 +327 Skeletal_Devourer 12700 nw_skeldevour 24 11 13,00 0x00 +328 Skeleton 12701 nw_skeleton 24 1 0,50 0x00 +329 Skeleton_Chieftain 12698 nw_skelchief 24 7 7,00 0x00 +330 Skeleton_Mage 12702 nw_skelmage 24 4 4,00 0x00 +331 Skeleton_Priest 12703 nw_skelpriest 24 4 4,00 0x00 +332 Skeleton_Warrior 12704 nw_skelwarr01 24 6 6,00 0x00 +333 Spectre 12716 nw_spectre 24 7 6,00 0x00 +334 Spitting_Cobra 111375 x3_spitcobra001 8 4 3,00 0x09 +335 Spitting_Fire_Beetle 79561 nw_btlfire02 25 1 3,00 0x08 +336 Stag_Beetle 12407 nw_btlstag 25 7 7,00 0x08 +337 Steam_Mephit 12642 nw_mepsteam 20 3 3,00 0x00 +338 Stinger 2872 x0_stinger 13 4 3,00 0x08 +339 Stinger_Chieftain 2875 x0_stinger_chief 13 10 7,00 0x08 +340 Stinger_Mage 2876 x0_stinger_mage 13 7 5,00 0x08 +341 Stinger_Warrior 2874 x0_stinger_war 13 7 5,00 0x08 +342 Stink_Beetle 12409 nw_btlstink 25 3 3,00 0x08 +343 Stirge 12727 nw_stirge 9 1 0,33 0x00 +344 Stone_Golem 12578 nw_golstone 10 14 12,00 0x00 +345 Succubus 12453 nw_dmsucubus 20 6 7,00 0x00 +346 Svirfneblin 3080 x2_svirfneblin01 2 1 0,50 0x08 +347 Svirfneblin 3081 x2_svirfneblin02 2 1 0,50 0x08 +348 Sword_Spider 12724 nw_spidswrd 25 5 4,00 0x08 +349 Tiefling 12784 nw_tiefling02 20 1 0,50 0x00 +350 Troglodyte 110636 nw_trog001 15 2 1,00 0x08 +351 Troglodyte_Cleric 110638 nw_trog003 15 6 5,00 0x08 +352 Troglodyte_Warrior 110637 nw_trog002 15 4 3,00 0x08 +353 Troll 12786 nw_troll 18 6 5,00 0x08 +354 Troll_Berserker 12787 nw_trollchief 18 10 7,00 0x08 +355 Troll_Chieftain 56577 nw_trollboss 18 12 9,00 0x08 +356 Troll_Shaman 12788 nw_trollwiz 18 10 7,00 0x08 +357 Tyrantfog_Zombie 12829 nw_zombtyrant 24 4 3,00 0x00 +358 Ulitharid 90404 x2_mindflayer002 7 16 19,00 0x08 +359 Umber_Hulk 12790 nw_umberhulk 7 8 9,00 0x08 +360 Uthgard_Elk_Tribesmen 12791 nw_uthgard01 6 1 1,00 0x08 +361 Uthgard_Tiger_Tribesmen 12792 nw_uthgard02 6 1 1,00 0x08 +362 Vampire 12772 nw_vampire 24 5 6,00 0x00 +363 Vampire_Mage 12796 nw_vampire003 24 10 16,00 0x00 +364 Vampire_Priest 12797 nw_vampire004 24 10 13,00 0x00 +365 Vampire_Rogue 12795 nw_vampire002 24 10 13,00 0x00 +366 Vampire_Warrior 12794 nw_vampire001 24 10 12,00 0x00 +367 Vrock 12455 nw_dmvrock 20 8 10,00 0x00 +368 Waitress 6975 nw_waitress 6 1 0,25 0x08 +369 Warrior_Mummy 12654 nw_mumfight 24 12 10,00 0x00 +370 Water_Elemental 12802 nw_water 16 4 4,00 0x02 +371 Water_Mephit 12643 nw_mepwater 20 3 3,00 0x00 +372 Wereboar 111014 x3_wereboar001 23 10 9,00 0x00 +373 Werecat 12806 nw_werecat 23 6 5,00 0x00 +374 Wererat 12808 nw_wererat 23 1 0,50 0x00 +375 Werewolf 12810 nw_werewolf 23 2 2,00 0x00 +376 White_Slaad 90431 x2_slaadwhite001 20 24 25,00 0x00 +377 White_Stag 12441 nw_deerstag 8 1 0,33 0x09 +378 Wight 12812 nw_wight 24 4 4,00 0x00 +379 Will-O-Wisp 12814 nw_willowisp 7 9 8,00 0x08 +380 Winter_Wolf 12818 nw_wolfwint 19 6 5,00 0x08 +381 Wolf 12816 nw_wolf 8 2 1,00 0x09 +382 Worg 12820 nw_worg 19 4 3,00 0x08 +383 Wraith 12822 nw_wraith 24 5 5,00 0x00 +384 Wraith_Spider 12726 nw_spidwra 24 3 4,00 0x00 +385 Wyrmling_Black_Dragon 40624 x0_wyrmling_blk 11 4 3,00 0x0C +386 Wyrmling_Blue_Dragon 40626 x0_wyrmling_blu 11 6 5,00 0x0C +387 Wyrmling_Brass_Dragon 40628 x0_wyrmling_brs 11 4 4,00 0x0C +388 Wyrmling_Bronze_Dragon 40630 x0_wyrmling_brz 11 6 5,00 0x0C +389 Wyrmling_Copper_Dragon 40632 x0_wyrmling_cop 11 5 5,00 0x0C +390 Wyrmling_Gold_Dragon 40634 x0_wyrmling_gld 11 8 7,00 0x0C +391 Wyrmling_Green_Dragon 40635 x0_wyrmling_grn 11 5 4,00 0x0C +392 Wyrmling_Red_Dragon 40637 x0_wyrmling_red 11 7 5,00 0x0C +393 Wyrmling_Silver_Dragon 40638 x0_wyrmling_sil 11 7 6,00 0x0C +394 Wyrmling_White_Dragon 40640 x0_wyrmling_wht 11 3 3,00 0x0C +395 Young_Wyvern 111391 x3_wyvern004 11 6 4,00 0x08 +396 Yuan-ti 12823 nw_yuan_ti001 15 6 5,00 0x08 +397 Yuan-Ti_Priest 12825 nw_yuan_ti003 15 6 6,00 0x08 +398 Yuan-Ti_Sorcerer 12824 nw_yuan_ti002 15 6 5,00 0x08 +399 Zombie 12827 nw_zombie01 24 2 1,00 0x00 +400 Zombie_Lord 56579 nw_zombieboss 24 9 8,00 0x00 +401 Zombie_Warrior 12830 nw_zombwarr01 24 5 4,00 0x00 +402 BattleDevourer 12380 nw_battdevour 7 9 11,00 0x10 +403 Beholder 95219 x2_beholder001 7 11 11,00 0x10 +404 BeholderMage 90374 x2_beholder003 7 21 15,00 0x10 +405 Drider 3063 x2_drider001 7 6 7,00 0x10 +406 DriderChief 3064 x2_drider002 7 11 10,00 0x10 +407 DriderCleric 90389 x2_fdrider002 7 6 7,00 0x10 +408 DriderWizard 3066 x2_driderw01 7 6 8,00 0x10 +409 Ettercap 2136 nw_ettercap 7 5 5,00 0x10 +410 Eyeball 84490 x2_beholder002 7 1 3,00 0x10 +411 HookHorror 12616 nw_horror 7 5 5,00 0x10 +412 IntellectDevourer 2093 nw_devour 7 8 7,00 0x10 +413 Illithid 90403 x2_mindflayer001 7 8 9,00 0x10 +414 Ulitharid 90404 x2_mindflayer002 7 16 20,00 0x10 +415 UmberHulk 2138 nw_umberhulk 7 8 9,00 0x10 +416 WillOWisp 12814 nw_willowisp 7 9 9,00 0x10 +417 Treant 16793778 prc_sum_treant 52 7 6,00 0x20 +418 ShamblingMound 16793779 prc_shambmound 52 8 6,00 0x20 +419 TwigBlight 16793780 wol_twigblight 52 1 1,00 0x20 +420 Myconid 16793781 prc_myconid 52 2 1,00 0x20 +421 Algoid 16793782 prc_algoid 52 5 4,00 0x20 diff --git a/nwn/nwnprc/trunk/include/prc_add_spell_dc.nss b/nwn/nwnprc/trunk/include/prc_add_spell_dc.nss index f2a0e2fc..b8ecd637 100644 --- a/nwn/nwnprc/trunk/include/prc_add_spell_dc.nss +++ b/nwn/nwnprc/trunk/include/prc_add_spell_dc.nss @@ -10,8 +10,9 @@ int PRCGetSaveDC(object oTarget, object oCaster, int nSpellID = -1); //called just from above and from inc_epicspells int GetChangesToSaveDC(object oTarget, object oCaster, int nSpellID, int nSchool); - +#include "prc_inc_factotum" #include "prc_add_spl_pen" + // #include "prc_inc_spells" // #include "prc_class_const" // #include "prc_feat_const" @@ -444,7 +445,32 @@ int AngrySpell(int spell_id, int nSchool, object oCaster) return nDC; } -int CloakedCastingDC(int spell_id, object oTarget, object oCaster) +int CloakedCastingDC(int spell_id, object oTarget, object oCaster) +{ + int nDC; + int iBeguiler = GetLevelByClass(CLASS_TYPE_BEGUILER, oCaster); + int iFactotum = GetLevelByClass(CLASS_TYPE_FACTOTUM, oCaster); + int iEffectiveLevel = 0; + + // Check if character has Beguiler levels OR has learned Cloaked Casting via Cunning Brilliance + if(iBeguiler || (iFactotum && GetIsAbilitySaved(oCaster, FEAT_CLOAKED_CASTING))) + { + if(GetIsDeniedDexBonusToAC(oTarget, oCaster, TRUE)) + { + // Use Beguiler level if available, otherwise use Factotum level + iEffectiveLevel = iBeguiler ? iBeguiler : iFactotum; + + if(iEffectiveLevel >= 14) + nDC = 2; + else if(iEffectiveLevel >= 2) + nDC = 1; + } + } + + return nDC; +} + +/* int CloakedCastingDC(int spell_id, object oTarget, object oCaster) { int nDC; int iBeguiler = GetLevelByClass(CLASS_TYPE_BEGUILER, oCaster); @@ -461,7 +487,7 @@ int CloakedCastingDC(int spell_id, object oTarget, object oCaster) } return nDC; -} +} */ // Wyrmbane Helm int WyrmbaneHelmDC(object oTarget, object oCaster) diff --git a/nwn/nwnprc/trunk/include/prc_feat_const.nss b/nwn/nwnprc/trunk/include/prc_feat_const.nss index 0f41adc2..420f6c39 100644 --- a/nwn/nwnprc/trunk/include/prc_feat_const.nss +++ b/nwn/nwnprc/trunk/include/prc_feat_const.nss @@ -203,6 +203,10 @@ const int FEAT_CHARMING_THE_ARROW = 25998; //:: Skill Based Feats const int FEAT_JUMP = 2884; +//:: Beguiler +const int FEAT_CLOAKED_CASTING = 23592; +const int FEAT_SURPRISE_CASTING = 23593; + //:: Lion of Talisid const int FEAT_LOT_LIONS_COURAGE = 25614; const int FEAT_LOT_LIONS_POUNCE = 25615; @@ -3241,9 +3245,10 @@ const int FEAT_CWSM_FRIGHTFUL_PRESENCE = 2359; const int FEAT_VIRTUOSO_REVEALING_MELODY = 4176; const int FEAT_VIRTUOSO_PERFORMANCE = 4177; -// hexblade feats -const int FEAT_HEXCURSE = 3664; -const int FEAT_SWIFT_CAST = 3827; +//:: Hexblade feats +const int FEAT_HEXCURSE = 3664; +const int FEAT_METTLE = 3665; +const int FEAT_SWIFT_CAST = 3827; // Status markers const int FEAT_INCORPOREAL = 4166; diff --git a/nwn/nwnprc/trunk/include/prc_inc_core.nss b/nwn/nwnprc/trunk/include/prc_inc_core.nss index df734512..ecc19d65 100644 --- a/nwn/nwnprc/trunk/include/prc_inc_core.nss +++ b/nwn/nwnprc/trunk/include/prc_inc_core.nss @@ -532,7 +532,8 @@ int GetIsBioSpellCastClass(int nClass) || nClass == CLASS_TYPE_SHAMAN || nClass == CLASS_TYPE_DRUID || nClass == CLASS_TYPE_PALADIN - || nClass == CLASS_TYPE_RANGER; + || nClass == CLASS_TYPE_RANGER + || nClass == CLASS_TYPE_ASSASSIN; } int GetIsNSBClass(int nClass) @@ -675,8 +676,19 @@ int PRCGetIsRealSpellKnownByClass(int nRealSpellID, int nClass, object oPC = OBJ string sSpellLevel = Get2DACache(sFile, "Level", nSpellbookSpell); if (sSpellLevel != "") nSpellLevel = StringToInt(sSpellLevel); - if ((GetLevelByClass(nClass) < nSpellLevel) || nSpellLevel == -1) - return FALSE; // not high enough level + if (nClass == CLASS_TYPE_SUBLIME_CHORD) + { + // Sublime Chord gets access to 4th level spells at level 1 + // Skip level requirement check for this class + } + else + { + // Original level check for other classes + if ((GetLevelByClass(nClass) < nSpellLevel) || nSpellLevel == -1) + return FALSE; // not high enough level + } +/* if ((GetLevelByClass(nClass) < nSpellLevel) || nSpellLevel == -1) + return FALSE; // not high enough level */ // at this stage, prepared casters know the spell and only spontaneous classes need checking // there are exceptions and these need hardcoding: diff --git a/nwn/nwnprc/trunk/include/prc_inc_factotum.nss b/nwn/nwnprc/trunk/include/prc_inc_factotum.nss index eee86b11..4f7dc673 100644 --- a/nwn/nwnprc/trunk/include/prc_inc_factotum.nss +++ b/nwn/nwnprc/trunk/include/prc_inc_factotum.nss @@ -240,7 +240,171 @@ int GetIsAbilitySaved(object oPC, int nAbil) return nCount; } -void FactotumTriggerAbil(object oPC, int nAbil) +void FactotumTriggerAbil(object oPC, int nAbil) +{ + object oSkin = GetPCSkin(oPC); + effect eEffect; + + if (nAbil == FEAT_BARBARIAN_RAGE) + ExecuteScript("NW_S1_BarbRage", oPC); + else if (nAbil == FEAT_BARBARIAN_ENDURANCE) + eEffect = EffectBonusFeat(IP_CONST_FEAT_BarbEndurance); + else if (nAbil == FEAT_SNEAK_ATTACK) + { + SetLocalInt(oPC, "FactotumSneak", TRUE); + DelayCommand(0.1, ExecuteScript("prc_sneak_att", oPC)); + DelayCommand(59.9, DeleteLocalInt(oPC, "FactotumSneak")); + DelayCommand(60.0, ExecuteScript("prc_sneak_att", oPC)); + } + else if (nAbil == FEAT_METTLE) // Mettle + { + eEffect = EffectBonusFeat(FEAT_METTLE); + /* SetLocalInt(oPC, "FactotumMettle", TRUE); + DelayCommand(60.0, DeleteLocalInt(oPC, "FactotumMettle")); */ + } + else if (nAbil == FEAT_CRUSADER_SMITE) + { + eEffect = EffectBonusFeat(FEAT_CRUSADER_SMITE); + } + else if (nAbil == FEAT_CLOAKED_CASTING) + { + eEffect = EffectBonusFeat(FEAT_CLOAKED_CASTING); + } + else if (nAbil == FEAT_DRAGONSHAMAN_RESOLVE) + { + // Draconic Resolve - immunity to sleep, paralysis, fear + eEffect = EffectImmunity(IMMUNITY_TYPE_PARALYSIS); + eEffect = EffectLinkEffects(eEffect, EffectImmunity(IMMUNITY_TYPE_SLEEP)); + eEffect = EffectLinkEffects(eEffect, EffectImmunity(IMMUNITY_TYPE_FEAR)); + } + // Favored Enemy feats + else if (nAbil == FEAT_FAVORED_ENEMY_ABERRATION) + eEffect = EffectBonusFeat(FEAT_FAVORED_ENEMY_ABERRATION); + else if (nAbil == FEAT_FAVORED_ENEMY_ANIMAL) + eEffect = EffectBonusFeat(FEAT_FAVORED_ENEMY_ANIMAL); + else if (nAbil == FEAT_FAVORED_ENEMY_BEAST) + eEffect = EffectBonusFeat(FEAT_FAVORED_ENEMY_BEAST); + else if (nAbil == FEAT_FAVORED_ENEMY_CONSTRUCT) + eEffect = EffectBonusFeat(FEAT_FAVORED_ENEMY_CONSTRUCT); + else if (nAbil == FEAT_FAVORED_ENEMY_DRAGON) + eEffect = EffectBonusFeat(FEAT_FAVORED_ENEMY_DRAGON); + else if (nAbil == FEAT_FAVORED_ENEMY_DWARF) + eEffect = EffectBonusFeat(FEAT_FAVORED_ENEMY_DWARF); + else if (nAbil == FEAT_FAVORED_ENEMY_ELEMENTAL) + eEffect = EffectBonusFeat(FEAT_FAVORED_ENEMY_ELEMENTAL); + else if (nAbil == FEAT_FAVORED_ENEMY_ELF) + eEffect = EffectBonusFeat(FEAT_FAVORED_ENEMY_ELF); + else if (nAbil == FEAT_FAVORED_ENEMY_FEY) + eEffect = EffectBonusFeat(FEAT_FAVORED_ENEMY_FEY); + else if (nAbil == FEAT_FAVORED_ENEMY_GIANT) + eEffect = EffectBonusFeat(FEAT_FAVORED_ENEMY_GIANT); + else if (nAbil == FEAT_FAVORED_ENEMY_GNOME) + eEffect = EffectBonusFeat(FEAT_FAVORED_ENEMY_GNOME); + else if (nAbil == FEAT_FAVORED_ENEMY_GOBLINOID) + eEffect = EffectBonusFeat(FEAT_FAVORED_ENEMY_GOBLINOID); + else if (nAbil == FEAT_FAVORED_ENEMY_HALFELF) + eEffect = EffectBonusFeat(FEAT_FAVORED_ENEMY_HALFELF); + else if (nAbil == FEAT_FAVORED_ENEMY_HALFLING) + eEffect = EffectBonusFeat(FEAT_FAVORED_ENEMY_HALFLING); + else if (nAbil == FEAT_FAVORED_ENEMY_HALFORC) + eEffect = EffectBonusFeat(FEAT_FAVORED_ENEMY_HALFORC); + else if (nAbil == FEAT_FAVORED_ENEMY_HUMAN) + eEffect = EffectBonusFeat(FEAT_FAVORED_ENEMY_HUMAN); + else if (nAbil == FEAT_FAVORED_ENEMY_MAGICAL_BEAST) + eEffect = EffectBonusFeat(FEAT_FAVORED_ENEMY_MAGICAL_BEAST); + else if (nAbil == FEAT_FAVORED_ENEMY_MONSTROUS) + eEffect = EffectBonusFeat(FEAT_FAVORED_ENEMY_MONSTROUS); + else if (nAbil == FEAT_FAVORED_ENEMY_ORC) + eEffect = EffectBonusFeat(FEAT_FAVORED_ENEMY_ORC); + else if (nAbil == FEAT_FAVORED_ENEMY_OOZE) + eEffect = EffectBonusFeat(FEAT_FAVORED_ENEMY_OOZE); + else if (nAbil == FEAT_FAVORED_ENEMY_OUTSIDER) + eEffect = EffectBonusFeat(FEAT_FAVORED_ENEMY_OUTSIDER); + else if (nAbil == FEAT_FAVORED_ENEMY_PLANT) + eEffect = EffectBonusFeat(FEAT_FAVORED_ENEMY_PLANT); + else if (nAbil == FEAT_FAVORED_ENEMY_REPTILIAN) + eEffect = EffectBonusFeat(FEAT_FAVORED_ENEMY_REPTILIAN); + else if (nAbil == FEAT_FAVORED_ENEMY_SHAPECHANGER) + eEffect = EffectBonusFeat(FEAT_FAVORED_ENEMY_SHAPECHANGER); + else if (nAbil == FEAT_FAVORED_ENEMY_UNDEAD) + eEffect = EffectBonusFeat(FEAT_FAVORED_ENEMY_UNDEAD); + else if (nAbil == FEAT_FAVORED_ENEMY_VERMIN) + eEffect = EffectBonusFeat(FEAT_FAVORED_ENEMY_VERMIN); + // Other existing abilities + else if (nAbil == FEAT_NATURE_SENSE) + { + eEffect = EffectBonusFeat(FEAT_NATURE_SENSE); + } + else if (nAbil == FEAT_WOODLAND_STRIDE) + { + eEffect = EffectBonusFeat(FEAT_WOODLAND_STRIDE); + } + else if (nAbil == FEAT_TRACKLESS_STEP) + { + eEffect = EffectBonusFeat(FEAT_TRACKLESS_STEP); + } + else if (nAbil == FEAT_RESIST_NATURES_LURE) + { + eEffect = EffectBonusFeat(FEAT_RESIST_NATURES_LURE); + } + else if (nAbil == FEAT_VENOM_IMMUNITY) + { + effect eImmunity = EffectImmunity(IMMUNITY_TYPE_POISON); + ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eImmunity, oPC, 60.0); + } + else if (nAbil == FEAT_EVASION) + { + eEffect = EffectBonusFeat(FEAT_EVASION); + } + else if (nAbil == FEAT_STILL_MIND) + { + eEffect = EffectBonusFeat(FEAT_STILL_MIND); + } + else if (nAbil == FEAT_PURITY_OF_BODY) + { + // Purity of Body - disease immunity + effect eImmunity = EffectImmunity(IMMUNITY_TYPE_DISEASE); + ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eImmunity, oPC, 60.0); + } + else if (nAbil == FEAT_IMPROVED_EVASION) + { + eEffect = EffectBonusFeat(FEAT_IMPROVED_EVASION); + } + else if (nAbil == FEAT_USE_POISON) + { + eEffect = EffectBonusFeat(FEAT_USE_POISON); + } + else if (nAbil == FEAT_DIVINE_HEALTH) + { + // Divine Health - disease immunity + effect eImmunity = EffectImmunity(IMMUNITY_TYPE_DISEASE); + ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eImmunity, oPC, 60.0); + } + else if (nAbil == FEAT_CRIPPLING_STRIKE) + { + eEffect = EffectBonusFeat(FEAT_CRIPPLING_STRIKE); + } + else if (nAbil == FEAT_DEFENSIVE_ROLL) + { + eEffect = EffectBonusFeat(FEAT_DEFENSIVE_ROLL); + } + else if (nAbil == FEAT_OPPORTUNIST) + { + eEffect = EffectBonusFeat(FEAT_OPPORTUNIST); + } + else if (nAbil == FEAT_SLIPPERY_MIND) + { + eEffect = EffectBonusFeat(FEAT_SLIPPERY_MIND); + } + + eEffect = TagEffect(eEffect, "FactotumCunningBrilliance"); + eEffect = ExtraordinaryEffect(eEffect); + ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eEffect, oPC, 60.0); + +} + + +/* void FactotumTriggerAbil(object oPC, int nAbil) { object oSkin = GetPCSkin(oPC); itemproperty ipIP; @@ -264,7 +428,7 @@ void FactotumTriggerAbil(object oPC, int nAbil) ipIP = PRCItemPropertyBonusFeat(IP_CONST_FEAT_CRUSADER_SMITE); IPSafeAddItemProperty(oSkin, ipIP, 60.0, X2_IP_ADDPROP_POLICY_KEEP_EXISTING, FALSE, FALSE); -} +} */ void TriggerInspiration(object oPC, int nCombat) { diff --git a/nwn/nwnprc/trunk/scripts/prc_fact_cunconv.nss b/nwn/nwnprc/trunk/scripts/prc_fact_cunconv.nss index f317c99f..41de5f53 100644 --- a/nwn/nwnprc/trunk/scripts/prc_fact_cunconv.nss +++ b/nwn/nwnprc/trunk/scripts/prc_fact_cunconv.nss @@ -9,14 +9,16 @@ //::////////////////////////////////////////////// #include "prc_inc_factotum" +#include "prc_feat_const" #include "inc_dynconv" ////////////////////////////////////////////////// /* Constant defintions */ ////////////////////////////////////////////////// -const int STAGE_SELECT_ABILITIES = 0; -const int STAGE_CONFIRM_SELECTION = 1; +const int STAGE_SELECT_ABILITIES = 0; +const int STAGE_SELECT_FAVORED_ENEMY = 1; +const int STAGE_CONFIRM_SELECTION = 2; const int CHOICE_BACK_TO_LSELECT = -1; @@ -28,7 +30,7 @@ const int LEVEL_STRREF_START = 16824809; const int STRREF_YES = 4752; // "Yes" const int STRREF_NO = 4753; // "No" -const int SORT = TRUE; // If the sorting takes too much CPU, set to FALSE +const int SORT = TRUE; // If the sorting takes too much CPU, set to FALSE const int DEBUG_LIST = FALSE; ////////////////////////////////////////////////// @@ -139,113 +141,214 @@ void TransferTempList(object oPC) DeleteLocalInt(oPC, "PRC_FactotumConvo_ListInited"); } -void main() -{ - object oPC = GetPCSpeaker(); - int nValue = GetLocalInt(oPC, DYNCONV_VARIABLE); - int nStage = GetStage(oPC); - - string sPowerFile = "cls_spell_sorc"; - - // 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) - { - if(DEBUG) DoDebug("prc_fact_cunconv: Running setup stage for stage " + IntToString(nStage)); - // Check if this stage is marked as already set up - // This stops list duplication when scrolling - if(!GetIsStageSetUp(nStage, oPC)) - { - if(DEBUG) DoDebug("prc_fact_cunconv: Stage was not set up already"); - // Level selection stage - if(nStage == STAGE_SELECT_ABILITIES) - { - if(DEBUG) DoDebug("prc_fact_cunconv: Building level selection"); - SetHeader("Choose the class abilities you would like to learn. You can only learn three for today."); - - if (!GetIsAbilitySaved(oPC, FEAT_BARBARIAN_ENDURANCE)) AddChoice("Barbarian Fast Movement", FEAT_BARBARIAN_ENDURANCE); - if (!GetIsAbilitySaved(oPC, FEAT_BARBARIAN_RAGE)) AddChoice("Barbarian Rage", FEAT_BARBARIAN_RAGE); - if (!GetIsAbilitySaved(oPC, FEAT_SNEAK_ATTACK)) AddChoice("Sneak Attack", FEAT_SNEAK_ATTACK); - if (!GetIsAbilitySaved(oPC, 3665)) AddChoice("Mettle", 3665); - if (!GetIsAbilitySaved(oPC, FEAT_CRUSADER_SMITE)) AddChoice("Crusader Smite", FEAT_CRUSADER_SMITE); +void main() +{ + object oPC = GetPCSpeaker(); + int nValue = GetLocalInt(oPC, DYNCONV_VARIABLE); + int nStage = GetStage(oPC); + + string sPowerFile = "cls_spell_sorc"; + + // 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) + { + if(DEBUG) DoDebug("prc_fact_cunconv: Running setup stage for stage " + IntToString(nStage)); + // Check if this stage is marked as already set up + // This stops list duplication when scrolling + if(!GetIsStageSetUp(nStage, oPC)) + { + if(DEBUG) DoDebug("prc_fact_cunconv: Stage was not set up already"); + // Level selection stage + if(nStage == STAGE_SELECT_ABILITIES) + { + if(DEBUG) DoDebug("prc_fact_cunconv: Building level selection"); + SetHeader("Choose the class abilities you would like to learn. You can only learn three for today."); + + if (!GetIsAbilitySaved(oPC, FEAT_BARBARIAN_ENDURANCE)) AddChoice("Barbarian: Fast Movement", FEAT_BARBARIAN_ENDURANCE); + if (!GetIsAbilitySaved(oPC, FEAT_BARBARIAN_RAGE)) AddChoice("Barbarian: Rage", FEAT_BARBARIAN_RAGE); + if (!GetIsAbilitySaved(oPC, FEAT_CLOAKED_CASTING)) AddChoice("Beguiler: Cloaked Casting", FEAT_CLOAKED_CASTING); + if (!GetIsAbilitySaved(oPC, FEAT_CRUSADER_SMITE)) AddChoice("Crusader: Smite", FEAT_CRUSADER_SMITE); + if (!GetIsAbilitySaved(oPC, FEAT_DRAGONSHAMAN_RESOLVE)) AddChoice("Dragon Shaman: Draconic Resolve", FEAT_DRAGONSHAMAN_RESOLVE); + if (!GetIsAbilitySaved(oPC, FEAT_NATURE_SENSE)) AddChoice("Druid: Nature Sense", FEAT_NATURE_SENSE); + if (!GetIsAbilitySaved(oPC, FEAT_WOODLAND_STRIDE)) AddChoice("Druid: Woodland Stride", FEAT_WOODLAND_STRIDE); + if (!GetIsAbilitySaved(oPC, FEAT_TRACKLESS_STEP)) AddChoice("Druid: Trackless Step", FEAT_TRACKLESS_STEP); + if (!GetIsAbilitySaved(oPC, FEAT_RESIST_NATURES_LURE)) AddChoice("Druid: Resist Nature's Lure", FEAT_RESIST_NATURES_LURE); + if (!GetIsAbilitySaved(oPC, FEAT_VENOM_IMMUNITY)) AddChoice("Druid: Venom Immunity", FEAT_VENOM_IMMUNITY); + if (!GetIsAbilitySaved(oPC, FEAT_METTLE)) AddChoice("Hexblade: Mettle", FEAT_METTLE); + if (!GetIsAbilitySaved(oPC, FEAT_EVASION)) AddChoice("Monk: Evasion", FEAT_EVASION); + if (!GetIsAbilitySaved(oPC, FEAT_STILL_MIND)) AddChoice("Monk: Still Mind", FEAT_STILL_MIND); + if (!GetIsAbilitySaved(oPC, FEAT_PURITY_OF_BODY)) AddChoice("Monk: Purity of Body", FEAT_PURITY_OF_BODY); + if (!GetIsAbilitySaved(oPC, FEAT_IMPROVED_EVASION)) AddChoice("Monk: Improved Evasion", FEAT_IMPROVED_EVASION); + if (!GetIsAbilitySaved(oPC, FEAT_USE_POISON)) AddChoice("Ninja: Poison Use", FEAT_USE_POISON); + if (!GetIsAbilitySaved(oPC, FEAT_DIVINE_HEALTH)) AddChoice("Paladin: Divine Health", FEAT_DIVINE_HEALTH); + if (!GetIsAbilitySaved(oPC, FEAT_CRIPPLING_STRIKE)) AddChoice("Rogue: Crippling Strike", FEAT_CRIPPLING_STRIKE); + if (!GetIsAbilitySaved(oPC, FEAT_DEFENSIVE_ROLL)) AddChoice("Rogue: Defensive Strike", FEAT_DEFENSIVE_ROLL); + if (!GetIsAbilitySaved(oPC, FEAT_OPPORTUNIST)) AddChoice("Rogue: Opportunist", FEAT_OPPORTUNIST); + if (!GetIsAbilitySaved(oPC, FEAT_SLIPPERY_MIND)) AddChoice("Rogue: Slippery Mind", FEAT_SLIPPERY_MIND); + if (!GetIsAbilitySaved(oPC, FEAT_SNEAK_ATTACK)) AddChoice("Rogue: Sneak Attack", FEAT_SNEAK_ATTACK); - // Set the next, previous and wait tokens to default values - SetDefaultTokens(); - // Set the convo quit text to "Abort" - SetCustomToken(DYNCONV_TOKEN_EXIT, GetStringByStrRef(DYNCONV_STRREF_ABORT_CONVO)); - } - // Selection confirmation stage - else if(nStage == STAGE_CONFIRM_SELECTION) - { - if(DEBUG) DoDebug("prc_fact_cunconv: Building selection confirmation"); - // Build the confirmation query - string sToken = GetStringByStrRef(STRREF_SELECTED_HEADER1) + "\n\n"; // "You have selected:" - int nSpellId = GetLocalInt(oPC, "CunningBrilliance"); - sToken += GetStringByStrRef(StringToInt(Get2DACache("feat", "FEAT", nSpellId)))+"\n"; - sToken += GetStringByStrRef(StringToInt(Get2DACache("feat", "DESCRIPTION", nSpellId)))+"\n\n"; - sToken += GetStringByStrRef(STRREF_SELECTED_HEADER2); // "Is this correct?" - SetHeader(sToken); - - AddChoice(GetStringByStrRef(STRREF_YES), TRUE, oPC); // "Yes" - AddChoice(GetStringByStrRef(STRREF_NO), FALSE, oPC); // "No" - } - } - - // Do token setup - SetupTokens(); - } - else if(nValue == DYNCONV_EXITED) - { - if(DEBUG) DoDebug("prc_fact_cunconv: Running exit handler"); - // End of conversation cleanup - } - else if(nValue == DYNCONV_ABORTED) - { - // This section should never be run, since aborting this conversation should - // always be forbidden and as such, any attempts to abort the conversation - // should be handled transparently by the system - } - // Handle PC response - else - { - int nChoice = GetChoice(oPC); - if(DEBUG) DoDebug("prc_fact_cunconv: Handling PC response, stage = " + IntToString(nStage) + "; nChoice = " + IntToString(nChoice) + "; choice text = '" + GetChoiceText(oPC) + "'"); - if(nStage == STAGE_SELECT_ABILITIES) - { - if(DEBUG) DoDebug("prc_fact_cunconv: Level selected"); - SetLocalInt(oPC, "CunningBrilliance", nChoice); - nStage = STAGE_CONFIRM_SELECTION; - - MarkStageNotSetUp(STAGE_SELECT_ABILITIES, oPC); - } - else if(nStage == STAGE_CONFIRM_SELECTION) - { - if (nChoice) - { - int nSpellId = GetLocalInt(oPC, "CunningBrilliance"); - MarkAbilitySaved(oPC, nSpellId); - SetLocalInt(oPC, "CunningBrillianceCount", GetLocalInt(oPC, "CunningBrillianceCount")+1); - } - - // We have more to go - if(3 > GetLocalInt(oPC, "CunningBrillianceCount")) - { - nStage = STAGE_SELECT_ABILITIES; - } - else - { - // And we're all done - DelayCommand(0.5, CheckBrillianceSlots(oPC)); - AllowExit(DYNCONV_EXIT_FORCE_EXIT); - } - MarkStageNotSetUp(STAGE_CONFIRM_SELECTION, oPC); - } - - if(DEBUG) DoDebug("prc_fact_cunconv: New stage: " + IntToString(nStage)); - - // Store the stage value. If it has been changed, this clears out the choices - SetStage(nStage, oPC); - } -} + + AddChoice("Ranger: Favored Enemy", -1000); // Favored Enemy submenu trigger + + // Set the next, previous and wait tokens to default values + SetDefaultTokens(); + // Set the convo quit text to "Abort" + SetCustomToken(DYNCONV_TOKEN_EXIT, GetStringByStrRef(DYNCONV_STRREF_ABORT_CONVO)); + } + // Favored Enemy selection stage + else if(nStage == STAGE_SELECT_FAVORED_ENEMY) + { + if(DEBUG) DoDebug("prc_fact_cunconv: Building favored enemy selection"); + SetHeader("Choose your Favored Enemy type:"); + + // Add specific favored enemy feats + if (!GetIsAbilitySaved(oPC, FEAT_FAVORED_ENEMY_ABERRATION)) + AddChoice("Aberration", FEAT_FAVORED_ENEMY_ABERRATION); + if (!GetIsAbilitySaved(oPC, FEAT_FAVORED_ENEMY_ANIMAL)) + AddChoice("Animal", FEAT_FAVORED_ENEMY_ANIMAL); + if (!GetIsAbilitySaved(oPC, FEAT_FAVORED_ENEMY_BEAST)) + AddChoice("Beast", FEAT_FAVORED_ENEMY_BEAST); + if (!GetIsAbilitySaved(oPC, FEAT_FAVORED_ENEMY_CONSTRUCT)) + AddChoice("Construct", FEAT_FAVORED_ENEMY_CONSTRUCT); + if (!GetIsAbilitySaved(oPC, FEAT_FAVORED_ENEMY_DRAGON)) + AddChoice("Dragon", FEAT_FAVORED_ENEMY_DRAGON); + if (!GetIsAbilitySaved(oPC, FEAT_FAVORED_ENEMY_DWARF)) + AddChoice("Dwarf", FEAT_FAVORED_ENEMY_DWARF); + if (!GetIsAbilitySaved(oPC, FEAT_FAVORED_ENEMY_ELEMENTAL)) + AddChoice("Elemental", FEAT_FAVORED_ENEMY_ELEMENTAL); + if (!GetIsAbilitySaved(oPC, FEAT_FAVORED_ENEMY_ELF)) + AddChoice("Elf", FEAT_FAVORED_ENEMY_ELF); + if (!GetIsAbilitySaved(oPC, FEAT_FAVORED_ENEMY_FEY)) + AddChoice("Fey", FEAT_FAVORED_ENEMY_FEY); + if (!GetIsAbilitySaved(oPC, FEAT_FAVORED_ENEMY_GIANT)) + AddChoice("Giant", FEAT_FAVORED_ENEMY_GIANT); + if (!GetIsAbilitySaved(oPC, FEAT_FAVORED_ENEMY_GNOME)) + AddChoice("Gnome", FEAT_FAVORED_ENEMY_GNOME); + if (!GetIsAbilitySaved(oPC, FEAT_FAVORED_ENEMY_GOBLINOID)) + AddChoice("Goblinoid", FEAT_FAVORED_ENEMY_GOBLINOID); + if (!GetIsAbilitySaved(oPC, FEAT_FAVORED_ENEMY_HALFELF)) + AddChoice("Half-Elf", FEAT_FAVORED_ENEMY_HALFELF); + if (!GetIsAbilitySaved(oPC, FEAT_FAVORED_ENEMY_HALFLING)) + AddChoice("Halfling", FEAT_FAVORED_ENEMY_HALFLING); + if (!GetIsAbilitySaved(oPC, FEAT_FAVORED_ENEMY_HALFORC)) + AddChoice("Half-Orc", FEAT_FAVORED_ENEMY_HALFORC); + if (!GetIsAbilitySaved(oPC, FEAT_FAVORED_ENEMY_HUMAN)) + AddChoice("Human", FEAT_FAVORED_ENEMY_HUMAN); + if (!GetIsAbilitySaved(oPC, FEAT_FAVORED_ENEMY_MAGICAL_BEAST)) + AddChoice("Magical Beast", FEAT_FAVORED_ENEMY_MAGICAL_BEAST); + if (!GetIsAbilitySaved(oPC, FEAT_FAVORED_ENEMY_MONSTROUS)) + AddChoice("Monstrous Humanoid", FEAT_FAVORED_ENEMY_MONSTROUS); + if (!GetIsAbilitySaved(oPC, FEAT_FAVORED_ENEMY_ORC)) + AddChoice("Orc", FEAT_FAVORED_ENEMY_ORC); + if (!GetIsAbilitySaved(oPC, FEAT_FAVORED_ENEMY_OOZE)) + AddChoice("Ooze", FEAT_FAVORED_ENEMY_OOZE); + if (!GetIsAbilitySaved(oPC, FEAT_FAVORED_ENEMY_OUTSIDER)) + AddChoice("Outsider", FEAT_FAVORED_ENEMY_OUTSIDER); + if (!GetIsAbilitySaved(oPC, FEAT_FAVORED_ENEMY_PLANT)) + AddChoice("Plant", FEAT_FAVORED_ENEMY_PLANT); + if (!GetIsAbilitySaved(oPC, FEAT_FAVORED_ENEMY_REPTILIAN)) + AddChoice("Reptilian Humanoid", FEAT_FAVORED_ENEMY_REPTILIAN); + if (!GetIsAbilitySaved(oPC, FEAT_FAVORED_ENEMY_SHAPECHANGER)) + AddChoice("Shapechanger", FEAT_FAVORED_ENEMY_SHAPECHANGER); + if (!GetIsAbilitySaved(oPC, FEAT_FAVORED_ENEMY_UNDEAD)) + AddChoice("Undead", FEAT_FAVORED_ENEMY_UNDEAD); + if (!GetIsAbilitySaved(oPC, FEAT_FAVORED_ENEMY_VERMIN)) + AddChoice("Vermin", FEAT_FAVORED_ENEMY_VERMIN); + + SetDefaultTokens(); + SetCustomToken(DYNCONV_TOKEN_EXIT, GetStringByStrRef(DYNCONV_STRREF_ABORT_CONVO)); + } + // Selection confirmation stage + else if(nStage == STAGE_CONFIRM_SELECTION) + { + if(DEBUG) DoDebug("prc_fact_cunconv: Building selection confirmation"); + // Build the confirmation query + string sToken = GetStringByStrRef(STRREF_SELECTED_HEADER1) + "\n\n"; // "You have selected:" + int nSpellId = GetLocalInt(oPC, "CunningBrilliance"); + sToken += GetStringByStrRef(StringToInt(Get2DACache("feat", "FEAT", nSpellId)))+"\n"; + sToken += GetStringByStrRef(StringToInt(Get2DACache("feat", "DESCRIPTION", nSpellId)))+"\n\n"; + sToken += GetStringByStrRef(STRREF_SELECTED_HEADER2); // "Is this correct?" + SetHeader(sToken); + + AddChoice(GetStringByStrRef(STRREF_YES), TRUE, oPC); // "Yes" + AddChoice(GetStringByStrRef(STRREF_NO), FALSE, oPC); // "No" + } + } + + // Do token setup + SetupTokens(); + } + else if(nValue == DYNCONV_EXITED) + { + if(DEBUG) DoDebug("prc_fact_cunconv: Running exit handler"); + // End of conversation cleanup + } + else if(nValue == DYNCONV_ABORTED) + { + // This section should never be run, since aborting this conversation should + // always be forbidden and as such, any attempts to abort the conversation + // should be handled transparently by the system + } + // Handle PC response + else + { + int nChoice = GetChoice(oPC); + if(DEBUG) DoDebug("prc_fact_cunconv: Handling PC response, stage = " + IntToString(nStage) + "; nChoice = " + IntToString(nChoice) + "; choice text = '" + GetChoiceText(oPC) + "'"); + + if(nStage == STAGE_SELECT_ABILITIES) + { + if(DEBUG) DoDebug("prc_fact_cunconv: Ability selected"); + + // Check if Favored Enemy was selected + if(nChoice == -1000) // Our special value + { + nStage = STAGE_SELECT_FAVORED_ENEMY; + } + else + { + SetLocalInt(oPC, "CunningBrilliance", nChoice); + nStage = STAGE_CONFIRM_SELECTION; + } + + MarkStageNotSetUp(STAGE_SELECT_ABILITIES, oPC); + } + else if(nStage == STAGE_SELECT_FAVORED_ENEMY) + { + if(DEBUG) DoDebug("prc_fact_cunconv: Favored enemy selected"); + SetLocalInt(oPC, "CunningBrilliance", nChoice); + nStage = STAGE_CONFIRM_SELECTION; + + MarkStageNotSetUp(STAGE_SELECT_FAVORED_ENEMY, oPC); + } + else if(nStage == STAGE_CONFIRM_SELECTION) + { + if (nChoice) + { + int nSpellId = GetLocalInt(oPC, "CunningBrilliance"); + MarkAbilitySaved(oPC, nSpellId); + SetLocalInt(oPC, "CunningBrillianceCount", GetLocalInt(oPC, "CunningBrillianceCount")+1); + } + + // We have more to go + if(3 > GetLocalInt(oPC, "CunningBrillianceCount")) + { + nStage = STAGE_SELECT_ABILITIES; + } + else + { + // And we're all done + DelayCommand(0.5, CheckBrillianceSlots(oPC)); + AllowExit(DYNCONV_EXIT_FORCE_EXIT); + } + MarkStageNotSetUp(STAGE_CONFIRM_SELECTION, oPC); + } + + if(DEBUG) DoDebug("prc_fact_cunconv: New stage: " + IntToString(nStage)); + + // Store the stage value. If it has been changed, this clears out the choices + SetStage(nStage, oPC); + } +} \ No newline at end of file diff --git a/nwn/nwnprc/trunk/scripts/prc_switchesc.nss b/nwn/nwnprc/trunk/scripts/prc_switchesc.nss index 64eb4190..f2478316 100644 --- a/nwn/nwnprc/trunk/scripts/prc_switchesc.nss +++ b/nwn/nwnprc/trunk/scripts/prc_switchesc.nss @@ -110,7 +110,7 @@ const int TYPE_WILD_SHAPE = 1; //0x01 const int TYPE_ELEMENTAL_SHAPE = 2; //0x02 const int TYPE_DRAGON_SHAPE = 4; //0x04 const int TYPE_POLYMORPH_SELF = 8; //0x08 -const int TYPE_ABERRANT_SHAPE = 16; //0x16 +const int TYPE_ABERRANT_SHAPE = 16; //0x10 const int TYPE_PLANT_SHAPE = 32; //0x20 //////////////////////////////////////////////////