diff --git a/src/2da/bg_backgrounds.2da b/src/2da/bg_backgrounds.2da new file mode 100644 index 0000000..2d6be33 --- /dev/null +++ b/src/2da/bg_backgrounds.2da @@ -0,0 +1,26 @@ +2DA V2.0 + + Label FeatConstant FeatIndex Name Description +0 Affluence BACKGROUND_AFFLUENCE 1153 16925516 16925517 +1 Brawler BACKGROUND_BRAWLER 1154 16925518 16925519 +2 Cosmopolitan BACKGROUND_COSMOPOLITAN 1155 16925520 16925521 +3 Crusader BACKGROUND_CRUSADER 1156 16925522 16925523 +4 Duelist BACKGROUND_DUELIST 1157 16925524 16925525 +5 Evangelist BACKGROUND_EVANGELIST 1158 16925526 16925527 +6 Forester BACKGROUND_FORESTER 1159 16925528 16925529 +7 "Hard Laborer" BACKGROUND_HARD_LABORER 1160 16925530 16925531 +8 Healer BACKGROUND_HEALER 1161 16925532 16925533 +9 Knight BACKGROUND_KNIGHT 1162 16925534 16925535 +10 "Hedge Mage" BACKGROUND_HEDGEMAGE 1163 16925536 16925537 +11 Mendicant BACKGROUND_MENDICANT 1164 16925538 16925539 +12 Merchant BACKGROUND_MERCHANT 1165 16925540 16925541 +13 Metalsmith BACKGROUND_METALSMITH 1166 16925542 16925543 +14 Minstrel BACKGROUND_MINSTREL 1167 16925544 16925545 +15 Occultist BACKGROUND_OCCULTIST 1168 16925546 16925547 +16 Saboteur BACKGROUND_SABOTEUR 1169 16925548 16925549 +17 Scout BACKGROUND_SCOUT 1170 16925550 16925551 +18 Sneak BACKGROUND_SNEAK 1171 16925552 16925553 +19 Soldier BACKGROUND_SOLDIER 1172 16925554 16925555 +20 Traveler BACKGROUND_TRAVELER 1173 16925556 16925557 +21 Spellfire BACKGROUND_SPELLFIRE 1174 16925558 16925559 +22 "Natural Lycanthrope" BACKGROUND_NATLYCAN 1175 16925560 16925561 diff --git a/src/2da/bg_deity.2da b/src/2da/bg_deity.2da new file mode 100644 index 0000000..25d4dab --- /dev/null +++ b/src/2da/bg_deity.2da @@ -0,0 +1,71 @@ +2DA V2.0 + + Label FeatConstant FeatIndex Name Description +0 Akadi DEITY_AKADI 1304 16926030 16926031 +1 Auril DEITY_AURIL 1305 16926032 16926033 +2 Azuth DEITY_AZUTH 1306 16926034 16926035 +3 Beshaba DEITY_BESHABA 1307 16926036 16926037 +4 Cyric DEITY_CYRIC 1308 16926038 16926039 +5 Deneir DEITY_DENEIR 1309 16926040 16926041 +6 Gond DEITY_GOND 1310 16926042 16926043 +7 Grumbar DEITY_GRUMBAR 1311 16926044 16926045 +8 Helm DEITY_HELM 1312 16926046 16926047 +9 Ibrandul DEITY_IBRANDUL 1313 16926048 16926049 +10 Ilmater DEITY_ILMATER 1314 16926050 16926051 +11 Ishtisha DEITY_ISHTISHA 1315 16926052 16926053 +12 Bane DEITY_XVIM 1316 16926054 16926055 +13 Kelemvor DEITY_KELEMVOR 1317 16926056 16926057 +14 Kossuth DEITY_KOSSUTH 1318 16926058 16926059 +15 Lathander DEITY_LATHANDER 1319 16926060 16926061 +16 Leira DEITY_LEIRA 1320 16926062 16926063 +17 Lliira DEITY_LLIIRA 1321 16926064 16926065 +18 Loviatar DEITY_LOVIATAR 1322 16926066 16926067 +19 Malar DEITY_MALAR 1323 16926068 16926069 +20 Mask DEITY_MASK 1324 16926070 16926071 +21 Milil DEITY_MILIL 1325 16926072 16926073 +22 Mystra DEITY_MYSTRA 1326 16926074 16926075 +23 Oghma DEITY_OGHMA 1327 16926076 16926077 +24 Selune DEITY_SELUNE 1328 16926078 16926079 +25 Shar DEITY_SHAR 1329 16926080 16926081 +26 Shaundakul DEITY_SHAUNDAKUL 1330 16926082 16926083 +27 Sune DEITY_SUNE 1331 16926084 16926085 +28 Talona DEITY_TALONA 1332 16926086 16926087 +29 Talos DEITY_TALOS 1333 16926088 16926089 +30 Tempus DEITY_TEMPUS 1334 16926090 16926091 +31 Torm DEITY_TORM 1335 16926092 16926093 +32 Tymora DEITY_TYMORA 1336 16926094 16926095 +33 Tyr DEITY_TYR 1337 16926096 16926097 +34 Umberlee DEITY_UMBERLEE 1338 16926098 16926099 +35 Finder_Wyvernspur DEITY_FINDER_WYVERNSPUR 1339 16926100 16926101 +36 Garagos DEITY_GARAGOS 1340 16926102 16926103 +37 Gargauth DEITY_GARGAUTH 1341 16926104 16926105 +38 Gwaeron_Windstrom DEITY_GWAERON_WINDSTROM 1342 16926106 16926107 +39 Hoar DEITY_HOAR 1343 16926108 16926109 +40 Lurue DEITY_LURUE 1344 16926110 16926111 +41 Nobanion DEITY_NOBANION 1345 16926112 16926113 +42 Red_Knight DEITY_RED_KNIGHT 1346 16926114 16926115 +43 Savras DEITY_SAVRAS 1347 16926116 16926117 +44 Sharess DEITY_SHARESS 1348 16926118 16926119 +45 Siamorphe DEITY_SIAMORPHE 1349 16926120 16926121 +46 Valkur DEITY_VALKUR 1350 16926122 16926123 +47 Velsharoon DEITY_VELSHAROON 1351 16926124 16926125 +48 Chauntea DEITY_CHAUNTEA 1352 16926126 16926127 +49 Silvanus DEITY_SILVANUS 1353 16926128 16926129 +50 Mielikki DEITY_MIELIKKI 1354 16926130 16926131 +51 Eldath DEITY_ELDATH 1355 16926132 16926133 +52 Shiallia DEITY_SHIALLIA 1356 16926134 16926135 +53 Elven_Powers DEITY_ELVEN_POWERS 1357 16926138 16926139 +54 Underdark_Powers DEITY_UNDERDARK_POWERS 1358 16926140 16926141 +55 Dwarven_Powers DEITY_DWARVEN_POWERS 1359 16926142 16926143 +56 Halfling_Powers DEITY_HALFLING_POWERS 1360 16926144 16926145 +57 Gnomish_Powers DEITY_GNOMISH_POWERS 1361 16926146 16926147 +58 Orcish_Powers DEITY_ORCISH_POWERS 1362 16926148 16926149 +59 Amaunator DEITY_AMAUNATOR 1363 16926150 16926151 +60 Bane DEITY_BANE 1364 16926152 16926153 +61 Bhaal DEITY_BHAAL 1365 16926154 16926155 +62 Jergal DEITY_JERGAL 1366 16926156 16926157 +63 Karsus DEITY_KARSUS 1367 16926158 16926159 +64 Moander DEITY_MOANDER 1368 16926160 16926161 +65 Myrkul DEITY_MYRKUL 1369 16926162 16926163 +66 Ulutiu DEITY_ULUTIU 1370 16926164 16926165 +67 Waukeen DEITY_WAUKEEN 1371 16926166 16926167 diff --git a/src/2da/bg_ethnicity.2da b/src/2da/bg_ethnicity.2da new file mode 100644 index 0000000..3dbb011 --- /dev/null +++ b/src/2da/bg_ethnicity.2da @@ -0,0 +1,22 @@ +2DA V2.0 + + Label FeatConstant FeatIndex Name Description ParentRace +0 +1 BACKGROUND_COPPER_ELF1177 1692577016925771 1 +2 BACKGROUND_GREEN_ELF1178 1692577216925773 1 +3 BACKGROUND_DARK_ELF1179 1692577416925775 1 +4 BACKGROUND_SILVER_ELF1180 1692577616925777 1 +5 BACKGROUND_GOLD_ELF1181 1692577816925779 1 +6 BACKGROUND_GOLD_DWARF1182 1692578016925781 0 +7 BACKGROUND_GREY_DWARF1183 1692578216925783 0 +8 BACKGROUND_SHIELD_DWARF1184 1692578416925785 0 +9 BACKGROUND_OUTSIDER1185 1692556616925567 **** +10 BACKGROUND_AASIMAR1186 1692575616925757 **** +11 BACKGROUND_TIEFLING1187 1692575816925759 **** +12 CalishiteETHNICITY_CALISHITE1381 1692578616925787 6 +13 ChondathanETHNICITY_CHONDATHAN1382 1692578816925789 6 +14 DamaranETHNICITY_DAMARAN1383 1692579016925791 6 +15 IlluskanETHNICITY_ILLUSKAN1384 1692579216925793 6 +16 Mulan ETHNICITY_MULAN1385 1692579416925795 6 +17 RashemiETHNICITY_RASHEMI1386 1692579616925797 6 +18 TethyrianETHNICITY_TETHYRIAN1387 1692579816925799 6 diff --git a/src/2da/bg_socialclass.2da b/src/2da/bg_socialclass.2da new file mode 100644 index 0000000..7a43044 --- /dev/null +++ b/src/2da/bg_socialclass.2da @@ -0,0 +1,6 @@ +2DA V2.0 + + Label FeatConstant FeatIndex Name Description +0 "Lower Class" BACKGROUND_LOWER 1150 16925673 16925674 +1 "Middle Class" BACKGROUND_MIDDLE 1151 16925675 16925676 +2 "Upper Class" BACKGROUND_UPPER 1152 16925677 16925678 diff --git a/src/2da/bg_type.2da b/src/2da/bg_type.2da new file mode 100644 index 0000000..185e999 --- /dev/null +++ b/src/2da/bg_type.2da @@ -0,0 +1,11 @@ +2DA V2.0 + + Label FeatConstPrefix +0 INVALID **** +1 Ethnicity ETHNICITY_ +2 "Social Class" SOCIAL_CLASS_ +3 Past BACKGROUND_ +4 Deity DEITY_ +5 Proficiency PROFICIENCY_ +6 Age AGE_CATEGORY_ +7 Disability DISABILITY_ diff --git a/src/2da/feat.2da b/src/2da/feat.2da new file mode 100644 index 0000000..5bc3b10 --- /dev/null +++ b/src/2da/feat.2da @@ -0,0 +1,1804 @@ +2DA V2.0 + + LABEL FEAT DESCRIPTION ICON MINATTACKBONUS MINSTR MINDEX MININT MINWIS MINCON MINCHA MINSPELLLVL PREREQFEAT1 PREREQFEAT2 GAINMULTIPLE EFFECTSSTACK ALLCLASSESCANUSE CATEGORY MAXCR SPELLID SUCCESSOR CRValue USESPERDAY MASTERFEAT TARGETSELF OrReqFeat0 OrReqFeat1 OrReqFeat2 OrReqFeat3 OrReqFeat4 REQSKILL ReqSkillMinRanks REQSKILL2 ReqSkillMinRanks2 Constant TOOLSCATEGORIES HostileFeat MinLevel MinLevelClass MaxLevel MinFortSave PreReqEpic ReqAction +0 Alertness 289 290 ife_alertness **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_ALERTNESS 5 **** **** **** **** **** 0 1 +1 Ambidex 204 222 ife_ambidex **** **** 15 **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_AMBIDEXTERITY 1 **** **** **** **** **** 0 1 +2 ArmProfHvy 205 223 ife_armor_h **** **** **** **** **** **** **** **** 3 4 0 0 1 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_ARMOR_PROFICIENCY_HEAVY 3 **** **** **** **** **** 0 1 +3 ArmProfLgt 207 225 ife_armor_l **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_ARMOR_PROFICIENCY_LIGHT 3 **** **** **** **** **** 0 1 +4 ArmProfMed 206 224 ife_armor_m **** **** **** **** **** **** **** **** 3 **** 0 0 1 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_ARMOR_PROFICIENCY_MEDIUM 3 **** **** **** **** **** 0 1 +5 CShot 208 226 ife_callshot 1 **** **** **** **** **** **** **** **** **** 0 0 1 22 1 **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_CALLED_SHOT 2 1 **** **** **** **** 0 1 +6 Cleave 291 292 ife_cleave **** 13 **** **** **** **** **** **** 28 **** 0 0 1 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_CLEAVE 1 **** **** **** **** **** 0 1 +7 CmbtCast 296 297 ife_combatcast **** **** **** **** **** **** **** 1 **** **** 0 0 1 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_COMBAT_CASTING 4 **** **** **** **** **** 0 1 +8 DefArrow 298 299 ife_defarrow **** **** 13 **** **** **** **** **** 21 **** 0 0 0 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_DEFLECT_ARROWS 3 **** **** **** **** **** 0 1 +9 Disarm 302 303 ife_disarm **** **** **** 13 **** **** **** **** **** **** 0 0 1 22 1 **** 16 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_DISARM 2 1 **** **** **** **** 0 1 +10 Dodge 300 301 ife_dodge **** **** 13 **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_DODGE 3 **** **** **** **** **** 0 1 +11 Empower 209 227 ife_empower **** **** **** **** **** **** **** 2 **** **** 0 0 1 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EMPOWER_SPELL 4 **** **** **** **** **** 0 1 +12 ExtSpell 293 294 ife_extend **** **** **** **** **** **** **** 1 **** **** 0 0 1 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EXTEND_SPELL 4 **** **** **** **** **** 0 1 +13 ExtTurn 295 400 ife_xturn **** **** **** **** **** **** **** **** 294 **** 1 1 0 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EXTRA_TURNING 5 **** **** **** **** **** 0 1 +14 GreatFort 401 402 ife_great_fort **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_GREAT_FORTITUDE 3 **** **** **** **** **** 0 1 +15 ImpCritClub 210 228 ife_impcrit_Clu 8 **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 0 **** 46 48 49 50 51 **** **** **** **** FEAT_IMPROVED_CRITICAL_CLUB 1 **** **** **** **** **** 0 1 +16 ImpDis 211 229 ife_disarm **** **** **** 13 **** **** **** **** 9 **** 0 0 1 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_IMPROVED_DISARM 2 1 **** **** **** **** 0 1 +17 ImpKnock 212 230 ife_knockdow 7 **** **** 13 **** **** **** **** 23 **** 0 0 1 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_IMPROVED_KNOCKDOWN 2 1 **** **** **** **** 0 1 +18 ImpParry 405 406 ife_impparry **** **** **** 13 **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_IMPROVED_PARRY 1 **** **** **** **** **** 0 1 +19 ImpPower 403 404 ife_imppowhit **** 13 **** **** **** **** **** **** 28 **** 0 0 1 22 1 **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_IMPROVED_POWER_ATTACK 2 1 **** **** **** **** 0 1 +20 ImpTwo 213 231 ife_twoweap 9 **** **** **** **** **** **** **** 41 1 0 0 1 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_IMPROVED_TWO_WEAPON_FIGHTING 1 **** **** **** **** **** 0 1 +21 ImpStrike 214 232 ife_cripple **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_IMPROVED_UNARMED_STRIKE 1 **** **** **** **** **** 0 1 +22 IronWill 407 408 ife_ironwil **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_IRON_WILL 3 **** **** **** **** **** 0 1 +23 KnockDown 409 410 ife_knockdow **** **** **** **** **** **** **** **** **** **** 0 0 1 22 1 **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_KNOCKDOWN 2 1 **** **** **** **** 0 1 +24 LightngRef 411 412 ife_lightflex **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_LIGHTNING_REFLEXES 3 **** **** **** **** **** 0 1 +25 MaxSpell 413 414 ife_maximize **** **** **** **** **** **** **** 3 **** **** 0 0 1 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_MAXIMIZE_SPELL 4 **** **** **** **** **** 0 1 +26 Mobility 415 416 ife_mobility **** **** 13 **** **** **** **** **** 10 **** 0 0 1 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_MOBILITY 3 **** **** **** **** **** 0 1 +27 PBShot 215 233 ife_pbshot **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_POINT_BLANK_SHOT 1 **** **** **** **** **** 0 1 +28 PowerAtk 417 418 ife_powhit **** 13 **** **** **** **** **** **** **** **** 0 0 1 22 1 **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_POWER_ATTACK 2 1 **** **** **** **** 0 1 +29 Quicken 216 234 ife_quicken **** **** **** **** **** **** **** 4 **** **** 0 0 0 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_QUICKEN_SPELL 4 **** **** **** **** **** 0 1 +30 RapidShot 419 420 ife_rapidshot **** **** 13 **** **** **** **** **** 27 **** 0 0 1 22 1 **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_RAPID_SHOT 2 1 **** **** **** **** 0 1 +31 Sap 421 422 ife_sap 1 **** **** **** **** **** **** 100 5 **** 0 0 1 22 1 **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_SAP 2 1 **** **** **** **** 0 1 +32 Shield 217 524 ife_sh_prof **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_SHIELD_PROFICIENCY 3 **** **** **** **** **** 0 1 +33 Silent 218 236 ife_silent **** **** **** **** **** **** **** 1 **** **** 0 0 1 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_SILENCE_SPELL 4 **** **** **** **** **** 0 1 +34 SkillFocusAnim 1906 424 ife_foc_ani **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 1 **** 4 **** **** **** **** **** **** 0 **** **** **** FEAT_SKILL_FOCUS_ANIMAL_EMPATHY 5 **** **** **** **** **** 0 1 +35 SpellFocusAbj 425 426 ife_foc_spel **** **** **** **** **** **** **** 1 **** **** 0 0 0 **** **** **** 393 1 **** 3 **** **** **** **** **** **** **** **** **** **** FEAT_SPELL_FOCUS_ABJURATION 4 **** **** **** **** **** 0 1 +36 SpellPen 219 237 ife_spelpen **** **** **** **** **** **** **** 1 **** **** 0 0 1 **** **** **** 401 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_SPELL_PENETRATION 4 **** **** **** **** **** 0 1 +37 StillSpell 220 238 ife_still **** **** **** **** **** **** **** 1 **** **** 0 0 1 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_STILL_SPELL 4 **** **** **** **** **** 0 1 +38 DELETED **** 428 **** 8 **** 13 **** **** **** **** **** 31 **** 0 0 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 1 **** **** **** **** **** 0 1 +39 StunFist 429 430 ife_stunfist 8 **** 13 **** 13 **** **** **** 21 **** 0 0 1 22 1 **** **** 1 -1 **** **** **** **** **** **** **** **** **** **** **** FEAT_STUNNING_FIST 2 1 **** **** **** **** 0 1 +40 Toughness 431 432 ife_tough **** **** **** **** **** **** **** **** **** **** 0 1 1 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_TOUGHNESS 3 **** **** **** **** **** 0 1 +41 TwoWeap 221 239 ife_twoweap **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_TWO_WEAPON_FIGHTING 1 **** **** **** **** **** 0 1 +42 WeapFinesse 433 434 ife_finesse 1 **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_FINESSE 1 **** **** **** **** **** 0 1 +43 WeapFocClub 435 436 ife_wepfoc_Clu 1 **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 1 **** 46 48 49 50 51 **** **** **** **** FEAT_WEAPON_FOCUS_CLUB 1 **** **** **** **** **** 0 1 +44 WeapProfEx 437 438 ife_weppro_ex 1 **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_PROFICIENCY_EXOTIC 1 **** **** **** **** **** 0 1 +45 WeapProfMar 439 440 ife_weppro_mar **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_PROFICIENCY_MARTIAL 1 **** **** **** **** **** 0 1 +46 WeapProfSim 441 442 ife_weppro_sim **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_PROFICIENCY_SIMPLE 1 **** **** **** **** **** 0 1 +47 WeapSpeClub 37 444 ife_wepspec_clu 4 **** **** **** **** **** **** **** 43 **** 0 0 0 **** **** **** **** 1 **** 2 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_SPECIALIZATION_CLUB 1 **** 4 4 **** **** 0 1 +48 WeapProfDruid 1781 6012 ife_weppro_dru **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_PROFICIENCY_DRUID 1 **** **** **** **** **** 0 1 +49 WeapProfMonk 1782 6013 ife_weppro_mon **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_PROFICIENCY_MONK 1 **** **** **** **** **** 0 1 +50 WeapProfRogue 1783 6014 ife_weppro_rog **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_PROFICIENCY_ROGUE 1 **** **** **** **** **** 0 1 +51 WeapProfWizard 1784 6015 ife_weppro_wiz **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_PROFICIENCY_WIZARD 1 **** **** **** **** **** 0 1 +52 ImpCritDagger 1785 228 ife_impcrit_Dag 8 **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 0 **** 46 48 49 50 51 **** **** **** **** FEAT_IMPROVED_CRITICAL_DAGGER 1 **** **** **** **** **** 0 1 +53 ImpCritDart 1786 228 ife_impcrit_Dar 8 **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 0 **** 46 48 50 51 **** **** **** **** **** FEAT_IMPROVED_CRITICAL_DART 1 **** **** **** **** **** 0 1 +54 ImpCritHXBow 1787 228 ife_impcrit_Hxb 8 **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 0 **** 46 49 50 51 **** **** **** **** **** FEAT_IMPROVED_CRITICAL_HEAVY_CROSSBOW 1 **** **** **** **** **** 0 1 +55 ImpCritLgXBow 1788 228 ife_impcrit_Lxb 8 **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 0 **** 46 49 50 51 **** **** **** **** **** FEAT_IMPROVED_CRITICAL_LIGHT_CROSSBOW 1 **** **** **** **** **** 0 1 +56 ImpCritLgMace 1789 228 ife_impcrit_Lma 8 **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 0 **** 46 50 **** **** **** **** **** **** **** FEAT_IMPROVED_CRITICAL_LIGHT_MACE 1 **** **** **** **** **** 0 1 +57 ImpCritMorn 1790 228 ife_impcrit_Mor 8 **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 0 **** 46 50 **** **** **** **** **** **** **** FEAT_IMPROVED_CRITICAL_MORNING_STAR 1 **** **** **** **** **** 0 1 +58 ImpCritStaff 1791 228 ife_impcrit_Sta 8 **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 0 **** 46 48 49 50 51 **** **** **** **** FEAT_IMPROVED_CRITICAL_STAFF 1 **** **** **** **** **** 0 1 +59 ImpCritSpear 1792 228 ife_impcrit_Spe 8 **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 0 **** 46 48 **** **** **** **** **** **** **** FEAT_IMPROVED_CRITICAL_SPEAR 1 **** **** **** **** **** 0 1 +60 ImpCritSickle 1793 228 ife_impcrit_Sic 8 **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 0 **** 46 48 **** **** **** **** **** **** **** FEAT_IMPROVED_CRITICAL_SICKLE 1 **** **** **** **** **** 0 1 +61 ImpCritSling 1794 228 ife_impcrit_Sli 8 **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 0 **** 46 48 49 50 **** **** **** **** **** FEAT_IMPROVED_CRITICAL_SLING 1 **** **** **** **** **** 0 1 +62 ImpCritUnArm 1795 228 ife_impcrit_Una 8 **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 0 **** **** **** **** **** **** **** **** **** **** FEAT_IMPROVED_CRITICAL_UNARMED_STRIKE 1 **** **** **** **** **** 0 1 +63 ImpCritLongBow 1796 228 ife_impcrit_LBw 8 **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 0 **** 45 256 **** **** **** **** **** **** **** FEAT_IMPROVED_CRITICAL_LONGBOW 1 **** **** **** **** **** 0 1 +64 ImpCritShortBow 1797 228 ife_impcrit_SBw 8 **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 0 **** 45 50 256 **** **** **** **** **** **** FEAT_IMPROVED_CRITICAL_SHORTBOW 1 **** **** **** **** **** 0 1 +65 ImpCritShortSword 1798 228 ife_impcrit_Ssw 8 **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 0 **** 45 50 **** **** **** **** **** **** **** FEAT_IMPROVED_CRITICAL_SHORT_SWORD 1 **** **** **** **** **** 0 1 +66 ImpCritRapier 1799 228 ife_impcrit_Rap 8 **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 0 **** 45 50 256 **** **** **** **** **** **** FEAT_IMPROVED_CRITICAL_RAPIER 1 **** **** **** **** **** 0 1 +67 ImpCritScim 1800 228 ife_impcrit_Sci 8 **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 0 **** 45 48 **** **** **** **** **** **** **** FEAT_IMPROVED_CRITICAL_SCIMITAR 1 **** **** **** **** **** 0 1 +68 ImpCritLSw 1801 228 ife_impcrit_Lsw 8 **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 0 **** 45 256 **** **** **** **** **** **** **** FEAT_IMPROVED_CRITICAL_LONG_SWORD 1 **** **** **** **** **** 0 1 +69 ImpCritGSw 1802 228 ife_impcrit_GSw 8 **** **** **** **** **** **** **** 45 **** 0 0 1 **** **** **** **** 1 **** 0 **** **** **** **** **** **** **** **** **** **** FEAT_IMPROVED_CRITICAL_GREAT_SWORD 1 **** **** **** **** **** 0 1 +70 ImpCritHAxe 1803 228 ife_impcrit_Hax 8 **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 0 **** 45 49 50 **** **** **** **** **** **** FEAT_IMPROVED_CRITICAL_HAND_AXE 1 **** **** **** **** **** 0 1 +71 ImpCritTAxe 1804 228 ife_impcrit_Tax 8 **** **** **** **** **** **** **** 45 **** 0 0 1 **** **** **** **** 1 **** 0 **** **** **** **** **** **** **** **** **** **** FEAT_IMPROVED_CRITICAL_THROWING_AXE 1 **** **** **** **** **** 0 1 +72 ImpCritBAxe 1805 228 ife_impcrit_BAx 8 **** **** **** **** **** **** **** 45 **** 0 0 1 **** **** **** **** 1 **** 0 **** **** **** **** **** **** **** **** **** **** FEAT_IMPROVED_CRITICAL_BATTLE_AXE 1 **** **** **** **** **** 0 1 +73 ImpCritGAxe 1806 228 ife_impcrit_Gax 8 **** **** **** **** **** **** **** 45 **** 0 0 1 **** **** **** **** 1 **** 0 **** **** **** **** **** **** **** **** **** **** FEAT_IMPROVED_CRITICAL_GREAT_AXE 1 **** **** **** **** **** 0 1 +74 ImpCritHalb 1807 228 ife_impcrit_Hal 8 **** **** **** **** **** **** **** 45 **** 0 0 1 **** **** **** **** 1 **** 0 **** **** **** **** **** **** **** **** **** **** FEAT_IMPROVED_CRITICAL_HALBERD 1 **** **** **** **** **** 0 1 +75 ImpCritLgHam 1808 228 ife_impcrit_Lha 8 **** **** **** **** **** **** **** 45 **** 0 0 1 **** **** **** **** 1 **** 0 **** **** **** **** **** **** **** **** **** **** FEAT_IMPROVED_CRITICAL_LIGHT_HAMMER 1 **** **** **** **** **** 0 1 +76 ImpCritLgFlail 1809 228 ife_impcrit_Lfl 8 **** **** **** **** **** **** **** 45 **** 0 0 1 **** **** **** **** 1 **** 0 **** **** **** **** **** **** **** **** **** **** FEAT_IMPROVED_CRITICAL_LIGHT_FLAIL 1 **** **** **** **** **** 0 1 +77 ImpCritWHam 1810 228 ife_impcrit_Wha 8 **** **** **** **** **** **** **** 45 **** 0 0 1 **** **** **** **** 1 **** 0 **** **** **** **** **** **** **** **** **** **** FEAT_IMPROVED_CRITICAL_WAR_HAMMER 1 **** **** **** **** **** 0 1 +78 ImpCritHFlail 1811 228 ife_impcrit_HFl 8 **** **** **** **** **** **** **** 45 **** 0 0 1 **** **** **** **** 1 **** 0 **** **** **** **** **** **** **** **** **** **** FEAT_IMPROVED_CRITICAL_HEAVY_FLAIL 1 **** **** **** **** **** 0 1 +79 ImpCritKama 1812 228 ife_impcrit_Kam 8 **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 0 **** 44 49 **** **** **** **** **** **** **** FEAT_IMPROVED_CRITICAL_KAMA 1 **** **** **** **** **** 0 1 +80 ImpCritKukri 1813 228 ife_impcrit_kuk 8 **** **** **** **** **** **** **** 44 **** 0 0 1 **** **** **** **** 1 **** 0 **** **** **** **** **** **** **** **** **** **** FEAT_IMPROVED_CRITICAL_KUKRI 1 **** **** **** **** **** 0 1 +81 **** **** 228 ife_impcrit 8 **** **** **** **** **** **** **** 44 **** 0 0 1 **** **** **** **** 1 **** 0 **** **** **** **** **** **** **** **** **** **** **** 1 **** **** **** **** **** 0 1 +82 ImpCritShur 1815 228 ife_impcrit_Shu 8 **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 0 **** 44 49 **** **** **** **** **** **** **** FEAT_IMPROVED_CRITICAL_SHURIKEN 1 **** **** **** **** **** 0 1 +83 ImpCritScy 1816 228 ife_impcrit_Scy 8 **** **** **** **** **** **** **** 44 **** 0 0 1 **** **** **** **** 1 **** 0 **** **** **** **** **** **** **** **** **** **** FEAT_IMPROVED_CRITICAL_SCYTHE 1 **** **** **** **** **** 0 1 +84 ImpCritKatana 1817 228 ife_impcrit_Kat 8 **** **** **** **** **** **** **** 44 **** 0 0 1 **** **** **** **** 1 **** 0 **** **** **** **** **** **** **** **** **** **** FEAT_IMPROVED_CRITICAL_KATANA 1 **** **** **** **** **** 0 1 +85 ImpCritBSw 1818 228 ife_Impcrit_Bsw 8 **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 0 **** 44 **** **** **** **** **** **** **** **** FEAT_IMPROVED_CRITICAL_BASTARD_SWORD 1 **** **** **** **** **** 0 1 +86 **** **** **** **** 8 **** **** **** **** **** **** **** 44 **** 0 0 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 1 **** **** **** **** **** 0 1 +87 ImpCritDMace 1820 228 ife_impcrit_Dma 8 **** **** **** **** **** **** **** 44 **** 0 0 1 **** **** **** **** 1 **** 0 **** **** **** **** **** **** **** **** **** **** FEAT_IMPROVED_CRITICAL_DIRE_MACE 1 **** **** **** **** **** 0 1 +88 ImpCritDAxe 1821 228 ife_impcrit_Dax 8 **** **** **** **** **** **** **** 44 **** 0 0 1 **** **** **** **** 1 **** 0 **** **** **** **** **** **** **** **** **** **** FEAT_IMPROVED_CRITICAL_DOUBLE_AXE 1 **** **** **** **** **** 0 1 +89 ImpCrit2Sw 1822 228 ife_impcrit_2sw 8 **** **** **** **** **** **** **** 44 **** 0 0 1 **** **** **** **** 1 **** 0 **** **** **** **** **** **** **** **** **** **** FEAT_IMPROVED_CRITICAL_TWO_BLADED_SWORD 1 **** **** **** **** **** 0 1 +90 WeapFocDagger 1823 436 ife_wepfoc_Dag 1 **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 1 **** 46 48 49 50 51 **** **** **** **** FEAT_WEAPON_FOCUS_DAGGER 1 **** **** **** **** **** 0 1 +91 WeapFocDart 1824 436 ife_wepfoc_Dar 1 **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 1 **** 46 48 50 50 51 **** **** **** **** FEAT_WEAPON_FOCUS_DART 1 **** **** **** **** **** 0 1 +92 WeapFocHXBow 1825 436 ife_wepfoc_Hxb 1 **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 1 **** 46 49 50 51 **** **** **** **** **** FEAT_WEAPON_FOCUS_HEAVY_CROSSBOW 1 **** **** **** **** **** 0 1 +93 WeapFocLgXBow 1826 436 ife_wepfoc_LXb 1 **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 1 **** 46 49 50 51 **** **** **** **** **** FEAT_WEAPON_FOCUS_LIGHT_CROSSBOW 1 **** **** **** **** **** 0 1 +94 WeapFocLgMace 1827 436 ife_wepfoc_Lma 1 **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 1 **** 46 50 **** **** **** **** **** **** **** FEAT_WEAPON_FOCUS_LIGHT_MACE 1 **** **** **** **** **** 0 1 +95 WeapFocMorn 1828 436 ife_wepfoc_Mor 1 **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 1 **** 46 50 **** **** **** **** **** **** **** FEAT_WEAPON_FOCUS_MORNING_STAR 1 **** **** **** **** **** 0 1 +96 WeapFocStaff 1829 436 ife_wepfoc_Sta 1 **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 1 **** 46 48 49 50 51 **** **** **** **** FEAT_WEAPON_FOCUS_STAFF 1 **** **** **** **** **** 0 1 +97 WeapFocSpear 1830 436 ife_wepfoc_Spe 1 **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 1 **** 46 48 **** **** **** **** **** **** **** FEAT_WEAPON_FOCUS_SPEAR 1 **** **** **** **** **** 0 1 +98 WeapFocSickle 1831 436 ife_wepfoc_Sic 1 **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 1 **** 46 48 **** **** **** **** **** **** **** FEAT_WEAPON_FOCUS_SICKLE 1 **** **** **** **** **** 0 1 +99 WeapFocSling 1832 436 ife_wepfoc_SLi 1 **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 1 **** 46 48 49 50 **** **** **** **** **** FEAT_WEAPON_FOCUS_SLING 1 **** **** **** **** **** 0 1 +100 WeapFocUnArm 1833 436 ife_wepfoc_Una 1 **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 1 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_FOCUS_UNARMED_STRIKE 1 **** **** **** **** **** 0 1 +101 WeapFocLongBow 1834 436 ife_wepfoc_Lbw 1 **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 1 **** 45 256 **** **** **** **** **** **** **** FEAT_WEAPON_FOCUS_LONGBOW 1 **** **** **** **** **** 0 1 +102 WeapFocShortBow 1835 436 ife_wepfoc_Sbw 1 **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 1 **** 45 50 256 **** **** **** **** **** **** FEAT_WEAPON_FOCUS_SHORTBOW 1 **** **** **** **** **** 0 1 +103 WeapFocShortSword 1836 436 ife_wepfoc_Ssw 1 **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 1 **** 45 50 **** **** **** **** **** **** **** FEAT_WEAPON_FOCUS_SHORT_SWORD 1 **** **** **** **** **** 0 1 +104 WeapFocRapier 1837 436 ife_wepfoc_Rap 1 **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 1 **** 45 50 256 **** **** **** **** **** **** FEAT_WEAPON_FOCUS_RAPIER 1 **** **** **** **** **** 0 1 +105 WeapFocScim 1838 436 ife_wepfoc_Sci 1 **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 1 **** 45 48 **** **** **** **** **** **** **** FEAT_WEAPON_FOCUS_SCIMITAR 1 **** **** **** **** **** 0 1 +106 WeapFocLSw 1839 436 ife_wepfoc_LSw 1 **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 1 **** 45 256 **** **** **** **** **** **** **** FEAT_WEAPON_FOCUS_LONG_SWORD 1 **** **** **** **** **** 0 1 +107 WeapFocGSw 1840 436 ife_wepfoc_Gsw 1 **** **** **** **** **** **** **** 45 **** 0 0 1 **** **** **** **** 1 **** 1 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_FOCUS_GREAT_SWORD 1 **** **** **** **** **** 0 1 +108 WeapFocHAxe 1841 436 ife_wepfoc_Hax 1 **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 1 **** 45 49 50 **** **** **** **** **** **** FEAT_WEAPON_FOCUS_HAND_AXE 1 **** **** **** **** **** 0 1 +109 WeapFocTAxe 1842 436 ife_wepfoc_Tax 1 **** **** **** **** **** **** **** 45 **** 0 0 1 **** **** **** **** 1 **** 1 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_FOCUS_THROWING_AXE 1 **** **** **** **** **** 0 1 +110 WeapFocBAxe 1843 436 ife_wepfoc_Bax 1 **** **** **** **** **** **** **** 45 **** 0 0 1 **** **** **** **** 1 **** 1 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_FOCUS_BATTLE_AXE 1 **** **** **** **** **** 0 1 +111 WeapFocGAxe 1844 436 ife_wepfoc_Gax 1 **** **** **** **** **** **** **** 45 **** 0 0 1 **** **** **** **** 1 **** 1 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_FOCUS_GREAT_AXE 1 **** **** **** **** **** 0 1 +112 WeapFocHalb 1845 436 ife_wepfoc_Hal 1 **** **** **** **** **** **** **** 45 **** 0 0 1 **** **** **** **** 1 **** 1 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_FOCUS_HALBERD 1 **** **** **** **** **** 0 1 +113 WeapFocLgHam 1846 436 ife_wepfoc_LHa 1 **** **** **** **** **** **** **** 45 **** 0 0 1 **** **** **** **** 1 **** 1 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_FOCUS_LIGHT_HAMMER 1 **** **** **** **** **** 0 1 +114 WeapFocLgFlail 1847 436 ife_wepfoc_Lfl 1 **** **** **** **** **** **** **** 45 **** 0 0 1 **** **** **** **** 1 **** 1 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_FOCUS_LIGHT_FLAIL 1 **** **** **** **** **** 0 1 +115 WeapFocWHam 1848 436 ife_wepfoc_Wha 1 **** **** **** **** **** **** **** 45 **** 0 0 1 **** **** **** **** 1 **** 1 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_FOCUS_WAR_HAMMER 1 **** **** **** **** **** 0 1 +116 WeapFocHFlail 1849 436 ife_wepfoc_Hfl 1 **** **** **** **** **** **** **** 45 **** 0 0 1 **** **** **** **** 1 **** 1 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_FOCUS_HEAVY_FLAIL 1 **** **** **** **** **** 0 1 +117 WeapFocKama 1850 436 ife_wepfoc_Kam 1 **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 1 **** 44 49 **** **** **** **** **** **** **** FEAT_WEAPON_FOCUS_KAMA 1 **** **** **** **** **** 0 1 +118 WeapFocKukri 1851 436 ife_wepfoc_Kuk 1 **** **** **** **** **** **** **** 44 **** 0 0 1 **** **** **** **** 1 **** 1 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_FOCUS_KUKRI 1 **** **** **** **** **** 0 1 +119 **** **** 436 ife_wepfoc 1 **** **** **** **** **** **** **** 44 **** 0 0 1 **** **** **** **** 1 **** 1 **** **** **** **** **** **** **** **** **** **** **** 1 **** **** **** **** **** 0 1 +120 WeapFocShur 1853 436 ife_wepfoc_Shu 1 **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 1 **** 44 49 **** **** **** **** **** **** **** FEAT_WEAPON_FOCUS_SHURIKEN 1 **** **** **** **** **** 0 1 +121 WeapFocScy 1854 436 ife_wepfoc_Scy 1 **** **** **** **** **** **** **** 44 **** 0 0 1 **** **** **** **** 1 **** 1 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_FOCUS_SCYTHE 1 **** **** **** **** **** 0 1 +122 WeapFocKatana 1855 436 ife_wepfoc_Kat 1 **** **** **** **** **** **** **** 44 **** 0 0 1 **** **** **** **** 1 **** 1 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_FOCUS_KATANA 1 **** **** **** **** **** 0 1 +123 WeapFocBSw 1856 436 ife_wepfoc_Bsw 1 **** **** **** **** **** **** **** 44 **** 0 0 1 **** **** **** **** 1 **** 1 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_FOCUS_BASTARD_SWORD 1 **** **** **** **** **** 0 1 +124 **** **** 436 **** 1 **** **** **** **** **** **** **** 44 **** 0 0 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 1 **** **** **** **** **** 0 1 +125 WeapFocDMace 1858 436 ife_wepfoc_Dma 1 **** **** **** **** **** **** **** 44 **** 0 0 1 **** **** **** **** 1 **** 1 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_FOCUS_DIRE_MACE 1 **** **** **** **** **** 0 1 +126 WeapFocDAxe 1859 436 ife_wepfoc_Dax 1 **** **** **** **** **** **** **** 44 **** 0 0 1 **** **** **** **** 1 **** 1 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_FOCUS_DOUBLE_AXE 1 **** **** **** **** **** 0 1 +127 WeapFoc2Sw 1860 436 ife_wepfoc_2sw 1 **** **** **** **** **** **** **** 44 **** 0 0 1 **** **** **** **** 1 **** 1 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_FOCUS_TWO_BLADED_SWORD 1 **** **** **** **** **** 0 1 +128 WeapSpeDagger 1861 444 ife_wepspec_Dag 4 **** **** **** **** **** **** **** 90 **** 0 0 0 **** **** **** **** 1 **** 2 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_SPECIALIZATION_DAGGER 1 **** 4 4 **** **** 0 1 +129 WeapSpeDart 1862 444 ife_wepspec_Dar 4 **** **** **** **** **** **** **** 91 **** 0 0 0 **** **** **** **** 1 **** 2 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_SPECIALIZATION_DART 1 **** 4 4 **** **** 0 1 +130 WeapSpeHXBow 1863 444 ife_wepspec_Hxb 4 **** **** **** **** **** **** **** 92 **** 0 0 0 **** **** **** **** 1 **** 2 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_SPECIALIZATION_HEAVY_CROSSBOW 1 **** 4 4 **** **** 0 1 +131 WeapSpeLgXBow 1864 444 ife_wepspec_LXb 4 **** **** **** **** **** **** **** 93 **** 0 0 0 **** **** **** **** 1 **** 2 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_SPECIALIZATION_LIGHT_CROSSBOW 1 **** 4 4 **** **** 0 1 +132 WeapSpeLgMace 1865 444 ife_wepspec_Lma 4 **** **** **** **** **** **** **** 94 **** 0 0 0 **** **** **** **** 1 **** 2 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_SPECIALIZATION_LIGHT_MACE 1 **** 4 4 **** **** 0 1 +133 WeapSpeMorn 1866 444 ife_wepspec_Mor 4 **** **** **** **** **** **** **** 95 **** 0 0 0 **** **** **** **** 1 **** 2 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_SPECIALIZATION_MORNING_STAR 1 **** 4 4 **** **** 0 1 +134 WeapSpeStaff 1867 444 ife_wepspec_Sta 4 **** **** **** **** **** **** **** 96 **** 0 0 0 **** **** **** **** 1 **** 2 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_SPECIALIZATION_STAFF 1 **** 4 4 **** **** 0 1 +135 WeapSpeSpear 1868 444 ife_wepspec_Spe 4 **** **** **** **** **** **** **** 97 **** 0 0 0 **** **** **** **** 1 **** 2 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_SPECIALIZATION_SPEAR 1 **** 4 4 **** **** 0 1 +136 WeapSpeSickle 1869 444 ife_wepspec_Sic 4 **** **** **** **** **** **** **** 98 **** 0 0 0 **** **** **** **** 1 **** 2 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_SPECIALIZATION_SICKLE 1 **** 4 4 **** **** 0 1 +137 WeapSpeSling 1870 444 ife_wepspec_Sli 4 **** **** **** **** **** **** **** 99 **** 0 0 0 **** **** **** **** 1 **** 2 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_SPECIALIZATION_SLING 1 **** 4 4 **** **** 0 1 +138 WeapSpeUnArm 1871 444 ife_wepspec_Una 4 **** **** **** **** **** **** **** 100 **** 0 0 0 **** **** **** **** 1 **** 2 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_SPECIALIZATION_UNARMED_STRIKE 1 **** 4 4 **** **** 0 1 +139 WeapSpeLongBow 1872 444 ife_wepspec_Lbw 4 **** **** **** **** **** **** **** 101 **** 0 0 0 **** **** **** **** 1 **** 2 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_SPECIALIZATION_LONGBOW 1 **** 4 4 **** **** 0 1 +140 WeapSpeShortBow 1873 444 ife_wepspec_Sbw 4 **** **** **** **** **** **** **** 102 **** 0 0 0 **** **** **** **** 1 **** 2 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_SPECIALIZATION_SHORTBOW 1 **** 4 4 **** **** 0 1 +141 WeapSpeShortSword 1874 444 ife_wepspec_Ssw 4 **** **** **** **** **** **** **** 103 **** 0 0 0 **** **** **** **** 1 **** 2 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_SPECIALIZATION_SHORT_SWORD 1 **** 4 4 **** **** 0 1 +142 WeapSpeRapier 1875 444 ife_wepspec_Rap 4 **** **** **** **** **** **** **** 104 **** 0 0 0 **** **** **** **** 1 **** 2 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_SPECIALIZATION_RAPIER 1 **** 4 4 **** **** 0 1 +143 WeapSpeScim 1876 444 ife_wepspec_Sci 4 **** **** **** **** **** **** **** 105 **** 0 0 0 **** **** **** **** 1 **** 2 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_SPECIALIZATION_SCIMITAR 1 **** 4 4 **** **** 0 1 +144 WeapSpeLSw 1877 444 ife_wepspec_Lsw 4 **** **** **** **** **** **** **** 106 **** 0 0 0 **** **** **** **** 1 **** 2 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_SPECIALIZATION_LONG_SWORD 1 **** 4 4 **** **** 0 1 +145 WeapSpeGSw 1878 444 ife_wepspec_Gsw 4 **** **** **** **** **** **** **** 107 **** 0 0 0 **** **** **** **** 1 **** 2 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_SPECIALIZATION_GREAT_SWORD 1 **** 4 4 **** **** 0 1 +146 WeapSpeHAxe 1879 444 ife_wepspec_Hax 4 **** **** **** **** **** **** **** 108 **** 0 0 0 **** **** **** **** 1 **** 2 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_SPECIALIZATION_HAND_AXE 1 **** 4 4 **** **** 0 1 +147 WeapSpeTAxe 1880 444 ife_wepspec_Tax 4 **** **** **** **** **** **** **** 109 **** 0 0 0 **** **** **** **** 1 **** 2 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_SPECIALIZATION_THROWING_AXE 1 **** 4 4 **** **** 0 1 +148 WeapSpeBAxe 1881 444 ife_wepspec_Bax 4 **** **** **** **** **** **** **** 110 **** 0 0 0 **** **** **** **** 1 **** 2 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_SPECIALIZATION_BATTLE_AXE 1 **** 4 4 **** **** 0 1 +149 WeapSpeGAxe 1882 444 ife_wepspec_Gax 4 **** **** **** **** **** **** **** 111 **** 0 0 0 **** **** **** **** 1 **** 2 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_SPECIALIZATION_GREAT_AXE 1 **** 4 4 **** **** 0 1 +150 WeapSpeHalb 1883 444 ife_wepspec_Hal 4 **** **** **** **** **** **** **** 112 **** 0 0 0 **** **** **** **** 1 **** 2 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_SPECIALIZATION_HALBERD 1 **** 4 4 **** **** 0 1 +151 WeapSpeLgHam 1884 444 ife_wepspec_Lha 4 **** **** **** **** **** **** **** 113 **** 0 0 0 **** **** **** **** 1 **** 2 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_SPECIALIZATION_LIGHT_HAMMER 1 **** 4 4 **** **** 0 1 +152 WeapSpeLgFlail 1885 444 ife_wepspec_Lfl 4 **** **** **** **** **** **** **** 114 **** 0 0 0 **** **** **** **** 1 **** 2 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_SPECIALIZATION_LIGHT_FLAIL 1 **** 4 4 **** **** 0 1 +153 WeapSpeWHam 1886 444 ife_wepspec_Wha 4 **** **** **** **** **** **** **** 115 **** 0 0 0 **** **** **** **** 1 **** 2 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_SPECIALIZATION_WAR_HAMMER 1 **** 4 4 **** **** 0 1 +154 WeapSpeHFlail 1887 444 ife_wepspec_HFl 4 **** **** **** **** **** **** **** 116 **** 0 0 0 **** **** **** **** 1 **** 2 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_SPECIALIZATION_HEAVY_FLAIL 1 **** 4 4 **** **** 0 1 +155 WeapSpeKama 1888 444 ife_wepspec_Kam 4 **** **** **** **** **** **** **** 117 **** 0 0 0 **** **** **** **** 1 **** 2 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_SPECIALIZATION_KAMA 1 **** 4 4 **** **** 0 1 +156 WeapSpeKukri 1889 444 ife_wepspec_Kuk 4 **** **** **** **** **** **** **** 118 **** 0 0 0 **** **** **** **** 1 **** 2 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_SPECIALIZATION_KUKRI 1 **** 4 4 **** **** 0 1 +157 **** **** 444 ife_wepspec 1 **** **** **** **** **** **** **** 119 **** 0 0 0 **** **** **** **** 1 **** 2 **** **** **** **** **** **** **** **** **** **** **** 1 **** 4 4 **** **** 0 1 +158 WeapSpeShur 1891 444 ife_wepspec_Shu 4 **** **** **** **** **** **** **** 120 **** 0 0 0 **** **** **** **** 1 **** 2 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_SPECIALIZATION_SHURIKEN 1 **** 4 4 **** **** 0 1 +159 WeapSpeScy 1892 444 ife_wepspec_Scy 4 **** **** **** **** **** **** **** 121 **** 0 0 0 **** **** **** **** 1 **** 2 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_SPECIALIZATION_SCYTHE 1 **** 4 4 **** **** 0 1 +160 WeapSpeKatana 1893 444 ife_wepspec_Kat 4 **** **** **** **** **** **** **** 122 **** 0 0 0 **** **** **** **** 1 **** 2 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_SPECIALIZATION_KATANA 1 **** 4 4 **** **** 0 1 +161 WeapSpeBSw 1894 444 ife_wepspec_Bsw 4 **** **** **** **** **** **** **** 123 **** 0 0 0 **** **** **** **** 1 **** 2 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_SPECIALIZATION_BASTARD_SWORD 1 **** 4 4 **** **** 0 1 +162 **** **** 436 **** 1 **** **** **** **** **** **** **** 124 **** 0 0 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 1 **** 4 4 **** **** 0 1 +163 WeapSpeDMace 1896 444 ife_wepspec_Dma 4 **** **** **** **** **** **** **** 125 **** 0 0 0 **** **** **** **** 1 **** 2 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_SPECIALIZATION_DIRE_MACE 1 **** 4 4 **** **** 0 1 +164 WeapSpeDAxe 1897 444 ife_wepspec_Dax 4 **** **** **** **** **** **** **** 126 **** 0 0 0 **** **** **** **** 1 **** 2 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_SPECIALIZATION_DOUBLE_AXE 1 **** 4 4 **** **** 0 1 +165 WeapSpe2Sw 1898 444 ife_wepspec_2sw 4 **** **** **** **** **** **** **** 127 **** 0 0 0 **** **** **** **** 1 **** 2 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_SPECIALIZATION_TWO_BLADED_SWORD 1 **** 4 4 **** **** 0 1 +166 SpellFocusCon 1899 426 ife_foc_spel **** **** **** **** **** **** **** 1 **** **** 0 0 0 **** **** **** 394 1 **** 3 **** **** **** **** **** **** **** **** **** **** FEAT_SPELL_FOCUS_CONJURATION 4 **** **** **** **** **** 0 1 +167 SpellFocusDiv 1900 426 ife_foc_spel **** **** **** **** **** **** **** 1 **** **** 0 0 0 **** **** **** 395 1 **** 3 **** **** **** **** **** **** **** **** **** **** FEAT_SPELL_FOCUS_DIVINATION 4 **** **** **** **** **** 0 1 +168 SpellFocusEnc 1901 426 ife_foc_spel **** **** **** **** **** **** **** 1 **** **** 0 0 0 **** **** **** 396 1 **** 3 **** **** **** **** **** **** **** **** **** **** FEAT_SPELL_FOCUS_ENCHANTMENT 4 **** **** **** **** **** 0 1 +169 SpellFocusEvo 1902 426 ife_foc_spel **** **** **** **** **** **** **** 1 **** **** 0 0 0 **** **** **** 397 1 **** 3 **** **** **** **** **** **** **** **** **** **** FEAT_SPELL_FOCUS_EVOCATION 4 **** **** **** **** **** 0 1 +170 SpellFocusIll 1903 426 ife_foc_spel **** **** **** **** **** **** **** 1 **** **** 0 0 0 **** **** **** 398 1 **** 3 **** **** **** **** **** **** **** **** **** **** FEAT_SPELL_FOCUS_ILLUSION 4 **** **** **** **** **** 0 1 +171 SpellFocusNec 1904 426 ife_foc_spel **** **** **** **** **** **** **** 1 **** **** 0 0 0 **** **** **** 399 1 **** 3 **** **** **** **** **** **** **** **** **** **** FEAT_SPELL_FOCUS_NECROMANCY 4 **** **** **** **** **** 0 1 +172 SpellFocusTra 1905 426 ife_foc_spel **** **** **** **** **** **** **** 1 **** **** 0 0 0 **** **** **** 400 1 **** 3 **** **** **** **** **** **** **** **** **** **** FEAT_SPELL_FOCUS_TRANSMUTATION 4 **** **** **** **** **** 0 1 +173 SkillFocusConc 1907 424 ife_foc_con **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 4 **** **** **** **** **** **** 1 **** **** **** FEAT_SKILL_FOCUS_CONCENTRATION 5 **** **** **** **** **** 0 1 +174 SkillFocusDisa 1908 424 ife_foc_disarm **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 4 **** **** **** **** **** **** 2 **** **** **** FEAT_SKILL_FOCUS_DISABLE_TRAP 5 **** **** **** **** **** 0 1 +175 SkillFocusDisc 1909 424 ife_foc_disc **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 4 **** **** **** **** **** **** 3 **** **** **** FEAT_SKILL_FOCUS_DISCIPLINE 5 **** **** **** **** **** 0 1 +176 **** **** 424 **** **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 5 **** **** **** **** **** 0 1 +177 SkillFocusHeal 1911 424 ife_foc_heal **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 4 **** **** **** **** **** **** 4 **** **** **** FEAT_SKILL_FOCUS_HEAL 5 **** **** **** **** **** 0 1 +178 SkillFocusHide 1912 424 ife_foc_hide **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 4 **** **** **** **** **** **** 5 **** **** **** FEAT_SKILL_FOCUS_HIDE 5 **** **** **** **** **** 0 1 +179 SkillFocusList 1913 424 ife_foc_lis **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 4 **** **** **** **** **** **** 6 **** **** **** FEAT_SKILL_FOCUS_LISTEN 5 **** **** **** **** **** 0 1 +180 SkillFocusLore 1914 424 ife_foc_lore **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 4 **** **** **** **** **** **** 7 **** **** **** FEAT_SKILL_FOCUS_LORE 5 **** **** **** **** **** 0 1 +181 SkillFocusMove 1915 424 ife_foc_move **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 4 **** **** **** **** **** **** 8 **** **** **** FEAT_SKILL_FOCUS_MOVE_SILENTLY 5 **** **** **** **** **** 0 1 +182 SkillFocusOpen 1916 424 ife_foc_lock **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 4 **** **** **** **** **** **** 9 **** **** **** FEAT_SKILL_FOCUS_OPEN_LOCK 5 **** **** **** **** **** 0 1 +183 SkillFocusParr 1917 424 ife_foc_parry **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 4 **** **** **** **** **** **** 10 **** **** **** FEAT_SKILL_FOCUS_PARRY 5 **** **** **** **** **** 0 1 +184 SkillFocusPerf 1918 424 ife_foc_perf **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 4 **** **** **** **** **** **** 11 **** **** **** FEAT_SKILL_FOCUS_PERFORM 5 **** **** **** **** **** 0 1 +185 SkillFocusPers 1919 424 ife_foc_pers **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 4 **** **** **** **** **** **** 12 **** **** **** FEAT_SKILL_FOCUS_PERSUADE 5 **** **** **** **** **** 0 1 +186 SkillFocusPick 1920 424 ife_foc_pick **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 4 **** **** **** **** **** **** 13 **** **** **** FEAT_SKILL_FOCUS_PICK_POCKET 5 **** **** **** **** **** 0 1 +187 SkillFocusSearch 1921 424 ife_foc_search **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 4 **** **** **** **** **** **** 14 **** **** **** FEAT_SKILL_FOCUS_SEARCH 5 **** **** **** **** **** 0 1 +188 SkillFocusSet 1922 424 ife_foc_set **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 4 **** **** **** **** **** **** 15 **** **** **** FEAT_SKILL_FOCUS_SET_TRAP 5 **** **** **** **** **** 0 1 +189 SkillFocusSpell 1923 424 ife_foc_spel **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 4 **** **** **** **** **** **** 16 **** **** **** FEAT_SKILL_FOCUS_SPELLCRAFT 5 **** **** **** **** **** 0 1 +190 SkillFocusSpot 1924 424 ife_foc_spot **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 4 **** **** **** **** **** **** 17 **** **** **** FEAT_SKILL_FOCUS_SPOT 5 **** **** **** **** **** 0 1 +191 **** **** 424 **** **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 5 **** **** **** **** **** 0 1 +192 SkillFocusTaunt 1926 424 ife_foc_taunt **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 4 **** **** **** **** **** **** 18 **** **** **** FEAT_SKILL_FOCUS_TAUNT 5 **** **** **** **** **** 0 1 +193 SkillFocusDevi 1927 424 ife_foc_devi **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 1 **** 4 **** **** **** **** **** **** 19 **** **** **** FEAT_SKILL_FOCUS_USE_MAGIC_DEVICE 5 **** **** **** **** **** 0 1 +194 BarbEndurance 1928 6016 ife_barbend **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_BARBARIAN_ENDURANCE 6 **** **** **** **** **** 0 1 +195 UncannyDodge1 1929 6017 ife_uncdodge **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 251 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_UNCANNY_DODGE_1 6 **** **** **** **** **** 0 1 +196 DamageReduction 1930 6018 ife_damred **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 332 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_DAMAGE_REDUCTION 3 **** **** **** **** **** 0 1 +197 BardicKnowledge 1931 6019 ife_bardknow **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_BARDIC_KNOWLEDGE 6 **** **** **** **** **** 0 1 +198 NatureSense 1932 6020 ife_naturesense **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_NATURE_SENSE 6 **** **** **** **** **** 0 1 +199 AnimalCompanion 1933 6021 ife_animal **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 317 **** 0.5 1 **** 1 **** **** **** **** **** **** **** **** **** FEAT_ANIMAL_COMPANION 6 **** **** **** **** **** 0 1 +200 WoodlandStride 1934 6022 ife_woodstride **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_WOODLAND_STRIDE 6 **** **** **** **** **** 0 1 +201 TracklessStep 1935 6023 ife_trackstep **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_TRACKLESS_STEP 6 **** **** **** **** **** 0 1 +202 ResistNatureLure 1936 6024 ife_nolure **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_RESIST_NATURES_LURE 6 **** **** **** **** **** 0 1 +203 VenomImmunity 1937 6025 ife_novenom **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_VENOM_IMMUNITY 6 **** **** **** **** **** 0 1 +204 FlurryofBlows 1938 6026 ife_flurry **** **** **** **** **** **** **** **** **** **** 0 0 0 22 1 **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_FLURRY_OF_BLOWS 6 1 **** **** **** **** 0 1 +205 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 6 **** **** **** **** **** 0 1 +206 Evasion 1940 6027 ife_evade **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EVASION 6 **** **** **** **** **** 0 1 +207 MonkEndurance 1941 6028 ife_monkend **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_MONK_ENDURANCE 6 **** **** **** **** **** 0 1 +208 StillMind 1942 6029 ife_stillmind **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_STILL_MIND 6 **** **** **** **** **** 0 1 +209 PurityofBody 1943 6030 ife_purity **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PURITY_OF_BODY 6 **** **** **** **** **** 0 1 +210 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 6 **** **** **** **** **** 0 1 +211 WholenessofBody 1945 6031 ife_wholenes **** **** **** **** **** **** **** **** **** **** 0 0 0 17 1 309 **** 0.5 1 **** 1 **** **** **** **** **** **** **** **** **** FEAT_WHOLENESS_OF_BODY 6 **** **** **** **** **** 0 1 +212 ImprovedEvasion 1946 6032 ife_evade **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_IMPROVED_EVASION 6 **** **** **** **** **** 0 1 +213 KiStrike 1947 6033 ife_kistrike **** **** **** **** **** **** **** **** **** **** 0 0 0 **** 1 **** 343 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_KI_STRIKE 6 **** **** **** **** **** 0 1 +214 DiamondBody 1948 6034 ife_dibod **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_DIAMOND_BODY 6 **** **** **** **** **** 0 1 +215 DiamondSoul 1949 6035 ife_disoul **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_DIAMOND_SOUL 6 **** **** **** **** **** 0 1 +216 PerfectSelf 1950 6036 ife_perfself **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PERFECT_SELF 6 **** **** **** **** **** 0 1 +217 DivineGrace 1951 6037 ife_divgrace **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_DIVINE_GRACE 6 **** **** **** **** **** 0 1 +218 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 6 **** **** **** **** **** 0 1 +219 DivineHealth 1953 6038 ife_divineheal **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_DIVINE_HEALTH 6 **** **** **** **** **** 0 1 +220 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 6 **** **** **** **** **** 0 1 +221 SneakAttack 1955 6039 ife_sneakhit **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 345 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_SNEAK_ATTACK 6 **** **** **** **** **** 0 1 +222 CripplingStrike 1956 6040 ife_cripple **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_CRIPPLING_STRIKE 6 **** **** **** **** **** 0 1 +223 DefensiveRoll 1957 6041 ife_dodgeroll **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 1 **** **** **** **** **** **** **** **** **** **** **** FEAT_DEFENSIVE_ROLL 6 **** **** **** **** **** 0 1 +224 Opportunist 1958 6042 ife_opportunist **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_OPPORTUNIST 6 **** **** **** **** **** 0 1 +225 SkillMastery 1959 6043 ife_sk_mast **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_SKILL_MASTERY 6 **** **** **** **** **** 0 1 +226 UncannyReflex 1960 6044 ife_unreflex **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_UNCANNY_REFLEX 6 **** **** **** **** **** 0 1 +227 stonecunning 1961 6045 ife_stonemind **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.2 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_STONECUNNING 6 **** **** **** **** **** 0 1 +228 darkvision 1962 6046 ife_darkvis **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.2 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_DARKVISION 6 **** **** **** **** **** 0 1 +229 hardinesspoisons 1963 6047 ife_hardpois **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.2 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_HARDINESS_VERSUS_POISONS 6 **** **** **** **** **** 0 1 +230 hardinessspells 1964 6048 ife_hardspel **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.2 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_HARDINESS_VERSUS_SPELLS 6 **** **** **** **** **** 0 1 +231 orctrain 1965 6049 ife_train **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.2 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_BATTLE_TRAINING_VERSUS_ORCS 6 **** **** **** **** **** 0 1 +232 gobtrain 1966 6050 ife_train **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.2 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_BATTLE_TRAINING_VERSUS_GOBLINS 6 **** **** **** **** **** 0 1 +233 gianttrain 1967 6051 ife_train **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.2 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_BATTLE_TRAINING_VERSUS_GIANTS 6 **** **** **** **** **** 0 1 +234 skillaffinitylore 1968 6052 ife_racial **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.2 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_SKILL_AFFINITY_LORE 6 **** **** **** **** **** 0 1 +235 immunitysleep 1969 6053 ife_nosleep **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.2 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_IMMUNITY_TO_SLEEP 6 **** **** **** **** **** 0 1 +236 hardinessenchantment 1970 6054 ife_hardchant **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.2 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_HARDINESS_VERSUS_ENCHANTMENTS 6 **** **** **** **** **** 0 1 +237 skillaffinitylisten 1971 6055 ife_racial **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.2 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_SKILL_AFFINITY_LISTEN 6 **** **** **** **** **** 0 1 +238 skillaffinitysearch 1972 6056 ife_racial **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.2 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_SKILL_AFFINITY_SEARCH 6 **** **** **** **** **** 0 1 +239 skillaffinityspot 1973 6057 ife_racial **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.2 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_SKILL_AFFINITY_SPOT 6 **** **** **** **** **** 0 1 +240 keensense 1974 6058 ife_keensense **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.2 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_KEEN_SENSE 6 **** **** **** **** **** 0 1 +241 hardinessillusion 1975 6059 ife_hardillu **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.2 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_HARDINESS_VERSUS_ILLUSIONS 6 **** **** **** **** **** 0 1 +242 reptiletrain 1976 6060 ife_train **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.2 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_BATTLE_TRAINING_VERSUS_REPTILIANS 6 **** **** **** **** **** 0 1 +243 skillaffinityconcent 1977 6061 ife_racial **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.2 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_SKILL_AFFINITY_CONCENTRATION 6 **** **** **** **** **** 0 1 +244 PSAListen 1978 6062 ife_racial **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.2 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PARTIAL_SKILL_AFFINITY_LISTEN 6 **** **** **** **** **** 0 1 +245 PSASearch 1979 6064 ife_racial **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.2 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PARTIAL_SKILL_AFFINITY_SEARCH 6 **** **** **** **** **** 0 1 +246 PSASpot 1980 6063 ife_racial **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.2 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PARTIAL_SKILL_AFFINITY_SPOT 6 **** **** **** **** **** 0 1 +247 skillaffinitymovesi 1981 6065 ife_racial **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.2 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_SKILL_AFFINITY_MOVE_SILENTLY 6 **** **** **** **** **** 0 1 +248 lucky 1982 6066 ife_lucky **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.2 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_LUCKY 6 **** **** **** **** **** 0 1 +249 fearless 1983 6067 ife_fearless **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.2 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_FEARLESS 6 **** **** **** **** **** 0 1 +250 good_aim 1984 6068 ife_goodaim **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.2 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_GOOD_AIM 6 **** **** **** **** **** 0 1 +251 UncannyDodge2 2203 6069 ife_uncdodge **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 252 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_UNCANNY_DODGE_2 6 **** **** **** **** **** 0 1 +252 UncannyDodge3 2204 6070 ife_uncdodge **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 253 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_UNCANNY_DODGE_3 6 **** **** **** **** **** 0 1 +253 UncannyDodge4 2205 6071 ife_uncdodge **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 254 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_UNCANNY_DODGE_4 6 **** **** **** **** **** 0 1 +254 UncannyDodge5 2206 6072 ife_uncdodge **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 255 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_UNCANNY_DODGE_5 6 **** **** **** **** **** 0 1 +255 UncannyDodge6 2207 6073 ife_uncdodge **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_UNCANNY_DODGE_6 6 **** **** **** **** **** 0 1 +256 WeapProfElf 2218 6074 ife_weppro_elf **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.2 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_PROFICIENCY_ELF 6 **** **** **** **** **** 0 1 +257 BardSongs 4780 6075 ife_bardsong **** **** **** **** **** **** **** **** **** **** 0 0 0 8 20 411 355 0.5 1 **** 1 **** **** **** **** **** **** **** **** **** FEAT_BARD_SONGS 6 **** **** **** **** **** 0 1 +258 QuickMaster 4781 6076 ife_qmaster **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_QUICK_TO_MASTER 6 **** **** **** **** **** 0 1 +259 SlipperMind 4782 10389 ife_slippermind **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_SLIPPERY_MIND 6 **** **** **** **** **** 0 1 +260 MonkACBonus 4783 6078 ife_monkAC **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_MONK_AC_BONUS 6 **** **** **** **** **** 0 1 +261 FE_Dwarf 4784 6079 ife_racehate **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** 5 **** **** **** **** **** **** **** **** **** **** FEAT_FAVORED_ENEMY_DWARF 6 **** **** **** **** **** 0 1 +262 FE_Elf 4785 6079 ife_racehate **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** 5 **** **** **** **** **** **** **** **** **** **** FEAT_FAVORED_ENEMY_ELF 6 **** **** **** **** **** 0 1 +263 FE_Gnome 4786 6079 ife_racehate **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** 5 **** **** **** **** **** **** **** **** **** **** FEAT_FAVORED_ENEMY_GNOME 6 **** **** **** **** **** 0 1 +264 FE_Halfling 4787 6079 ife_racehate **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** 5 **** **** **** **** **** **** **** **** **** **** FEAT_FAVORED_ENEMY_HALFLING 6 **** **** **** **** **** 0 1 +265 FE_HalfElf 4788 6079 ife_racehate **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** 5 **** **** **** **** **** **** **** **** **** **** FEAT_FAVORED_ENEMY_HALFELF 6 **** **** **** **** **** 0 1 +266 FE_HalfOrc 4789 6079 ife_racehate **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** 5 **** **** **** **** **** **** **** **** **** **** FEAT_FAVORED_ENEMY_HALFORC 6 **** **** **** **** **** 0 1 +267 FE_Human 4790 6079 ife_racehate **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** 5 **** **** **** **** **** **** **** **** **** **** FEAT_FAVORED_ENEMY_HUMAN 6 **** **** **** **** **** 0 1 +268 FE_Aberration 4791 6079 ife_racehate **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** 5 **** **** **** **** **** **** **** **** **** **** FEAT_FAVORED_ENEMY_ABERRATION 6 **** **** **** **** **** 0 1 +269 FE_Animal 4792 6079 ife_racehate **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** 5 **** **** **** **** **** **** **** **** **** **** FEAT_FAVORED_ENEMY_ANIMAL 6 **** **** **** **** **** 0 1 +270 FE_Beast 4793 6079 ife_racehate **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** 5 **** **** **** **** **** **** **** **** **** **** FEAT_FAVORED_ENEMY_BEAST 6 **** **** **** **** **** 0 1 +271 FE_Construct 4794 6079 ife_racehate **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** 5 **** **** **** **** **** **** **** **** **** **** FEAT_FAVORED_ENEMY_CONSTRUCT 6 **** **** **** **** **** 0 1 +272 FE_Dragon 4795 6079 ife_racehate **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** 5 **** **** **** **** **** **** **** **** **** **** FEAT_FAVORED_ENEMY_DRAGON 6 **** **** **** **** **** 0 1 +273 FE_Goblinoid 4796 6079 ife_racehate **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** 5 **** **** **** **** **** **** **** **** **** **** FEAT_FAVORED_ENEMY_GOBLINOID 6 **** **** **** **** **** 0 1 +274 FE_Monstrous 4797 6079 ife_racehate **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** 5 **** **** **** **** **** **** **** **** **** **** FEAT_FAVORED_ENEMY_MONSTROUS 6 **** **** **** **** **** 0 1 +275 FE_Orc 4798 6079 ife_racehate **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** 5 **** **** **** **** **** **** **** **** **** **** FEAT_FAVORED_ENEMY_ORC 6 **** **** **** **** **** 0 1 +276 FE_Reptilian 4799 6079 ife_racehate **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** 5 **** **** **** **** **** **** **** **** **** **** FEAT_FAVORED_ENEMY_REPTILIAN 6 **** **** **** **** **** 0 1 +277 FE_Elemental 4800 6079 ife_racehate **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** 5 **** **** **** **** **** **** **** **** **** **** FEAT_FAVORED_ENEMY_ELEMENTAL 6 **** **** **** **** **** 0 1 +278 FE_Fey 4801 6079 ife_racehate **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** 5 **** **** **** **** **** **** **** **** **** **** FEAT_FAVORED_ENEMY_FEY 6 **** **** **** **** **** 0 1 +279 FE_Giant 4802 6079 ife_racehate **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** 5 **** **** **** **** **** **** **** **** **** **** FEAT_FAVORED_ENEMY_GIANT 6 **** **** **** **** **** 0 1 +280 FE_Magical_Beast 4803 6079 ife_racehate **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** 5 **** **** **** **** **** **** **** **** **** **** FEAT_FAVORED_ENEMY_MAGICAL_BEAST 6 **** **** **** **** **** 0 1 +281 FE_Outsider 4804 6079 ife_racehate **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** 5 **** **** **** **** **** **** **** **** **** **** FEAT_FAVORED_ENEMY_OUTSIDER 6 **** **** **** **** **** 0 1 +282 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 6 **** **** **** **** **** 0 1 +283 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 6 **** **** **** **** **** 0 1 +284 FE_Shapechanger 4807 6079 ife_racehate **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** 5 **** **** **** **** **** **** **** **** **** **** FEAT_FAVORED_ENEMY_SHAPECHANGER 6 **** **** **** **** **** 0 1 +285 FE_Undead 4808 6079 ife_racehate **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** 5 **** **** **** **** **** **** **** **** **** **** FEAT_FAVORED_ENEMY_UNDEAD 6 **** **** **** **** **** 0 1 +286 FE_Vermin 4809 6079 ife_racehate **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** 5 **** **** **** **** **** **** **** **** **** **** FEAT_FAVORED_ENEMY_VERMIN 6 **** **** **** **** **** 0 1 +287 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 6 **** **** **** **** **** 0 1 +288 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 6 **** **** **** **** **** 0 1 +289 WeapProfCreature 4843 6080 ife_weppro_cre **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_PROFICIENCY_CREATURE 5 **** **** **** **** **** 0 1 +290 WeapSpecCreature 4844 6081 ife_wepspec_cre **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_SPECIALIZATION_CREATURE 5 **** **** **** **** **** 0 1 +291 WeapFocCreature 4845 6082 ife_wepfoc_cre **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_FOCUS_CREATURE 5 **** **** **** **** **** 0 1 +292 ImpCritCreature 4846 6083 ife_impcrit_Cre **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_IMPROVED_CRITICAL_CREATURE 5 **** **** **** **** **** 0 1 +293 BarbarianRage 1062 6084 ife_rage **** **** **** **** **** **** **** **** **** **** 0 0 0 **** 1 307 326 0.5 1 **** 1 **** **** **** **** **** **** **** **** **** FEAT_BARBARIAN_RAGE 6 **** **** **** **** **** 0 1 +294 TurnUndead 428 6085 ife_turn **** **** **** **** **** **** **** **** **** **** 0 0 0 **** 1 308 **** 0.5 3 **** 1 **** **** **** **** **** **** **** **** **** FEAT_TURN_UNDEAD 6 **** **** **** **** **** 0 1 +295 **** **** 0 **** **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 6 **** **** **** **** **** 0 1 +296 QuiveringPalm 1061 6086 ife_qpalm **** **** **** **** **** **** **** **** **** **** 0 0 0 22 1 **** **** 0.5 1 **** **** **** **** **** **** **** **** **** **** **** FEAT_QUIVERING_PALM 6 1 **** **** **** **** 0 1 +297 EmptyBody 507 6087 ife_emptybod **** **** **** **** **** **** **** **** **** **** 0 0 0 10 1 311 **** 0.5 2 **** 1 **** **** **** **** **** **** **** **** **** FEAT_EMPTY_BODY 6 **** **** **** **** **** 0 1 +298 **** **** **** ife_spotevil **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 312 **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** **** 6 **** **** **** **** **** 0 1 +299 LayOnHands 1392 6089 ife_layon **** **** **** **** **** **** **** **** **** **** 0 0 0 7 1 313 **** 0.5 1 **** **** **** **** **** **** **** **** **** **** **** FEAT_LAY_ON_HANDS 6 **** **** **** **** **** 0 1 +300 AuraCourage 749 6090 ife_aurabrave **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_AURA_OF_COURAGE 6 **** **** **** **** **** 0 1 +301 SmiteEvil 1066 6091 ife_hitevil **** **** **** **** **** **** **** **** **** **** 0 0 0 22 1 **** **** 0.5 1 **** **** **** **** **** **** **** **** **** **** **** FEAT_SMITE_EVIL 6 1 **** **** **** **** 0 1 +302 RemoveDisease 897 6092 ife_sickoff **** **** **** **** **** **** **** **** **** **** 0 0 0 7 1 316 **** 0.5 1 **** **** **** **** **** **** **** **** **** **** **** FEAT_REMOVE_DISEASE 6 **** **** **** **** **** 0 1 +303 Familiar 1567 6093 ife_familiar **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 318 **** 0.5 1 **** 1 **** **** **** **** **** **** **** **** **** FEAT_SUMMON_FAMILIAR 6 **** **** **** **** **** 0 1 +304 ElementalShape 505 6094 ife_eleshape **** **** **** **** **** **** **** **** **** **** 0 0 0 10 1 319 340 0.5 1 **** 1 **** **** **** **** **** **** **** **** **** FEAT_ELEMENTAL_SHAPE 6 **** **** **** **** **** 0 1 +305 WildShape 504 6095 ife_wildshape **** **** **** **** **** **** **** **** **** **** 0 0 0 10 1 320 335 0.5 1 **** 1 **** **** **** **** **** **** **** **** **** FEAT_WILD_SHAPE 6 **** **** **** **** **** 0 1 +306 War_Domain_Power 5947 5938 id_war **** **** **** **** **** **** **** **** **** **** 0 0 0 10 5 380 **** 0.5 1 **** 1 **** **** **** **** **** **** **** **** **** FEAT_WAR_DOMAIN_POWER 6 **** **** **** **** **** 0 1 +307 Strength_Domain_Power 5945 5939 id_strength **** **** **** **** **** **** **** **** **** **** 0 0 0 10 5 381 **** 0.5 1 **** 1 **** **** **** **** **** **** **** **** **** FEAT_STRENGTH_DOMAIN_POWER 6 **** **** **** **** **** 0 1 +308 Protection_Domain_Power 5948 5940 id_protection **** **** **** **** **** **** **** **** **** **** 0 0 0 10 5 382 **** 0.5 1 **** 1 **** **** **** **** **** **** **** **** **** FEAT_PROTECTION_DOMAIN_POWER 6 **** **** **** **** **** 0 1 +309 Luck_Domain_Power **** **** id_luck **** **** **** **** **** **** **** **** **** **** 0 0 0 10 5 **** **** 0.5 **** **** 1 **** **** **** **** **** **** **** **** **** FEAT_LUCK_DOMAIN_POWER 6 **** **** **** **** **** 0 1 +310 Death_Domain_Power 5950 5942 id_death **** **** **** **** **** **** **** **** **** **** 0 0 0 1 5 383 **** 0.5 1 **** 1 **** **** **** **** **** **** **** **** **** FEAT_DEATH_DOMAIN_POWER 6 **** **** **** **** **** 0 1 +311 Air_Domain_Power 5951 5966 id_air **** **** **** **** **** **** **** **** **** **** 0 0 0 1 5 **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_AIR_DOMAIN_POWER 6 **** **** **** **** **** 0 1 +312 Animal_Domain_Power 5952 5968 id_animal **** **** **** **** **** **** **** **** **** **** 0 0 0 1 5 **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_ANIMAL_DOMAIN_POWER 6 **** **** **** **** **** 0 1 +313 Destruction_Domain_Power 5953 5969 id_destruct **** **** **** **** **** **** **** **** **** **** 0 0 0 1 5 **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_DESTRUCTION_DOMAIN_POWER 6 **** **** **** **** **** 0 1 +314 Earth_Domain_Power 5954 5970 id_earth **** **** **** **** **** **** **** **** **** **** 0 0 0 1 5 **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EARTH_DOMAIN_POWER 6 **** **** **** **** **** 0 1 +315 Evil_Domain_Power 5955 5971 id_evil **** **** **** **** **** **** **** **** **** **** 0 0 0 1 5 **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EVIL_DOMAIN_POWER 6 **** **** **** **** **** 0 1 +316 Fire_Domain_Power 5956 5972 id_fire **** **** **** **** **** **** **** **** **** **** 0 0 0 1 5 **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_FIRE_DOMAIN_POWER 6 **** **** **** **** **** 0 1 +317 Good_Domain_Power 5957 5973 id_good **** **** **** **** **** **** **** **** **** **** 0 0 0 1 5 **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_GOOD_DOMAIN_POWER 6 **** **** **** **** **** 0 1 +318 Healing_Domain_Power 5958 5974 id_healing **** **** **** **** **** **** **** **** **** **** 0 0 0 **** 5 **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_HEALING_DOMAIN_POWER 6 **** **** **** **** **** 0 1 +319 Knowledge_Domain_Power 5959 5975 id_knowledge **** **** **** **** **** **** **** **** **** **** 0 0 0 **** 5 **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_KNOWLEDGE_DOMAIN_POWER 6 **** **** **** **** **** 0 1 +320 Magic_Domain_Power 5960 5976 id_magic **** **** **** **** **** **** **** **** **** **** 0 0 0 **** 5 **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_MAGIC_DOMAIN_POWER 6 **** **** **** **** **** 0 1 +321 Plant_Domain_Power 5961 5977 id_plant **** **** **** **** **** **** **** **** **** **** 0 0 0 1 5 **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PLANT_DOMAIN_POWER 6 **** **** **** **** **** 0 1 +322 Sun_Domain_Power 5962 5978 id_sun **** **** **** **** **** **** **** **** **** **** 0 0 0 **** 5 **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_SUN_DOMAIN_POWER 6 **** **** **** **** **** 0 1 +323 Travel_Domain_Power 5963 5979 id_travel **** **** **** **** **** **** **** **** **** **** 0 0 0 **** 5 **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_TRAVEL_DOMAIN_POWER 6 **** **** **** **** **** 0 1 +324 Trickery_Domain_Power 5964 5980 id_trickery **** **** **** **** **** **** **** **** **** **** 0 0 0 10 5 384 **** 0.5 1 **** 1 **** **** **** **** **** **** **** **** **** FEAT_TRICKERY_DOMAIN_POWER 6 **** **** **** **** **** 0 1 +325 Water_Domain_Power 5965 5981 id_water **** **** **** **** **** **** **** **** **** **** 0 0 0 1 5 **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_WATER_DOMAIN_POWER 6 **** **** **** **** **** 0 1 +326 BarbarianRage2 6426 6084 ife_rage **** **** **** **** **** **** **** **** **** **** 0 0 0 **** 1 307 327 0.5 2 **** 1 **** **** **** **** **** **** **** **** **** FEAT_BARBARIAN_RAGE 6 **** **** **** **** **** 0 1 +327 BarbarianRage3 6427 6084 ife_rage **** **** **** **** **** **** **** **** **** **** 0 0 0 **** 1 307 328 0.5 3 **** 1 **** **** **** **** **** **** **** **** **** FEAT_BARBARIAN_RAGE 6 **** **** **** **** **** 0 1 +328 BarbarianRage4 6428 6084 ife_rage **** **** **** **** **** **** **** **** **** **** 0 0 0 **** 1 307 329 0.5 4 **** 1 **** **** **** **** **** **** **** **** **** FEAT_BARBARIAN_RAGE 6 **** **** **** **** **** 0 1 +329 BarbarianRage5 6429 6084 ife_rage **** **** **** **** **** **** **** **** **** **** 0 0 0 **** 1 307 330 0.5 4 **** 1 **** **** **** **** **** **** **** **** **** FEAT_BARBARIAN_RAGE 6 **** **** **** **** **** 0 1 +330 BarbarianRage6 6430 6084 ife_rage **** **** **** **** **** **** **** **** **** **** 0 0 0 **** 1 307 331 0.5 5 **** 1 **** **** **** **** **** **** **** **** **** FEAT_BARBARIAN_RAGE 6 **** **** **** **** **** 0 1 +331 BarbarianRage7 6431 6084 ife_rage **** **** **** **** **** **** **** **** **** **** 0 0 0 **** 1 307 **** 0.5 6 **** 1 **** **** **** **** **** **** **** **** **** FEAT_BARBARIAN_RAGE 6 **** **** **** **** **** 0 1 +332 DamageReduction2 6432 8339 ife_damred **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 333 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_DAMAGE_REDUCTION 3 **** **** **** **** **** 0 1 +333 DamageReduction3 6433 8340 ife_damred **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 334 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_DAMAGE_REDUCTION 3 **** **** **** **** **** 0 1 +334 DamageReduction4 6434 8341 ife_damred **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 1067 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_DAMAGE_REDUCTION 3 **** **** **** **** **** 0 1 +335 WildShape2 6435 6095 ife_wildshape **** **** **** **** **** **** **** **** **** **** 0 0 0 10 1 320 336 0.5 2 **** 1 **** **** **** **** **** **** **** **** **** FEAT_WILD_SHAPE 6 **** **** **** **** **** 0 1 +336 WildShape3 6436 6095 ife_wildshape **** **** **** **** **** **** **** **** **** **** 0 0 0 10 1 320 337 0.5 3 **** 1 **** **** **** **** **** **** **** **** **** FEAT_WILD_SHAPE 6 **** **** **** **** **** 0 1 +337 WildShape4 6437 6095 ife_wildshape **** **** **** **** **** **** **** **** **** **** 0 0 0 10 1 320 338 0.5 4 **** 1 **** **** **** **** **** **** **** **** **** FEAT_WILD_SHAPE 6 **** **** **** **** **** 0 1 +338 WildShape5 6438 6095 ife_wildshape **** **** **** **** **** **** **** **** **** **** 0 0 0 10 1 320 339 0.5 5 **** 1 **** **** **** **** **** **** **** **** **** FEAT_WILD_SHAPE 6 **** **** **** **** **** 0 1 +339 WildShape6 6439 6095 ife_wildshape **** **** **** **** **** **** **** **** **** **** 0 0 0 10 1 320 **** 0.5 6 **** 1 **** **** **** **** **** **** **** **** **** FEAT_WILD_SHAPE 6 **** **** **** **** **** 0 1 +340 ElementalShape2 6440 6094 ife_eleshape **** **** **** **** **** **** **** **** **** **** 0 0 0 10 1 319 341 0.5 2 **** 1 **** **** **** **** **** **** **** **** **** FEAT_ELEMENTAL_SHAPE 6 **** **** **** **** **** 0 1 +341 ElementalShape3 6441 6094 ife_eleshape **** **** **** **** **** **** **** **** **** **** 0 0 0 10 1 319 342 0.5 3 **** 1 **** **** **** **** **** **** **** **** **** FEAT_ELEMENTAL_SHAPE 6 **** **** **** **** **** 0 1 +342 ElementalShape4 6442 6094 ife_eleshape **** **** **** **** **** **** **** **** **** **** 0 0 0 10 1 319 **** 0.5 3 **** 1 **** **** **** **** **** **** **** **** **** FEAT_ELEMENTAL_SHAPE 6 **** **** **** **** **** 0 1 +343 KiStrike2 6443 6033 ife_kistrike **** **** **** **** **** **** **** **** **** **** 0 0 0 **** 1 **** 344 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_KI_STRIKE 6 **** **** **** **** **** 0 1 +344 KiStrike3 10319 6033 ife_kistrike **** **** **** **** **** **** **** **** **** **** 0 0 0 **** 1 **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_KI_STRIKE 6 **** **** **** **** **** 0 1 +345 SneakAttack2 6444 6039 ife_sneakhit **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 346 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_SNEAK_ATTACK 6 **** **** **** **** **** 0 1 +346 SneakAttack3 6445 6039 ife_sneakhit **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 347 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_SNEAK_ATTACK 6 **** **** **** **** **** 0 1 +347 SneakAttack4 6446 6039 ife_sneakhit **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 348 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_SNEAK_ATTACK 6 **** **** **** **** **** 0 1 +348 SneakAttack5 6447 6039 ife_sneakhit **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 349 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_SNEAK_ATTACK 6 **** **** **** **** **** 0 1 +349 SneakAttack6 6448 6039 ife_sneakhit **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 350 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_SNEAK_ATTACK 6 **** **** **** **** **** 0 1 +350 SneakAttack7 6449 6039 ife_sneakhit **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 351 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_SNEAK_ATTACK 6 **** **** **** **** **** 0 1 +351 SneakAttack8 6450 6039 ife_sneakhit **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 352 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_SNEAK_ATTACK 6 **** **** **** **** **** 0 1 +352 SneakAttack9 6451 6039 ife_sneakhit **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 353 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_SNEAK_ATTACK 6 **** **** **** **** **** 0 1 +353 SneakAttack10 6452 6039 ife_sneakhit **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 1032 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_SNEAK_ATTACK 6 **** **** **** **** **** 0 1 +354 LowLightVision 8186 8187 ife_lowlight **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.2 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_LOWLIGHTVISION 6 **** **** **** **** **** 0 1 +355 Bard_Song_02 4780 6075 ife_bardsong **** **** **** **** **** **** **** **** **** **** 0 0 0 8 20 411 356 0.5 2 **** 1 **** **** **** **** **** **** **** **** **** FEAT_BARD_SONGS 6 **** **** **** **** **** 0 1 +356 Bard_Song_03 4780 6075 ife_bardsong **** **** **** **** **** **** **** **** **** **** 0 0 0 8 20 411 357 0.5 3 **** 1 **** **** **** **** **** **** **** **** **** FEAT_BARD_SONGS 6 **** **** **** **** **** 0 1 +357 Bard_Song_04 4780 6075 ife_bardsong **** **** **** **** **** **** **** **** **** **** 0 0 0 8 20 411 358 0.5 4 **** 1 **** **** **** **** **** **** **** **** **** FEAT_BARD_SONGS 6 **** **** **** **** **** 0 1 +358 Bard_Song_05 4780 6075 ife_bardsong **** **** **** **** **** **** **** **** **** **** 0 0 0 8 20 411 359 0.5 5 **** 1 **** **** **** **** **** **** **** **** **** FEAT_BARD_SONGS 6 **** **** **** **** **** 0 1 +359 Bard_Song_06 4780 6075 ife_bardsong **** **** **** **** **** **** **** **** **** **** 0 0 0 8 20 411 360 0.5 6 **** 1 **** **** **** **** **** **** **** **** **** FEAT_BARD_SONGS 6 **** **** **** **** **** 0 1 +360 Bard_Song_07 4780 6075 ife_bardsong **** **** **** **** **** **** **** **** **** **** 0 0 0 8 20 411 361 0.5 7 **** 1 **** **** **** **** **** **** **** **** **** FEAT_BARD_SONGS 6 **** **** **** **** **** 0 1 +361 Bard_Song_08 4780 6075 ife_bardsong **** **** **** **** **** **** **** **** **** **** 0 0 0 8 20 411 362 0.5 8 **** 1 **** **** **** **** **** **** **** **** **** FEAT_BARD_SONGS 6 **** **** **** **** **** 0 1 +362 Bard_Song_09 4780 6075 ife_bardsong **** **** **** **** **** **** **** **** **** **** 0 0 0 8 20 411 363 0.5 9 **** 1 **** **** **** **** **** **** **** **** **** FEAT_BARD_SONGS 6 **** **** **** **** **** 0 1 +363 Bard_Song_10 4780 6075 ife_bardsong **** **** **** **** **** **** **** **** **** **** 0 0 0 8 20 411 364 0.5 10 **** 1 **** **** **** **** **** **** **** **** **** FEAT_BARD_SONGS 6 **** **** **** **** **** 0 1 +364 Bard_Song_11 4780 6075 ife_bardsong **** **** **** **** **** **** **** **** **** **** 0 0 0 8 20 411 365 0.5 11 **** 1 **** **** **** **** **** **** **** **** **** FEAT_BARD_SONGS 6 **** **** **** **** **** 0 1 +365 Bard_Song_12 4780 6075 ife_bardsong **** **** **** **** **** **** **** **** **** **** 0 0 0 8 20 411 366 0.5 12 **** 1 **** **** **** **** **** **** **** **** **** FEAT_BARD_SONGS 6 **** **** **** **** **** 0 1 +366 Bard_Song_13 4780 6075 ife_bardsong **** **** **** **** **** **** **** **** **** **** 0 0 0 8 20 411 367 0.5 13 **** 1 **** **** **** **** **** **** **** **** **** FEAT_BARD_SONGS 6 **** **** **** **** **** 0 1 +367 Bard_Song_14 4780 6075 ife_bardsong **** **** **** **** **** **** **** **** **** **** 0 0 0 8 20 411 368 0.5 14 **** 1 **** **** **** **** **** **** **** **** **** FEAT_BARD_SONGS 6 **** **** **** **** **** 0 1 +368 Bard_Song_15 4780 6075 ife_bardsong **** **** **** **** **** **** **** **** **** **** 0 0 0 8 20 411 369 0.5 15 **** 1 **** **** **** **** **** **** **** **** **** FEAT_BARD_SONGS 6 **** **** **** **** **** 0 1 +369 Bard_Song_16 4780 6075 ife_bardsong **** **** **** **** **** **** **** **** **** **** 0 0 0 8 20 411 370 0.5 16 **** 1 **** **** **** **** **** **** **** **** **** FEAT_BARD_SONGS 6 **** **** **** **** **** 0 1 +370 Bard_Song_17 4780 6075 ife_bardsong **** **** **** **** **** **** **** **** **** **** 0 0 0 8 20 411 371 0.5 17 **** 1 **** **** **** **** **** **** **** **** **** FEAT_BARD_SONGS 6 **** **** **** **** **** 0 1 +371 Bard_Song_18 4780 6075 ife_bardsong **** **** **** **** **** **** **** **** **** **** 0 0 0 8 20 411 372 0.5 18 **** 1 **** **** **** **** **** **** **** **** **** FEAT_BARD_SONGS 6 **** **** **** **** **** 0 1 +372 Bard_Song_19 4780 6075 ife_bardsong **** **** **** **** **** **** **** **** **** **** 0 0 0 8 20 411 373 0.5 19 **** 1 **** **** **** **** **** **** **** **** **** FEAT_BARD_SONGS 6 **** **** **** **** **** 0 1 +373 Bard_Song_20 4780 6075 ife_bardsong **** **** **** **** **** **** **** **** **** **** 0 0 0 8 20 411 **** 0.5 20 **** 1 **** **** **** **** **** **** **** **** **** FEAT_BARD_SONGS 6 **** **** **** **** **** 0 1 +374 RangerDual 66846 66847 ife_ambidex **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_AMBIDEXTERITY 6 **** **** **** **** **** 0 1 +375 Small 67700 67701 ife_racial **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_AMBIDEXTERITY 1 **** **** **** **** **** 0 1 +376 **** **** **** **** **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 6 **** **** **** **** **** 0 1 +377 ImpInit 2751 2752 ife_X1Init **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** 753 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_IMPROVED_INITIATIVE 6 **** **** **** **** **** 0 1 +378 Artist 2753 2754 ife_X1Art **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** 11 **** **** **** FEAT_ARTIST 6 **** **** **** 1 **** 0 1 +379 Blooded 2755 2756 ife_X1Blood **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_BLOODED 6 **** **** **** 1 **** 0 1 +380 Bullheaded 2757 2758 ife_X1Bull **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_BULLHEADED 6 **** **** **** 1 **** 0 1 +381 CourtMagocracy 2759 2760 ife_X1Court **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_COURTEOUS_MAGOCRACY 6 **** **** **** 1 **** 0 1 +382 LuckOfHeroes 2761 2762 ife_X1Hero **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_LUCK_OF_HEROES 6 **** **** **** 1 **** 0 1 +383 ResistPoison 2763 2764 ife_X1ResPos **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_RESIST_POISON 6 **** **** **** **** **** 0 1 +384 SilverPalm 2765 2766 ife_X1SilPal **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_SILVER_PALM 6 **** **** **** 1 **** 0 1 +385 DELETED **** **** **** **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_SMOOTH_TALK 6 **** **** **** **** **** 0 1 +386 SnakeBlood 2769 2770 ife_X1Snake **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_SNAKE_BLOOD 6 **** **** **** 1 **** 0 1 +387 Stealthy 2771 2772 ife_X1Stealth **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_STEALTHY 6 **** **** **** **** **** 0 1 +388 StrongSoul 2775 2776 ife_X1Strong **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_STRONG_SOUL 6 **** **** **** 1 **** 0 1 +389 Expertise 2773 2774 ife_X1Expert **** **** **** 13 **** **** **** **** **** **** 0 0 1 22 1 **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EXPERTISE 6 **** **** **** **** **** 0 1 +390 ImpExpertise 2777 2778 ife_X1ImpExp **** **** **** 13 **** **** **** **** 389 **** 0 0 1 22 1 **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_IMPROVED_EXPERTISE 6 **** **** **** **** **** 0 1 +391 GreatCleave 2779 2780 ife_X1GCleave 4 13 **** **** **** **** **** **** 28 6 0 0 1 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_GREAT_CLEAVE 1 **** **** **** **** **** 0 1 +392 SpringAttack 2781 2782 ife_X1SpAtt 4 **** 13 **** **** **** **** **** 26 10 0 0 1 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_SPRING_ATTACK 6 **** **** **** **** **** 0 1 +393 GrSpllFcsAbj 2783 2791 ife_X1GSFAbj **** **** **** **** **** **** **** **** 35 **** 0 0 1 **** **** **** 610 0.5 **** 6 **** **** **** **** **** **** **** **** **** **** FEAT_GREATER_SPELL_FOCUS_ABJURATION 6 **** **** **** **** **** 0 1 +394 GrSpllFcsCnj 2784 2791 ife_X1GSFCnj **** **** **** **** **** **** **** **** 166 **** 0 0 1 **** **** **** 611 0.5 **** 6 **** **** **** **** **** **** **** **** **** **** FEAT_GREATER_SPELL_FOCUS_CONJURATION 6 **** **** **** **** **** 0 1 +395 GrSpllFcsDiv 2785 2791 ife_X1GSFDiv **** **** **** **** **** **** **** **** 167 **** 0 0 1 **** **** **** 612 0.5 **** 6 **** **** **** **** **** **** **** **** **** **** FEAT_GREATER_SPELL_FOCUS_DIVINATION 6 **** **** **** **** **** 0 1 +396 GrSpllFcsEnch 2786 2791 ife_X1GSFEnc **** **** **** **** **** **** **** **** 168 **** 0 0 1 **** **** **** 613 0.5 **** 6 **** **** **** **** **** **** **** **** **** **** FEAT_GREATER_SPELL_FOCUS_ENCHANTMENT 6 **** **** **** **** **** 0 1 +397 GrSpllFcsEvc 2787 2791 ife_X1GSFEvc **** **** **** **** **** **** **** **** 169 **** 0 0 1 **** **** **** 614 0.5 **** 6 **** **** **** **** **** **** **** **** **** **** FEAT_GREATER_SPELL_FOCUS_EVOCATION 6 **** **** **** **** **** 0 1 +398 GrSpllFcsIll 2788 2791 ife_X1GSFIll **** **** **** **** **** **** **** **** 170 **** 0 0 1 **** **** **** 615 0.5 **** 6 **** **** **** **** **** **** **** **** **** **** FEAT_GREATER_SPELL_FOCUS_ILLUSION 6 **** **** **** **** **** 0 1 +399 GrSpllFcsNec 2789 2791 ife_X1GSFNec **** **** **** **** **** **** **** **** 171 **** 0 0 1 **** **** **** 616 0.5 **** 6 **** **** **** **** **** **** **** **** **** **** FEAT_GREATER_SPELL_FOCUS_NECROMANCY 6 **** **** **** **** **** 0 1 +400 GrSpllFcsTran 2790 2791 ife_X1GSFTra **** **** **** **** **** **** **** **** 172 **** 0 0 1 **** **** **** 617 0.5 **** 6 **** **** **** **** **** **** **** **** **** **** FEAT_GREATER_SPELL_FOCUS_TRANSMUTATION 6 **** **** **** **** **** 0 1 +401 GreatSpellPen 2792 2793 ife_X1GFSPen **** **** **** **** **** **** **** **** 36 **** 0 0 1 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_GREATER_SPELL_PENETRATION 6 **** **** **** **** **** 0 1 +402 Thug 2794 2795 ife_X1Thug **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_THUG 6 **** **** **** **** **** 0 1 +403 DELETED **** **** **** **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_MERCANTILE_BACKGROUND 6 **** **** **** **** **** 0 1 +404 SkillFocAppraise 2798 424 ife_X1SFApp **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 4 **** **** **** **** **** **** 20 **** **** **** FEAT_SKILL_FOCUS_APPRAISE 6 **** **** **** **** **** 0 1 +405 **** **** **** **** **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** **** 6 **** **** **** **** **** 0 1 +406 SkillFocTumble 2799 424 ife_X1SFTum **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 4 **** **** **** **** **** **** 21 **** **** **** FEAT_SKILL_FOCUS_TUMBLE 6 **** **** **** **** **** 0 1 +407 SkillFocCrftTrap 2800 424 ife_X1SFCrTrap **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 4 **** **** **** **** **** **** 22 **** **** **** FEAT_SKILL_FOCUS_CRAFT_TRAP 6 **** **** **** **** **** 0 1 +408 BlindFight 2801 2802 ife_X1BliFig **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_BLIND_FIGHT 6 **** **** **** **** **** 0 1 +409 CircleKick 2841 2842 ife_X1CirKik 3 **** 15 **** **** **** **** **** 21 **** 0 0 1 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_CIRCLE_KICK 6 **** **** **** **** **** 0 1 +410 ExtraStunningAttack 2805 2806 ife_X1ExStun 2 **** **** **** **** **** **** **** 39 **** 0 0 1 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EXTRA_STUNNING_ATTACK 6 **** **** **** **** **** 0 1 +411 RapidReload 2807 2808 ife_X1RapRel 2 **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_RAPID_RELOAD 6 **** **** **** **** **** 0 1 +412 ZenArchery 2809 2810 ife_X1ZenArc 3 **** **** **** 13 **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_ZEN_ARCHERY 6 **** **** **** **** **** 0 1 +413 DivineMight 2811 2812 ife_X1DivMig **** 13 **** **** **** **** 13 **** 28 294 0 0 0 **** **** 473 **** 1 **** **** 1 **** **** **** **** **** **** **** **** **** FEAT_DIVINE_MIGHT 6 **** **** **** **** **** 0 1 +414 DivineShield 2813 2814 ife_X1DivShl **** 13 **** **** **** **** 13 **** 28 294 0 0 0 **** **** 474 **** 1 **** **** 1 **** **** **** **** **** **** **** **** **** FEAT_DIVINE_SHIELD 6 **** **** **** **** **** 0 1 +415 ArcaneDefenseAbj 2815 2823 ife_X1ADAbj **** **** **** **** **** **** **** **** 35 **** 0 0 1 **** **** **** **** 1 **** 7 **** **** **** **** **** **** **** **** **** **** FEAT_ARCANE_DEFENSE_ABJURATION 6 **** **** **** **** **** 0 1 +416 ArcaneDefenseCon 2816 2823 ife_X1ADCon **** **** **** **** **** **** **** **** 166 **** 0 0 1 **** **** **** **** 1 **** 7 **** **** **** **** **** **** **** **** **** **** FEAT_ARCANE_DEFENSE_CONJURATION 6 **** **** **** **** **** 0 1 +417 ArcaneDefenseDiv 2817 2823 ife_X1ADDiv **** **** **** **** **** **** **** **** 167 **** 0 0 1 **** **** **** **** 1 **** 7 **** **** **** **** **** **** **** **** **** **** FEAT_ARCANE_DEFENSE_DIVINATION 6 **** **** **** **** **** 0 1 +418 ArcaneDefenseEnch 2818 2823 ife_X1ADEnc **** **** **** **** **** **** **** **** 168 **** 0 0 1 **** **** **** **** 1 **** 7 **** **** **** **** **** **** **** **** **** **** FEAT_ARCANE_DEFENSE_ENCHATMENT 6 **** **** **** **** **** 0 1 +419 ArcaneDefenseEvo 2819 2823 ife_X1ADEvo **** **** **** **** **** **** **** **** 169 **** 0 0 1 **** **** **** **** 1 **** 7 **** **** **** **** **** **** **** **** **** **** FEAT_ARCANE_DEFENSE_EVOCATION 6 **** **** **** **** **** 0 1 +420 ArcaneDefenseIll 2820 2823 ife_X1ADIll **** **** **** **** **** **** **** **** 170 **** 0 0 1 **** **** **** **** 1 **** 7 **** **** **** **** **** **** **** **** **** **** FEAT_ARCANE_DEFENSE_ILLUSION 6 **** **** **** **** **** 0 1 +421 ArcaneDefenseNec 2821 2823 ife_X1ADNec **** **** **** **** **** **** **** **** 171 **** 0 0 1 **** **** **** **** 1 **** 7 **** **** **** **** **** **** **** **** **** **** FEAT_ARCANE_DEFENSE_NECROMANCY 6 **** **** **** **** **** 0 1 +422 ArcaneDefenseTra 2822 2823 ife_X1ADTra **** **** **** **** **** **** **** **** 172 **** 0 0 1 **** **** **** **** 1 **** 7 **** **** **** **** **** **** **** **** **** **** FEAT_ARCANE_DEFENSE_TRANSMUTATION 6 **** **** **** **** **** 0 1 +423 ExtraMusic 2824 2825 ife_X1ExMus **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 1 **** **** **** **** **** **** **** **** 11 **** **** **** FEAT_EXTRA_MUSIC 6 **** 1 1 **** **** 0 1 +424 LingeringSong 2826 2827 ife_X1LingSong **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 1 **** **** **** **** **** **** **** **** 11 **** **** **** FEAT_LINGERING_SONG 6 **** 1 1 **** **** 0 1 +425 DirtyFighting 2803 2804 ife_X1DirFig 2 **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_DIRTY_FIGHTING 6 **** **** **** **** **** 0 1 +426 ResistDisease 2828 2829 ife_X1ResDis **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_RESIST_DISEASE 6 **** **** **** **** **** 0 1 +427 ResistEnergyCold 2830 2835 ife_X1ResCol **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 8 **** **** **** **** **** **** **** **** **** **** FEAT_RESIST_ENERGY_COLD 6 **** **** **** **** 8 0 1 +428 ResistEnergyAcid 2831 2835 ife_X1ResAc **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 8 **** **** **** **** **** **** **** **** **** **** FEAT_RESIST_ENERGY_ACID 6 **** **** **** **** 8 0 1 +429 ResistEnergyFire 2832 2835 ife_X1ResFir **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 8 **** **** **** **** **** **** **** **** **** **** FEAT_RESIST_ENERGY_FIRE 6 **** **** **** **** 8 0 1 +430 ResistEnergyElectrical 2833 2835 ife_X1ResEle **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 8 **** **** **** **** **** **** **** **** **** **** FEAT_RESIST_ENERGY_ELECTRICAL 6 **** **** **** **** 8 0 1 +431 ResistEnergySonic 2834 2835 ife_X1ResSon **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** 8 **** **** **** **** **** **** **** **** **** **** FEAT_RESIST_ENERGY_SONIC 6 **** **** **** **** 8 0 1 +432 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 0 1 +433 HIDE_IN_PLAIN_SIGHT 2936 2940 ife_X1HideSight **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_HIDE_IN_PLAIN_SIGHT 6 **** **** **** **** **** 0 1 +434 SHADOW_DAZE 2937 2941 ife_X1SDaze **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 475 **** 1 1 **** **** **** **** **** **** **** **** **** **** **** FEAT_SHADOW_DAZE 6 1 **** **** **** **** 0 1 +435 SUMMON_SHADOW 2938 2942 ife_X1SShad **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 476 **** 1 1 **** 1 **** **** **** **** **** **** **** **** **** FEAT_SUMMON_SHADOW 6 **** **** **** **** **** 0 1 +436 SHADOW_EVADE 2939 2943 ife_X1SEvade **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 477 **** 1 3 **** 1 **** **** **** **** **** **** **** **** **** FEAT_SHADOW_EVADE 6 **** **** **** **** **** 0 1 +437 DENEIRS_EYE 2948 2952 ife_X1HDenier **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_DENEIRS_EYE 6 **** **** **** **** **** 0 1 +438 TYMORAS_SMILE 2949 2953 ife_X1HTym **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 478 **** 1 1 **** **** **** **** **** **** **** **** **** **** **** FEAT_TYMORAS_SMILE 6 **** **** **** **** **** 0 1 +439 LLIIRAS_HEART 2950 2954 ife_X1HLHrt **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_LLIIRAS_HEART 6 **** **** **** **** **** 0 1 +440 CRAFT_HARPER_ITEM 2951 2955 ife_X1HCraft **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 479 **** 1 1 **** 1 **** **** **** **** **** **** **** **** **** FEAT_CRAFT_HARPER_ITEM 6 **** **** **** **** **** 0 1 +441 HARPER_SLEEP 915 2969 ife_X1HSleep **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 480 **** 1 1 **** **** **** **** **** **** **** **** **** **** **** FEAT_HARPER_SLEEP 1 **** **** **** **** **** 0 1 +442 HARPER_CATS_GRACE 763 2970 ife_X1HCat **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 481 **** 1 1 **** **** **** **** **** **** **** **** **** **** **** FEAT_HARPER_CATS_GRACE 1 **** **** **** **** **** 0 1 +443 HARPER_EAGLES_SPLENDOR 5371 2971 ife_X1HEag **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 482 **** 1 1 **** **** **** **** **** **** **** **** **** **** **** FEAT_HARPER_EAGLES_SPLENDOR 1 **** **** **** **** **** 0 1 +444 HARPER_INVISIBILITY 840 2972 ife_X1HInvis **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 483 **** 1 1 **** **** **** **** **** **** **** **** **** **** **** FEAT_HARPER_INVISIBILITY 1 **** **** **** **** **** 0 1 +445 FEAT_PRESTIGE_ENCHANT_ARROW_1 8679 8680 ife_X1EnchArr **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 446 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_ENCHANT_ARROW_1 5 **** **** **** **** **** 0 1 +446 FEAT_PRESTIGE_ENCHANT_ARROW_2 8681 8680 ife_X1EnchArr **** **** **** **** **** **** **** **** 445 **** 0 0 0 **** **** **** 447 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_ENCHANT_ARROW_2 5 **** **** **** **** **** 0 1 +447 FEAT_PRESTIGE_ENCHANT_ARROW_3 8682 8680 ife_X1EnchArr **** **** **** **** **** **** **** **** 446 **** 0 0 0 **** **** **** 448 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_ENCHANT_ARROW_3 5 **** **** **** **** **** 0 1 +448 FEAT_PRESTIGE_ENCHANT_ARROW_4 8683 8680 ife_X1EnchArr **** **** **** **** **** **** **** **** 447 **** 0 0 0 **** **** **** 449 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_ENCHANT_ARROW_4 5 **** **** **** **** **** 0 1 +449 FEAT_PRESTIGE_ENCHANT_ARROW_5 8684 8680 ife_X1EnchArr **** **** **** **** **** **** **** **** 448 **** 0 0 0 **** **** **** 1045 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_ENCHANT_ARROW_5 5 **** **** **** **** **** 0 1 +450 FEAT_PRESTIGE_EMBUE_ARROW 8685 8686 ife_X1EmbuArr **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 600 **** 0.5 3 **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_EMBUE_ARROW 5 1 **** **** **** **** 0 1 +451 FEAT_PRESTIGE_SEEKER_ARROW_1 8687 8688 ife_X1SeekArr **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 601 452 0.5 1 **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_SEEKER_ARROW_1 5 1 **** **** **** **** 0 1 +452 FEAT_PRESTIGE_SEEKER_ARROW_2 8689 8688 ife_X1SeekArr **** **** **** **** **** **** **** **** 451 **** 0 0 0 **** **** 602 **** 0.5 2 **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_SEEKER_ARROW_2 5 1 **** **** **** **** 0 1 +453 FEAT_PRESTIGE_HAIL_OF_ARROWS 8690 8691 ife_X1HailArr **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 603 **** 0.5 1 **** 1 **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_HAIL_OF_ARROWS 5 **** **** **** **** **** 0 1 +454 FEAT_PRESTIGE_ARROW_OF_DEATH 8692 8693 ife_X1DethArr **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 604 **** 0.5 1 **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_ARROW_OF_DEATH 5 1 **** **** **** **** 0 1 +455 FEAT_PRESTIGE_DEATH_ATTACK_1 8694 8695 ife_X1DethAtt **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 456 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_DEATH_ATTACK_1 5 **** **** **** **** **** 0 1 +456 FEAT_PRESTIGE_DEATH_ATTACK_2 9062 8695 ife_X1DethAtt **** **** **** **** **** **** **** **** 455 **** 0 0 0 **** **** **** 457 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_DEATH_ATTACK_2 5 **** **** **** **** **** 0 1 +457 FEAT_PRESTIGE_DEATH_ATTACK_3 9063 8695 ife_X1DethAtt **** **** **** **** **** **** **** **** 456 **** 0 0 0 **** **** **** 458 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_DEATH_ATTACK_3 5 **** **** **** **** **** 0 1 +458 FEAT_PRESTIGE_DEATH_ATTACK_4 9064 8695 ife_X1DethAtt **** **** **** **** **** **** **** **** 457 **** 0 0 0 **** **** **** 459 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_DEATH_ATTACK_4 5 **** **** **** **** **** 0 1 +459 FEAT_PRESTIGE_DEATH_ATTACK_5 9065 8695 ife_X1DethAtt **** **** **** **** **** **** **** **** 458 **** 0 0 0 **** **** **** 1004 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_DEATH_ATTACK_5 5 **** **** **** **** **** 0 1 +460 FEAT_BLACKGUARD_SNEAK_ATTACK_1D6 12334 40052 ife_sneakhit **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 461 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_BLACKGUARD_SNEAK_ATTACK_1D6 6 **** **** **** **** **** 0 1 +461 FEAT_BLACKGUARD_SNEAK_ATTACK_2D6 12335 40052 ife_sneakhit **** **** **** **** **** **** **** **** 460 **** 0 0 0 **** **** **** 462 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_BLACKGUARD_SNEAK_ATTACK_2D6 6 **** **** **** **** **** 0 1 +462 FEAT_BLACKGUARD_SNEAK_ATTACK_3D6 12336 40052 ife_sneakhit **** **** **** **** **** **** **** **** 461 **** 0 0 0 **** **** **** 1007 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_BLACKGUARD_SNEAK_ATTACK_3D6 6 **** **** **** **** **** 0 1 +463 FEAT_PRESTIGE_POISON_SAVE_1 8700 8701 ife_X1PoisSav **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 464 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_POISON_SAVE_1 5 **** **** **** **** **** 0 1 +464 FEAT_PRESTIGE_POISON_SAVE_2 8702 8701 ife_X1PoisSav **** **** **** **** **** **** **** **** 463 **** 0 0 0 **** **** **** 465 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_POISON_SAVE_2 5 **** **** **** **** **** 0 1 +465 FEAT_PRESTIGE_POISON_SAVE_3 8703 8701 ife_X1PoisSav **** **** **** **** **** **** **** **** 464 **** 0 0 0 **** **** **** 466 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_POISON_SAVE_3 5 **** **** **** **** **** 0 1 +466 FEAT_PRESTIGE_POISON_SAVE_4 8704 8701 ife_X1PoisSav **** **** **** **** **** **** **** **** 465 **** 0 0 0 **** **** **** 467 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_POISON_SAVE_4 5 **** **** **** **** **** 0 1 +467 FEAT_PRESTIGE_POISON_SAVE_5 8705 8701 ife_X1PoisSav **** **** **** **** **** **** **** **** 466 **** 0 0 0 **** **** **** 1070 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_POISON_SAVE_5 5 **** **** **** **** **** 0 1 +468 FEAT_PRESTIGE_SPELL_GHOSTLY_VISAGE 8706 8707 is_GhostVis **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 605 **** 0.5 1 **** 1 **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_SPELL_GHOSTLY_VISAGE 1 **** **** **** **** **** 0 1 +469 FEAT_PRESTIGE_DARKNESS 8708 8709 is_Darkness **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 606 **** 0.5 1 **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_DARKNESS 1 **** **** **** **** **** 0 1 +470 FEAT_PRESTIGE_INVISIBILITY_1 8710 8711 is_Invisib **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 607 **** 0.5 1 **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_INVISIBILITY_1 1 **** **** **** **** **** 0 1 +471 FEAT_PRESTIGE_INVISIBILITY_2 8712 8713 is_ImprInvis **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 608 **** 0.5 1 **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_INVISIBILITY_2 1 **** **** **** **** **** 0 1 +472 FEAT_SMITE_GOOD 3779 8714 ife_X1SmGood **** **** **** **** **** **** **** **** **** **** 0 0 0 22 1 **** **** 0.5 1 **** **** **** **** **** **** **** **** **** **** **** FEAT_SMITE_GOOD 5 1 **** **** **** **** 0 1 +473 FEAT_PRESTIGE_DARK_BLESSING 8715 8716 ife_X1SpDrkBls **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_DARK_BLESSING 5 **** **** **** **** **** 0 1 +474 FEAT_CREATE_UNDEAD 8717 8718 is_CrUndead **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 609 **** 0.5 1 **** 1 **** **** **** **** **** **** **** **** **** FEAT_INFLICT_LIGHT_WOUNDS 1 **** **** **** **** **** 0 1 +475 FEAT_FIENDISH_SERVANT 8719 8720 is_LsPlanar **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 610 **** 0.5 1 **** 1 **** **** **** **** **** **** **** **** **** FEAT_INFLICT_MODERATE_WOUNDS 1 **** **** **** **** **** 0 1 +476 FEAT_INFLICT_SERIOUS_WOUNDS 8721 8722 is_X1InfSer **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 611 **** 0.5 1 **** **** **** **** **** **** **** **** **** **** **** FEAT_INFLICT_SERIOUS_WOUNDS 1 1 **** **** **** **** 0 1 +477 FEAT_INFLICT_CRITICAL_WOUNDS 8723 8724 is_X1InfCri **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 612 **** 0.5 1 **** **** **** **** **** **** **** **** **** **** **** FEAT_INFLICT_CRITICAL_WOUNDS 1 1 **** **** **** **** 0 1 +478 FEAT_BULLS_STRENGTH 8725 9163 is_BullStr **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 614 **** 0.5 1 **** **** **** **** **** **** **** **** **** **** **** FEAT_BULLS_STRENGTH 1 **** **** **** **** **** 0 1 +479 FEAT_CONTAGION 8726 9164 is_Contagion **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 613 **** 0.5 1 **** **** **** **** **** **** **** **** **** **** **** FEAT_CONTAGION 1 1 **** **** **** **** 0 1 +480 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 0 1 +481 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 0 1 +482 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 0 1 +483 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 0 1 +484 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 0 1 +485 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 0 1 +486 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 0 1 +487 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 0 1 +488 FEAT_BLINDSIGHT_60_FEET 110705 110706 ife_x2blindsigh **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_BLINDSIGHT_60_FEET 5 **** **** **** **** **** 0 1 +489 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 0 1 +490 FEAT_EPIC_ARMOR_SKIN 3895 3896 ife_X2ArSkin **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ARMOR_SKIN 3 **** **** **** **** **** 1 1 +491 FEAT_EPIC_BLINDING_SPEED 3897 3898 ife_X2BldSpd **** **** 25 **** **** **** **** **** **** **** 0 0 0 10 **** 647 **** 1 1 **** 1 **** **** **** **** **** **** **** **** **** FEAT_EPIC_BLINDING_SPEED 6 **** **** **** **** **** 1 1 +492 FEAT_EPIC_DAMAGE_REDUCTION_3 3901 3902 ife_X2DamRd1 **** **** **** **** **** 21 **** **** **** **** 0 0 1 **** **** **** 493 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_DAMAGE_REDUCTION_3 3 **** **** **** **** **** 1 1 +493 FEAT_EPIC_DAMAGE_REDUCTION_6 3903 3904 ife_X2DamRd1 **** **** **** **** **** **** **** **** 492 **** 0 0 1 **** **** **** 494 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_DAMAGE_REDUCTION_6 3 **** **** **** **** **** 1 1 +494 FEAT_EPIC_DAMAGE_REDUCTION_9 3905 3906 ife_X2DamRd1 **** **** **** **** **** **** **** **** 493 **** 0 0 1 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_DAMAGE_REDUCTION_9 3 **** **** **** **** **** 1 1 +495 FEAT_EPIC_DEVASTATING_CRITICAL_CLUB 3908 3909 ife_X2CritDClub **** 25 **** **** **** **** **** **** 391 709 0 0 1 **** **** **** **** 0.5 **** 13 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_DEVASTATING_CRITICAL_CLUB 1 **** **** **** **** **** 1 1 +496 FEAT_EPIC_DEVASTATING_CRITICAL_DAGGER 3910 3909 ife_X2CritDDagg **** 25 **** **** **** **** **** **** 391 710 0 0 1 **** **** **** **** 0.5 **** 13 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_DEVASTATING_CRITICAL_DAGGER 1 **** **** **** **** **** 1 1 +497 FEAT_EPIC_DEVASTATING_CRITICAL_DART 3921 3909 ife_X2CritDDart **** 25 **** **** **** **** **** **** 391 711 0 0 1 **** **** **** **** 0.5 **** 13 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_DEVASTATING_CRITICAL_DART 1 **** **** **** **** **** 1 1 +498 FEAT_EPIC_DEVASTATING_CRITICAL_HEAVYCROSSBOW 3911 3909 ife_X2CritDHXB **** 25 **** **** **** **** **** **** 391 712 0 0 1 **** **** **** **** 0.5 **** 13 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_DEVASTATING_CRITICAL_HEAVYCROSSBOW 1 **** **** **** **** **** 1 1 +499 FEAT_EPIC_DEVASTATING_CRITICAL_LIGHTCROSSBOW 3912 3909 ife_X2CritDLXB **** 25 **** **** **** **** **** **** 391 713 0 0 1 **** **** **** **** 0.5 **** 13 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_DEVASTATING_CRITICAL_LIGHTCROSSBOW 1 **** **** **** **** **** 1 1 +500 FEAT_EPIC_DEVASTATING_CRITICAL_LIGHTMACE 3913 3909 ife_X2CritDMace **** 25 **** **** **** **** **** **** 391 714 0 0 1 **** **** **** **** 0.5 **** 13 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_DEVASTATING_CRITICAL_LIGHTMACE 1 **** **** **** **** **** 1 1 +501 FEAT_EPIC_DEVASTATING_CRITICAL_MORNINGSTAR 3914 3909 ife_X2CritDMSta **** 25 **** **** **** **** **** **** 391 715 0 0 1 **** **** **** **** 0.5 **** 13 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_DEVASTATING_CRITICAL_MORNINGSTAR 1 **** **** **** **** **** 1 1 +502 FEAT_EPIC_DEVASTATING_CRITICAL_QUARTERSTAFF 3915 3909 ife_X2CritDQSta **** 25 **** **** **** **** **** **** 391 716 0 0 1 **** **** **** **** 0.5 **** 13 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_DEVASTATING_CRITICAL_QUARTERSTAFF 1 **** **** **** **** **** 1 1 +503 FEAT_EPIC_DEVASTATING_CRITICAL_SHORTSPEAR 3916 3909 ife_X2CritSpr **** 25 **** **** **** **** **** **** 391 717 0 0 1 **** **** **** **** 0.5 **** 13 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_DEVASTATING_CRITICAL_SHORTSPEAR 1 **** **** **** **** **** 1 1 +504 FEAT_EPIC_DEVASTATING_CRITICAL_SICKLE 3917 3909 ife_X2CritDSkle **** 25 **** **** **** **** **** **** 391 718 0 0 1 **** **** **** **** 0.5 **** 13 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_DEVASTATING_CRITICAL_SICKLE 1 **** **** **** **** **** 1 1 +505 FEAT_EPIC_DEVASTATING_CRITICAL_SLING 3920 3909 ife_X2CritDSlng **** 25 **** **** **** **** **** **** 391 719 0 0 1 **** **** **** **** 0.5 **** 13 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_DEVASTATING_CRITICAL_SLING 1 **** **** **** **** **** 1 1 +506 FEAT_EPIC_DEVASTATING_CRITICAL_UNARMED 3918 3909 ife_X2CritDUnar **** 25 **** **** **** **** **** **** 391 720 0 0 1 **** **** **** **** 0.5 **** 13 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_DEVASTATING_CRITICAL_UNARMED 1 **** **** **** **** **** 1 1 +507 FEAT_EPIC_DEVASTATING_CRITICAL_LONGBOW 3919 3909 ife_X2CritDLBow **** 25 **** **** **** **** **** **** 391 721 0 0 1 **** **** **** **** 0.5 **** 13 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_DEVASTATING_CRITICAL_LONGBOW 1 **** **** **** **** **** 1 1 +508 FEAT_EPIC_DEVASTATING_CRITICAL_SHORTBOW 3922 3909 ife_X2CritDSBow **** 25 **** **** **** **** **** **** 391 722 0 0 1 **** **** **** **** 0.5 **** 13 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_DEVASTATING_CRITICAL_SHORTBOW 1 **** **** **** **** **** 1 1 +509 FEAT_EPIC_DEVASTATING_CRITICAL_SHORTSWORD 3923 3909 ife_X2CritDSSwd **** 25 **** **** **** **** **** **** 391 723 0 0 1 **** **** **** **** 0.5 **** 13 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_DEVASTATING_CRITICAL_SHORTSWORD 1 **** **** **** **** **** 1 1 +510 FEAT_EPIC_DEVASTATING_CRITICAL_RAPIER 3924 3909 ife_X2CritDRapr **** 25 **** **** **** **** **** **** 391 724 0 0 1 **** **** **** **** 0.5 **** 13 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_DEVASTATING_CRITICAL_RAPIER 1 **** **** **** **** **** 1 1 +511 FEAT_EPIC_DEVASTATING_CRITICAL_SCIMITAR 3925 3909 ife_X2CritDScim **** 25 **** **** **** **** **** **** 391 725 0 0 1 **** **** **** **** 0.5 **** 13 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_DEVASTATING_CRITICAL_SCIMITAR 1 **** **** **** **** **** 1 1 +512 FEAT_EPIC_DEVASTATING_CRITICAL_LONGSWORD 3926 3909 ife_X2CritDLSwd **** 25 **** **** **** **** **** **** 391 726 0 0 1 **** **** **** **** 0.5 **** 13 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_DEVASTATING_CRITICAL_LONGSWORD 1 **** **** **** **** **** 1 1 +513 FEAT_EPIC_DEVASTATING_CRITICAL_GREATSWORD 3927 3909 ife_X2CritDGSwd **** 25 **** **** **** **** **** **** 391 727 0 0 1 **** **** **** **** 0.5 **** 13 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_DEVASTATING_CRITICAL_GREATSWORD 1 **** **** **** **** **** 1 1 +514 FEAT_EPIC_DEVASTATING_CRITICAL_HANDAXE 3928 3909 ife_X2CritDHAxe **** 25 **** **** **** **** **** **** 391 728 0 0 1 **** **** **** **** 0.5 **** 13 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_DEVASTATING_CRITICAL_HANDAXE 1 **** **** **** **** **** 1 1 +515 FEAT_EPIC_DEVASTATING_CRITICAL_THROWINGAXE 3929 3909 ife_X2CritDTAxe **** 25 **** **** **** **** **** **** 391 729 0 0 1 **** **** **** **** 0.5 **** 13 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_DEVASTATING_CRITICAL_THROWINGAXE 1 **** **** **** **** **** 1 1 +516 FEAT_EPIC_DEVASTATING_CRITICAL_BATTLEAXE 3930 3909 ife_X2CritDBAxe **** 25 **** **** **** **** **** **** 391 730 0 0 1 **** **** **** **** 0.5 **** 13 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_DEVASTATING_CRITICAL_BATTLEAXE 1 **** **** **** **** **** 1 1 +517 FEAT_EPIC_DEVASTATING_CRITICAL_GREATAXE 3931 3909 ife_X2CritDGAxe **** 25 **** **** **** **** **** **** 391 731 0 0 1 **** **** **** **** 0.5 **** 13 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_DEVASTATING_CRITICAL_GREATAXE 1 **** **** **** **** **** 1 1 +518 FEAT_EPIC_DEVASTATING_CRITICAL_HALBERD 3932 3909 ife_X2CritDHalb **** 25 **** **** **** **** **** **** 391 732 0 0 1 **** **** **** **** 0.5 **** 13 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_DEVASTATING_CRITICAL_HALBERD 1 **** **** **** **** **** 1 1 +519 FEAT_EPIC_DEVASTATING_CRITICAL_LIGHTHAMMER 3933 3909 ife_X2CritDLHam **** 25 **** **** **** **** **** **** 391 733 0 0 1 **** **** **** **** 0.5 **** 13 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_DEVASTATING_CRITICAL_LIGHTHAMMER 1 **** **** **** **** **** 1 1 +520 FEAT_EPIC_DEVASTATING_CRITICAL_LIGHTFLAIL 3934 3909 ife_X2CritDLFla **** 25 **** **** **** **** **** **** 391 734 0 0 1 **** **** **** **** 0.5 **** 13 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_DEVASTATING_CRITICAL_LIGHTFLAIL 1 **** **** **** **** **** 1 1 +521 FEAT_EPIC_DEVASTATING_CRITICAL_WARHAMMER 3935 3909 ife_X2CritDWHam **** 25 **** **** **** **** **** **** 391 735 0 0 1 **** **** **** **** 0.5 **** 13 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_DEVASTATING_CRITICAL_WARHAMMER 1 **** **** **** **** **** 1 1 +522 FEAT_EPIC_DEVASTATING_CRITICAL_HEAVYFLAIL 3936 3909 ife_X2CritDHFla **** 25 **** **** **** **** **** **** 391 736 0 0 1 **** **** **** **** 0.5 **** 13 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_DEVASTATING_CRITICAL_HEAVYFLAIL 1 **** **** **** **** **** 1 1 +523 FEAT_EPIC_DEVASTATING_CRITICAL_KAMA 3937 3909 ife_X2CritDKama **** 25 **** **** **** **** **** **** 391 737 0 0 1 **** **** **** **** 0.5 **** 13 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_DEVASTATING_CRITICAL_KAMA 1 **** **** **** **** **** 1 1 +524 FEAT_EPIC_DEVASTATING_CRITICAL_KUKRI 3938 3909 ife_X2CritDKukr **** 25 **** **** **** **** **** **** 391 738 0 0 1 **** **** **** **** 0.5 **** 13 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_DEVASTATING_CRITICAL_KUKRI 1 **** **** **** **** **** 1 1 +525 FEAT_EPIC_DEVASTATING_CRITICAL_SHURIKEN 3939 3909 ife_X2CritDShur **** 25 **** **** **** **** **** **** 391 739 0 0 1 **** **** **** **** 0.5 **** 13 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_DEVASTATING_CRITICAL_SHURIKEN 1 **** **** **** **** **** 1 1 +526 FEAT_EPIC_DEVASTATING_CRITICAL_SCYTHE 3940 3909 ife_X2CritDScyt **** 25 **** **** **** **** **** **** 391 740 0 0 1 **** **** **** **** 0.5 **** 13 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_DEVASTATING_CRITICAL_SCYTHE 1 **** **** **** **** **** 1 1 +527 FEAT_EPIC_DEVASTATING_CRITICAL_KATANA 3941 3909 ife_X2CritDKatn **** 25 **** **** **** **** **** **** 391 741 0 0 1 **** **** **** **** 0.5 **** 13 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_DEVASTATING_CRITICAL_KATANA 1 **** **** **** **** **** 1 1 +528 FEAT_EPIC_DEVASTATING_CRITICAL_BASTARDSWORD 3942 3909 ife_X2CritDBSwd **** 25 **** **** **** **** **** **** 391 742 0 0 1 **** **** **** **** 0.5 **** 13 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_DEVASTATING_CRITICAL_BASTARDSWORD 1 **** **** **** **** **** 1 1 +529 FEAT_EPIC_DEVASTATING_CRITICAL_DIREMACE 3943 3909 ife_X2CritDDMac **** 25 **** **** **** **** **** **** 391 743 0 0 1 **** **** **** **** 0.5 **** 13 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_DEVASTATING_CRITICAL_DIREMACE 1 **** **** **** **** **** 1 1 +530 FEAT_EPIC_DEVASTATING_CRITICAL_DOUBLEAXE 3944 3909 ife_X2CritDDAxe **** 25 **** **** **** **** **** **** 391 744 0 0 1 **** **** **** **** 0.5 **** 13 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_DEVASTATING_CRITICAL_DOUBLEAXE 1 **** **** **** **** **** 1 1 +531 FEAT_EPIC_DEVASTATING_CRITICAL_TWOBLADEDSWORD 3945 3909 ife_X2CritDTSwd **** 25 **** **** **** **** **** **** 391 745 0 0 1 **** **** **** **** 0.5 **** 13 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_DEVASTATING_CRITICAL_TWOBLADEDSWORD 1 **** **** **** **** **** 1 1 +532 FEAT_EPIC_DEVASTATING_CRITICAL_CREATURE 3946 3947 ife_X2CritDCrea **** **** **** **** **** **** **** **** **** **** 0 0 **** **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_DEVASTATING_CRITICAL_CREATURE 1 **** **** **** **** **** 1 1 +533 FEAT_EPIC_ENERGY_RESISTANCE_COLD_1 3948 3949 ife_X2EnrRsC1 **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** 534 1 **** 17 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ENERGY_RESISTANCE_COLD_1 3 **** **** **** **** **** 1 1 +534 FEAT_EPIC_ENERGY_RESISTANCE_COLD_2 3950 3949 ife_X2EnrRsC1 **** **** **** **** **** **** **** **** 533 **** 0 0 1 **** **** **** 535 1 **** 17 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ENERGY_RESISTANCE_COLD_2 3 **** **** **** **** **** 1 1 +535 FEAT_EPIC_ENERGY_RESISTANCE_COLD_3 3953 3949 ife_X2EnrRsC1 **** **** **** **** **** **** **** **** 534 **** 0 0 1 **** **** **** 536 1 **** 17 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ENERGY_RESISTANCE_COLD_3 3 **** **** **** **** **** 1 1 +536 FEAT_EPIC_ENERGY_RESISTANCE_COLD_4 3955 3949 ife_X2EnrRsC1 **** **** **** **** **** **** **** **** 535 **** 0 0 1 **** **** **** 537 1 **** 17 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ENERGY_RESISTANCE_COLD_4 3 **** **** **** **** **** 1 1 +537 FEAT_EPIC_ENERGY_RESISTANCE_COLD_5 3957 3949 ife_X2EnrRsC1 **** **** **** **** **** **** **** **** 536 **** 0 0 1 **** **** **** 538 1 **** 17 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ENERGY_RESISTANCE_COLD_5 3 **** **** **** **** **** 1 1 +538 FEAT_EPIC_ENERGY_RESISTANCE_COLD_6 3959 3949 ife_X2EnrRsC1 **** **** **** **** **** **** **** **** 537 **** 0 0 1 **** **** **** 539 1 **** 17 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ENERGY_RESISTANCE_COLD_6 3 **** **** **** **** **** 1 1 +539 FEAT_EPIC_ENERGY_RESISTANCE_COLD_7 3961 3949 ife_X2EnrRsC1 **** **** **** **** **** **** **** **** 538 **** 0 0 1 **** **** **** 540 1 **** 17 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ENERGY_RESISTANCE_COLD_7 3 **** **** **** **** **** 1 1 +540 FEAT_EPIC_ENERGY_RESISTANCE_COLD_8 3963 3949 ife_X2EnrRsC1 **** **** **** **** **** **** **** **** 539 **** 0 0 1 **** **** **** 541 1 **** 17 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ENERGY_RESISTANCE_COLD_8 3 **** **** **** **** **** 1 1 +541 FEAT_EPIC_ENERGY_RESISTANCE_COLD_9 3965 3949 ife_X2EnrRsC1 **** **** **** **** **** **** **** **** 540 **** 0 0 1 **** **** **** 542 1 **** 17 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ENERGY_RESISTANCE_COLD_9 3 **** **** **** **** **** 1 1 +542 FEAT_EPIC_ENERGY_RESISTANCE_COLD_10 3967 3949 ife_X2EnrRsC1 **** **** **** **** **** **** **** **** 541 **** 0 0 1 **** **** **** **** 1 **** 17 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ENERGY_RESISTANCE_COLD_10 3 **** **** **** **** **** 1 1 +543 FEAT_EPIC_ENERGY_RESISTANCE_ACID_1 3969 3970 ife_X2EnrRsA1 **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** 544 1 **** 17 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ENERGY_RESISTANCE_ACID_1 3 **** **** **** **** **** 1 1 +544 FEAT_EPIC_ENERGY_RESISTANCE_ACID_2 3971 3970 ife_X2EnrRsA1 **** **** **** **** **** **** **** **** 543 **** 0 0 1 **** **** **** 545 1 **** 17 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ENERGY_RESISTANCE_ACID_2 3 **** **** **** **** **** 1 1 +545 FEAT_EPIC_ENERGY_RESISTANCE_ACID_3 3973 3970 ife_X2EnrRsA1 **** **** **** **** **** **** **** **** 544 **** 0 0 1 **** **** **** 546 1 **** 17 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ENERGY_RESISTANCE_ACID_3 3 **** **** **** **** **** 1 1 +546 FEAT_EPIC_ENERGY_RESISTANCE_ACID_4 3975 3970 ife_X2EnrRsA1 **** **** **** **** **** **** **** **** 545 **** 0 0 1 **** **** **** 547 1 **** 17 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ENERGY_RESISTANCE_ACID_4 3 **** **** **** **** **** 1 1 +547 FEAT_EPIC_ENERGY_RESISTANCE_ACID_5 3977 3970 ife_X2EnrRsA1 **** **** **** **** **** **** **** **** 546 **** 0 0 1 **** **** **** 548 1 **** 17 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ENERGY_RESISTANCE_ACID_5 3 **** **** **** **** **** 1 1 +548 FEAT_EPIC_ENERGY_RESISTANCE_ACID_6 3979 3970 ife_X2EnrRsA1 **** **** **** **** **** **** **** **** 547 **** 0 0 1 **** **** **** 549 1 **** 17 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ENERGY_RESISTANCE_ACID_6 3 **** **** **** **** **** 1 1 +549 FEAT_EPIC_ENERGY_RESISTANCE_ACID_7 3981 3970 ife_X2EnrRsA1 **** **** **** **** **** **** **** **** 548 **** 0 0 1 **** **** **** 550 1 **** 17 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ENERGY_RESISTANCE_ACID_7 3 **** **** **** **** **** 1 1 +550 FEAT_EPIC_ENERGY_RESISTANCE_ACID_8 3983 3970 ife_X2EnrRsA1 **** **** **** **** **** **** **** **** 549 **** 0 0 1 **** **** **** 551 1 **** 17 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ENERGY_RESISTANCE_ACID_8 3 **** **** **** **** **** 1 1 +551 FEAT_EPIC_ENERGY_RESISTANCE_ACID_9 3985 3970 ife_X2EnrRsA1 **** **** **** **** **** **** **** **** 550 **** 0 0 1 **** **** **** 552 1 **** 17 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ENERGY_RESISTANCE_ACID_9 3 **** **** **** **** **** 1 1 +552 FEAT_EPIC_ENERGY_RESISTANCE_ACID_10 3987 3970 ife_X2EnrRsA1 **** **** **** **** **** **** **** **** 551 **** 0 0 1 **** **** **** **** 1 **** 17 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ENERGY_RESISTANCE_ACID_10 3 **** **** **** **** **** 1 1 +553 FEAT_EPIC_ENERGY_RESISTANCE_FIRE_1 3989 3990 ife_X2EnrRsF1 **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** 554 1 **** 17 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ENERGY_RESISTANCE_FIRE_1 3 **** **** **** **** **** 1 1 +554 FEAT_EPIC_ENERGY_RESISTANCE_FIRE_2 3991 3990 ife_X2EnrRsF1 **** **** **** **** **** **** **** **** 553 **** 0 0 1 **** **** **** 555 1 **** 17 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ENERGY_RESISTANCE_FIRE_2 3 **** **** **** **** **** 1 1 +555 FEAT_EPIC_ENERGY_RESISTANCE_FIRE_3 3993 3990 ife_X2EnrRsF1 **** **** **** **** **** **** **** **** 554 **** 0 0 1 **** **** **** 556 1 **** 17 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ENERGY_RESISTANCE_FIRE_3 3 **** **** **** **** **** 1 1 +556 FEAT_EPIC_ENERGY_RESISTANCE_FIRE_4 3995 3990 ife_X2EnrRsF1 **** **** **** **** **** **** **** **** 555 **** 0 0 1 **** **** **** 557 1 **** 17 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ENERGY_RESISTANCE_FIRE_4 3 **** **** **** **** **** 1 1 +557 FEAT_EPIC_ENERGY_RESISTANCE_FIRE_5 3997 3990 ife_X2EnrRsF1 **** **** **** **** **** **** **** **** 556 **** 0 0 1 **** **** **** 558 1 **** 17 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ENERGY_RESISTANCE_FIRE_5 3 **** **** **** **** **** 1 1 +558 FEAT_EPIC_ENERGY_RESISTANCE_FIRE_6 3999 3990 ife_X2EnrRsF1 **** **** **** **** **** **** **** **** 557 **** 0 0 1 **** **** **** 559 1 **** 17 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ENERGY_RESISTANCE_FIRE_6 3 **** **** **** **** **** 1 1 +559 FEAT_EPIC_ENERGY_RESISTANCE_FIRE_7 4001 3990 ife_X2EnrRsF1 **** **** **** **** **** **** **** **** 558 **** 0 0 1 **** **** **** 560 1 **** 17 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ENERGY_RESISTANCE_FIRE_7 3 **** **** **** **** **** 1 1 +560 FEAT_EPIC_ENERGY_RESISTANCE_FIRE_8 4003 3990 ife_X2EnrRsF1 **** **** **** **** **** **** **** **** 559 **** 0 0 1 **** **** **** 561 1 **** 17 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ENERGY_RESISTANCE_FIRE_8 3 **** **** **** **** **** 1 1 +561 FEAT_EPIC_ENERGY_RESISTANCE_FIRE_9 4005 3990 ife_X2EnrRsF1 **** **** **** **** **** **** **** **** 560 **** 0 0 1 **** **** **** 562 1 **** 17 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ENERGY_RESISTANCE_FIRE_9 3 **** **** **** **** **** 1 1 +562 FEAT_EPIC_ENERGY_RESISTANCE_FIRE_10 4008 3990 ife_X2EnrRsF1 **** **** **** **** **** **** **** **** 561 **** 0 0 1 **** **** **** **** 1 **** 17 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ENERGY_RESISTANCE_FIRE_10 3 **** **** **** **** **** 1 1 +563 FEAT_EPIC_ENERGY_RESISTANCE_ELECTRICAL_1 4014 4015 ife_X2EnrRsE1 **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** 564 1 **** 17 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ENERGY_RESISTANCE_ELECTRICAL_1 3 **** **** **** **** **** 1 1 +564 FEAT_EPIC_ENERGY_RESISTANCE_ELECTRICAL_2 4016 4015 ife_X2EnrRsE1 **** **** **** **** **** **** **** **** 563 **** 0 0 1 **** **** **** 565 1 **** 17 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ENERGY_RESISTANCE_ELECTRICAL_2 3 **** **** **** **** **** 1 1 +565 FEAT_EPIC_ENERGY_RESISTANCE_ELECTRICAL_3 4018 4015 ife_X2EnrRsE1 **** **** **** **** **** **** **** **** 564 **** 0 0 1 **** **** **** 566 1 **** 17 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ENERGY_RESISTANCE_ELECTRICAL_3 3 **** **** **** **** **** 1 1 +566 FEAT_EPIC_ENERGY_RESISTANCE_ELECTRICAL_4 4020 4015 ife_X2EnrRsE1 **** **** **** **** **** **** **** **** 565 **** 0 0 1 **** **** **** 567 1 **** 17 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ENERGY_RESISTANCE_ELECTRICAL_4 3 **** **** **** **** **** 1 1 +567 FEAT_EPIC_ENERGY_RESISTANCE_ELECTRICAL_5 4022 4015 ife_X2EnrRsE1 **** **** **** **** **** **** **** **** 566 **** 0 0 1 **** **** **** 568 1 **** 17 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ENERGY_RESISTANCE_ELECTRICAL_5 3 **** **** **** **** **** 1 1 +568 FEAT_EPIC_ENERGY_RESISTANCE_ELECTRICAL_6 4024 4015 ife_X2EnrRsE1 **** **** **** **** **** **** **** **** 567 **** 0 0 1 **** **** **** 569 1 **** 17 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ENERGY_RESISTANCE_ELECTRICAL_6 3 **** **** **** **** **** 1 1 +569 FEAT_EPIC_ENERGY_RESISTANCE_ELECTRICAL_7 4026 4015 ife_X2EnrRsE1 **** **** **** **** **** **** **** **** 568 **** 0 0 1 **** **** **** 570 1 **** 17 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ENERGY_RESISTANCE_ELECTRICAL_7 3 **** **** **** **** **** 1 1 +570 FEAT_EPIC_ENERGY_RESISTANCE_ELECTRICAL_8 4028 4015 ife_X2EnrRsE1 **** **** **** **** **** **** **** **** 569 **** 0 0 1 **** **** **** 571 1 **** 17 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ENERGY_RESISTANCE_ELECTRICAL_8 3 **** **** **** **** **** 1 1 +571 FEAT_EPIC_ENERGY_RESISTANCE_ELECTRICAL_9 4030 4015 ife_X2EnrRsE1 **** **** **** **** **** **** **** **** 570 **** 0 0 1 **** **** **** 572 1 **** 17 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ENERGY_RESISTANCE_ELECTRICAL_9 3 **** **** **** **** **** 1 1 +572 FEAT_EPIC_ENERGY_RESISTANCE_ELECTRICAL_10 4032 4015 ife_X2EnrRsE1 **** **** **** **** **** **** **** **** 571 **** 0 0 1 **** **** **** **** 1 **** 17 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ENERGY_RESISTANCE_ELECTRICAL_10 3 **** **** **** **** **** 1 1 +573 FEAT_EPIC_ENERGY_RESISTANCE_SONIC_1 4034 4035 ife_X2EnrRsS1 **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** 574 1 **** 17 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ENERGY_RESISTANCE_SONIC_1 3 **** **** **** **** **** 1 1 +574 FEAT_EPIC_ENERGY_RESISTANCE_SONIC_2 4036 4035 ife_X2EnrRsS1 **** **** **** **** **** **** **** **** 573 **** 0 0 1 **** **** **** 575 1 **** 17 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ENERGY_RESISTANCE_SONIC_2 3 **** **** **** **** **** 1 1 +575 FEAT_EPIC_ENERGY_RESISTANCE_SONIC_3 4038 4035 ife_X2EnrRsS1 **** **** **** **** **** **** **** **** 574 **** 0 0 1 **** **** **** 576 1 **** 17 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ENERGY_RESISTANCE_SONIC_3 3 **** **** **** **** **** 1 1 +576 FEAT_EPIC_ENERGY_RESISTANCE_SONIC_4 4040 4035 ife_X2EnrRsS1 **** **** **** **** **** **** **** **** 575 **** 0 0 1 **** **** **** 577 1 **** 17 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ENERGY_RESISTANCE_SONIC_4 3 **** **** **** **** **** 1 1 +577 FEAT_EPIC_ENERGY_RESISTANCE_SONIC_5 4042 4035 ife_X2EnrRsS1 **** **** **** **** **** **** **** **** 576 **** 0 0 1 **** **** **** 578 1 **** 17 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ENERGY_RESISTANCE_SONIC_5 3 **** **** **** **** **** 1 1 +578 FEAT_EPIC_ENERGY_RESISTANCE_SONIC_6 4044 4035 ife_X2EnrRsS1 **** **** **** **** **** **** **** **** 577 **** 0 0 1 **** **** **** 579 1 **** 17 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ENERGY_RESISTANCE_SONIC_6 3 **** **** **** **** **** 1 1 +579 FEAT_EPIC_ENERGY_RESISTANCE_SONIC_7 4046 4035 ife_X2EnrRsS1 **** **** **** **** **** **** **** **** 578 **** 0 0 1 **** **** **** 580 1 **** 17 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ENERGY_RESISTANCE_SONIC_7 3 **** **** **** **** **** 1 1 +580 FEAT_EPIC_ENERGY_RESISTANCE_SONIC_8 4048 4035 ife_X2EnrRsS1 **** **** **** **** **** **** **** **** 579 **** 0 0 1 **** **** **** 581 1 **** 17 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ENERGY_RESISTANCE_SONIC_8 3 **** **** **** **** **** 1 1 +581 FEAT_EPIC_ENERGY_RESISTANCE_SONIC_9 4050 4035 ife_X2EnrRsS1 **** **** **** **** **** **** **** **** 580 **** 0 0 1 **** **** **** 582 1 **** 17 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ENERGY_RESISTANCE_SONIC_9 3 **** **** **** **** **** 1 1 +582 FEAT_EPIC_ENERGY_RESISTANCE_SONIC_10 4052 4035 ife_X2EnrRsS1 **** **** **** **** **** **** **** **** 581 **** 0 0 1 **** **** **** **** 1 **** 17 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ENERGY_RESISTANCE_SONIC_10 3 **** **** **** **** **** 1 1 +583 FEAT_EPIC_FORTITUDE 4054 4055 ife_X2EpicFort **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_FORTITUDE 3 **** **** **** **** **** 1 1 +584 FEAT_EPIC_PROWESS 4056 4057 ife_X2EpicProw **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_PROWESS 1 **** **** **** **** **** 1 1 +585 FEAT_EPIC_REFLEXES 4058 4059 ife_X2EpicRefl **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_REFLEXES 3 **** **** **** **** **** 1 1 +586 FEAT_EPIC_REPUTATION 4060 4061 ife_X2EpicRepu **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_REPUTATION 6 **** **** **** **** **** 1 1 +587 FEAT_EPIC_SKILL_FOCUS_ANIMAL_EMPATHY 4062 4063 ife_X2EpSkFAnEm **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.2 **** 15 **** **** **** **** **** **** 0 20 **** **** FEAT_EPIC_SKILL_FOCUS_ANIMAL_EMPATHY 5 **** **** **** **** **** 1 1 +588 FEAT_EPIC_SKILL_FOCUS_APPRAISE 4064 4063 ife_X2EpSkFAppr **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 0.2 **** 15 **** **** **** **** **** **** 20 20 **** **** FEAT_EPIC_SKILL_FOCUS_APPRAISE 6 **** **** **** **** **** 1 1 +589 FEAT_EPIC_SKILL_FOCUS_CONCENTRATION 4065 4063 ife_X2EpSkFConc **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 0.2 **** 15 **** **** **** **** **** **** 1 20 **** **** FEAT_EPIC_SKILL_FOCUS_CONCENTRATION 6 **** **** **** **** **** 1 1 +590 FEAT_EPIC_SKILL_FOCUS_CRAFT_TRAP 4066 4063 ife_X2EpSkFCrTr **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 0.2 **** 15 **** **** **** **** **** **** 22 20 **** **** FEAT_EPIC_SKILL_FOCUS_CRAFT_TRAP 6 **** **** **** **** **** 1 1 +591 FEAT_EPIC_SKILL_FOCUS_DISABLETRAP 4067 4063 ife_X2EpSkFDsTr **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 0.2 **** 15 **** **** **** **** **** **** 2 20 **** **** FEAT_EPIC_SKILL_FOCUS_DISABLETRAP 6 **** **** **** **** **** 1 1 +592 FEAT_EPIC_SKILL_FOCUS_DISCIPLINE 4068 4063 ife_X2EpSkFDisc **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 0.2 **** 15 **** **** **** **** **** **** 3 20 **** **** FEAT_EPIC_SKILL_FOCUS_DISCIPLINE 6 **** **** **** **** **** 1 1 +593 FEAT_EPIC_SKILL_FOCUS_HEAL 4069 4063 ife_X2EpSkFHeal **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 0.2 **** 15 **** **** **** **** **** **** 4 20 **** **** FEAT_EPIC_SKILL_FOCUS_HEAL 6 **** **** **** **** **** 1 1 +594 FEAT_EPIC_SKILL_FOCUS_HIDE 4070 4063 ife_X2EpSkFHide **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 0.2 **** 15 **** **** **** **** **** **** 5 20 **** **** FEAT_EPIC_SKILL_FOCUS_HIDE 6 **** **** **** **** **** 1 1 +595 FEAT_EPIC_SKILL_FOCUS_LISTEN 4071 4063 ife_X2EpSkFList **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 0.2 **** 15 **** **** **** **** **** **** 6 20 **** **** FEAT_EPIC_SKILL_FOCUS_LISTEN 6 **** **** **** **** **** 1 1 +596 FEAT_EPIC_SKILL_FOCUS_LORE 4072 4063 ife_X2EpSkFLore **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 0.2 **** 15 **** **** **** **** **** **** 7 20 **** **** FEAT_EPIC_SKILL_FOCUS_LORE 6 **** **** **** **** **** 1 1 +597 FEAT_EPIC_SKILL_FOCUS_MOVESILENTLY 4073 4063 ife_X2EpSkFMoSi **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 0.2 **** 15 **** **** **** **** **** **** 8 20 **** **** FEAT_EPIC_SKILL_FOCUS_MOVESILENTLY 6 **** **** **** **** **** 1 1 +598 FEAT_EPIC_SKILL_FOCUS_OPENLOCK 4074 4063 ife_X2EpSkFOpLo **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 0.2 **** 15 **** **** **** **** **** **** 9 20 **** **** FEAT_EPIC_SKILL_FOCUS_OPENLOCK 6 **** **** **** **** **** 1 1 +599 FEAT_EPIC_SKILL_FOCUS_PARRY 4076 4063 ife_X2EpSkFParr **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 0.2 **** 15 **** **** **** **** **** **** 10 20 **** **** FEAT_EPIC_SKILL_FOCUS_PARRY 6 **** **** **** **** **** 1 1 +600 FEAT_EPIC_SKILL_FOCUS_PERFORM 4077 4063 ife_X2EpSkFPerf **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.2 **** 15 **** **** **** **** **** **** 11 20 **** **** FEAT_EPIC_SKILL_FOCUS_PERFORM 5 **** **** **** **** **** 1 1 +601 FEAT_EPIC_SKILL_FOCUS_PERSUADE 4078 4063 ife_X2EpSkFPers **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 0.2 **** 15 **** **** **** **** **** **** 12 20 **** **** FEAT_EPIC_SKILL_FOCUS_PERSUADE 6 **** **** **** **** **** 1 1 +602 FEAT_EPIC_SKILL_FOCUS_PICKPOCKET 4079 4063 ife_X2EpSkFPkPt **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 0.2 **** 15 **** **** **** **** **** **** 13 20 **** **** FEAT_EPIC_SKILL_FOCUS_PICKPOCKET 6 **** **** **** **** **** 1 1 +603 FEAT_EPIC_SKILL_FOCUS_SEARCH 4082 4063 ife_X2EpSkFSear **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 0.2 **** 15 **** **** **** **** **** **** 14 20 **** **** FEAT_EPIC_SKILL_FOCUS_SEARCH 6 **** **** **** **** **** 1 1 +604 FEAT_EPIC_SKILL_FOCUS_SETTRAP 4204 4063 ife_X2EpSkFStTr **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 0.2 **** 15 **** **** **** **** **** **** 15 20 **** **** FEAT_EPIC_SKILL_FOCUS_SETTRAP 6 **** **** **** **** **** 1 1 +605 FEAT_EPIC_SKILL_FOCUS_SPELLCRAFT 4205 4063 ife_X2EpSkFSpCr **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 0.2 **** 15 **** **** **** **** **** **** 16 20 **** **** FEAT_EPIC_SKILL_FOCUS_SPELLCRAFT 6 **** **** **** **** **** 1 1 +606 FEAT_EPIC_SKILL_FOCUS_SPOT 4206 4063 ife_X2EpSkFSpot **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 0.2 **** 15 **** **** **** **** **** **** 17 20 **** **** FEAT_EPIC_SKILL_FOCUS_SPOT 6 **** **** **** **** **** 1 1 +607 FEAT_EPIC_SKILL_FOCUS_TAUNT 4207 4063 ife_X2EpSkFTaun **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 0.2 **** 15 **** **** **** **** **** **** 18 20 **** **** FEAT_EPIC_SKILL_FOCUS_TAUNT 6 **** **** **** **** **** 1 1 +608 FEAT_EPIC_SKILL_FOCUS_TUMBLE 4208 4063 ife_X2EpSkFTumb **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 0.2 **** 15 **** **** **** **** **** **** 21 20 **** **** FEAT_EPIC_SKILL_FOCUS_TUMBLE 6 **** **** **** **** **** 1 1 +609 FEAT_EPIC_SKILL_FOCUS_USEMAGICDEVICE 4081 4063 ife_X2EpSkFUsDe **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.2 **** 15 **** **** **** **** **** **** 19 20 **** **** FEAT_EPIC_SKILL_FOCUS_USEMAGICDEVICE 5 **** **** **** **** **** 1 1 +610 FEAT_EPIC_SPELL_FOCUS_ABJURATION 4083 4084 ife_X2EpSpFAbjr **** **** **** **** **** **** **** 9 393 **** 0 0 1 **** **** **** **** 0.5 **** 16 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_SPELL_FOCUS_ABJURATION 4 **** **** **** **** **** 1 1 +611 FEAT_EPIC_SPELL_FOCUS_CONJURATION 4085 4084 ife_X2EpSpFConj **** **** **** **** **** **** **** 9 394 **** 0 0 1 **** **** **** **** 0.5 **** 16 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_SPELL_FOCUS_CONJURATION 4 **** **** **** **** **** 1 1 +612 FEAT_EPIC_SPELL_FOCUS_DIVINATION 4086 4084 ife_X2EpSpFDivi **** **** **** **** **** **** **** 9 395 **** 0 0 1 **** **** **** **** 0.5 **** 16 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_SPELL_FOCUS_DIVINATION 4 **** **** **** **** **** 1 1 +613 FEAT_EPIC_SPELL_FOCUS_ENCHANTMENT 83401 4084 ife_X2EpSpFEnch **** **** **** **** **** **** **** 9 396 **** 0 0 1 **** **** **** **** 0.5 **** 16 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_SPELL_FOCUS_ENCHANTMENT 4 **** **** **** **** **** 1 1 +614 FEAT_EPIC_SPELL_FOCUS_EVOCATION 4127 4084 ife_X2EpSpFEvoc **** **** **** **** **** **** **** 9 397 **** 0 0 1 **** **** **** **** 0.5 **** 16 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_SPELL_FOCUS_EVOCATION 4 **** **** **** **** **** 1 1 +615 FEAT_EPIC_SPELL_FOCUS_ILLUSION 83402 4084 ife_X2EpSpFIllu **** **** **** **** **** **** **** 9 398 **** 0 0 1 **** **** **** **** 0.5 **** 16 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_SPELL_FOCUS_ILLUSION 4 **** **** **** **** **** 1 1 +616 FEAT_EPIC_SPELL_FOCUS_NECROMANCY 4129 4084 ife_X2EpSpFNecr **** **** **** **** **** **** **** 9 399 **** 0 0 1 **** **** **** **** 0.5 **** 16 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_SPELL_FOCUS_NECROMANCY 4 **** **** **** **** **** 1 1 +617 FEAT_EPIC_SPELL_FOCUS_TRANSMUTATION 4248 4084 ife_X2EpSpFTran **** **** **** **** **** **** **** 9 400 **** 0 0 1 **** **** **** **** 0.5 **** 16 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_SPELL_FOCUS_TRANSMUTATION 4 **** **** **** **** **** 1 1 +618 FEAT_EPIC_SPELL_PENETRATION 4440 8413 ife_X2EpSpPntra **** **** **** **** **** **** **** **** 401 **** 0 0 0 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_SPELL_PENETRATION 4 **** **** **** **** **** 1 1 +619 FEAT_EPIC_WEAPON_FOCUS_CLUB 8414 8415 ife_X2WFClub **** **** **** **** **** **** **** **** 43 **** 0 0 1 **** **** **** **** 0.5 **** 10 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_FOCUS_CLUB 1 **** **** **** **** **** 1 1 +620 FEAT_EPIC_WEAPON_FOCUS_DAGGER 8416 8415 ife_X2WFDagg **** **** **** **** **** **** **** **** 90 **** 0 0 1 **** **** **** **** 0.5 **** 10 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_FOCUS_DAGGER 1 **** **** **** **** **** 1 1 +621 FEAT_EPIC_WEAPON_FOCUS_DART 8417 8415 ife_X2WFDart **** **** **** **** **** **** **** **** 91 **** 0 0 1 **** **** **** **** 0.5 **** 10 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_FOCUS_DART 1 **** **** **** **** **** 1 1 +622 FEAT_EPIC_WEAPON_FOCUS_HEAVYCROSSBOW 8418 8415 ife_X2WFHXB **** **** **** **** **** **** **** **** 92 **** 0 0 1 **** **** **** **** 0.5 **** 10 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_FOCUS_HEAVYCROSSBOW 1 **** **** **** **** **** 1 1 +623 FEAT_EPIC_WEAPON_FOCUS_LIGHTCROSSBOW 8419 8415 ife_X2WFLXB **** **** **** **** **** **** **** **** 93 **** 0 0 1 **** **** **** **** 0.5 **** 10 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_FOCUS_LIGHTCROSSBOW 1 **** **** **** **** **** 1 1 +624 FEAT_EPIC_WEAPON_FOCUS_LIGHTMACE 8420 8415 ife_X2WFMace **** **** **** **** **** **** **** **** 94 **** 0 0 1 **** **** **** **** 0.5 **** 10 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_FOCUS_LIGHTMACE 1 **** **** **** **** **** 1 1 +625 FEAT_EPIC_WEAPON_FOCUS_MORNINGSTAR 8421 8415 ife_X2WFMSta **** **** **** **** **** **** **** **** 95 **** 0 0 1 **** **** **** **** 0.5 **** 10 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_FOCUS_MORNINGSTAR 1 **** **** **** **** **** 1 1 +626 FEAT_EPIC_WEAPON_FOCUS_QUARTERSTAFF 8422 8415 ife_X2WFQSta **** **** **** **** **** **** **** **** 96 **** 0 0 1 **** **** **** **** 0.5 **** 10 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_FOCUS_QUARTERSTAFF 1 **** **** **** **** **** 1 1 +627 FEAT_EPIC_WEAPON_FOCUS_SHORTSPEAR 8423 8415 ife_X2WFSpr **** **** **** **** **** **** **** **** 97 **** 0 0 1 **** **** **** **** 0.5 **** 10 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_FOCUS_SHORTSPEAR 1 **** **** **** **** **** 1 1 +628 FEAT_EPIC_WEAPON_FOCUS_SICKLE 8424 8415 ife_X2WFSkle **** **** **** **** **** **** **** **** 98 **** 0 0 1 **** **** **** **** 0.5 **** 10 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_FOCUS_SICKLE 1 **** **** **** **** **** 1 1 +629 FEAT_EPIC_WEAPON_FOCUS_SLING 8425 8415 ife_X2WFSlng **** **** **** **** **** **** **** **** 99 **** 0 0 1 **** **** **** **** 0.5 **** 10 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_FOCUS_SLING 1 **** **** **** **** **** 1 1 +630 FEAT_EPIC_WEAPON_FOCUS_UNARMED 8426 8415 ife_X2WFUnar **** **** **** **** **** **** **** **** 100 **** 0 0 1 **** **** **** **** 0.5 **** 10 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_FOCUS_UNARMED 1 **** **** **** **** **** 1 1 +631 FEAT_EPIC_WEAPON_FOCUS_LONGBOW 8427 8415 ife_X2WFLBow **** **** **** **** **** **** **** **** 101 **** 0 0 1 **** **** **** **** 0.5 **** 10 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_FOCUS_LONGBOW 1 **** **** **** **** **** 1 1 +632 FEAT_EPIC_WEAPON_FOCUS_SHORTBOW 8428 8415 ife_X2WFSBow **** **** **** **** **** **** **** **** 102 **** 0 0 1 **** **** **** **** 0.5 **** 10 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_FOCUS_SHORTBOW 1 **** **** **** **** **** 1 1 +633 FEAT_EPIC_WEAPON_FOCUS_SHORTSWORD 8429 8415 ife_X2WFSSwd **** **** **** **** **** **** **** **** 103 **** 0 0 1 **** **** **** **** 0.5 **** 10 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_FOCUS_SHORTSWORD 1 **** **** **** **** **** 1 1 +634 FEAT_EPIC_WEAPON_FOCUS_RAPIER 8430 8415 ife_X2WFRapr **** **** **** **** **** **** **** **** 104 **** 0 0 1 **** **** **** **** 0.5 **** 10 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_FOCUS_RAPIER 1 **** **** **** **** **** 1 1 +635 FEAT_EPIC_WEAPON_FOCUS_SCIMITAR 8431 8415 ife_X2WFScim **** **** **** **** **** **** **** **** 105 **** 0 0 1 **** **** **** **** 0.5 **** 10 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_FOCUS_SCIMITAR 1 **** **** **** **** **** 1 1 +636 FEAT_EPIC_WEAPON_FOCUS_LONGSWORD 8432 8415 ife_X2WFLSwd **** **** **** **** **** **** **** **** 106 **** 0 0 1 **** **** **** **** 0.5 **** 10 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_FOCUS_LONGSWORD 1 **** **** **** **** **** 1 1 +637 FEAT_EPIC_WEAPON_FOCUS_GREATSWORD 8433 8415 ife_X2WFGSwd **** **** **** **** **** **** **** **** 107 **** 0 0 1 **** **** **** **** 0.5 **** 10 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_FOCUS_GREATSWORD 1 **** **** **** **** **** 1 1 +638 FEAT_EPIC_WEAPON_FOCUS_HANDAXE 8434 8415 ife_X2WFHAxe **** **** **** **** **** **** **** **** 108 **** 0 0 1 **** **** **** **** 0.5 **** 10 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_FOCUS_HANDAXE 1 **** **** **** **** **** 1 1 +639 FEAT_EPIC_WEAPON_FOCUS_THROWINGAXE 8435 8415 ife_X2WFTAxe **** **** **** **** **** **** **** **** 109 **** 0 0 1 **** **** **** **** 0.5 **** 10 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_FOCUS_THROWINGAXE 1 **** **** **** **** **** 1 1 +640 FEAT_EPIC_WEAPON_FOCUS_BATTLEAXE 8436 8415 ife_X2WFBAxe **** **** **** **** **** **** **** **** 110 **** 0 0 1 **** **** **** **** 0.5 **** 10 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_FOCUS_BATTLEAXE 1 **** **** **** **** **** 1 1 +641 FEAT_EPIC_WEAPON_FOCUS_GREATAXE 8437 8415 ife_X2WFGAxe **** **** **** **** **** **** **** **** 111 **** 0 0 1 **** **** **** **** 0.5 **** 10 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_FOCUS_GREATAXE 1 **** **** **** **** **** 1 1 +642 FEAT_EPIC_WEAPON_FOCUS_HALBERD 8438 8415 ife_X2WFHalb **** **** **** **** **** **** **** **** 112 **** 0 0 1 **** **** **** **** 0.5 **** 10 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_FOCUS_HALBERD 1 **** **** **** **** **** 1 1 +643 FEAT_EPIC_WEAPON_FOCUS_LIGHTHAMMER 8439 8415 ife_X2WFLHam **** **** **** **** **** **** **** **** 113 **** 0 0 1 **** **** **** **** 0.5 **** 10 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_FOCUS_LIGHTHAMMER 1 **** **** **** **** **** 1 1 +644 FEAT_EPIC_WEAPON_FOCUS_LIGHTFLAIL 8440 8415 ife_X2WFLFla **** **** **** **** **** **** **** **** 114 **** 0 0 1 **** **** **** **** 0.5 **** 10 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_FOCUS_LIGHTFLAIL 1 **** **** **** **** **** 1 1 +645 FEAT_EPIC_WEAPON_FOCUS_WARHAMMER 8441 8415 ife_X2WFWHam **** **** **** **** **** **** **** **** 115 **** 0 0 1 **** **** **** **** 0.5 **** 10 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_FOCUS_WARHAMMER 1 **** **** **** **** **** 1 1 +646 FEAT_EPIC_WEAPON_FOCUS_HEAVYFLAIL 8442 8415 ife_X2WFHFla **** **** **** **** **** **** **** **** 116 **** 0 0 1 **** **** **** **** 0.5 **** 10 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_FOCUS_HEAVYFLAIL 1 **** **** **** **** **** 1 1 +647 FEAT_EPIC_WEAPON_FOCUS_KAMA 8443 8415 ife_X2WFKama **** **** **** **** **** **** **** **** 117 **** 0 0 1 **** **** **** **** 0.5 **** 10 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_FOCUS_KAMA 1 **** **** **** **** **** 1 1 +648 FEAT_EPIC_WEAPON_FOCUS_KUKRI 8444 8415 ife_X2WFKukr **** **** **** **** **** **** **** **** 118 **** 0 0 1 **** **** **** **** 0.5 **** 10 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_FOCUS_KUKRI 1 **** **** **** **** **** 1 1 +649 FEAT_EPIC_WEAPON_FOCUS_SHURIKEN 8445 8415 ife_X2WFShur **** **** **** **** **** **** **** **** 120 **** 0 0 1 **** **** **** **** 0.5 **** 10 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_FOCUS_SHURIKEN 1 **** **** **** **** **** 1 1 +650 FEAT_EPIC_WEAPON_FOCUS_SCYTHE 8446 8415 ife_X2WFScyt **** **** **** **** **** **** **** **** 121 **** 0 0 1 **** **** **** **** 0.5 **** 10 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_FOCUS_SCYTHE 1 **** **** **** **** **** 1 1 +651 FEAT_EPIC_WEAPON_FOCUS_KATANA 8448 8415 ife_X2WFKatn **** **** **** **** **** **** **** **** 122 **** 0 0 1 **** **** **** **** 0.5 **** 10 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_FOCUS_KATANA 1 **** **** **** **** **** 1 1 +652 FEAT_EPIC_WEAPON_FOCUS_BASTARDSWORD 8449 8415 ife_X2WFBSwd **** **** **** **** **** **** **** **** 123 **** 0 0 1 **** **** **** **** 0.5 **** 10 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_FOCUS_BASTARDSWORD 1 **** **** **** **** **** 1 1 +653 FEAT_EPIC_WEAPON_FOCUS_DIREMACE 8450 8415 ife_X2WFDMac **** **** **** **** **** **** **** **** 125 **** 0 0 1 **** **** **** **** 0.5 **** 10 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_FOCUS_DIREMACE 1 **** **** **** **** **** 1 1 +654 FEAT_EPIC_WEAPON_FOCUS_DOUBLEAXE 8451 8415 ife_X2WFDAxe **** **** **** **** **** **** **** **** 126 **** 0 0 1 **** **** **** **** 0.5 **** 10 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_FOCUS_DOUBLEAXE 1 **** **** **** **** **** 1 1 +655 FEAT_EPIC_WEAPON_FOCUS_TWOBLADEDSWORD 8452 8415 ife_X2WFTSwd **** **** **** **** **** **** **** **** 127 **** 0 0 1 **** **** **** **** 0.5 **** 10 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_FOCUS_TWOBLADEDSWORD 1 **** **** **** **** **** 1 1 +656 FEAT_EPIC_WEAPON_FOCUS_CREATURE 8453 8454 ife_X2WFCrea **** **** **** **** **** **** **** **** **** **** 0 0 **** **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_FOCUS_CREATURE 1 **** **** **** **** **** 1 1 +657 FEAT_EPIC_WEAPON_SPECIALIZATION_CLUB 8455 8456 ife_X2WSClub **** **** **** **** **** **** **** **** 47 619 0 0 0 **** **** **** **** 0.5 **** 11 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_SPECIALIZATION_CLUB 1 **** **** **** **** **** 1 1 +658 FEAT_EPIC_WEAPON_SPECIALIZATION_DAGGER 8457 8456 ife_X2WSDagg **** **** **** **** **** **** **** **** 128 620 0 0 0 **** **** **** **** 0.5 **** 11 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_SPECIALIZATION_DAGGER 1 **** **** **** **** **** 1 1 +659 FEAT_EPIC_WEAPON_SPECIALIZATION_DART 8458 8456 ife_X2WSDart **** **** **** **** **** **** **** **** 129 621 0 0 0 **** **** **** **** 0.5 **** 11 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_SPECIALIZATION_DART 1 **** **** **** **** **** 1 1 +660 FEAT_EPIC_WEAPON_SPECIALIZATION_HEAVYCROSSBOW 8459 8456 ife_X2WSHXB **** **** **** **** **** **** **** **** 130 622 0 0 0 **** **** **** **** 0.5 **** 11 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_SPECIALIZATION_HEAVYCROSSBOW 1 **** **** **** **** **** 1 1 +661 FEAT_EPIC_WEAPON_SPECIALIZATION_LIGHTCROSSBOW 8460 8456 ife_X2WSLXB **** **** **** **** **** **** **** **** 131 623 0 0 0 **** **** **** **** 0.5 **** 11 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_SPECIALIZATION_LIGHTCROSSBOW 1 **** **** **** **** **** 1 1 +662 FEAT_EPIC_WEAPON_SPECIALIZATION_LIGHTMACE 8461 8456 ife_X2WSMace **** **** **** **** **** **** **** **** 132 624 0 0 0 **** **** **** **** 0.5 **** 11 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_SPECIALIZATION_LIGHTMACE 1 **** **** **** **** **** 1 1 +663 FEAT_EPIC_WEAPON_SPECIALIZATION_MORNINGSTAR 8462 8456 ife_X2WSMSta **** **** **** **** **** **** **** **** 133 625 0 0 0 **** **** **** **** 0.5 **** 11 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_SPECIALIZATION_MORNINGSTAR 1 **** **** **** **** **** 1 1 +664 FEAT_EPIC_WEAPON_SPECIALIZATION_QUARTERSTAFF 8463 8456 ife_X2WSQSta **** **** **** **** **** **** **** **** 134 626 0 0 0 **** **** **** **** 0.5 **** 11 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_SPECIALIZATION_QUARTERSTAFF 1 **** **** **** **** **** 1 1 +665 FEAT_EPIC_WEAPON_SPECIALIZATION_SHORTSPEAR 8464 8456 ife_X2WSSpr **** **** **** **** **** **** **** **** 135 627 0 0 0 **** **** **** **** 0.5 **** 11 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_SPECIALIZATION_SHORTSPEAR 1 **** **** **** **** **** 1 1 +666 FEAT_EPIC_WEAPON_SPECIALIZATION_SICKLE 8465 8456 ife_X2WSSkle **** **** **** **** **** **** **** **** 136 628 0 0 0 **** **** **** **** 0.5 **** 11 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_SPECIALIZATION_SICKLE 1 **** **** **** **** **** 1 1 +667 FEAT_EPIC_WEAPON_SPECIALIZATION_SLING 8466 8456 ife_X2WSSlng **** **** **** **** **** **** **** **** 137 629 0 0 0 **** **** **** **** 0.5 **** 11 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_SPECIALIZATION_SLING 1 **** **** **** **** **** 1 1 +668 FEAT_EPIC_WEAPON_SPECIALIZATION_UNARMED 8467 8456 ife_X2WSUnar **** **** **** **** **** **** **** **** 138 630 0 0 0 **** **** **** **** 0.5 **** 11 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_SPECIALIZATION_UNARMED 1 **** **** **** **** **** 1 1 +669 FEAT_EPIC_WEAPON_SPECIALIZATION_LONGBOW 8468 8456 ife_X2WSLBow **** **** **** **** **** **** **** **** 139 631 0 0 0 **** **** **** **** 0.5 **** 11 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_SPECIALIZATION_LONGBOW 1 **** **** **** **** **** 1 1 +670 FEAT_EPIC_WEAPON_SPECIALIZATION_SHORTBOW 8469 8456 ife_X2WSSBow **** **** **** **** **** **** **** **** 140 632 0 0 0 **** **** **** **** 0.5 **** 11 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_SPECIALIZATION_SHORTBOW 1 **** **** **** **** **** 1 1 +671 FEAT_EPIC_WEAPON_SPECIALIZATION_SHORTSWORD 8470 8456 ife_X2WSSSwd **** **** **** **** **** **** **** **** 141 633 0 0 0 **** **** **** **** 0.5 **** 11 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_SPECIALIZATION_SHORTSWORD 1 **** **** **** **** **** 1 1 +672 FEAT_EPIC_WEAPON_SPECIALIZATION_RAPIER 8471 8456 ife_X2WSRapr **** **** **** **** **** **** **** **** 142 634 0 0 0 **** **** **** **** 0.5 **** 11 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_SPECIALIZATION_RAPIER 1 **** **** **** **** **** 1 1 +673 FEAT_EPIC_WEAPON_SPECIALIZATION_SCIMITAR 8472 8456 ife_X2WSScim **** **** **** **** **** **** **** **** 143 635 0 0 0 **** **** **** **** 0.5 **** 11 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_SPECIALIZATION_SCIMITAR 1 **** **** **** **** **** 1 1 +674 FEAT_EPIC_WEAPON_SPECIALIZATION_LONGSWORD 8473 8456 ife_X2WSLSwd **** **** **** **** **** **** **** **** 144 636 0 0 0 **** **** **** **** 0.5 **** 11 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_SPECIALIZATION_LONGSWORD 1 **** **** **** **** **** 1 1 +675 FEAT_EPIC_WEAPON_SPECIALIZATION_GREATSWORD 8474 8456 ife_X2WSGSwd **** **** **** **** **** **** **** **** 145 637 0 0 0 **** **** **** **** 0.5 **** 11 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_SPECIALIZATION_GREATSWORD 1 **** **** **** **** **** 1 1 +676 FEAT_EPIC_WEAPON_SPECIALIZATION_HANDAXE 8475 8456 ife_X2WSHAxe **** **** **** **** **** **** **** **** 146 638 0 0 0 **** **** **** **** 0.5 **** 11 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_SPECIALIZATION_HANDAXE 1 **** **** **** **** **** 1 1 +677 FEAT_EPIC_WEAPON_SPECIALIZATION_THROWINGAXE 8476 8456 ife_X2WSTAxe **** **** **** **** **** **** **** **** 147 639 0 0 0 **** **** **** **** 0.5 **** 11 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_SPECIALIZATION_THROWINGAXE 1 **** **** **** **** **** 1 1 +678 FEAT_EPIC_WEAPON_SPECIALIZATION_BATTLEAXE 8477 8456 ife_X2WSBAxe **** **** **** **** **** **** **** **** 148 640 0 0 0 **** **** **** **** 0.5 **** 11 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_SPECIALIZATION_BATTLEAXE 1 **** **** **** **** **** 1 1 +679 FEAT_EPIC_WEAPON_SPECIALIZATION_GREATAXE 8478 8456 ife_X2WSGAxe **** **** **** **** **** **** **** **** 149 641 0 0 0 **** **** **** **** 0.5 **** 11 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_SPECIALIZATION_GREATAXE 1 **** **** **** **** **** 1 1 +680 FEAT_EPIC_WEAPON_SPECIALIZATION_HALBERD 8479 8456 ife_X2WSHalb **** **** **** **** **** **** **** **** 150 642 0 0 0 **** **** **** **** 0.5 **** 11 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_SPECIALIZATION_HALBERD 1 **** **** **** **** **** 1 1 +681 FEAT_EPIC_WEAPON_SPECIALIZATION_LIGHTHAMMER 8480 8456 ife_X2WSLHam **** **** **** **** **** **** **** **** 151 643 0 0 0 **** **** **** **** 0.5 **** 11 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_SPECIALIZATION_LIGHTHAMMER 1 **** **** **** **** **** 1 1 +682 FEAT_EPIC_WEAPON_SPECIALIZATION_LIGHTFLAIL 8481 8456 ife_X2WSLFla **** **** **** **** **** **** **** **** 152 644 0 0 0 **** **** **** **** 0.5 **** 11 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_SPECIALIZATION_LIGHTFLAIL 1 **** **** **** **** **** 1 1 +683 FEAT_EPIC_WEAPON_SPECIALIZATION_WARHAMMER 8482 8456 ife_X2WSWHam **** **** **** **** **** **** **** **** 153 645 0 0 0 **** **** **** **** 0.5 **** 11 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_SPECIALIZATION_WARHAMMER 1 **** **** **** **** **** 1 1 +684 FEAT_EPIC_WEAPON_SPECIALIZATION_HEAVYFLAIL 8483 8456 ife_X2WSHFla **** **** **** **** **** **** **** **** 154 646 0 0 0 **** **** **** **** 0.5 **** 11 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_SPECIALIZATION_HEAVYFLAIL 1 **** **** **** **** **** 1 1 +685 FEAT_EPIC_WEAPON_SPECIALIZATION_KAMA 8484 8456 ife_X2WSKama **** **** **** **** **** **** **** **** 155 647 0 0 0 **** **** **** **** 0.5 **** 11 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_SPECIALIZATION_KAMA 1 **** **** **** **** **** 1 1 +686 FEAT_EPIC_WEAPON_SPECIALIZATION_KUKRI 8485 8456 ife_X2WSKukr **** **** **** **** **** **** **** **** 156 648 0 0 0 **** **** **** **** 0.5 **** 11 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_SPECIALIZATION_KUKRI 1 **** **** **** **** **** 1 1 +687 FEAT_EPIC_WEAPON_SPECIALIZATION_SHURIKEN 8486 8456 ife_X2WSShur **** **** **** **** **** **** **** **** 158 649 0 0 0 **** **** **** **** 0.5 **** 11 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_SPECIALIZATION_SHURIKEN 1 **** **** **** **** **** 1 1 +688 FEAT_EPIC_WEAPON_SPECIALIZATION_SCYTHE 8487 8456 ife_X2WSScyt **** **** **** **** **** **** **** **** 159 650 0 0 0 **** **** **** **** 0.5 **** 11 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_SPECIALIZATION_SCYTHE 1 **** **** **** **** **** 1 1 +689 FEAT_EPIC_WEAPON_SPECIALIZATION_KATANA 8488 8456 ife_X2WSKatn **** **** **** **** **** **** **** **** 160 651 0 0 0 **** **** **** **** 0.5 **** 11 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_SPECIALIZATION_KATANA 1 **** **** **** **** **** 1 1 +690 FEAT_EPIC_WEAPON_SPECIALIZATION_BASTARDSWORD 8489 8456 ife_X2WSBSwd **** **** **** **** **** **** **** **** 161 652 0 0 0 **** **** **** **** 0.5 **** 11 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_SPECIALIZATION_BASTARDSWORD 1 **** **** **** **** **** 1 1 +691 FEAT_EPIC_WEAPON_SPECIALIZATION_DIREMACE 8490 8456 ife_X2WSDMac **** **** **** **** **** **** **** **** 163 653 0 0 0 **** **** **** **** 0.5 **** 11 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_SPECIALIZATION_DIREMACE 1 **** **** **** **** **** 1 1 +692 FEAT_EPIC_WEAPON_SPECIALIZATION_DOUBLEAXE 8491 8456 ife_X2WSDAxe **** **** **** **** **** **** **** **** 164 654 0 0 0 **** **** **** **** 0.5 **** 11 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_SPECIALIZATION_DOUBLEAXE 1 **** **** **** **** **** 1 1 +693 FEAT_EPIC_WEAPON_SPECIALIZATION_TWOBLADEDSWORD 8492 8456 ife_X2WSTSwd **** **** **** **** **** **** **** **** 165 655 0 0 0 **** **** **** **** 0.5 **** 11 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_SPECIALIZATION_TWOBLADEDSWORD 1 **** **** **** **** **** 1 1 +694 FEAT_EPIC_WEAPON_SPECIALIZATION_CREATURE 8493 8494 ife_X2WSCrea **** **** **** **** **** **** **** **** **** **** 0 0 **** **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_SPECIALIZATION_CREATURE 1 **** **** **** **** **** 1 1 +695 FEAT_EPIC_WILL 8495 8496 ife_X2EpicWill **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WILL 3 **** **** **** **** **** 1 1 +696 FEAT_EPIC_IMPROVED_COMBAT_CASTING 8497 8498 ife_X2ImComCast **** **** **** **** **** **** **** **** 7 **** 0 0 1 **** **** **** **** 1 **** **** **** **** **** **** **** **** 1 25 **** **** FEAT_EPIC_IMPROVED_COMBAT_CASTING 4 **** **** **** **** **** 1 1 +697 FEAT_EPIC_IMPROVED_KI_STRIKE_4 8499 8500 ife_X2ImKiStrk4 **** **** **** **** 21 **** **** **** 344 **** 0 0 0 **** **** **** 698 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_IMPROVED_KI_STRIKE_4 1 **** **** **** **** **** 1 1 +698 FEAT_EPIC_IMPROVED_KI_STRIKE_5 8501 83388 ife_X2ImKiStrk5 **** **** **** **** **** **** **** **** 697 **** 0 0 0 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_IMPROVED_KI_STRIKE_5 1 **** **** **** **** **** 1 1 +699 FEAT_EPIC_IMPROVED_SPELL_RESISTANCE_1 8503 8504 ife_X2ImSpRis1 **** **** **** **** **** **** **** **** 215 **** 0 0 0 **** **** **** 700 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_IMPROVED_SPELL_RESISTANCE_1 4 **** **** **** **** **** 1 1 +700 FEAT_EPIC_IMPROVED_SPELL_RESISTANCE_2 8505 8504 ife_X2ImSpRis1 **** **** **** **** **** **** **** **** 699 **** 0 0 0 **** **** **** 701 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_IMPROVED_SPELL_RESISTANCE_2 4 **** **** **** **** **** 1 1 +701 FEAT_EPIC_IMPROVED_SPELL_RESISTANCE_3 8507 8504 ife_X2ImSpRis1 **** **** **** **** **** **** **** **** 700 **** 0 0 0 **** **** **** 702 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_IMPROVED_SPELL_RESISTANCE_3 4 **** **** **** **** **** 1 1 +702 FEAT_EPIC_IMPROVED_SPELL_RESISTANCE_4 8509 8504 ife_X2ImSpRis1 **** **** **** **** **** **** **** **** 701 **** 0 0 0 **** **** **** 703 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_IMPROVED_SPELL_RESISTANCE_4 4 **** **** **** **** **** 1 1 +703 FEAT_EPIC_IMPROVED_SPELL_RESISTANCE_5 8511 8504 ife_X2ImSpRis1 **** **** **** **** **** **** **** **** 702 **** 0 0 0 **** **** **** 704 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_IMPROVED_SPELL_RESISTANCE_5 4 **** **** **** **** **** 1 1 +704 FEAT_EPIC_IMPROVED_SPELL_RESISTANCE_6 8513 8504 ife_X2ImSpRis1 **** **** **** **** **** **** **** **** 703 **** 0 0 0 **** **** **** 705 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_IMPROVED_SPELL_RESISTANCE_6 4 **** **** **** **** **** 1 1 +705 FEAT_EPIC_IMPROVED_SPELL_RESISTANCE_7 8515 8504 ife_X2ImSpRis1 **** **** **** **** **** **** **** **** 704 **** 0 0 0 **** **** **** 706 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_IMPROVED_SPELL_RESISTANCE_7 4 **** **** **** **** **** 1 1 +706 FEAT_EPIC_IMPROVED_SPELL_RESISTANCE_8 8517 8504 ife_X2ImSpRis1 **** **** **** **** **** **** **** **** 705 **** 0 0 0 **** **** **** 707 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_IMPROVED_SPELL_RESISTANCE_8 4 **** **** **** **** **** 1 1 +707 FEAT_EPIC_IMPROVED_SPELL_RESISTANCE_9 8519 8504 ife_X2ImSpRis1 **** **** **** **** **** **** **** **** 706 **** 0 0 0 **** **** **** 708 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_IMPROVED_SPELL_RESISTANCE_9 4 **** **** **** **** **** 1 1 +708 FEAT_EPIC_IMPROVED_SPELL_RESISTANCE_10 8521 8504 ife_X2ImSpRis1 **** **** **** **** **** **** **** **** 707 **** 0 0 0 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_IMPROVED_SPELL_RESISTANCE_10 4 **** **** **** **** **** 1 1 +709 FEAT_EPIC_OVERWHELMING_CRITICAL_CLUB 8523 8524 ife_X2CritOClub **** 23 **** **** **** **** **** **** 391 15 0 0 1 **** **** **** **** 0.5 **** 12 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_OVERWHELMING_CRITICAL_CLUB 1 **** **** **** **** **** 1 1 +710 FEAT_EPIC_OVERWHELMING_CRITICAL_DAGGER 8525 8524 ife_X2CritODagg **** 23 **** **** **** **** **** **** 391 52 0 0 1 **** **** **** **** 0.5 **** 12 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_OVERWHELMING_CRITICAL_DAGGER 1 **** **** **** **** **** 1 1 +711 FEAT_EPIC_OVERWHELMING_CRITICAL_DART 8526 8524 ife_X2CritODart **** 23 **** **** **** **** **** **** 391 53 0 0 1 **** **** **** **** 0.5 **** 12 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_OVERWHELMING_CRITICAL_DART 1 **** **** **** **** **** 1 1 +712 FEAT_EPIC_OVERWHELMING_CRITICAL_HEAVYCROSSBOW 8527 8524 ife_X2CritOHXB **** 23 **** **** **** **** **** **** 391 54 0 0 1 **** **** **** **** 0.5 **** 12 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_OVERWHELMING_CRITICAL_HEAVYCROSSBOW 1 **** **** **** **** **** 1 1 +713 FEAT_EPIC_OVERWHELMING_CRITICAL_LIGHTCROSSBOW 8528 8524 ife_X2CritOLXB **** 23 **** **** **** **** **** **** 391 55 0 0 1 **** **** **** **** 0.5 **** 12 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_OVERWHELMING_CRITICAL_LIGHTCROSSBOW 1 **** **** **** **** **** 1 1 +714 FEAT_EPIC_OVERWHELMING_CRITICAL_LIGHTMACE 8529 8524 ife_X2CritOMace **** 23 **** **** **** **** **** **** 391 56 0 0 1 **** **** **** **** 0.5 **** 12 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_OVERWHELMING_CRITICAL_LIGHTMACE 1 **** **** **** **** **** 1 1 +715 FEAT_EPIC_OVERWHELMING_CRITICAL_MORNINGSTAR 8530 8524 ife_X2CritOMSta **** 23 **** **** **** **** **** **** 391 57 0 0 1 **** **** **** **** 0.5 **** 12 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_OVERWHELMING_CRITICAL_MORNINGSTAR 1 **** **** **** **** **** 1 1 +716 FEAT_EPIC_OVERWHELMING_CRITICAL_QUARTERSTAFF 8531 8524 ife_X2CritOQSta **** 23 **** **** **** **** **** **** 391 58 0 0 1 **** **** **** **** 0.5 **** 12 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_OVERWHELMING_CRITICAL_QUARTERSTAFF 1 **** **** **** **** **** 1 1 +717 FEAT_EPIC_OVERWHELMING_CRITICAL_SHORTSPEAR 8532 8524 ife_X2CritOSpr **** 23 **** **** **** **** **** **** 391 59 0 0 1 **** **** **** **** 0.5 **** 12 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_OVERWHELMING_CRITICAL_SHORTSPEAR 1 **** **** **** **** **** 1 1 +718 FEAT_EPIC_OVERWHELMING_CRITICAL_SICKLE 8533 8524 ife_X2CritOSkle **** 23 **** **** **** **** **** **** 391 60 0 0 1 **** **** **** **** 0.5 **** 12 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_OVERWHELMING_CRITICAL_SICKLE 1 **** **** **** **** **** 1 1 +719 FEAT_EPIC_OVERWHELMING_CRITICAL_SLING 8534 8524 ife_X2CritOSlng **** 23 **** **** **** **** **** **** 391 61 0 0 1 **** **** **** **** 0.5 **** 12 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_OVERWHELMING_CRITICAL_SLING 1 **** **** **** **** **** 1 1 +720 FEAT_EPIC_OVERWHELMING_CRITICAL_UNARMED 8535 8524 ife_X2CritOUnar **** 23 **** **** **** **** **** **** 391 62 0 0 1 **** **** **** **** 0.5 **** 12 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_OVERWHELMING_CRITICAL_UNARMED 1 **** **** **** **** **** 1 1 +721 FEAT_EPIC_OVERWHELMING_CRITICAL_LONGBOW 8536 8524 ife_X2CritOLBow **** 23 **** **** **** **** **** **** 391 63 0 0 1 **** **** **** **** 0.5 **** 12 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_OVERWHELMING_CRITICAL_LONGBOW 1 **** **** **** **** **** 1 1 +722 FEAT_EPIC_OVERWHELMING_CRITICAL_SHORTBOW 8537 8524 ife_X2CritOSBow **** 23 **** **** **** **** **** **** 391 64 0 0 1 **** **** **** **** 0.5 **** 12 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_OVERWHELMING_CRITICAL_SHORTBOW 1 **** **** **** **** **** 1 1 +723 FEAT_EPIC_OVERWHELMING_CRITICAL_SHORTSWORD 8538 8524 ife_X2CritOSSwd **** 23 **** **** **** **** **** **** 391 65 0 0 1 **** **** **** **** 0.5 **** 12 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_OVERWHELMING_CRITICAL_SHORTSWORD 1 **** **** **** **** **** 1 1 +724 FEAT_EPIC_OVERWHELMING_CRITICAL_RAPIER 8539 8524 ife_X2CritORapr **** 23 **** **** **** **** **** **** 391 66 0 0 1 **** **** **** **** 0.5 **** 12 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_OVERWHELMING_CRITICAL_RAPIER 1 **** **** **** **** **** 1 1 +725 FEAT_EPIC_OVERWHELMING_CRITICAL_SCIMITAR 8540 8524 ife_X2CritOScim **** 23 **** **** **** **** **** **** 391 67 0 0 1 **** **** **** **** 0.5 **** 12 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_OVERWHELMING_CRITICAL_SCIMITAR 1 **** **** **** **** **** 1 1 +726 FEAT_EPIC_OVERWHELMING_CRITICAL_LONGSWORD 8541 8524 ife_X2CritOLSwd **** 23 **** **** **** **** **** **** 391 68 0 0 1 **** **** **** **** 0.5 **** 12 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_OVERWHELMING_CRITICAL_LONGSWORD 1 **** **** **** **** **** 1 1 +727 FEAT_EPIC_OVERWHELMING_CRITICAL_GREATSWORD 8542 8524 ife_X2CritOGSwd **** 23 **** **** **** **** **** **** 391 69 0 0 1 **** **** **** **** 0.5 **** 12 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_OVERWHELMING_CRITICAL_GREATSWORD 1 **** **** **** **** **** 1 1 +728 FEAT_EPIC_OVERWHELMING_CRITICAL_HANDAXE 8543 8524 ife_X2CritOHAxe **** 23 **** **** **** **** **** **** 391 70 0 0 1 **** **** **** **** 0.5 **** 12 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_OVERWHELMING_CRITICAL_HANDAXE 1 **** **** **** **** **** 1 1 +729 FEAT_EPIC_OVERWHELMING_CRITICAL_THROWINGAXE 8544 8524 ife_X2CritOTAxe **** 23 **** **** **** **** **** **** 391 71 0 0 1 **** **** **** **** 0.5 **** 12 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_OVERWHELMING_CRITICAL_THROWINGAXE 1 **** **** **** **** **** 1 1 +730 FEAT_EPIC_OVERWHELMING_CRITICAL_BATTLEAXE 8545 8524 ife_X2CritOBAxe **** 23 **** **** **** **** **** **** 391 72 0 0 1 **** **** **** **** 0.5 **** 12 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_OVERWHELMING_CRITICAL_BATTLEAXE 1 **** **** **** **** **** 1 1 +731 FEAT_EPIC_OVERWHELMING_CRITICAL_GREATAXE 8546 8524 ife_X2CritOGAxe **** 23 **** **** **** **** **** **** 391 73 0 0 1 **** **** **** **** 0.5 **** 12 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_OVERWHELMING_CRITICAL_GREATAXE 1 **** **** **** **** **** 1 1 +732 FEAT_EPIC_OVERWHELMING_CRITICAL_HALBERD 8547 8524 ife_X2CritOHalb **** 23 **** **** **** **** **** **** 391 74 0 0 1 **** **** **** **** 0.5 **** 12 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_OVERWHELMING_CRITICAL_HALBERD 1 **** **** **** **** **** 1 1 +733 FEAT_EPIC_OVERWHELMING_CRITICAL_LIGHTHAMMER 8548 8524 ife_X2CritOLHam **** 23 **** **** **** **** **** **** 391 75 0 0 1 **** **** **** **** 0.5 **** 12 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_OVERWHELMING_CRITICAL_LIGHTHAMMER 1 **** **** **** **** **** 1 1 +734 FEAT_EPIC_OVERWHELMING_CRITICAL_LIGHTFLAIL 8549 8524 ife_X2CritOLFla **** 23 **** **** **** **** **** **** 391 76 0 0 1 **** **** **** **** 0.5 **** 12 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_OVERWHELMING_CRITICAL_LIGHTFLAIL 1 **** **** **** **** **** 1 1 +735 FEAT_EPIC_OVERWHELMING_CRITICAL_WARHAMMER 8550 8524 ife_X2CritOWHam **** 23 **** **** **** **** **** **** 391 77 0 0 1 **** **** **** **** 0.5 **** 12 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_OVERWHELMING_CRITICAL_WARHAMMER 1 **** **** **** **** **** 1 1 +736 FEAT_EPIC_OVERWHELMING_CRITICAL_HEAVYFLAIL 8551 8524 ife_X2CritOHFla **** 23 **** **** **** **** **** **** 391 78 0 0 1 **** **** **** **** 0.5 **** 12 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_OVERWHELMING_CRITICAL_HEAVYFLAIL 1 **** **** **** **** **** 1 1 +737 FEAT_EPIC_OVERWHELMING_CRITICAL_KAMA 8552 8524 ife_X2CritOKama **** 23 **** **** **** **** **** **** 391 79 0 0 1 **** **** **** **** 0.5 **** 12 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_OVERWHELMING_CRITICAL_KAMA 1 **** **** **** **** **** 1 1 +738 FEAT_EPIC_OVERWHELMING_CRITICAL_KUKRI 8553 8524 ife_X2CritOKukr **** 23 **** **** **** **** **** **** 391 80 0 0 1 **** **** **** **** 0.5 **** 12 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_OVERWHELMING_CRITICAL_KUKRI 1 **** **** **** **** **** 1 1 +739 FEAT_EPIC_OVERWHELMING_CRITICAL_SHURIKEN 8554 8524 ife_X2CritOShur **** 23 **** **** **** **** **** **** 391 82 0 0 1 **** **** **** **** 0.5 **** 12 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_OVERWHELMING_CRITICAL_SHURIKEN 1 **** **** **** **** **** 1 1 +740 FEAT_EPIC_OVERWHELMING_CRITICAL_SCYTHE 8555 8524 ife_X2CritOScyt **** 23 **** **** **** **** **** **** 391 83 0 0 1 **** **** **** **** 0.5 **** 12 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_OVERWHELMING_CRITICAL_SCYTHE 1 **** **** **** **** **** 1 1 +741 FEAT_EPIC_OVERWHELMING_CRITICAL_KATANA 8556 8524 ife_X2CritOKatn **** 23 **** **** **** **** **** **** 391 84 0 0 1 **** **** **** **** 0.5 **** 12 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_OVERWHELMING_CRITICAL_KATANA 1 **** **** **** **** **** 1 1 +742 FEAT_EPIC_OVERWHELMING_CRITICAL_BASTARDSWORD 8557 8524 ife_X2CritOBSwd **** 23 **** **** **** **** **** **** 391 85 0 0 1 **** **** **** **** 0.5 **** 12 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_OVERWHELMING_CRITICAL_BASTARDSWORD 1 **** **** **** **** **** 1 1 +743 FEAT_EPIC_OVERWHELMING_CRITICAL_DIREMACE 8558 8524 ife_X2CritODMac **** 23 **** **** **** **** **** **** 391 87 0 0 1 **** **** **** **** 0.5 **** 12 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_OVERWHELMING_CRITICAL_DIREMACE 1 **** **** **** **** **** 1 1 +744 FEAT_EPIC_OVERWHELMING_CRITICAL_DOUBLEAXE 8559 8524 ife_X2CritODAxe **** 23 **** **** **** **** **** **** 391 88 0 0 1 **** **** **** **** 0.5 **** 12 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_OVERWHELMING_CRITICAL_DOUBLEAXE 1 **** **** **** **** **** 1 1 +745 FEAT_EPIC_OVERWHELMING_CRITICAL_TWOBLADEDSWORD 8560 8524 ife_X2CritOTSwd **** 23 **** **** **** **** **** **** 391 89 0 0 1 **** **** **** **** 0.5 **** 12 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_OVERWHELMING_CRITICAL_TWOBLADEDSWORD 1 **** **** **** **** **** 1 1 +746 FEAT_EPIC_OVERWHELMING_CRITICAL_CREATURE 8561 8562 ife_X2CritOCrea **** **** **** **** **** **** **** **** 292 **** 0 0 **** **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_OVERWHELMING_CRITICAL_CREATURE 1 **** **** **** **** **** 1 1 +747 FEAT_EPIC_PERFECT_HEALTH 8563 8564 ife_X2PerfHeal **** **** **** **** **** 25 **** **** 14 **** 0 0 1 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_PERFECT_HEALTH 3 **** **** **** **** **** 1 1 +748 FEAT_EPIC_SELF_CONCEALMENT_10 8565 8566 ife_X2SelfConc1 **** **** 30 **** **** **** **** **** 212 **** 0 0 1 **** **** **** 749 1 **** **** **** **** **** **** **** **** 5 30 21 30 FEAT_EPIC_SELF_CONCEALMENT_10 3 **** **** **** **** **** 1 1 +749 FEAT_EPIC_SELF_CONCEALMENT_20 8567 8566 ife_X2SelfConc1 **** **** 30 **** **** **** **** **** 748 **** 0 0 1 **** **** **** 750 1 **** **** **** **** **** **** **** **** 5 30 21 30 FEAT_EPIC_SELF_CONCEALMENT_20 3 **** **** **** **** **** 1 1 +750 FEAT_EPIC_SELF_CONCEALMENT_30 8569 8566 ife_X2SelfConc1 **** **** 30 **** **** **** **** **** 749 **** 0 0 1 **** **** **** 751 1 **** **** **** **** **** **** **** **** 5 30 21 30 FEAT_EPIC_SELF_CONCEALMENT_30 3 **** **** **** **** **** 1 1 +751 FEAT_EPIC_SELF_CONCEALMENT_40 8571 8566 ife_X2SelfConc1 **** **** 30 **** **** **** **** **** 750 **** 0 0 1 **** **** **** 752 1 **** **** **** **** **** **** **** **** 5 30 21 30 FEAT_EPIC_SELF_CONCEALMENT_40 3 **** **** **** **** **** 1 1 +752 FEAT_EPIC_SELF_CONCEALMENT_50 8573 8566 ife_X2SelfConc1 **** **** 30 **** **** **** **** **** 751 **** 0 0 1 **** **** **** **** 1 **** **** **** **** **** **** **** **** 5 30 21 30 FEAT_EPIC_SELF_CONCEALMENT_50 3 **** **** **** **** **** 1 1 +753 FEAT_EPIC_SUPERIOR_INITIATIVE 8575 8576 ife_X2SuprInit **** **** **** **** **** **** **** **** 377 **** 0 0 1 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_SUPERIOR_INITIATIVE 2 **** **** **** **** **** 1 1 +754 FEAT_EPIC_TOUGHNESS_1 8577 8578 ife_X2Tough1 **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** 755 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_TOUGHNESS_1 3 **** **** **** **** **** 1 1 +755 FEAT_EPIC_TOUGHNESS_2 8579 8578 ife_X2Tough1 **** **** **** **** **** **** **** **** 754 **** 0 0 1 **** **** **** 756 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_TOUGHNESS_2 3 **** **** **** **** **** 1 1 +756 FEAT_EPIC_TOUGHNESS_3 8581 8578 ife_X2Tough1 **** **** **** **** **** **** **** **** 755 **** 0 0 1 **** **** **** 757 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_TOUGHNESS_3 3 **** **** **** **** **** 1 1 +757 FEAT_EPIC_TOUGHNESS_4 8583 8578 ife_X2Tough1 **** **** **** **** **** **** **** **** 756 **** 0 0 1 **** **** **** 758 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_TOUGHNESS_4 3 **** **** **** **** **** 1 1 +758 FEAT_EPIC_TOUGHNESS_5 8585 8578 ife_X2Tough1 **** **** **** **** **** **** **** **** 757 **** 0 0 1 **** **** **** 759 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_TOUGHNESS_5 3 **** **** **** **** **** 1 1 +759 FEAT_EPIC_TOUGHNESS_6 8587 8578 ife_X2Tough1 **** **** **** **** **** **** **** **** 758 **** 0 0 1 **** **** **** 760 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_TOUGHNESS_6 3 **** **** **** **** **** 1 1 +760 FEAT_EPIC_TOUGHNESS_7 8589 8578 ife_X2Tough1 **** **** **** **** **** **** **** **** 759 **** 0 0 1 **** **** **** 761 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_TOUGHNESS_7 3 **** **** **** **** **** 1 1 +761 FEAT_EPIC_TOUGHNESS_8 8591 8578 ife_X2Tough1 **** **** **** **** **** **** **** **** 760 **** 0 0 1 **** **** **** 762 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_TOUGHNESS_8 3 **** **** **** **** **** 1 1 +762 FEAT_EPIC_TOUGHNESS_9 8593 8578 ife_X2Tough1 **** **** **** **** **** **** **** **** 761 **** 0 0 1 **** **** **** 763 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_TOUGHNESS_9 3 **** **** **** **** **** 1 1 +763 FEAT_EPIC_TOUGHNESS_10 8595 8578 ife_X2Tough1 **** **** **** **** **** **** **** **** 762 **** 0 0 1 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_TOUGHNESS_10 3 **** **** **** **** **** 1 1 +764 FEAT_EPIC_GREAT_CHARISMA_1 3954 3956 ife_X2GrCha1 **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** 765 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_CHARISMA_1 6 **** **** **** **** **** 1 1 +765 FEAT_EPIC_GREAT_CHARISMA_2 3958 3956 ife_X2GrCha1 **** **** **** **** **** **** **** **** 764 **** 0 0 1 **** **** **** 766 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_CHARISMA_2 6 **** **** **** **** **** 1 1 +766 FEAT_EPIC_GREAT_CHARISMA_3 3960 3956 ife_X2GrCha1 **** **** **** **** **** **** **** **** 765 **** 0 0 1 **** **** **** 767 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_CHARISMA_3 6 **** **** **** **** **** 1 1 +767 FEAT_EPIC_GREAT_CHARISMA_4 3962 3956 ife_X2GrCha1 **** **** **** **** **** **** **** **** 766 **** 0 0 1 **** **** **** 768 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_CHARISMA_4 6 **** **** **** **** **** 1 1 +768 FEAT_EPIC_GREAT_CHARISMA_5 3964 3956 ife_X2GrCha1 **** **** **** **** **** **** **** **** 767 **** 0 0 1 **** **** **** 769 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_CHARISMA_5 6 **** **** **** **** **** 1 1 +769 FEAT_EPIC_GREAT_CHARISMA_6 3966 3956 ife_X2GrCha1 **** **** **** **** **** **** **** **** 768 **** 0 0 1 **** **** **** 770 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_CHARISMA_6 6 **** **** **** **** **** 1 1 +770 FEAT_EPIC_GREAT_CHARISMA_7 3968 3956 ife_X2GrCha1 **** **** **** **** **** **** **** **** 769 **** 0 0 1 **** **** **** 771 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_CHARISMA_7 6 **** **** **** **** **** 1 1 +771 FEAT_EPIC_GREAT_CHARISMA_8 3972 3956 ife_X2GrCha1 **** **** **** **** **** **** **** **** 770 **** 0 0 1 **** **** **** 772 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_CHARISMA_8 6 **** **** **** **** **** 1 1 +772 FEAT_EPIC_GREAT_CHARISMA_9 3974 3956 ife_X2GrCha1 **** **** **** **** **** **** **** **** 771 **** 0 0 1 **** **** **** 773 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_CHARISMA_9 6 **** **** **** **** **** 1 1 +773 FEAT_EPIC_GREAT_CHARISMA_10 3976 3956 ife_X2GrCha1 **** **** **** **** **** **** **** **** 772 **** 0 0 1 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_CHARISMA_10 6 **** **** **** **** **** 1 1 +774 FEAT_EPIC_GREAT_CONSTITUTION_1 3978 3980 ife_X2GrCon1 **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** 775 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_CONSTITUTION_1 6 **** **** **** **** **** 1 1 +775 FEAT_EPIC_GREAT_CONSTITUTION_2 3982 3980 ife_X2GrCon1 **** **** **** **** **** **** **** **** 774 **** 0 0 1 **** **** **** 776 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_CONSTITUTION_2 6 **** **** **** **** **** 1 1 +776 FEAT_EPIC_GREAT_CONSTITUTION_3 3984 3980 ife_X2GrCon1 **** **** **** **** **** **** **** **** 775 **** 0 0 1 **** **** **** 777 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_CONSTITUTION_3 6 **** **** **** **** **** 1 1 +777 FEAT_EPIC_GREAT_CONSTITUTION_4 3986 3980 ife_X2GrCon1 **** **** **** **** **** **** **** **** 776 **** 0 0 1 **** **** **** 778 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_CONSTITUTION_4 6 **** **** **** **** **** 1 1 +778 FEAT_EPIC_GREAT_CONSTITUTION_5 3988 3980 ife_X2GrCon1 **** **** **** **** **** **** **** **** 777 **** 0 0 1 **** **** **** 779 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_CONSTITUTION_5 6 **** **** **** **** **** 1 1 +779 FEAT_EPIC_GREAT_CONSTITUTION_6 3992 3980 ife_X2GrCon1 **** **** **** **** **** **** **** **** 778 **** 0 0 1 **** **** **** 780 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_CONSTITUTION_6 6 **** **** **** **** **** 1 1 +780 FEAT_EPIC_GREAT_CONSTITUTION_7 3994 3980 ife_X2GrCon1 **** **** **** **** **** **** **** **** 779 **** 0 0 1 **** **** **** 781 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_CONSTITUTION_7 6 **** **** **** **** **** 1 1 +781 FEAT_EPIC_GREAT_CONSTITUTION_8 3996 3980 ife_X2GrCon1 **** **** **** **** **** **** **** **** 780 **** 0 0 1 **** **** **** 782 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_CONSTITUTION_8 6 **** **** **** **** **** 1 1 +782 FEAT_EPIC_GREAT_CONSTITUTION_9 3998 3980 ife_X2GrCon1 **** **** **** **** **** **** **** **** 781 **** 0 0 1 **** **** **** 783 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_CONSTITUTION_9 6 **** **** **** **** **** 1 1 +783 FEAT_EPIC_GREAT_CONSTITUTION_10 4000 3980 ife_X2GrCon1 **** **** **** **** **** **** **** **** 782 **** 0 0 1 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_CONSTITUTION_10 6 **** **** **** **** **** 1 1 +784 FEAT_EPIC_GREAT_DEXTERITY_1 4002 4004 ife_X2GrDex1 **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** 785 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_DEXTERITY_1 6 **** **** **** **** **** 1 1 +785 FEAT_EPIC_GREAT_DEXTERITY_2 4007 4004 ife_X2GrDex1 **** **** **** **** **** **** **** **** 784 **** 0 0 1 **** **** **** 786 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_DEXTERITY_2 6 **** **** **** **** **** 1 1 +786 FEAT_EPIC_GREAT_DEXTERITY_3 4009 4004 ife_X2GrDex1 **** **** **** **** **** **** **** **** 785 **** 0 0 1 **** **** **** 787 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_DEXTERITY_3 6 **** **** **** **** **** 1 1 +787 FEAT_EPIC_GREAT_DEXTERITY_4 4017 4004 ife_X2GrDex1 **** **** **** **** **** **** **** **** 786 **** 0 0 1 **** **** **** 788 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_DEXTERITY_4 6 **** **** **** **** **** 1 1 +788 FEAT_EPIC_GREAT_DEXTERITY_5 4019 4004 ife_X2GrDex1 **** **** **** **** **** **** **** **** 787 **** 0 0 1 **** **** **** 789 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_DEXTERITY_5 6 **** **** **** **** **** 1 1 +789 FEAT_EPIC_GREAT_DEXTERITY_6 4021 4004 ife_X2GrDex1 **** **** **** **** **** **** **** **** 788 **** 0 0 1 **** **** **** 790 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_DEXTERITY_6 6 **** **** **** **** **** 1 1 +790 FEAT_EPIC_GREAT_DEXTERITY_7 4023 4004 ife_X2GrDex1 **** **** **** **** **** **** **** **** 789 **** 0 0 1 **** **** **** 791 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_DEXTERITY_7 6 **** **** **** **** **** 1 1 +791 FEAT_EPIC_GREAT_DEXTERITY_8 4025 4004 ife_X2GrDex1 **** **** **** **** **** **** **** **** 790 **** 0 0 1 **** **** **** 792 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_DEXTERITY_8 6 **** **** **** **** **** 1 1 +792 FEAT_EPIC_GREAT_DEXTERITY_9 4027 4004 ife_X2GrDex1 **** **** **** **** **** **** **** **** 791 **** 0 0 1 **** **** **** 793 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_DEXTERITY_9 6 **** **** **** **** **** 1 1 +793 FEAT_EPIC_GREAT_DEXTERITY_10 4029 4004 ife_X2GrDex1 **** **** **** **** **** **** **** **** 792 **** 0 0 1 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_DEXTERITY_10 6 **** **** **** **** **** 1 1 +794 FEAT_EPIC_GREAT_INTELLIGENCE_1 4031 4033 ife_X2GrInt1 **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** 795 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_INTELLIGENCE_1 6 **** **** **** **** **** 1 1 +795 FEAT_EPIC_GREAT_INTELLIGENCE_2 4037 4033 ife_X2GrInt1 **** **** **** **** **** **** **** **** 794 **** 0 0 1 **** **** **** 796 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_INTELLIGENCE_2 6 **** **** **** **** **** 1 1 +796 FEAT_EPIC_GREAT_INTELLIGENCE_3 4039 4033 ife_X2GrInt1 **** **** **** **** **** **** **** **** 795 **** 0 0 1 **** **** **** 797 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_INTELLIGENCE_3 6 **** **** **** **** **** 1 1 +797 FEAT_EPIC_GREAT_INTELLIGENCE_4 4041 4033 ife_X2GrInt1 **** **** **** **** **** **** **** **** 796 **** 0 0 1 **** **** **** 798 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_INTELLIGENCE_4 6 **** **** **** **** **** 1 1 +798 FEAT_EPIC_GREAT_INTELLIGENCE_5 4043 4033 ife_X2GrInt1 **** **** **** **** **** **** **** **** 797 **** 0 0 1 **** **** **** 799 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_INTELLIGENCE_5 6 **** **** **** **** **** 1 1 +799 FEAT_EPIC_GREAT_INTELLIGENCE_6 4045 4033 ife_X2GrInt1 **** **** **** **** **** **** **** **** 798 **** 0 0 1 **** **** **** 800 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_INTELLIGENCE_6 6 **** **** **** **** **** 1 1 +800 FEAT_EPIC_GREAT_INTELLIGENCE_7 4047 4033 ife_X2GrInt1 **** **** **** **** **** **** **** **** 799 **** 0 0 1 **** **** **** 801 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_INTELLIGENCE_7 6 **** **** **** **** **** 1 1 +801 FEAT_EPIC_GREAT_INTELLIGENCE_8 4049 4033 ife_X2GrInt1 **** **** **** **** **** **** **** **** 800 **** 0 0 1 **** **** **** 802 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_INTELLIGENCE_8 6 **** **** **** **** **** 1 1 +802 FEAT_EPIC_GREAT_INTELLIGENCE_9 4051 4033 ife_X2GrInt1 **** **** **** **** **** **** **** **** 801 **** 0 0 1 **** **** **** 803 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_INTELLIGENCE_9 6 **** **** **** **** **** 1 1 +803 FEAT_EPIC_GREAT_INTELLIGENCE_10 4053 4033 ife_X2GrInt1 **** **** **** **** **** **** **** **** 802 **** 0 0 1 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_INTELLIGENCE_10 6 **** **** **** **** **** 1 1 +804 FEAT_EPIC_GREAT_WISDOM_1 8506 8508 ife_X2GrWis1 **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** 805 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_WISDOM_1 6 **** **** **** **** **** 1 1 +805 FEAT_EPIC_GREAT_WISDOM_2 8510 8508 ife_X2GrWis1 **** **** **** **** **** **** **** **** 804 **** 0 0 1 **** **** **** 806 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_WISDOM_2 6 **** **** **** **** **** 1 1 +806 FEAT_EPIC_GREAT_WISDOM_3 8512 8508 ife_X2GrWis1 **** **** **** **** **** **** **** **** 805 **** 0 0 1 **** **** **** 807 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_WISDOM_3 6 **** **** **** **** **** 1 1 +807 FEAT_EPIC_GREAT_WISDOM_4 8514 8508 ife_X2GrWis1 **** **** **** **** **** **** **** **** 806 **** 0 0 1 **** **** **** 808 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_WISDOM_4 6 **** **** **** **** **** 1 1 +808 FEAT_EPIC_GREAT_WISDOM_5 8516 8508 ife_X2GrWis1 **** **** **** **** **** **** **** **** 807 **** 0 0 1 **** **** **** 809 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_WISDOM_5 6 **** **** **** **** **** 1 1 +809 FEAT_EPIC_GREAT_WISDOM_6 8518 8508 ife_X2GrWis1 **** **** **** **** **** **** **** **** 808 **** 0 0 1 **** **** **** 810 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_WISDOM_6 6 **** **** **** **** **** 1 1 +810 FEAT_EPIC_GREAT_WISDOM_7 8520 8508 ife_X2GrWis1 **** **** **** **** **** **** **** **** 809 **** 0 0 1 **** **** **** 811 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_WISDOM_7 6 **** **** **** **** **** 1 1 +811 FEAT_EPIC_GREAT_WISDOM_8 8522 8508 ife_X2GrWis1 **** **** **** **** **** **** **** **** 810 **** 0 0 1 **** **** **** 812 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_WISDOM_8 6 **** **** **** **** **** 1 1 +812 FEAT_EPIC_GREAT_WISDOM_9 8568 8508 ife_X2GrWis1 **** **** **** **** **** **** **** **** 811 **** 0 0 1 **** **** **** 813 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_WISDOM_9 6 **** **** **** **** **** 1 1 +813 FEAT_EPIC_GREAT_WISDOM_10 8570 8508 ife_X2GrWis1 **** **** **** **** **** **** **** **** 812 **** 0 0 1 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_WISDOM_10 6 **** **** **** **** **** 1 1 +814 FEAT_EPIC_GREAT_STRENGTH_1 8572 8574 ife_X2GrStr1 **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** 815 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_STRENGTH_1 6 **** **** **** **** **** 1 1 +815 FEAT_EPIC_GREAT_STRENGTH_2 8580 8574 ife_X2GrStr1 **** **** **** **** **** **** **** **** 814 **** 0 0 1 **** **** **** 816 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_STRENGTH_2 6 **** **** **** **** **** 1 1 +816 FEAT_EPIC_GREAT_STRENGTH_3 8582 8574 ife_X2GrStr1 **** **** **** **** **** **** **** **** 815 **** 0 0 1 **** **** **** 817 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_STRENGTH_3 6 **** **** **** **** **** 1 1 +817 FEAT_EPIC_GREAT_STRENGTH_4 8584 8574 ife_X2GrStr1 **** **** **** **** **** **** **** **** 816 **** 0 0 1 **** **** **** 818 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_STRENGTH_4 6 **** **** **** **** **** 1 1 +818 FEAT_EPIC_GREAT_STRENGTH_5 8586 8574 ife_X2GrStr1 **** **** **** **** **** **** **** **** 817 **** 0 0 1 **** **** **** 819 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_STRENGTH_5 6 **** **** **** **** **** 1 1 +819 FEAT_EPIC_GREAT_STRENGTH_6 8588 8574 ife_X2GrStr1 **** **** **** **** **** **** **** **** 818 **** 0 0 1 **** **** **** 820 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_STRENGTH_6 6 **** **** **** **** **** 1 1 +820 FEAT_EPIC_GREAT_STRENGTH_7 8590 8574 ife_X2GrStr1 **** **** **** **** **** **** **** **** 819 **** 0 0 1 **** **** **** 821 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_STRENGTH_7 6 **** **** **** **** **** 1 1 +821 FEAT_EPIC_GREAT_STRENGTH_8 8592 8574 ife_X2GrStr1 **** **** **** **** **** **** **** **** 820 **** 0 0 1 **** **** **** 822 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_STRENGTH_8 6 **** **** **** **** **** 1 1 +822 FEAT_EPIC_GREAT_STRENGTH_9 8594 8574 ife_X2GrStr1 **** **** **** **** **** **** **** **** 821 **** 0 0 1 **** **** **** 823 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_STRENGTH_9 6 **** **** **** **** **** 1 1 +823 FEAT_EPIC_GREAT_STRENGTH_10 8596 8574 ife_X2GrStr1 **** **** **** **** **** **** **** **** 822 **** 0 0 1 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_STRENGTH_10 6 **** **** **** **** **** 1 1 +824 FEAT_EPIC_GREAT_SMITING_1 8597 8598 ife_X2GrSmt1 **** **** **** **** **** **** 25 **** **** **** 0 0 0 **** **** **** 825 1 **** **** **** 472 301 **** **** **** **** **** **** **** FEAT_EPIC_GREAT_SMITING_1 5 **** **** **** **** **** 1 1 +825 FEAT_EPIC_GREAT_SMITING_2 8599 8598 ife_X2GrSmt1 **** **** **** **** **** **** 25 **** 824 **** 0 0 0 **** **** **** 826 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_SMITING_2 5 **** **** **** **** **** 1 1 +826 FEAT_EPIC_GREAT_SMITING_3 8600 8598 ife_X2GrSmt1 **** **** **** **** **** **** 25 **** 825 **** 0 0 0 **** **** **** 827 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_SMITING_3 5 **** **** **** **** **** 1 1 +827 FEAT_EPIC_GREAT_SMITING_4 8601 8598 ife_X2GrSmt1 **** **** **** **** **** **** 25 **** 826 **** 0 0 0 **** **** **** 828 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_SMITING_4 5 **** **** **** **** **** 1 1 +828 FEAT_EPIC_GREAT_SMITING_5 8602 8598 ife_X2GrSmt1 **** **** **** **** **** **** 25 **** 827 **** 0 0 0 **** **** **** 829 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_SMITING_5 5 **** **** **** **** **** 1 1 +829 FEAT_EPIC_GREAT_SMITING_6 8603 8598 ife_X2GrSmt1 **** **** **** **** **** **** 25 **** 828 **** 0 0 0 **** **** **** 830 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_SMITING_6 5 **** **** **** **** **** 1 1 +830 FEAT_EPIC_GREAT_SMITING_7 8604 8598 ife_X2GrSmt1 **** **** **** **** **** **** 25 **** 829 **** 0 0 0 **** **** **** 831 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_SMITING_7 5 **** **** **** **** **** 1 1 +831 FEAT_EPIC_GREAT_SMITING_8 8605 8598 ife_X2GrSmt1 **** **** **** **** **** **** 25 **** 830 **** 0 0 0 **** **** **** 832 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_SMITING_8 5 **** **** **** **** **** 1 1 +832 FEAT_EPIC_GREAT_SMITING_9 8606 8598 ife_X2GrSmt1 **** **** **** **** **** **** 25 **** 831 **** 0 0 0 **** **** **** 833 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_SMITING_9 5 **** **** **** **** **** 1 1 +833 FEAT_EPIC_GREAT_SMITING_10 8607 8598 ife_X2GrSmt1 **** **** **** **** **** **** 25 **** 832 **** 0 0 0 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_GREAT_SMITING_10 5 **** **** **** **** **** 1 1 +834 FEAT_EPIC_IMPROVED_SNEAK_ATTACK_1 8608 8609 ife_X2ImpSnAtt1 **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 835 1 **** **** **** 351 1006 1011 **** **** **** **** **** **** FEAT_EPIC_IMPROVED_SNEAK_ATTACK_1 5 **** **** **** **** **** 1 1 +835 FEAT_EPIC_IMPROVED_SNEAK_ATTACK_2 8610 8609 ife_X2ImpSnAtt1 **** **** **** **** **** **** **** **** 834 **** 0 0 0 **** **** **** 836 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_IMPROVED_SNEAK_ATTACK_2 5 **** **** **** **** **** 1 1 +836 FEAT_EPIC_IMPROVED_SNEAK_ATTACK_3 8611 8609 ife_X2ImpSnAtt1 **** **** **** **** **** **** **** **** 835 **** 0 0 0 **** **** **** 837 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_IMPROVED_SNEAK_ATTACK_3 5 **** **** **** **** **** 1 1 +837 FEAT_EPIC_IMPROVED_SNEAK_ATTACK_4 8612 8609 ife_X2ImpSnAtt1 **** **** **** **** **** **** **** **** 836 **** 0 0 0 **** **** **** 838 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_IMPROVED_SNEAK_ATTACK_4 5 **** **** **** **** **** 1 1 +838 FEAT_EPIC_IMPROVED_SNEAK_ATTACK_5 8613 8609 ife_X2ImpSnAtt1 **** **** **** **** **** **** **** **** 837 **** 0 0 0 **** **** **** 839 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_IMPROVED_SNEAK_ATTACK_5 5 **** **** **** **** **** 1 1 +839 FEAT_EPIC_IMPROVED_SNEAK_ATTACK_6 8614 8609 ife_X2ImpSnAtt1 **** **** **** **** **** **** **** **** 838 **** 0 0 0 **** **** **** 840 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_IMPROVED_SNEAK_ATTACK_6 5 **** **** **** **** **** 1 1 +840 FEAT_EPIC_IMPROVED_SNEAK_ATTACK_7 8615 8609 ife_X2ImpSnAtt1 **** **** **** **** **** **** **** **** 839 **** 0 0 0 **** **** **** 841 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_IMPROVED_SNEAK_ATTACK_7 5 **** **** **** **** **** 1 1 +841 FEAT_EPIC_IMPROVED_SNEAK_ATTACK_8 8616 8609 ife_X2ImpSnAtt1 **** **** **** **** **** **** **** **** 840 **** 0 0 0 **** **** **** 842 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_IMPROVED_SNEAK_ATTACK_8 5 **** **** **** **** **** 1 1 +842 FEAT_EPIC_IMPROVED_SNEAK_ATTACK_9 8617 8609 ife_X2ImpSnAtt1 **** **** **** **** **** **** **** **** 841 **** 0 0 0 **** **** **** 843 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_IMPROVED_SNEAK_ATTACK_9 5 **** **** **** **** **** 1 1 +843 FEAT_EPIC_IMPROVED_SNEAK_ATTACK_10 8618 8609 ife_X2ImpSnAtt1 **** **** **** **** **** **** **** **** 842 **** 0 0 0 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_IMPROVED_SNEAK_ATTACK_10 5 **** **** **** **** **** 1 1 +844 FEAT_EPIC_IMPROVED_STUNNING_FIST_1 8622 8623 ife_X2ImpStFt1 **** **** 19 **** 19 **** **** **** 39 21 0 0 1 **** **** **** 845 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_IMPROVED_STUNNING_FIST_1 5 **** **** **** **** **** 1 1 +845 FEAT_EPIC_IMPROVED_STUNNING_FIST_2 8624 8623 ife_X2ImpStFt1 **** **** **** **** **** **** **** **** 844 **** 0 0 0 **** **** **** 846 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_IMPROVED_STUNNING_FIST_2 5 **** **** **** **** **** 1 1 +846 FEAT_EPIC_IMPROVED_STUNNING_FIST_3 8625 8623 ife_X2ImpStFt1 **** **** **** **** **** **** **** **** 845 **** 0 0 0 **** **** **** 847 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_IMPROVED_STUNNING_FIST_3 5 **** **** **** **** **** 1 1 +847 FEAT_EPIC_IMPROVED_STUNNING_FIST_4 8626 8623 ife_X2ImpStFt1 **** **** **** **** **** **** **** **** 846 **** 0 0 0 **** **** **** 848 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_IMPROVED_STUNNING_FIST_4 5 **** **** **** **** **** 1 1 +848 FEAT_EPIC_IMPROVED_STUNNING_FIST_5 8627 8623 ife_X2ImpStFt1 **** **** **** **** **** **** **** **** 847 **** 0 0 0 **** **** **** 849 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_IMPROVED_STUNNING_FIST_5 5 **** **** **** **** **** 1 1 +849 FEAT_EPIC_IMPROVED_STUNNING_FIST_6 8628 8623 ife_X2ImpStFt1 **** **** **** **** **** **** **** **** 848 **** 0 0 0 **** **** **** 850 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_IMPROVED_STUNNING_FIST_6 5 **** **** **** **** **** 1 1 +850 FEAT_EPIC_IMPROVED_STUNNING_FIST_7 8629 8623 ife_X2ImpStFt1 **** **** **** **** **** **** **** **** 849 **** 0 0 0 **** **** **** 851 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_IMPROVED_STUNNING_FIST_7 5 **** **** **** **** **** 1 1 +851 FEAT_EPIC_IMPROVED_STUNNING_FIST_8 8630 8623 ife_X2ImpStFt1 **** **** **** **** **** **** **** **** 850 **** 0 0 0 **** **** **** 852 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_IMPROVED_STUNNING_FIST_8 5 **** **** **** **** **** 1 1 +852 FEAT_EPIC_IMPROVED_STUNNING_FIST_9 8631 8623 ife_X2ImpStFt1 **** **** **** **** **** **** **** **** 851 **** 0 0 0 **** **** **** 853 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_IMPROVED_STUNNING_FIST_9 5 **** **** **** **** **** 1 1 +853 FEAT_EPIC_IMPROVED_STUNNING_FIST_10 8632 8623 ife_X2ImpStFt1 **** **** **** **** **** **** **** **** 852 **** 0 0 0 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_IMPROVED_STUNNING_FIST_10 5 **** **** **** **** **** 1 1 +854 FEAT_EPIC_PLANAR_TURNING 8633 8634 ife_X2PlnrTurn **** **** **** **** 25 **** 25 **** 294 **** 0 0 0 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_PLANAR_TURNING 5 **** **** **** **** **** 1 1 +855 FEAT_EPIC_BANE_OF_ENEMIES 8636 8637 ife_X2BaneEnem **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_BANE_OF_ENEMIES 5 **** 21 7 **** **** 1 1 +856 FEAT_EPIC_DODGE 8638 8639 ife_X2EpicDodge **** **** 25 **** **** **** **** **** 212 223 0 0 1 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** 21 30 **** **** FEAT_EPIC_DODGE 3 **** **** **** **** **** 1 1 +857 FEAT_EPIC_AUTOMATIC_QUICKEN_1 8642 8643 ife_X2AutoLQck **** **** **** **** **** **** **** 9 29 **** 0 0 0 **** **** **** 858 1 **** **** **** **** **** **** **** **** 16 30 **** **** FEAT_EPIC_AUTOMATIC_QUICKEN_1 4 **** **** **** **** **** 1 1 +858 FEAT_EPIC_AUTOMATIC_QUICKEN_2 8644 8643 ife_X2AutoQck **** **** **** **** **** **** **** 9 857 **** 0 0 0 **** **** **** 859 1 **** **** **** **** **** **** **** **** 16 30 **** **** FEAT_EPIC_AUTOMATIC_QUICKEN_2 4 **** **** **** **** **** 1 1 +859 FEAT_EPIC_AUTOMATIC_QUICKEN_3 8645 8643 ife_X2AutoGQck **** **** **** **** **** **** **** 9 858 **** 0 0 0 **** **** **** **** 1 **** **** **** **** **** **** **** **** 16 30 **** **** FEAT_EPIC_AUTOMATIC_QUICKEN_3 4 **** **** **** **** **** 1 1 +860 FEAT_EPIC_AUTOMATIC_SILENT_SPELL_1 8646 8647 ife_X2AutoLSln **** **** **** **** **** **** **** 9 33 **** 0 0 0 **** **** **** 861 1 **** **** **** **** **** **** **** **** 16 24 **** **** FEAT_EPIC_AUTOMATIC_SILENT_SPELL_1 4 **** **** **** **** **** 1 1 +861 FEAT_EPIC_AUTOMATIC_SILENT_SPELL_2 8648 8647 ife_X2AutoSln **** **** **** **** **** **** **** 9 860 **** 0 0 0 **** **** **** 862 1 **** **** **** **** **** **** **** **** 16 24 **** **** FEAT_EPIC_AUTOMATIC_SILENT_SPELL_2 4 **** **** **** **** **** 1 1 +862 FEAT_EPIC_AUTOMATIC_SILENT_SPELL_3 8649 8647 ife_X2AutoGSln **** **** **** **** **** **** **** 9 861 **** 0 0 0 **** **** **** **** 1 **** **** **** **** **** **** **** **** 16 24 **** **** FEAT_EPIC_AUTOMATIC_SILENT_SPELL_3 4 **** **** **** **** **** 1 1 +863 FEAT_EPIC_AUTOMATIC_STILL_SPELL_1 8650 8651 ife_X2AutoLStl **** **** **** **** **** **** **** 9 37 **** 0 0 0 **** **** **** 864 1 **** **** **** **** **** **** **** **** 16 27 **** **** FEAT_EPIC_AUTOMATIC_STILL_SPELL_1 4 **** **** **** **** **** 1 1 +864 FEAT_EPIC_AUTOMATIC_STILL_SPELL_2 8652 8651 ife_X2AutoStl **** **** **** **** **** **** **** 9 863 **** 0 0 0 **** **** **** 865 1 **** **** **** **** **** **** **** **** 16 27 **** **** FEAT_EPIC_AUTOMATIC_STILL_SPELL_2 4 **** **** **** **** **** 1 1 +865 FEAT_EPIC_AUTOMATIC_STILL_SPELL_3 8653 8651 ife_X2AutoGStl **** **** **** **** **** **** **** 9 864 **** 0 0 0 **** **** **** **** 1 **** **** **** **** **** **** **** **** 16 27 **** **** FEAT_EPIC_AUTOMATIC_STILL_SPELL_3 4 **** **** **** **** **** 1 1 +866 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 0 1 +867 FEAT_WHIRLWIND_ATTACK 8654 8655 ife_X2WWndAtt 4 **** 13 13 **** **** **** **** 392 389 0 0 1 **** **** 561 868 1 **** **** 1 **** **** **** **** **** **** **** **** **** FEAT_WHIRLWIND_ATTACK 2 **** **** **** **** **** 0 1 +868 FEAT_IMPROVED_WHIRLWIND 8656 8657 ife_X2ImpWW **** **** 23 **** **** **** **** **** 867 **** 0 0 1 **** **** 645 **** 1 **** **** 1 **** **** **** **** **** **** **** **** **** FEAT_IMPROVED_WHIRLWIND 2 **** **** **** **** **** 1 1 +869 FEAT_MIGHTY_RAGE 8659 8660 ife_X2MightRage **** 21 **** **** **** 21 **** **** 331 **** 0 0 0 **** **** 642 **** 1 3 **** **** **** **** **** **** **** **** **** **** **** FEAT_MIGHTY_RAGE 2 **** **** **** **** **** 1 1 +870 FEAT_EPIC_LASTING_INSPIRATION 8661 8662 ife_X2LastInsp **** **** **** **** **** **** **** **** 373 **** 0 0 0 **** **** **** **** 0.2 **** **** **** **** **** **** **** **** 11 25 **** **** FEAT_EPIC_LASTING_INSPIRATION 5 **** **** **** **** **** 1 1 +871 FEAT_CURSE_SONG 8663 8664 ife_X2CursSong **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 644 **** 0.5 **** **** 1 **** **** **** **** **** **** **** **** **** FEAT_CURSE_SONG 5 **** **** **** **** **** 0 1 +872 FEAT_EPIC_WILD_SHAPE_UNDEAD 83891 83580 ife_X2UdShp **** **** **** **** **** **** **** **** 903 **** 0 0 0 10 1 685 **** 1 3 **** 1 **** **** **** **** **** **** **** **** **** FEAT_WILD_SHAPE_UNDEAD 6 **** **** **** **** **** 1 1 +873 FEAT_EPIC_WILD_SHAPE_DRAGON 8667 8668 ife_X2WShpDrag **** **** **** **** 30 **** **** **** **** **** 0 0 0 **** **** 725 **** 1 3 **** 1 339 903 **** **** **** **** **** **** **** FEAT_WILD_SHAPE_DRAGON 6 **** **** **** **** **** 1 1 +874 FEAT_EPIC_SPELL_MUMMY_DUST 8669 8670 ife_X2SpMumDst **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 637 **** 1 1 14 **** **** **** **** **** **** 16 15 **** **** FEAT_EPIC_SPELL_MUMMY_DUST 4 **** **** **** **** **** 1 1 +875 FEAT_EPIC_SPELL_DRAGON_KNIGHT 8671 8672 ife_X2SpDraKnt **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 638 **** 1 1 14 **** **** **** **** **** **** 16 22 **** **** FEAT_EPIC_SPELL_DRAGON_KNIGHT 4 **** **** **** **** **** 1 1 +876 FEAT_EPIC_SPELL_HELLBALL 8673 8674 ife_X2SpHellBal **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 636 **** 1 1 14 **** **** **** **** **** **** 16 32 **** **** FEAT_EPIC_SPELL_HELLBALL 4 **** **** **** **** **** 1 1 +877 FEAT_EPIC_SPELL_MAGE_ARMOUR 8675 8676 ife_X2SpMagArm **** **** **** **** **** **** **** **** **** **** 0 0 0 12 **** 639 **** 1 1 14 1 **** **** **** **** **** 16 26 **** **** FEAT_EPIC_SPELL_MAGE_ARMOUR 4 **** **** **** **** **** 1 1 +878 FEAT_EPIC_SPELL_RUIN 8677 8678 ife_X2SpRuin **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 640 **** 1 1 14 **** **** **** **** **** **** 16 25 **** **** FEAT_EPIC_SPELL_RUIN 4 **** **** **** **** **** 1 1 +879 FEAT_WEAPON_OF_CHOICE_SICKLE 8727 8728 ife_X2WpCh **** **** **** **** **** **** **** **** 98 **** 0 0 0 **** **** **** **** 0.5 **** 9 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_OF_CHOICE_SICKLE 5 **** 1 33 **** **** 0 1 +880 FEAT_WEAPON_OF_CHOICE_KAMA 8729 8728 ife_X2WpCh **** **** **** **** **** **** **** **** 117 **** 0 0 0 **** **** **** **** 0.5 **** 9 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_OF_CHOICE_KAMA 5 **** 1 33 **** **** 0 1 +881 FEAT_WEAPON_OF_CHOICE_KUKRI 8730 8728 ife_X2WpCh **** **** **** **** **** **** **** **** 118 **** 0 0 0 **** **** **** **** 0.5 **** 9 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_OF_CHOICE_KUKRI 5 **** 1 33 **** **** 0 1 +882 FEAT_KI_DAMAGE 8731 8732 ife_X2KiDamage **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 1 **** **** **** **** **** **** **** **** **** **** **** FEAT_KI_DAMAGE 5 **** **** **** **** **** 0 1 +883 FEAT_INCREASE_MULTIPLIER 8733 8734 ife_X2IncMulti **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_INCREASE_MULTIPLIER 5 **** **** **** **** **** 0 1 +884 FEAT_SUPERIOR_WEAPON_FOCUS 8735 8736 ife_X2SupWpFo **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_SUPERIOR_WEAPON_FOCUS 5 **** **** **** **** **** 0 1 +885 FEAT_KI_CRITICAL 8737 8738 ife_X2KiCrit **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_KI_CRITICAL 5 **** **** **** **** **** 0 1 +886 FEAT_BONE_SKIN_2 8739 8740 ife_X2BoneSk1 **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 887 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_BONE_SKIN_2 5 **** **** **** **** **** 0 1 +887 FEAT_BONE_SKIN_4 **** **** ife_X2BoneSk1 **** **** **** **** **** **** **** **** 886 **** 0 0 0 **** **** **** 888 0.5 **** **** **** **** **** **** **** **** **** **** **** **** **** 5 **** **** **** **** **** 0 1 +888 FEAT_BONE_SKIN_6 **** **** ife_X2BoneSk1 **** **** **** **** **** **** **** **** 887 **** 0 0 0 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** **** 5 **** **** **** **** **** 0 1 +889 FEAT_ANIMATE_DEAD 8743 8744 ife_X2SpAniDed **** **** **** **** **** **** **** **** **** **** 0 0 0 15 **** 623 **** 0.5 1 **** 1 **** **** **** **** **** **** **** **** **** FEAT_ANIMATE_DEAD 5 **** **** **** **** **** 0 1 +890 FEAT_SUMMON_UNDEAD 8745 8747 ife_X2SpSumDed **** **** **** **** **** **** **** **** **** **** 0 0 0 15 **** 624 **** 0.5 2 **** 1 **** **** **** **** **** **** **** **** **** FEAT_SUMMON_UNDEAD 5 **** **** **** **** **** 0 1 +891 FEAT_DEATHLESS_VIGOR 8748 8749 ife_X2SpDthVig **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_DEATHLESS_VIGOR 5 **** **** **** **** **** 0 1 +892 FEAT_UNDEAD_GRAFT_1 8750 8751 ife_X2SpUndGrt1 **** **** **** **** **** **** **** **** **** **** 0 0 0 3 **** 625 893 0.5 2 **** **** **** **** **** **** **** **** **** **** **** FEAT_UNDEAD_GRAFT_1 5 1 **** **** **** **** 0 1 +893 FEAT_UNDEAD_GRAFT_2 8752 8751 ife_X2SpUndGrt1 **** **** **** **** **** **** **** **** 892 **** 0 0 0 3 **** 626 **** 0.5 3 **** **** **** **** **** **** **** **** **** **** **** FEAT_UNDEAD_GRAFT_2 5 1 **** **** **** **** 0 1 +894 FEAT_TOUGH_AS_BONE 8753 8754 ife_X2SpTghBne **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_TOUGH_AS_BONE 5 **** **** **** **** **** 0 1 +895 FEAT_SUMMON_GREATER_UNDEAD 8755 8758 ife_X2SpSuGrUn **** **** **** **** **** **** **** **** **** **** 0 0 0 15 **** 627 **** 0.5 1 **** 1 **** **** **** **** **** **** **** **** **** FEAT_SUMMON_GREATER_UNDEAD 5 **** **** **** **** **** 0 1 +896 FEAT_DEATHLESS_MASTERY 8759 8760 ife_X2DethMast **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_DEATHLESS_MASTERY 5 **** **** **** **** **** 0 1 +897 FEAT_DEATHLESS_MASTER_TOUCH 8761 8762 ife_X2DthMstTch **** **** **** **** **** **** **** **** 893 **** 0 0 0 3 **** 628 **** 0.5 3 **** **** **** **** **** **** **** **** **** **** **** FEAT_DEATHLESS_MASTER_TOUCH 5 **** **** **** **** **** 0 1 +898 FEAT_GREATER_WILDSHAPE_1 8665 83391 ife_X2GWShp1 **** **** **** **** **** **** **** **** **** **** 0 0 0 10 1 646 **** 1 6 **** 1 **** **** **** **** **** **** **** **** **** FEAT_GREATER_WILDSHAPE_1 6 **** **** **** **** **** 0 1 +899 **** **** **** ***** **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 0 1 +900 FEAT_GREATER_WILDSHAPE_2 8766 8767 ife_X2GWShp2 **** **** **** **** **** **** **** **** 898 **** 0 0 0 10 1 675 **** 1 3 **** 1 **** **** **** **** **** **** **** **** **** FEAT_GREATER_WILDSHAPE_2 5 **** **** **** **** **** 0 1 +901 FEAT_GREATER_WILDSHAPE_3 8768 8769 ife_X2GWShp3 **** **** **** **** **** **** **** **** 900 **** 0 0 0 10 1 676 **** 1 3 **** 1 **** **** **** **** **** **** **** **** **** FEAT_GREATER_WILDSHAPE_3 5 **** **** **** **** **** 0 1 +902 FEAT_HUMANOID_SHAPE 8770 8771 ife_X2HumanShp **** **** **** **** **** **** **** **** **** **** 0 0 0 10 1 681 **** 1 3 **** 1 **** **** **** **** **** **** **** **** **** FEAT_HUMANOID_SHAPE 5 **** **** **** **** **** 0 1 +903 FEAT_GREATER_WILDSHAPE_4 8772 8773 ife_X2GWShp4 **** **** **** **** **** **** **** **** 901 **** 0 0 0 10 1 677 **** 1 3 **** 1 **** **** **** **** **** **** **** **** **** FEAT_GREATER_WILDSHAPE_4 5 **** **** **** **** **** 0 1 +904 FEAT_SACRED_DEFENSE_1 8774 8775 ife_X2SacrDef1 **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 905 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_SACRED_DEFENSE_1 5 **** **** **** **** **** 0 1 +905 DELETED_FEAT_SACRED_DEFENSE_2 **** 8775 ife_X2SacrDef1 **** **** **** **** **** **** **** **** 904 **** 0 0 0 **** **** **** 906 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_SACRED_DEFENSE_2 5 **** **** **** **** **** 0 1 +906 DELETED_FEAT_SACRED_DEFENSE_3 **** 8775 ife_X2SacrDef1 **** **** **** **** **** **** **** **** 905 **** 0 0 0 **** **** **** 907 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_SACRED_DEFENSE_3 5 **** **** **** **** **** 0 1 +907 DELETED_FEAT_SACRED_DEFENSE_4 **** 8775 ife_X2SacrDef1 **** **** **** **** **** **** **** **** 906 **** 0 0 0 **** **** **** 908 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_SACRED_DEFENSE_4 5 **** **** **** **** **** 0 1 +908 DELETED_FEAT_SACRED_DEFENSE_5 **** 8775 ife_X2SacrDef1 **** **** **** **** **** **** **** **** 907 **** 0 0 0 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_SACRED_DEFENSE_5 5 **** **** **** **** **** 0 1 +909 FEAT_DIVINE_WRATH 8780 8781 ife_X2DiviWrth **** **** **** **** **** **** **** **** **** **** 0 0 0 22 **** 622 **** 1 1 **** 1 **** **** **** **** **** **** **** **** **** FEAT_DIVINE_WRATH 5 **** **** **** **** **** 0 1 +910 FEAT_EXTRA_SMITING 8782 8783 ife_X2ExtrSmit **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 0.2 **** **** **** 301 472 **** **** **** **** **** **** **** FEAT_EXTRA_SMITING 5 **** **** **** **** **** 0 1 +911 FEAT_SKILL_FOCUS_CRAFT_ARMOR 8784 424 ife_X2SkFCrAr **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 0.2 **** 4 **** **** **** **** **** **** 25 **** **** **** FEAT_SKILL_FOCUS_CRAFT_ARMOR 6 **** **** **** **** **** 0 1 +912 FEAT_SKILL_FOCUS_CRAFT_WEAPON 8785 424 ife_X2SkFCrWp **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 0.2 **** 4 **** **** **** **** **** **** 26 **** **** **** FEAT_SKILL_FOCUS_CRAFT_WEAPON 6 **** **** **** **** **** 0 1 +913 FEAT_EPIC_SKILL_FOCUS_CRAFT_ARMOR 8969 4063 ife_X2ESFCrAr **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 0.2 **** 15 **** **** **** **** **** **** 25 20 **** **** FEAT_EPIC_SKILL_FOCUS_CRAFT_ARMOR 6 **** **** **** **** **** 1 1 +914 FEAT_EPIC_SKILL_FOCUS_CRAFT_WEAPON 8970 4063 ife_X2ESFCrWp **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 0.2 **** 15 **** **** **** **** **** **** 26 20 **** **** FEAT_EPIC_SKILL_FOCUS_CRAFT_WEAPON 6 **** **** **** **** **** 1 1 +915 FEAT_SKILL_FOCUS_BLUFF 8971 424 ife_X2SkFBluf **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 0.2 **** 4 **** **** **** **** **** **** 23 **** **** **** FEAT_SKILL_FOCUS_BLUFF 6 **** **** **** **** **** 0 1 +916 FEAT_SKILL_FOCUS_INTIMIDATE 8972 424 ife_X2SkFInti **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 0.2 **** 4 **** **** **** **** **** **** 24 **** **** **** FEAT_SKILL_FOCUS_INTIMIDATE 6 **** **** **** **** **** 0 1 +917 FEAT_EPIC_SKILL_FOCUS_BLUFF 8973 4063 ife_X2ESFBluf **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 0.2 **** 15 **** **** **** **** **** **** 23 20 **** **** FEAT_EPIC_SKILL_FOCUS_BLUFF 6 **** **** **** **** **** 1 1 +918 FEAT_EPIC_SKILL_FOCUS_INTIMIDATE 8974 4063 ife_X2ESFInti **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 0.2 **** 15 **** **** **** **** **** **** 24 20 **** **** FEAT_EPIC_SKILL_FOCUS_INTIMIDATE 6 **** **** **** **** **** 1 1 +919 FEAT_WEAPON_OF_CHOICE_CLUB 8976 8728 ife_X2WpCh **** **** **** **** **** **** **** **** 43 **** 0 0 0 **** **** **** **** 0.5 **** 9 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_OF_CHOICE_CLUB 5 **** 1 33 **** **** 0 1 +920 FEAT_WEAPON_OF_CHOICE_DAGGER 8977 8728 ife_X2WpCh **** **** **** **** **** **** **** **** 90 **** 0 0 0 **** **** **** **** 0.5 **** 9 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_OF_CHOICE_DAGGER 5 **** 1 33 **** **** 0 1 +921 FEAT_WEAPON_OF_CHOICE_LIGHTMACE 8978 8728 ife_X2WpCh **** **** **** **** **** **** **** **** 94 **** 0 0 0 **** **** **** **** 0.5 **** 9 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_OF_CHOICE_LIGHTMACE 5 **** 1 33 **** **** 0 1 +922 FEAT_WEAPON_OF_CHOICE_MORNINGSTAR 8979 8728 ife_X2WpCh **** **** **** **** **** **** **** **** 95 **** 0 0 0 **** **** **** **** 0.5 **** 9 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_OF_CHOICE_MORNINGSTAR 5 **** 1 33 **** **** 0 1 +923 FEAT_WEAPON_OF_CHOICE_QUARTERSTAFF 8980 8728 ife_X2WpCh **** **** **** **** **** **** **** **** 96 **** 0 0 0 **** **** **** **** 0.5 **** 9 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_OF_CHOICE_QUARTERSTAFF 5 **** 1 33 **** **** 0 1 +924 FEAT_WEAPON_OF_CHOICE_SHORTSPEAR 8981 8728 ife_X2WpCh **** **** **** **** **** **** **** **** 97 **** 0 0 0 **** **** **** **** 0.5 **** 9 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_OF_CHOICE_SHORTSPEAR 5 **** 1 33 **** **** 0 1 +925 FEAT_WEAPON_OF_CHOICE_SHORTSWORD 8982 8728 ife_X2WpCh **** **** **** **** **** **** **** **** 103 **** 0 0 0 **** **** **** **** 0.5 **** 9 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_OF_CHOICE_SHORTSWORD 5 **** 1 33 **** **** 0 1 +926 FEAT_WEAPON_OF_CHOICE_RAPIER 8983 8728 ife_X2WpCh **** **** **** **** **** **** **** **** 104 **** 0 0 0 **** **** **** **** 0.5 **** 9 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_OF_CHOICE_RAPIER 5 **** 1 33 **** **** 0 1 +927 FEAT_WEAPON_OF_CHOICE_SCIMITAR 8984 8728 ife_X2WpCh **** **** **** **** **** **** **** **** 105 **** 0 0 0 **** **** **** **** 0.5 **** 9 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_OF_CHOICE_SCIMITAR 5 **** 1 33 **** **** 0 1 +928 FEAT_WEAPON_OF_CHOICE_LONGSWORD 8985 8728 ife_X2WpCh **** **** **** **** **** **** **** **** 106 **** 0 0 0 **** **** **** **** 0.5 **** 9 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_OF_CHOICE_LONGSWORD 5 **** 1 33 **** **** 0 1 +929 FEAT_WEAPON_OF_CHOICE_GREATSWORD 8986 8728 ife_X2WpCh **** **** **** **** **** **** **** **** 107 **** 0 0 0 **** **** **** **** 0.5 **** 9 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_OF_CHOICE_GREATSWORD 5 **** 1 33 **** **** 0 1 +930 FEAT_WEAPON_OF_CHOICE_HANDAXE 8987 8728 ife_X2WpCh **** **** **** **** **** **** **** **** 108 **** 0 0 0 **** **** **** **** 0.5 **** 9 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_OF_CHOICE_HANDAXE 5 **** 1 33 **** **** 0 1 +931 FEAT_WEAPON_OF_CHOICE_BATTLEAXE 8988 8728 ife_X2WpCh **** **** **** **** **** **** **** **** 110 **** 0 0 0 **** **** **** **** 0.5 **** 9 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_OF_CHOICE_BATTLEAXE 5 **** 1 33 **** **** 0 1 +932 FEAT_WEAPON_OF_CHOICE_GREATAXE 8989 8728 ife_X2WpCh **** **** **** **** **** **** **** **** 111 **** 0 0 0 **** **** **** **** 0.5 **** 9 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_OF_CHOICE_GREATAXE 5 **** 1 33 **** **** 0 1 +933 FEAT_WEAPON_OF_CHOICE_HALBERD 8990 8728 ife_X2WpCh **** **** **** **** **** **** **** **** 112 **** 0 0 0 **** **** **** **** 0.5 **** 9 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_OF_CHOICE_HALBERD 5 **** 1 33 **** **** 0 1 +934 FEAT_WEAPON_OF_CHOICE_LIGHTHAMMER 8991 8728 ife_X2WpCh **** **** **** **** **** **** **** **** 113 **** 0 0 0 **** **** **** **** 0.5 **** 9 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_OF_CHOICE_LIGHTHAMMER 5 **** 1 33 **** **** 0 1 +935 FEAT_WEAPON_OF_CHOICE_LIGHTFLAIL 8992 8728 ife_X2WpCh **** **** **** **** **** **** **** **** 114 **** 0 0 0 **** **** **** **** 0.5 **** 9 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_OF_CHOICE_LIGHTFLAIL 5 **** 1 33 **** **** 0 1 +936 FEAT_WEAPON_OF_CHOICE_WARHAMMER 8993 8728 ife_X2WpCh **** **** **** **** **** **** **** **** 115 **** 0 0 0 **** **** **** **** 0.5 **** 9 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_OF_CHOICE_WARHAMMER 5 **** 1 33 **** **** 0 1 +937 FEAT_WEAPON_OF_CHOICE_HEAVYFLAIL 8994 8728 ife_X2WpCh **** **** **** **** **** **** **** **** 116 **** 0 0 0 **** **** **** **** 0.5 **** 9 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_OF_CHOICE_HEAVYFLAIL 5 **** 1 33 **** **** 0 1 +938 FEAT_WEAPON_OF_CHOICE_SCYTHE 8995 8728 ife_X2WpCh **** **** **** **** **** **** **** **** 121 **** 0 0 0 **** **** **** **** 0.5 **** 9 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_OF_CHOICE_SCYTHE 5 **** 1 33 **** **** 0 1 +939 FEAT_WEAPON_OF_CHOICE_KATANA 8996 8728 ife_X2WpCh **** **** **** **** **** **** **** **** 122 **** 0 0 0 **** **** **** **** 0.5 **** 9 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_OF_CHOICE_KATANA 5 **** 1 33 **** **** 0 1 +940 FEAT_WEAPON_OF_CHOICE_BASTARDSWORD 8997 8728 ife_X2WpCh **** **** **** **** **** **** **** **** 123 **** 0 0 0 **** **** **** **** 0.5 **** 9 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_OF_CHOICE_BASTARDSWORD 5 **** 1 33 **** **** 0 1 +941 FEAT_WEAPON_OF_CHOICE_DIREMACE 8998 8728 ife_X2WpCh **** **** **** **** **** **** **** **** 125 **** 0 0 0 **** **** **** **** 0.5 **** 9 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_OF_CHOICE_DIREMACE 5 **** 1 33 **** **** 0 1 +942 FEAT_WEAPON_OF_CHOICE_DOUBLEAXE 8999 8728 ife_X2WpCh **** **** **** **** **** **** **** **** 126 **** 0 0 0 **** **** **** **** 0.5 **** 9 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_OF_CHOICE_DOUBLEAXE 5 **** 1 33 **** **** 0 1 +943 FEAT_WEAPON_OF_CHOICE_TWOBLADEDSWORD 9000 8728 ife_X2WpCh **** **** **** **** **** **** **** **** 127 **** 0 0 0 **** **** **** **** 0.5 **** 9 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_OF_CHOICE_TWOBLADEDSWORD 5 **** 1 33 **** **** 0 1 +944 FEAT_BREW_POTION 68855 68891 ife_X2BrewPotion **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_BREW_POTION 6 **** **** **** **** **** 0 1 +945 FEAT_SCRIBE_SCROLL 68895 68912 ife_X2ScribScrl **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_SCRIBE_SCROLL 6 **** **** **** **** **** 0 1 +946 FEAT_CRAFT_WAND 68961 76387 ife_X2CraftWand **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_CRAFT_WAND 6 **** **** **** **** **** 0 1 +947 FEAT_PRESTIGE_DEFENSIVE_STANCE 76423 76424 ife_X2DefStance **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 641 **** 0.5 1 **** 1 **** **** **** **** **** **** **** **** **** FEAT_DWARVEN_DEFENDER_DEFENSIVE_STANCE 3 **** **** **** **** **** 0 1 +948 DWARVEN_DEFENDER_DAMAGE_REDUCTION 76428 76429 ife_damred **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_DAMAGE_REDUCTION_6 3 **** **** **** **** **** 0 1 +949 FEAT_PRESTIGE_DEFENSIVE_AWARENESS_1 76430 76431 ife_X2DefAware **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 950 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_DEFENSIVE_AWARENESS_1 6 **** **** **** **** **** 0 1 +950 FEAT_PRESTIGE_DEFENSIVE_AWARENESS_2 76432 76434 ife_X2DefAware **** **** **** **** **** **** **** **** 949 **** 0 0 0 **** **** **** 951 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_DEFENSIVE_AWARENESS_2 6 **** **** **** **** **** 0 1 +951 FEAT_PRESTIGE_DEFENSIVE_AWARENESS_3 76433 76435 ife_X2DefAware **** **** **** **** **** **** **** **** 950 **** 0 0 0 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_DEFENSIVE_AWARENESS_3 6 **** **** **** **** **** 0 1 +952 FEAT_WEAPON_FOCUS_DWAXE 83318 436 ife_X2WFDWAx 1 **** **** **** **** **** **** **** 44 **** 0 0 1 **** **** **** **** 1 **** 1 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_FOCUS_DWAXE 1 **** **** **** **** **** 0 1 +953 FEAT_WEAPON_SPECIALIZATION_DWAXE 83319 444 ife_X2WSDWAx 4 **** **** **** **** **** **** **** 952 **** 0 0 0 **** **** **** **** 1 **** 2 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_SPECIALIZATION_DWAXE 1 **** 4 4 **** **** 0 1 +954 FEAT_IMPROVED_CRITICAL_DWAXE 83320 228 ife_X2CrtDWAx 8 **** **** **** **** **** **** **** 44 **** 0 0 1 **** **** **** **** 1 **** 0 **** **** **** **** **** **** **** **** **** **** FEAT_IMPROVED_CRITICAL_DWAXE 1 **** **** **** **** **** 0 1 +955 FEAT_EPIC_DEVASTATING_CRITICAL_DWAXE 83321 3909 ife_X2DCrtDWAx **** 25 **** **** **** **** **** **** 391 958 0 0 1 **** **** **** **** 0.5 **** 13 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_DEVASTATING_CRITICAL_DWAXE 1 **** **** **** **** **** 1 1 +956 FEAT_EPIC_WEAPON_FOCUS_DWAXE 83322 8415 ife_X2EWFDWAx **** **** **** **** **** **** **** **** 952 **** 0 0 1 **** **** **** **** 0.5 **** 10 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_FOCUS_DWAXE 1 **** **** **** **** **** 1 1 +957 FEAT_EPIC_WEAPON_SPECIALIZATION_DWAXE 83323 8456 ife_X2EWSDWAx **** **** **** **** **** **** **** **** 953 956 0 0 0 **** **** **** **** 0.5 **** 11 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_SPECIALIZATION_DWAXE 1 **** **** **** **** **** 1 1 +958 FEAT_EPIC_OVERWHELMING_CRITICAL_DWAXE 83324 8524 ife_X2OCrtDWAx **** 23 **** **** **** **** **** **** 391 954 0 0 1 **** **** **** **** 0.5 **** 12 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_OVERWHELMING_CRITICAL_DWAXE 1 **** **** **** **** **** 1 1 +959 FEAT_WEAPON_OF_CHOICE_DWAXE 83325 8728 ife_X2WpCh **** **** **** **** **** **** **** **** 952 **** 0 0 0 **** **** **** **** 0.5 **** 9 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_OF_CHOICE_DWAXE 5 **** 1 33 **** **** 0 1 +960 FEAT_USE_POISON 83371 83372 ife_X2UsePoison **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_USE_POISON 6 **** **** **** **** **** 0 1 +961 FEAT_DRAGON_ARMOR 83494 83499 ife_X2DDArmor **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_DRAGON_ARMOR 5 **** **** **** **** **** 0 1 +962 FEAT_DRAGON_ABILITIES 83495 83500 ife_X2DDArmor **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_DRAGON_ABILITIES 5 **** **** **** **** **** 0 1 +963 FEAT_DRAGON_IMMUNE_PARALYSIS 83496 83501 ife_X2ImmPara **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_DRAGON_IMMUNE_PARALYSIS 5 **** **** **** **** **** 0 1 +964 FEAT_DRAGON_IMMUNE_FIRE 83497 83502 ife_X2ImmFire **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_DRAGON_IMMUNE_FIRE 5 **** **** **** **** **** 0 1 +965 FEAT_DRAGON_DIS_BREATH 83498 83503 ife_X2DDBreath **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 690 **** 1 1 **** **** **** **** **** **** **** **** **** **** **** FEAT_DRAGON_DIS_BREATH 5 **** **** **** **** **** 0 1 +966 FEAT_EPIC_FIGHTER 83504 83505 ife_X2Epfighter **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_FIGHTER 6 **** **** **** **** **** 1 1 +967 FEAT_EPIC_BARBARIAN 83508 83529 ife_X2Epbarba **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_BARBARIAN 6 **** **** **** **** **** 1 1 +968 FEAT_EPIC_BARD 83509 83530 ife_X2Epbard **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_BARD 6 **** **** **** **** **** 1 1 +969 FEAT_EPIC_CLERIC 83510 83531 ife_X2Epcleric **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_CLERIC 6 **** **** **** **** **** 1 1 +970 FEAT_EPIC_DRUID 83511 83532 ife_X2Epdruid **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_DRUID 6 **** **** **** **** **** 1 1 +971 FEAT_EPIC_MONK 83512 83533 ife_X2Epmonk **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_MONK 6 **** **** **** **** **** 1 1 +972 FEAT_EPIC_PALADIN 83513 83534 ife_X2Eppal **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_PALADIN 6 **** **** **** **** **** 1 1 +973 FEAT_EPIC_RANGER 83514 83535 ife_X2Epranger **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_RANGER 6 **** **** **** **** **** 1 1 +974 FEAT_EPIC_ROGUE 83515 83536 ife_X2Eprogue **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ROGUE 6 **** **** **** **** **** 1 1 +975 FEAT_EPIC_SORCERER 83516 83537 ife_X2Epsorc **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_SORCERER 6 **** **** **** **** **** 1 1 +976 FEAT_EPIC_WIZARD 83517 83538 ife_X2Epwizard **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WIZARD 6 **** **** **** **** **** 1 1 +977 FEAT_EPIC_ARCANE_ARCHER 83518 83539 ife_X2EpARCHER **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ARCANE_ARCHER 6 **** **** **** **** **** 1 1 +978 FEAT_EPIC_ASSASSIN 83519 83540 ife_X2EpASASIN **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_ASSASSIN 6 **** **** **** **** **** 1 1 +979 FEAT_EPIC_BLACKGUARD 83521 83542 ife_X2EpBLKGRD **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_BLACKGUARD 6 **** **** **** **** **** 1 1 +980 FEAT_EPIC_SHADOWDANCER 83520 83541 ife_X2EpShad **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_SHADOWDANCER 6 **** **** **** **** **** 1 1 +981 FEAT_EPIC_HARPER_SCOUT_83522_83543 **** **** IR_X1_HARPER **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_HARPER_SCOUT 6 **** **** **** **** **** 1 1 +982 FEAT_EPIC_DIVINE_CHAMPION 83523 83544 ife_X2EpDIVCHA **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_DIVINE_CHAMPION 6 **** **** **** **** **** 1 1 +983 FEAT_EPIC_WEAPON_MASTER 83524 83545 ife_X2EpWM **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_MASTER 6 **** **** **** **** **** 1 1 +984 FEAT_EPIC_PALE_MASTER 83527 83548 ife_X2EpPALEMA **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_PALE_MASTER 6 **** **** **** **** **** 1 1 +985 FEAT_EPIC_DWARVEN_DEFENDER 83525 83546 ife_X2EpDWDEF **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_DWARVEN_DEFENDER 6 **** **** **** **** **** 1 1 +986 FEAT_EPIC_SHIFTER 83526 83547 ife_X2EpSHIFTR **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_SHIFTER 6 **** **** **** **** **** 1 1 +987 FEAT_EPIC_RED_DRAGON_DISC 83528 83549 ife_X2EpDRAGOND **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_RED_DRAGON_DISC 6 **** **** **** **** **** 1 1 +988 FEAT_EPIC_THUNDERING_RAGE 83568 83569 ife_rage **** 25 **** **** **** **** **** **** 329 **** 0 0 0 **** 1 **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_THUNDERING_RAGE 6 **** **** **** **** **** 1 1 +989 FEAT_EPIC_TERRIFYING_RAGE 83581 83582 ife_rage **** **** **** **** **** **** **** **** 329 **** 0 0 0 **** 1 **** **** 0.5 **** **** **** **** **** **** **** **** 24 25 **** **** FEAT_EPIC_TERRIFYING_RAGE 6 **** **** **** **** **** 1 1 +990 FEAT_EPIC_SPELL_EPIC_WARDING 83607 83608 ife_X2EpicWard **** **** **** **** **** **** **** **** **** **** 0 0 0 12 **** 695 **** 1 1 14 1 **** **** **** **** **** 16 34 **** **** FEAT_EPIC_EPIC_WARDING 4 **** **** **** **** **** 1 1 +991 FEAT_PRESTIGE_MASTER_CRAFTER_83633_83634 **** **** ife_X2MstCraft **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.2 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_MASTER_CRAFTER 6 **** 10 28 **** **** 0 1 +992 FEAT_PRESTIGE_SCROUNGER_83635_83636 **** **** ife_X2MstCraft **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.2 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_SCROUNGER 3 **** 6 28 **** **** 0 1 +993 FEAT_WEAPON_FOCUS_WHIP 8777 436 ife_X2WFWhip 1 **** **** **** **** **** **** **** 44 **** 0 0 1 **** **** **** **** 1 **** 1 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_FOCUS_WHIP 1 **** **** **** **** **** 0 1 +994 FEAT_WEAPON_SPECIALIZATION_WHIP 8778 444 ife_X2WSWhip 4 **** **** **** **** **** **** **** 993 **** 0 0 0 **** **** **** **** 1 **** 2 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_SPECIALIZATION_WHIP 1 **** 4 4 **** **** 0 1 +995 FEAT_IMPROVED_CRITICAL_WHIP 8779 228 ife_X2CrtWhip 8 **** **** **** **** **** **** **** 44 **** 0 0 1 **** **** **** **** 1 **** 0 **** **** **** **** **** **** **** **** **** **** FEAT_IMPROVED_CRITICAL_WHIP 1 **** **** **** **** **** 0 1 +996 FEAT_EPIC_DEVASTATING_CRITICAL_WHIP 83637 3909 ife_X2DCrtWhip **** 25 **** **** **** **** **** **** 391 999 0 0 1 **** **** **** **** 0.5 **** 13 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_DEVASTATING_CRITICAL_WHIP 1 **** **** **** **** **** 1 1 +997 FEAT_EPIC_WEAPON_FOCUS_WHIP 83638 8415 ife_X2EWFWhip **** **** **** **** **** **** **** **** 993 **** 0 0 1 **** **** **** **** 0.5 **** 10 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_FOCUS_WHIP 1 **** **** **** **** **** 1 1 +998 FEAT_EPIC_WEAPON_SPECIALIZATION_WHIP 83639 8456 ife_X2EWSWhip **** **** **** **** **** **** **** **** 994 997 0 0 0 **** **** **** **** 0.5 **** 11 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_SPECIALIZATION_WHIP 1 **** **** **** **** **** 1 1 +999 FEAT_EPIC_OVERWHELMING_CRITICAL_WHIP 83641 8524 ife_X2OCrtWhip **** 23 **** **** **** **** **** **** 391 995 0 0 1 **** **** **** **** 0.5 **** 12 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_OVERWHELMING_CRITICAL_WHIP 1 **** **** **** **** **** 1 1 +1000 FEAT_WEAPON_OF_CHOICE_WHIP 83642 8728 ife_X2WpCh **** **** **** **** **** **** **** **** 993 **** 0 0 0 **** **** **** **** 0.5 **** 9 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_OF_CHOICE_WHIP 5 **** 1 33 **** **** 0 1 +1001 FEAT_EPIC_CHARACTER 83665 83666 ife_X2EpicChar **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_CHARACTER 6 **** **** **** **** **** 0 1 +1002 FEAT_EPIC_EPIC_SHADOWLORD 83700 83702 ife_X1SShad **** **** **** **** **** **** **** **** 435 **** 0 0 0 **** 1 **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_EPIC_SHADOWLORD 6 **** **** 27 **** **** 1 1 +1003 FEAT_EPIC_EPIC_FIEND 83701 83703 is_LsPlanar **** **** **** **** **** **** **** **** 475 **** 0 0 0 **** 1 **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_EPIC_FIEND 6 **** 15 31 **** **** 1 1 +1004 FEAT_PRESTIGE_DEATH_ATTACK_6 83727 8695 ife_X1DethAtt **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 1005 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_DEATH_ATTACK_6 5 **** **** **** **** **** 1 1 +1005 FEAT_PRESTIGE_DEATH_ATTACK_7 83728 8695 ife_X1DethAtt **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 1006 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_DEATH_ATTACK_7 5 **** **** **** **** **** 1 1 +1006 FEAT_PRESTIGE_DEATH_ATTACK_8 83729 8695 ife_X1DethAtt **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 1019 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_DEATH_ATTACK_8 5 **** **** **** **** **** 1 1 +1007 FEAT_BLACKGUARD_SNEAK_ATTACK_4D6 83731 40052 ife_sneakhit **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 1008 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_BLACKGUARD_SNEAK_ATTACK_4D6 6 **** **** **** **** **** 1 1 +1008 FEAT_BLACKGUARD_SNEAK_ATTACK_5D6 83732 40052 ife_sneakhit **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 1009 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_BLACKGUARD_SNEAK_ATTACK_5D6 6 **** **** **** **** **** 1 1 +1009 FEAT_BLACKGUARD_SNEAK_ATTACK_6D6 83733 40052 ife_sneakhit **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 1010 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_BLACKGUARD_SNEAK_ATTACK_6D6 6 **** **** **** **** **** 1 1 +1010 FEAT_BLACKGUARD_SNEAK_ATTACK_7D6 83734 40052 ife_sneakhit **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 1011 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_BLACKGUARD_SNEAK_ATTACK_7D6 6 **** **** **** **** **** 1 1 +1011 FEAT_BLACKGUARD_SNEAK_ATTACK_8D6 83735 40052 ife_sneakhit **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 1012 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_BLACKGUARD_SNEAK_ATTACK_8D6 6 **** **** **** **** **** 1 1 +1012 FEAT_BLACKGUARD_SNEAK_ATTACK_9D6 83737 40052 ife_sneakhit **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 1013 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_BLACKGUARD_SNEAK_ATTACK_9D6 6 **** **** **** **** **** 1 1 +1013 FEAT_BLACKGUARD_SNEAK_ATTACK_10D6 83738 40052 ife_sneakhit **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 1014 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_BLACKGUARD_SNEAK_ATTACK_10D6 6 **** **** **** **** **** 1 1 +1014 FEAT_BLACKGUARD_SNEAK_ATTACK_11D6 83739 40052 ife_sneakhit **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 1015 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_BLACKGUARD_SNEAK_ATTACK_11D6 6 **** **** **** **** **** 1 1 +1015 FEAT_BLACKGUARD_SNEAK_ATTACK_12D6 83740 40052 ife_sneakhit **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 1016 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_BLACKGUARD_SNEAK_ATTACK_12D6 6 **** **** **** **** **** 1 1 +1016 FEAT_BLACKGUARD_SNEAK_ATTACK_13D6 83741 40052 ife_sneakhit **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 1017 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_BLACKGUARD_SNEAK_ATTACK_13D6 6 **** **** **** **** **** 1 1 +1017 FEAT_BLACKGUARD_SNEAK_ATTACK_14D6 83742 40052 ife_sneakhit **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 1018 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_BLACKGUARD_SNEAK_ATTACK_14D6 6 **** **** **** **** **** 1 1 +1018 FEAT_BLACKGUARD_SNEAK_ATTACK_15D6 83743 40052 ife_sneakhit **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_BLACKGUARD_SNEAK_ATTACK_15D6 6 **** **** **** **** **** 1 1 +1019 FEAT_PRESTIGE_DEATH_ATTACK_9 83744 8695 ife_X1DethAtt **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 1020 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_DEATH_ATTACK_9 5 **** **** **** **** **** 1 1 +1020 FEAT_PRESTIGE_DEATH_ATTACK_10 83746 8695 ife_X1DethAtt **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 1021 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_DEATH_ATTACK_10 5 **** **** **** **** **** 1 1 +1021 FEAT_PRESTIGE_DEATH_ATTACK_11 83747 8695 ife_X1DethAtt **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 1022 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_DEATH_ATTACK_11 5 **** **** **** **** **** 1 1 +1022 FEAT_PRESTIGE_DEATH_ATTACK_12 83748 8695 ife_X1DethAtt **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 1023 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_DEATH_ATTACK_12 5 **** **** **** **** **** 1 1 +1023 FEAT_PRESTIGE_DEATH_ATTACK_13 83749 8695 ife_X1DethAtt **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 1024 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_DEATH_ATTACK_13 5 **** **** **** **** **** 1 1 +1024 FEAT_PRESTIGE_DEATH_ATTACK_14 83750 8695 ife_X1DethAtt **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 1025 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_DEATH_ATTACK_14 5 **** **** **** **** **** 1 1 +1025 FEAT_PRESTIGE_DEATH_ATTACK_15 83751 8695 ife_X1DethAtt **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 1026 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_DEATH_ATTACK_15 5 **** **** **** **** **** 1 1 +1026 FEAT_PRESTIGE_DEATH_ATTACK_16 83752 8695 ife_X1DethAtt **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 1027 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_DEATH_ATTACK_16 5 **** **** **** **** **** 1 1 +1027 FEAT_PRESTIGE_DEATH_ATTACK_17 83753 8695 ife_X1DethAtt **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 1028 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_DEATH_ATTACK_17 5 **** **** **** **** **** 1 1 +1028 FEAT_PRESTIGE_DEATH_ATTACK_18 83754 8695 ife_X1DethAtt **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 1029 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_DEATH_ATTACK_18 5 **** **** **** **** **** 1 1 +1029 FEAT_PRESTIGE_DEATH_ATTACK_19 83755 8695 ife_X1DethAtt **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 1030 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_DEATH_ATTACK_19 5 **** **** **** **** **** 1 1 +1030 FEAT_PRESTIGE_DEATH_ATTACK_20 83756 8695 ife_X1DethAtt **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 353 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_DEATH_ATTACK_20 5 **** **** **** **** **** 1 1 +1031 **** **** **** ***** **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 0 1 +1032 SneakAttack11 83758 6039 ife_sneakhit **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 1033 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_SNEAK_ATTACK_11 6 **** **** **** **** **** 0 1 +1033 SneakAttack12 83759 6039 ife_sneakhit **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 1034 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_SNEAK_ATTACK_12 6 **** **** **** **** **** 0 1 +1034 SneakAttack13 83760 6039 ife_sneakhit **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 1035 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_SNEAK_ATTACK_13 6 **** **** **** **** **** 0 1 +1035 SneakAttack14 83761 6039 ife_sneakhit **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 1036 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_SNEAK_ATTACK_14 6 **** **** **** **** **** 0 1 +1036 SneakAttack15 83762 6039 ife_sneakhit **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 1037 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_SNEAK_ATTACK_15 6 **** **** **** **** **** 0 1 +1037 SneakAttack16 83763 6039 ife_sneakhit **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 1038 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_SNEAK_ATTACK_16 6 **** **** **** **** **** 0 1 +1038 SneakAttack17 83764 6039 ife_sneakhit **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 1039 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_SNEAK_ATTACK_17 6 **** **** **** **** **** 0 1 +1039 SneakAttack18 83765 6039 ife_sneakhit **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 1040 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_SNEAK_ATTACK_18 6 **** **** **** **** **** 0 1 +1040 SneakAttack19 83766 6039 ife_sneakhit **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 1041 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_SNEAK_ATTACK_19 6 **** **** **** **** **** 0 1 +1041 SneakAttack20 83767 6039 ife_sneakhit **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_SNEAK_ATTACK_20 6 **** **** **** **** **** 0 1 +1042 FEAT_DRAGON_HDINCREASE_D6 83811 83814 ife_DDHDincrease **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 1043 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_DRAGON_HDINCREASE_D6 5 **** **** **** **** **** 0 1 +1043 FEAT_DRAGON_HDINCREASE_D8 83812 83814 ife_DDHDincrease **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** 1044 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_DRAGON_HDINCREASE_D8 5 **** **** **** **** **** 0 1 +1044 FEAT_DRAGON_HDINCREASE_D10 83813 83814 ife_DDHDincrease **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_DRAGON_HDINCREASE_D10 5 **** **** **** **** **** 0 1 +1045 FEAT_PRESTIGE_ENCHANT_ARROW_6 83843 8680 ife_X1EnchArr **** **** **** **** **** **** **** **** 449 **** 0 0 0 **** **** **** 1046 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_ENCHANT_ARROW_6 5 **** **** **** **** **** 0 1 +1046 FEAT_PRESTIGE_ENCHANT_ARROW_7 83844 8680 ife_X1EnchArr **** **** **** **** **** **** **** **** 1045 **** 0 0 0 **** **** **** 1047 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_ENCHANT_ARROW_7 5 **** **** **** **** **** 0 1 +1047 FEAT_PRESTIGE_ENCHANT_ARROW_8 83845 8680 ife_X1EnchArr **** **** **** **** **** **** **** **** 1046 **** 0 0 0 **** **** **** 1048 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_ENCHANT_ARROW_8 5 **** **** **** **** **** 0 1 +1048 FEAT_PRESTIGE_ENCHANT_ARROW_9 83846 8680 ife_X1EnchArr **** **** **** **** **** **** **** **** 1047 **** 0 0 0 **** **** **** 1049 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_ENCHANT_ARROW_9 5 **** **** **** **** **** 0 1 +1049 FEAT_PRESTIGE_ENCHANT_ARROW_10 83847 8680 ife_X1EnchArr **** **** **** **** **** **** **** **** 1048 **** 0 0 0 **** **** **** 1050 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_ENCHANT_ARROW_10 5 **** **** **** **** **** 0 1 +1050 FEAT_PRESTIGE_ENCHANT_ARROW_11 83870 8680 ife_X1EnchArr **** **** **** **** **** **** **** **** 1049 **** 0 0 0 **** **** **** 1051 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_ENCHANT_ARROW_11 5 **** **** **** **** **** 0 1 +1051 FEAT_PRESTIGE_ENCHANT_ARROW_12 83871 8680 ife_X1EnchArr **** **** **** **** **** **** **** **** 1050 **** 0 0 0 **** **** **** 1052 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_ENCHANT_ARROW_12 5 **** **** **** **** **** 0 1 +1052 FEAT_PRESTIGE_ENCHANT_ARROW_13 83872 8680 ife_X1EnchArr **** **** **** **** **** **** **** **** 1051 **** 0 0 0 **** **** **** 1053 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_ENCHANT_ARROW_13 5 **** **** **** **** **** 0 1 +1053 FEAT_PRESTIGE_ENCHANT_ARROW_14 83873 8680 ife_X1EnchArr **** **** **** **** **** **** **** **** 1052 **** 0 0 0 **** **** **** 1054 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_ENCHANT_ARROW_14 5 **** **** **** **** **** 0 1 +1054 FEAT_PRESTIGE_ENCHANT_ARROW_15 83874 8680 ife_X1EnchArr **** **** **** **** **** **** **** **** 1053 **** 0 0 0 **** **** **** 1055 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_ENCHANT_ARROW_15 5 **** **** **** **** **** 0 1 +1055 FEAT_PRESTIGE_ENCHANT_ARROW_16 83875 8680 ife_X1EnchArr **** **** **** **** **** **** **** **** 1054 **** 0 0 0 **** **** **** 1056 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_ENCHANT_ARROW_16 5 **** **** **** **** **** 0 1 +1056 FEAT_PRESTIGE_ENCHANT_ARROW_17 83876 8680 ife_X1EnchArr **** **** **** **** **** **** **** **** 1055 **** 0 0 0 **** **** **** 1057 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_ENCHANT_ARROW_17 5 **** **** **** **** **** 0 1 +1057 FEAT_PRESTIGE_ENCHANT_ARROW_18 83878 8680 ife_X1EnchArr **** **** **** **** **** **** **** **** 1056 **** 0 0 0 **** **** **** 1058 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_ENCHANT_ARROW_18 5 **** **** **** **** **** 0 1 +1058 FEAT_PRESTIGE_ENCHANT_ARROW_19 83879 8680 ife_X1EnchArr **** **** **** **** **** **** **** **** 1057 **** 0 0 0 **** **** **** 1059 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_ENCHANT_ARROW_19 5 **** **** **** **** **** 0 1 +1059 FEAT_PRESTIGE_ENCHANT_ARROW_20 83880 8680 ife_X1EnchArr **** **** **** **** **** **** **** **** 1058 **** 0 0 0 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_ENCHANT_ARROW_20 5 **** **** **** **** **** 0 1 +1060 FEAT_EPIC_OUTSIDER_SHAPE 84181 8741 ife_X2OutShape **** **** **** **** 25 **** **** **** 903 **** 0 0 0 10 1 732 **** 1 3 **** 1 **** **** **** **** **** **** **** **** **** FEAT_EPIC_OUTSIDER_SHAPE 5 **** **** **** **** **** 1 1 +1061 FEAT_EPIC_CONSTRUCT_SHAPE 84182 8742 ife_X2ConShp **** **** **** **** 27 **** **** **** 903 **** 0 0 0 10 1 737 **** 1 3 **** 1 **** **** **** **** **** **** **** **** **** FEAT_EPIC_CONSTRUCT_SHAPE 5 **** **** **** **** **** 1 1 +1062 FEAT_EPIC_SHIFTER_INFINITE_WILDSHAPE_1 84475 84480 ife_X2GWShp1 **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_SHIFTER_INFINITE_WILDSHAPE_1 6 **** **** **** **** **** 1 1 +1063 FEAT_EPIC_SHIFTER_INFINITE_WILDSHAPE_2 84476 84480 ife_X2GWShp2 **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_SHIFTER_INFINITE_WILDSHAPE_2 6 **** **** **** **** **** 1 1 +1064 FEAT_EPIC_SHIFTER_INFINITE_WILDSHAPE_3 84477 84480 ife_X2GWShp3 **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_SHIFTER_INFINITE_WILDSHAPE_3 6 **** **** **** **** **** 1 1 +1065 FEAT_EPIC_SHIFTER_INFINITE_WILDSHAPE_4 84478 84480 ife_X2GWShp4 **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_SHIFTER_INFINITE_WILDSHAPE_4 6 **** **** **** **** **** 1 1 +1066 FEAT_EPIC_SHIFTER_INFINITE_HUMANOID_SHAPE 84479 84480 ife_X2HumanShp **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_SHIFTER_INFINITE_HUMANOID_SHAPE 6 **** **** **** **** **** 1 1 +1067 FEAT_EPIC_BARBARIAN_DAMAGE_REDUCTION 85496 85495 ife_damred **** **** **** **** **** **** **** **** 334 **** 0 0 0 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_BARBARIAN_DAMAGE_REDUCTION 3 **** **** **** **** **** 1 1 +1068 FEAT_EPIC_DRUID_INFINITE_WILDSHAPE 85592 85594 ife_wildshape **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_DRUID_INFINITE_WILDSHAPE 6 **** **** **** **** **** 1 1 +1069 FEAT_EPIC_DRUID_INFINITE_ELEMENTAL_SHAPE 85593 85595 ife_eleshape **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** **** **** 0 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_DRUID_INFINITE_ELEMENTAL_SHAPE 6 **** **** **** **** **** 1 1 +1070 FEAT_PRESTIGE_POISON_SAVE_EPIC 86230 86231 ife_X1PoisSav **** **** **** **** **** **** **** **** 466 **** 0 0 0 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PRESTIGE_POISON_SAVE_EPIC 5 **** **** **** **** **** 0 1 +1071 FEAT_EPIC_SUPERIOR_WEAPON_FOCUS 86783 86784 ife_X2SupWpFo **** **** **** **** **** **** **** **** 884 **** 0 0 0 **** **** **** **** 0.5 **** **** **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_SUPERIOR_WEAPON_FOCUS 5 **** 11 33 **** **** 1 1 +1072 FEAT_WEAPON_FOCUS_TRIDENT 110891 436 ife_X2WFTri 1 **** **** **** **** **** **** **** 45 **** 0 0 1 **** **** **** **** 1 **** 1 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_FOCUS_TRIDENT 1 **** **** **** **** **** 0 1 +1073 FEAT_WEAPON_SPECIALIZATION_TRIDENT 110892 444 ife_X2WSTri 4 **** **** **** **** **** **** **** 1072 **** 0 0 0 **** **** **** **** 1 **** 2 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_SPECIALIZATION_TRIDENT 1 **** 4 4 **** **** 0 1 +1074 FEAT_IMPROVED_CRITICAL_TRIDENT 110893 228 ife_X2CrtTri 8 **** **** **** **** **** **** **** 45 **** 0 0 1 **** **** **** **** 1 **** 0 **** **** **** **** **** **** **** **** **** **** FEAT_IMPROVED_CRITICAL_TRIDENT 1 **** **** **** **** **** 0 1 +1075 FEAT_EPIC_DEVASTATING_CRITICAL_TRIDENT 110894 3909 ife_X2DCrtTri **** 25 **** **** **** **** **** **** 391 1078 0 0 1 **** **** **** **** 0.5 **** 13 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_DEVASTATING_CRITICAL_TRIDENT 1 **** **** **** **** **** 1 1 +1076 FEAT_EPIC_WEAPON_FOCUS_TRIDENT 110895 8415 ife_X2EWFTri **** **** **** **** **** **** **** **** 1072 **** 0 0 1 **** **** **** **** 0.5 **** 10 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_FOCUS_TRIDENT 1 **** **** **** **** **** 1 1 +1077 FEAT_EPIC_WEAPON_SPECIALIZATION_TRIDENT 110896 8456 ife_X2EWSTri **** **** **** **** **** **** **** **** 1073 1076 0 0 0 **** **** **** **** 0.5 **** 11 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_WEAPON_SPECIALIZATION_TRIDENT 1 **** **** **** **** **** 1 1 +1078 FEAT_EPIC_OVERWHELMING_CRITICAL_TRIDENT 110897 8524 ife_X2OCrtTri **** 23 **** **** **** **** **** **** 391 1074 0 0 1 **** **** **** **** 0.5 **** 12 **** **** **** **** **** **** **** **** **** **** FEAT_EPIC_OVERWHELMING_CRITICAL_TRIDENT 1 **** **** **** **** **** 1 1 +1079 FEAT_WEAPON_OF_CHOICE_TRIDENT 110898 8728 ife_X2WpCh **** **** **** **** **** **** **** **** 1072 **** 0 0 0 **** **** **** **** 0.5 **** 9 **** **** **** **** **** **** **** **** **** **** FEAT_WEAPON_OF_CHOICE_TRIDENT 5 **** 1 33 **** **** 0 1 +1080 FEAT_PDK_RALLY 111714 111715 ife_x3_pdkrally **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 806 **** 1 3 **** 1 **** **** **** **** **** **** **** **** **** FEAT_PDK_RALLY 4 **** **** **** **** **** 0 0 +1081 FEAT_PDK_SHIELD 111716 111717 ife_x3_pdkhshld **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 807 **** 1 -1 **** **** **** **** **** **** **** **** **** **** **** FEAT_PDK_SHIELD 4 **** **** **** **** **** 0 0 +1082 FEAT_PDK_FEAR 111718 111719 ife_x3_pdkfear **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 808 **** 1 1 **** **** **** **** **** **** **** **** **** **** **** FEAT_PDK_FEAR 4 **** **** **** **** **** 0 1 +1083 FEAT_PDK_WRATH 111720 111721 ife_x3_pdkwrath **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 809 **** 1 1 **** **** **** **** **** **** **** **** **** **** **** FEAT_PDK_WRATH 4 **** **** **** **** **** 0 0 +1084 FEAT_PDK_STAND 111722 111723 ife_x3_pdkstand **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 810 **** 1 1 **** 1 **** **** **** **** **** **** **** **** **** FEAT_PDK_STAND 4 **** **** **** **** **** 0 1 +1085 FEAT_PDK_INSPIRE_1 111724 111725 ife_x3_pdkinsp **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 811 1086 1 1 **** 1 **** **** **** **** **** **** **** **** **** FEAT_PDK_INSPIRE_1 4 **** **** **** **** **** 0 1 +1086 FEAT_PDK_INSPIRE_2 111724 111725 ife_x3_pdkinsp **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 811 **** 1 2 **** 1 **** **** **** **** **** **** **** **** **** FEAT_PDK_INSPIRE_2 4 **** **** **** **** **** 0 1 +1087 FEAT_MOUNTED_COMBAT 111728 111729 ife_x3_mcombat **** **** **** **** **** **** **** **** **** **** 0 0 1 **** **** **** **** 1 **** **** **** **** **** **** **** **** 27 1 **** **** FEAT_MOUNTED_COMBAT 4 **** **** **** **** **** 0 1 +1088 FEAT_MOUNTED_ARCHERY 111730 111731 ife_x3_marchery **** **** **** **** **** **** **** **** 1087 **** 0 0 1 **** **** **** **** 1 **** **** **** **** **** **** **** **** 27 1 **** **** FEAT_MOUNTED_ARCHERY 4 **** **** **** **** **** 0 1 +1089 HORSE_MENU 111875 111876 ife_x3_horse **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 812 **** **** **** **** **** **** **** **** **** **** **** **** **** **** FEAT_HORSE_MENU 6 **** 99 **** **** **** 0 0 +1090 HORSE_MOUNT 111877 111878 ife_x3_mount **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 813 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** FEAT_HORSE_MOUNT 6 **** 99 **** **** **** 0 0 +1091 HORSE_DISMOUNT 111879 111880 ife_x3_dismount **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 814 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** FEAT_HORSE_DISMOUNT 6 **** 99 **** **** **** 0 0 +1092 HORSE_PARTY_MOUNT 111883 111884 ife_x3_pmount **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 815 **** **** **** **** 1 **** **** **** **** **** **** **** **** **** FEAT_HORSE_PARTY_MOUNT 6 **** 99 **** **** **** 0 0 +1093 HORSE_PARTY_DISMOUNT 111885 111886 ife_x3_pdmount **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 816 **** **** **** **** **** **** **** **** **** **** **** **** **** **** FEAT_HORSE_GATHER_MOUNTS 6 **** 99 **** **** **** 0 0 +1094 HORSE_ASSIGN_MOUNT 111887 111888 ife_x3_amount **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 817 **** **** **** **** **** **** **** **** **** **** **** **** **** **** FEAT_HORSE_ASSIGN_MOUNT 6 **** 99 **** **** **** 0 0 +1095 PALADIN_SUMMON_MOUNT 111881 111882 ife_x3_whsummon **** **** **** **** **** **** **** **** **** **** 0 0 0 **** **** 818 **** 1 1 **** 1 **** **** **** **** **** **** **** **** **** FEAT_PALADIN_SUMMON_MOUNT 6 **** **** **** **** **** 0 1 +1096 DM_TOOL_01 111674 111935 ife_x3_dmtool01 **** **** **** **** **** **** **** **** **** **** 0 0 1 10 **** 820 **** **** **** **** **** **** **** **** **** **** **** **** **** **** FEAT_DM_TOOL_01 6 **** 99 **** **** **** 0 0 +1097 DM_TOOL_02 111675 111936 ife_x3_dmtool02 **** **** **** **** **** **** **** **** **** **** 0 0 1 10 **** 821 **** **** **** **** **** **** **** **** **** **** **** **** **** **** FEAT_DM_TOOL_02 6 **** 99 **** **** **** 0 0 +1098 DM_TOOL_03 111676 111937 ife_x3_dmtool03 **** **** **** **** **** **** **** **** **** **** 0 0 1 10 **** 822 **** **** **** **** **** **** **** **** **** **** **** **** **** **** FEAT_DM_TOOL_03 6 **** 99 **** **** **** 0 0 +1099 DM_TOOL_04 111677 111938 ife_x3_dmtool04 **** **** **** **** **** **** **** **** **** **** 0 0 1 10 **** 823 **** **** **** **** **** **** **** **** **** **** **** **** **** **** FEAT_DM_TOOL_04 6 **** 99 **** **** **** 0 0 +1100 DM_TOOL_05 111678 111939 ife_x3_dmtool05 **** **** **** **** **** **** **** **** **** **** 0 0 1 10 **** 824 **** **** **** **** **** **** **** **** **** **** **** **** **** **** FEAT_DM_TOOL_05 6 **** 99 **** **** **** 0 0 +1101 DM_TOOL_06 111679 111940 ife_x3_dmtool06 **** **** **** **** **** **** **** **** **** **** 0 0 1 10 **** 825 **** **** **** **** **** **** **** **** **** **** **** **** **** **** FEAT_DM_TOOL_06 6 **** 99 **** **** **** 0 0 +1102 DM_TOOL_07 111680 111941 ife_x3_dmtool07 **** **** **** **** **** **** **** **** **** **** 0 0 1 10 **** 826 **** **** **** **** **** **** **** **** **** **** **** **** **** **** FEAT_DM_TOOL_07 6 **** 99 **** **** **** 0 0 +1103 DM_TOOL_08 111681 111942 ife_x3_dmtool08 **** **** **** **** **** **** **** **** **** **** 0 0 1 10 **** 827 **** **** **** **** **** **** **** **** **** **** **** **** **** **** FEAT_DM_TOOL_08 6 **** 99 **** **** **** 0 0 +1104 DM_TOOL_09 111682 111943 ife_x3_dmtool09 **** **** **** **** **** **** **** **** **** **** 0 0 1 10 **** 828 **** **** **** **** **** **** **** **** **** **** **** **** **** **** FEAT_DM_TOOL_09 6 **** 99 **** **** **** 0 0 +1105 DM_TOOL_10 111683 111944 ife_x3_dmtool10 **** **** **** **** **** **** **** **** **** **** 0 0 1 10 **** 829 **** **** **** **** **** **** **** **** **** **** **** **** **** **** FEAT_DM_TOOL_10 6 **** 99 **** **** **** 0 0 +1106 PLAYER_TOOL_01 111684 111945 ife_x3_ptool01 **** **** **** **** **** **** **** **** **** **** 0 0 1 10 **** 830 **** **** **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PLAYER_TOOL_01 6 **** 99 **** **** **** 0 0 +1107 PLAYER_TOOL_02 111685 111946 ife_x3_ptool02 **** **** **** **** **** **** **** **** **** **** 0 0 1 10 **** 831 **** **** **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PLAYER_TOOL_02 6 **** 99 **** **** **** 0 0 +1108 PLAYER_TOOL_03 111686 111947 ife_x3_ptool03 **** **** **** **** **** **** **** **** **** **** 0 0 1 10 **** 832 **** **** **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PLAYER_TOOL_03 6 **** 99 **** **** **** 0 0 +1109 PLAYER_TOOL_04 111687 111948 ife_x3_ptool04 **** **** **** **** **** **** **** **** **** **** 0 0 1 10 **** 833 **** **** **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PLAYER_TOOL_04 6 **** 99 **** **** **** 0 0 +1110 PLAYER_TOOL_05 111688 111949 ife_x3_ptool05 **** **** **** **** **** **** **** **** **** **** 0 0 1 10 **** 834 **** **** **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PLAYER_TOOL_05 6 **** 99 **** **** **** 0 0 +1111 PLAYER_TOOL_06 111689 111950 ife_x3_ptool06 **** **** **** **** **** **** **** **** **** **** 0 0 1 10 **** 835 **** **** **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PLAYER_TOOL_06 6 **** 99 **** **** **** 0 0 +1112 PLAYER_TOOL_07 111690 111951 ife_x3_ptool07 **** **** **** **** **** **** **** **** **** **** 0 0 1 10 **** 836 **** **** **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PLAYER_TOOL_07 6 **** 99 **** **** **** 0 0 +1113 PLAYER_TOOL_08 111691 111952 ife_x3_ptool08 **** **** **** **** **** **** **** **** **** **** 0 0 1 10 **** 837 **** **** **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PLAYER_TOOL_08 6 **** 99 **** **** **** 0 0 +1114 PLAYER_TOOL_09 111692 111953 ife_x3_ptool09 **** **** **** **** **** **** **** **** **** **** 0 0 1 10 **** 838 **** **** **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PLAYER_TOOL_09 6 **** 99 **** **** **** 0 0 +1115 PLAYER_TOOL_10 111693 111954 ife_x3_ptool10 **** **** **** **** **** **** **** **** **** **** 0 0 1 10 **** 839 **** **** **** **** **** **** **** **** **** **** **** **** **** **** FEAT_PLAYER_TOOL_10 6 **** 99 **** **** **** 0 0 +1116 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1117 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1118 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1119 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1120 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1121 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1122 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1123 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1124 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1125 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1126 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1127 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1128 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1129 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1130 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1131 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1132 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1133 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1134 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1135 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1136 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1137 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1138 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1139 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1140 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1141 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1142 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1143 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1144 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1145 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1146 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1147 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1148 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1149 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1150 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1151 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1152 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1153 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1154 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1155 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1156 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1157 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1158 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1159 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1160 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1161 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1162 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1163 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1164 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1165 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1166 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1167 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1168 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1169 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1170 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1171 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1172 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1173 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1174 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1175 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1176 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1177 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1178 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1179 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1180 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1181 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1182 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1183 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1184 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1185 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1186 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1187 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1188 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1189 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1190 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1191 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1192 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1193 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1194 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1195 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1196 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1197 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1198 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1199 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1200 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1201 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1202 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1203 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1204 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1205 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1206 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1207 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1208 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1209 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1210 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1211 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1212 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1213 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1214 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1215 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1216 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1217 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1218 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1219 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1220 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1221 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1222 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1223 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1224 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1225 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1226 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1227 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1228 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1229 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1230 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1231 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1232 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1233 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1234 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1235 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1236 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1237 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1238 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1239 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1240 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1241 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1242 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1243 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1244 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1245 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1246 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1247 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1248 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1249 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1250 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1251 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1252 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1253 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1254 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1255 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1256 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1257 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1258 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1259 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1260 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1261 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1262 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1263 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1264 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1265 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1266 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1267 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1268 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1269 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1270 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1271 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1272 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1273 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1274 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1275 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1276 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1277 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1278 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1279 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1280 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1281 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1282 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1283 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1284 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1285 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1286 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1287 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1288 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1289 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1290 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1291 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1292 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1293 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1294 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1295 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1296 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1297 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1298 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1299 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1300 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1301 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1302 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1303 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1304 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1305 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1306 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1307 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1308 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1309 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1310 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1311 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1312 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1313 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1314 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1315 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1316 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1317 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1318 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1319 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1320 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1321 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1322 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1323 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1324 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1325 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1326 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1327 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1328 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1329 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1330 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1331 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1332 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1333 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1334 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1335 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1336 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1337 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1338 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1339 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1340 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1341 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1342 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1343 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1344 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1345 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1346 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1347 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1348 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1349 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1350 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1351 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1352 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1353 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1354 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1355 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1356 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1357 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1358 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1359 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1360 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1361 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1362 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1363 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1364 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1365 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1366 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1367 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1368 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1369 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1370 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1371 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1372 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1373 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1374 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1375 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1376 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1377 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1378 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1379 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1380 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1381 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1382 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1383 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1384 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1385 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1386 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1387 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1388 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1389 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1390 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1391 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1392 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1393 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1394 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1395 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1396 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1397 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1398 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1399 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1400 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1401 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1402 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1403 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1404 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1405 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1406 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1407 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1408 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1409 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1410 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1411 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1412 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1413 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1414 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1415 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1416 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1417 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1418 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1419 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1420 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1421 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1422 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1423 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1424 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1425 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1426 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1427 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1428 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1429 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1430 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1431 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1432 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1433 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1434 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1435 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1436 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1437 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1438 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1439 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1440 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1441 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1442 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1443 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1444 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1445 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1446 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1447 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1448 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1449 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1450 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1451 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1452 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1453 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1454 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1455 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1456 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1457 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1458 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1459 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1460 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1461 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1462 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1463 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1464 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1465 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1466 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1467 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1468 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1469 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1470 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1471 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1472 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1473 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1474 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1475 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1476 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1477 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1478 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1479 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1480 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1481 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1482 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1483 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1484 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1485 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1486 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1487 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1488 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1489 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1490 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1491 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1492 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1493 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1494 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1495 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1496 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1497 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1498 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1499 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1500 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1501 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1502 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1503 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1504 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1505 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1506 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1507 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1508 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1509 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1510 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1511 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1512 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1513 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1514 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1515 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1516 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1517 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1518 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1519 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1520 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1521 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1522 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1523 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1524 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1525 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1526 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1527 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1528 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1529 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1530 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1531 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1532 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1533 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1534 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1535 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1536 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1537 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1538 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1539 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1540 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1541 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1542 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1543 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1544 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1545 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1546 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1547 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1548 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1549 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1550 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1551 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1552 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1553 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1554 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1555 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1556 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1557 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1558 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1559 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1560 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1561 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1562 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1563 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1564 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1565 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1566 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1567 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1568 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1569 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1570 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1571 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1572 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1573 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1574 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1575 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1576 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1577 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1578 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1579 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1580 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1581 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1582 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1583 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1584 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1585 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1586 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1587 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1588 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1589 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1590 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1591 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1592 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1593 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1594 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1595 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1596 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1597 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1598 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1599 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1600 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1601 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1602 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1603 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1604 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1605 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1606 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1607 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1608 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1609 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1610 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1611 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1612 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1613 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1614 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1615 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1616 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1617 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1618 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1619 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1620 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1621 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1622 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1623 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1624 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1625 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1626 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1627 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1628 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1629 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1630 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1631 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1632 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1633 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1634 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1635 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1636 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1637 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1638 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1639 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1640 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1641 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1642 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1643 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1644 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1645 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1646 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1647 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1648 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1649 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1650 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1651 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1652 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1653 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1654 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1655 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1656 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1657 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1658 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1659 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1660 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1661 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1662 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1663 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1664 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1665 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1666 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1667 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1668 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1669 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1670 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1671 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1672 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1673 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1674 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1675 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1676 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1677 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1678 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1679 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1680 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1681 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1682 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1683 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1684 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1685 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1686 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1687 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1688 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1689 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1690 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1691 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1692 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1693 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1694 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1695 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1696 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1697 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1698 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1699 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1700 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1701 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1702 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1703 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1704 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1705 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1706 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1707 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1708 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1709 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1710 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1711 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1712 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1713 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1714 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1715 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1716 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1717 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1718 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1719 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1720 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1721 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1722 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1723 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1724 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1725 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1726 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1727 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1728 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1729 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1730 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1731 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1732 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1733 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1734 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1735 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1736 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1737 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1738 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1739 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1740 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1741 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1742 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1743 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1744 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1745 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1746 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1747 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1748 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1749 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1750 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1751 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1752 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1753 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1754 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1755 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1756 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1757 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1758 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1759 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1760 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1761 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1762 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1763 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1764 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1765 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1766 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1767 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1768 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1769 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1770 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1771 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1772 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1773 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1774 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1775 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1776 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1777 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1778 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1779 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1780 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1781 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1782 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1783 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1784 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1785 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1786 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1787 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1788 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1789 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1790 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1791 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1792 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1793 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1794 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1795 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1796 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1797 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1798 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1799 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** +1800 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** diff --git a/src/nss/bg_age_cv.nss b/src/nss/bg_age_cv.nss new file mode 100644 index 0000000..c0be30b --- /dev/null +++ b/src/nss/bg_age_cv.nss @@ -0,0 +1,65 @@ +// bg_age_cv.nss +#include "inc_dynconv" +#include "x2_inc_switches" + +const int STAGE_LIST = 0; +const int STAGE_CONFIRM = 1; + +void main() { + object oPC = GetPCSpeaker(); + SendMessageToPC(oPC, "DEBUG: bg_age_cv main() entered"); + int nValue = GetLocalInt(oPC, DYNCONV_VARIABLE); + int nStage = GetStage(oPC); + + // Required guard: abort if nValue is 0 + if (nValue == 0) return; + + if (nValue == DYNCONV_SETUP_STAGE) { + if (!GetIsStageSetUp(nStage, oPC)) { + if (nStage == STAGE_LIST) { + SetHeader("Now for the finishing touches. If you would like to apply an age modifier to your character, you may do so. Aging affects are as follows:\n" + + "Young Age/Opt Out: No effects\n" + + "Middle Age: -1 STR, -1 DEX, -1 CON, +1 INT, +1 WIS, +1 CHA\n" + + "Old Age: -2 STR, -2 DEX, -2 CON, +2 INT, +2 WIS, +2 CHA\n" + + "Venerable Age: -3 STR, -3 DEX, -3 CON, +3 INT, +3 WIS, +3 CHA"); + AddChoice("Young Age / Opt Out", 0, oPC); + AddChoice("Middle Age", 1, oPC); + AddChoice("Old Age", 2, oPC); + AddChoice("Venerable Age", 3, oPC); + MarkStageSetUp(nStage, oPC); + SetDefaultTokens(); + } else if (nStage == STAGE_CONFIRM) { + int nSelected = GetLocalInt(oPC, "age_selected"); + string sPrompt = "Are you sure you want to apply this age modifier?"; + SetHeader(sPrompt); + AddChoice("Yes", nSelected, oPC); + AddChoice("No", -1, oPC); + MarkStageSetUp(nStage, oPC); + SetDefaultTokens(); + } + } + SetupTokens(); + } else { + int nChoice = GetChoice(oPC); + if (nStage == STAGE_LIST) { + SetLocalInt(oPC, "age_selected", nChoice); + SetStage(STAGE_CONFIRM, oPC); + } else if (nStage == STAGE_CONFIRM) { + if (nChoice >= 0) { + string sGrant; + switch (nChoice) { + case 0: sGrant = "te_bg_a_n"; break; + case 1: sGrant = "te_bg_a_m"; break; + case 2: sGrant = "te_bg_a_o"; break; + case 3: sGrant = "te_bg_a_v"; break; + default: sGrant = ""; break; + } + if (sGrant != "") ExecuteScript(sGrant, oPC); + // Conversation ends naturally + } else { + SetStage(STAGE_LIST, oPC); + } + } + SetStage(nStage, oPC); + } +} \ No newline at end of file diff --git a/src/nss/bg_background_cv.nss b/src/nss/bg_background_cv.nss new file mode 100644 index 0000000..ec74ed0 --- /dev/null +++ b/src/nss/bg_background_cv.nss @@ -0,0 +1,3082 @@ +// bg_background_cv.nss +#include "inc_dynconv" +#include "x2_inc_switches" +#include "inc_persist_loca" +#include "te_afflic_func" + + +const int STAGE_LIST = 0; +const int STAGE_CONFIRM = 1; + +string GetBackgroundText(object oPC, int nChoice) +{ + return GetLocalString(oPC, "bg_dyn_text_" + IntToString(nChoice)); +} + +// Ensure the PC Data Object exists; create if missing +object EnsurePlayerDataObject(object oPC) +{ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + if (!GetIsObjectValid(oItem)) + { + oItem = CreateItemOnObject("pc_data_object", oPC); + } + return oItem; +} + +int _CanBeAffluent(object oPC = OBJECT_SELF) +{ + + int nClass = GetPersistantLocalInt(oPC, "CC1"); + int nRtype = GetRacialType(oPC); + return ( + (nClass == BACKGROUND_MIDDLE || nClass == BACKGROUND_UPPER) && + (nRtype == RACIAL_TYPE_HALFELF || nRtype == RACIAL_TYPE_HUMAN) + ); +} + +int _CanBeBrawler(object oPC = OBJECT_SELF) +{ + int nSubrace = GetPersistantLocalInt(oPC, "CC0"); + int nClass = GetPersistantLocalInt(oPC, "CC1"); + return ( + nClass != BACKGROUND_UPPER && + nSubrace != 1458 && // Fey'ri + nSubrace != 1177 && // Copper Elf + nSubrace != 1178 && // Green Elf + nSubrace != 1179 && // Dark Elf + nSubrace != 1180 && // Silver Elf + nSubrace != 1181 && // Gold Elf + nSubrace != 1452 && // Deep Gnome + nSubrace != 1453 && // Forest Gnome + nSubrace != 1454 && // Rock Gnome + GetAbilityScore(oPC,ABILITY_STRENGTH,TRUE) >= 13 + ); +} + +int _CanBeCircleBorn(object oPC = OBJECT_SELF) +{ + int nSubrace = GetPersistantLocalInt(oPC, "CC0"); + int nClass = GetPersistantLocalInt(oPC, "CC1"); + return ( + nClass == BACKGROUND_LOWER && + nSubrace != 1182 && // Gold Dwarf + nSubrace != 1183 && // Grey Dwarf + nSubrace != 1184 && // Shield Dwarf + nSubrace != 1458 && // Fey'ri + nSubrace != 1179 && // Dark Elf + nSubrace != 1181 && // Gold Elf + nSubrace != 1452 && // Deep Gnome + nSubrace != 1454 && // Rock Gnome + nSubrace != 1455 && // Ghostwise Halfling + nSubrace != 1456 && // Lightfoot Halfling + nSubrace != 1457 && // Strongheart Halfling + nSubrace != 1186 && // Aasimar + nSubrace != 1187 && // Tiefling + GetRacialType(oPC) != RACIAL_TYPE_HALFORC + ); +} + +int _CanBeCosmopolitan(object oPC = OBJECT_SELF) +{ + int nSubrace = GetPersistantLocalInt(oPC, "CC0"); + int nClass = GetPersistantLocalInt(oPC, "CC1"); + return ( + nClass == BACKGROUND_MIDDLE && + nSubrace != 1175 && // Natural Lycan + nSubrace != 1179 && // Dark Elf + nSubrace != 1182 && // Gold Dwarf + nSubrace != 1183 && // Grey Dwarf + nSubrace != 1184 && // Shield Dwarf + nSubrace != 1186 && // Aasimar + nSubrace != 1187 && // Tiefling + nSubrace != 1445 && // F(?) Folk + nSubrace != 1446 && // Chultan + nSubrace != 1452 && // Deep Gnome + nSubrace != 1453 && // Forest Gnome + nSubrace != 1458 && // Fey'ri + GetAbilityScore(oPC,ABILITY_CHARISMA, TRUE) >= 13 && + GetRacialType(oPC) != RACIAL_TYPE_HALFORC && + GetLevelByClass(CLASS_TYPE_BARBARIAN,oPC) < 1 + ); +} + +int _CanBeDukesWarband(object oPC = OBJECT_SELF) +{ + int nSubrace = GetPersistantLocalInt(oPC, "CC0"); + int nClass = GetPersistantLocalInt(oPC, "CC1"); + return ( + nClass != BACKGROUND_UPPER && + (nSubrace == 1175 || // Natural Lycan + nSubrace == 1177 || // Copper Elf + nSubrace == 1178 || // Green Elf + nSubrace == 1180 || // Silver Elf + nSubrace == 1387) && // Tethyrian + GetRacialType(oPC) != RACIAL_TYPE_HALFORC && + GetLevelByClass(CLASS_TYPE_BARBARIAN,oPC) < 1 + ); +} + +int _CanBeElmanesse(object oPC = OBJECT_SELF) +{ + int nSubrace = GetPersistantLocalInt(oPC, "CC0"); + int nClass = GetPersistantLocalInt(oPC, "CC1"); + + return ( + nSubrace == 1177 || // Copper Elf + nSubrace == 1178 || // Green Elf + nSubrace == 1180 || // Silver Elf + nSubrace == 1181 || // Gold Elf + GetRacialType(oPC) == RACIAL_TYPE_HALFELF + ); +} + +int _CanBeEnlightened(object oPC = OBJECT_SELF) +{ + int nSubrace = GetPersistantLocalInt(oPC, "CC0"); + int nClass = GetPersistantLocalInt(oPC, "CC1"); + return ( + nClass != BACKGROUND_LOWER && + GetRacialType(oPC) != RACIAL_TYPE_HALFORC && + GetLevelByClass(CLASS_TYPE_BARBARIAN,oPC) < 1 + ); +} + +int _CanBeEvangelist(object oPC = OBJECT_SELF) +{ + int nSubrace = GetPersistantLocalInt(oPC, "CC0"); + int nClass = GetPersistantLocalInt(oPC, "CC1"); + return ( + nSubrace != 1179 && // Dark Elf + nSubrace != 1183 && // Grey Dwarf + nSubrace != 1452 && // Deep Gnome + nSubrace != 1453 && // Forest Gnome + GetAbilityScore(oPC,ABILITY_CHARISMA,TRUE) >= 13 + ); +} + +int _CanBeForester(object oPC = OBJECT_SELF) +{ + int nSubrace = GetPersistantLocalInt(oPC, "CC0"); + int nClass = GetPersistantLocalInt(oPC, "CC1"); + return ( + nClass == BACKGROUND_LOWER && + nSubrace != 1179 && // Dark Elf + nSubrace != 1182 && // Gold Dwarf + nSubrace != 1183 && // Grey Dwarf + nSubrace != 1184 && // Shield Dwarf + GetAbilityScore(oPC,ABILITY_CONSTITUTION,TRUE) >= 11 + ); +} + +int _CanBeHardLaborer(object oPC = OBJECT_SELF) +{ + int nClass = GetPersistantLocalInt(oPC, "CC1"); + + return ( + nClass == BACKGROUND_LOWER && + GetAbilityScore(oPC,ABILITY_CONSTITUTION,TRUE) >= 11 + ); +} + +int _CanBeInHarem(object oPC = OBJECT_SELF) +{ + int nSubrace = GetPersistantLocalInt(oPC, "CC0"); + int nClass = GetPersistantLocalInt(oPC, "CC1"); + return ( + (nClass == BACKGROUND_LOWER || nClass == BACKGROUND_MIDDLE) && + nSubrace != 1182 && // Gold Dwarf + nSubrace != 1183 && // Grey Dwarf + nSubrace != 1184 && // Shield Dwarf + nSubrace != 1452 && // Deep Gnome + nSubrace != 1453 && // Forest Gnome + nSubrace != 1454 && // Rock Gnome + nSubrace != 1455 && // Ghostwise Halfling + nSubrace != 1456 && // Lightfoot Halfling + nSubrace != 1457 && // Strongheart Halfling + GetRacialType(oPC) != RACIAL_TYPE_HALFORC && + GetAbilityScore(oPC,ABILITY_CHARISMA,TRUE) >= 13 + ); +} + +int _CanBeHighMage(object oPC = OBJECT_SELF) +{ + int nSubrace = GetPersistantLocalInt(oPC, "CC0"); + return ( + nSubrace == 1177 || // Copper Elf + nSubrace == 1178 || // Green Elf + nSubrace == 1180 || // Silver Elf + nSubrace == 1181 || // Gold Elf + GetAbilityScore(oPC,ABILITY_INTELLIGENCE,TRUE) >= 15 + ); +} + +int _CanBeAmnianTrained(object oPC = OBJECT_SELF) +{ + object oPC = GetPCSpeaker(); + // Make sure the player has the required feats + if( + (!GetHasFeat(BACKGROUND_LOWER,oPC)&& + GetAbilityScore(oPC,ABILITY_INTELLIGENCE,TRUE) >= 13) && + GetLevelByClass(CLASS_TYPE_BARBARIAN,oPC) < 1 && + (GetHasFeat(1381,oPC) || + GetHasFeat(1382,oPC) || + GetHasFeat(1387,oPC)) + ) + { + return TRUE; + } + + return FALSE; +} + +int _CanBeCalishiteTrained(object oPC = OBJECT_SELF) +{ + object oPC = GetPCSpeaker(); + // Make sure the player has the required feats + if((GetHasFeat(BACKGROUND_UPPER,oPC) == TRUE)&& + !GetHasFeat(1182,oPC) && + !GetHasFeat(1183,oPC) && + !GetHasFeat(1184,oPC) && + !GetHasFeat(1458,oPC) && + !GetHasFeat(1177,oPC) && + !GetHasFeat(1178,oPC) && + !GetHasFeat(1179,oPC) && + !GetHasFeat(1180,oPC) && + !GetHasFeat(1181,oPC) && + !GetHasFeat(1452,oPC) && + !GetHasFeat(1453,oPC) && + !GetHasFeat(1454,oPC) && + !GetHasFeat(1455,oPC) && + !GetHasFeat(1456,oPC) && + !GetHasFeat(1457,oPC) && + !GetHasFeat(1186,oPC) && + !GetHasFeat(1187,oPC) && + !GetHasFeat(1175,oPC) && + GetRacialType(oPC) != RACIAL_TYPE_HALFORC && + GetLevelByClass(CLASS_TYPE_BARBARIAN,oPC) < 1 && + GetAbilityScore(oPC,ABILITY_INTELLIGENCE,TRUE) >= 13 && + GetAbilityScore(oPC,ABILITY_CHARISMA,TRUE) >= 11) + + { + return TRUE; + } + else + { + return FALSE; + } +} + +int _CanBeDuelist(object oPC = OBJECT_SELF) +{ + int nSubrace = GetPersistantLocalInt(oPC, "CC0"); + int nClass = GetPersistantLocalInt(oPC, "CC1"); + return ( + nClass != BACKGROUND_LOWER && + nSubrace != 1177 && // Copper Elf + nSubrace != 1178 && // Green Elf + nSubrace != 1179 && // Dark Elf + nSubrace != 1182 && // Gold Dwarf + nSubrace != 1183 && // Grey Dwarf + nSubrace != 1184 && // Shield Dwarf + nSubrace != 1446 && // Chultan + nSubrace != 1448 && // Maztican + nSubrace != 1450 && // Shaaran + nSubrace != 1452 && // Deep Gnome + nSubrace != 1453 && // Forest Gnome + nSubrace != 1454 && // Rock Gnome + nSubrace != 1455 && // Ghostwise Halfling + nSubrace != 1456 && // Lightfoot Halfling + nSubrace != 1457 && // Strongheart Halfling + nSubrace != 1458 && // Fey'ri + GetRacialType(oPC) != RACIAL_TYPE_HALFORC && + GetLevelByClass(CLASS_TYPE_BARBARIAN,oPC) < 1 && + GetAbilityScore(oPC,ABILITY_DEXTERITY,TRUE) >= 13 + ); +} + +int _CanBeKnight(object oPC = OBJECT_SELF) +{ + int nSubrace = GetPersistantLocalInt(oPC, "CC0"); + int nClass = GetPersistantLocalInt(oPC, "CC1"); + return ( + (nClass == BACKGROUND_MIDDLE || nClass == BACKGROUND_UPPER) && + (nSubrace == 1456 || // Lightfoot Halfling + nSubrace == 1381 || // Calishite + nSubrace == 1382 || // Chondathan + nSubrace == 1383 || // Damaran + nSubrace == 1384 || // Illuskan + nSubrace == 1385 || // Mulan + nSubrace == 1387) && // Tethyrian + GetLevelByClass(CLASS_TYPE_BARBARIAN,oPC) < 1 && + GetRacialType(oPC) != RACIAL_TYPE_HALFELF + ); +} + +int _CanBeMinstrel(object oPC = OBJECT_SELF) +{ + int nSubrace = GetPersistantLocalInt(oPC, "CC0"); + return ( + nSubrace != 1179 && // Dark Elf + nSubrace != 1183 && // Damaran + !GetHasFeat(DEITY_Chauntea,oPC) && + !GetHasFeat(DEITY_Silvanus,oPC) && + !GetHasFeat(DEITY_Eldath,oPC) && + GetRacialType(oPC) != RACIAL_TYPE_HALFORC && + GetLevelByClass(CLASS_TYPE_BARBARIAN,oPC) < 1 && + GetAbilityScore(oPC,ABILITY_CHARISMA,TRUE) >= 13 + ); +} + +int _CanBeMetalsmith(object oPC = OBJECT_SELF) +{ + if((GetHasFeat(BACKGROUND_MIDDLE,oPC) == TRUE)&& + (GetRacialType(oPC) == RACIAL_TYPE_HALFELF|| + GetRacialType(oPC) == RACIAL_TYPE_HALFLING|| + GetRacialType(oPC) == RACIAL_TYPE_GNOME|| + GetRacialType(oPC) == RACIAL_TYPE_HUMAN)&& + (GetAbilityScore(oPC,ABILITY_CONSTITUTION,TRUE) >= 13)) + { + return TRUE; + } + else + { + return FALSE; + } +} + +int _CanBeMordinsamman(object oPC = OBJECT_SELF) +{ + int nSubrace = GetPersistantLocalInt(oPC, "CC0"); + int nClass = GetPersistantLocalInt(oPC, "CC1"); + return ( + nClass == BACKGROUND_MIDDLE && + (nSubrace == 1182 || // Gold Dwarf + nSubrace == 1183 || // Grey Dwarf + nSubrace == 1184) && // Shield Dwarf + GetLevelByClass(CLASS_TYPE_CLERIC,oPC) > 1 + ); +} + +int _CanBeSeldarinePriest(object oPC = OBJECT_SELF) +{ + int nSubrace = GetPersistantLocalInt(oPC, "CC0"); + return ( + (nSubrace == 1177 || // Copper Elf + nSubrace == 1178 || // Green Elf + nSubrace == 1180 || // Silver Elf + nSubrace == 1181) && // Gold Elf + GetLevelByClass(CLASS_TYPE_CLERIC,oPC) > 1 + ); +} + +int _CanBeSoldier(object oPC = OBJECT_SELF) +{ + int nClass = GetPersistantLocalInt(oPC, "CC1"); + return (nClass == BACKGROUND_LOWER || nClass == BACKGROUND_MIDDLE); +} + +int _CanHaveSpellfire(object oPC = OBJECT_SELF) +{ + int nSubrace = GetPersistantLocalInt(oPC, "CC0"); + int nClass = GetPersistantLocalInt(oPC, "CC1"); + return ( + nSubrace != 1175 && // Natural Lycan + GetRacialType(oPC) != RACIAL_TYPE_HALFORC && + GetAbilityScore(oPC,ABILITY_CONSTITUTION,TRUE) >= 13 + ); +} + +int _CanBeSuldusk(object oPC = OBJECT_SELF) +{ + int nSubrace = GetPersistantLocalInt(oPC, "CC0"); + return ( + nSubrace == 1177 || // Copper Elf + nSubrace == 1178 || // Green Elf + nSubrace == 1180 || // Silver Elf + nSubrace == 1181 || // Gold Elf + GetRacialType(oPC) == RACIAL_TYPE_HALFELF + ); +} + +int _CanBeTalfirian(object oPC = OBJECT_SELF) +{ + int nSubrace = GetPersistantLocalInt(oPC, "CC0"); + return ( + (nSubrace == 1387 || // Tethyrian + nSubrace == 1445) && // F(?) Folk + GetAbilityScore(oPC,ABILITY_CHARISMA,TRUE) >= 13 + ); +} + +int _CanBeTheocrat(object oPC = OBJECT_SELF) +{ + int nSubrace = GetPersistantLocalInt(oPC, "CC0"); + int nClass = GetPersistantLocalInt(oPC, "CC1"); + return ( + (nClass == BACKGROUND_MIDDLE || nClass == BACKGROUND_UPPER) && + nSubrace == 1179 && // Dark Elf + nSubrace == 1183 && // Grey Dwarf + nSubrace == 1386 && // Rashemi + nSubrace == 1445 && // F(?) Folk + nSubrace == 1446 && // Chultan + nSubrace == 1448 && // Maztican + nSubrace == 1450 && // Shaaran + nSubrace == 1452 && // Deep Gnome + nSubrace == 1453 && // Forest Gnome + GetRacialType(oPC) != RACIAL_TYPE_HALFORC && + GetLevelByClass(CLASS_TYPE_BARBARIAN,oPC) < 1 && + GetAbilityScore(oPC,ABILITY_WISDOM,TRUE) >= 13 && + GetAbilityScore(oPC,ABILITY_CHARISMA,TRUE) >= 13 + ); +} + +int _CanBeThunderTwin(object oPC = OBJECT_SELF) +{ + int nSubrace = GetPersistantLocalInt(oPC, "CC0"); + return ( + nSubrace == 1182 || // Gold Dwarf + nSubrace == 1183 || // Grey Dwarf + nSubrace == 1184 // Shield Dwarf + ); +} + +int _CanBeUnderdarkExile(object oPC = OBJECT_SELF) +{ + int nSubrace = GetPersistantLocalInt(oPC, "CC0"); + return ( + nSubrace == 1179 || // Dark Elf + nSubrace == 1182 || // Gold Dwarf + nSubrace == 1183 || // Grey Dwarf + nSubrace == 1184 || // Shield Dwarf + nSubrace == 1187 || // Tiefling + nSubrace == 1447 || // Imaskari + nSubrace == 1452 || // Deep Gnome + GetRacialType(oPC) == RACIAL_TYPE_HALFORC + ); +} + +int _CanBeTriadWard(object oPC = OBJECT_SELF) +{ + int nSubrace = GetPersistantLocalInt(oPC, "CC0");; + return ( + nSubrace == 1180 || // Silver Elf + nSubrace == 1182 || // Gold Dwarf + nSubrace == 1184 || // Shield Dwarf + nSubrace == 1186 || // Aasimar + nSubrace == 1381 || // Calishite + nSubrace == 1382 || // Chondathan + nSubrace == 1383 || // Damaran + nSubrace == 1384 || // Illuskan + nSubrace == 1385 || // Mulan + nSubrace == 1386 || // Rashemi + nSubrace == 1387 || // Tethyrian + nSubrace == 1388 || // Rashemi + nSubrace == 1445 || // F(?) Folk + nSubrace == 1447 || // Imaskari + nSubrace == 1448 || // Maztican + nSubrace == 1450 || // Shaaran + nSubrace == 1451 || // Shou + nSubrace == 1454 || // Rock Gnome + nSubrace == 1455 || // Ghostwise Halfling + nSubrace == 1456 || // Lightfoot Halfling + nSubrace == 1457 || // Strongheart Halfling + GetRacialType(oPC) == RACIAL_TYPE_HALFORC + ); +} + + +void main() +{ + object oPC = GetPCSpeaker(); + object oItem = EnsurePlayerDataObject(oPC); + SendMessageToPC(oPC, "DEBUG: bg_background_cv main() entered"); + int nValue = GetLocalInt(oPC, DYNCONV_VARIABLE); + int nStage = GetStage(oPC); + + int nClass = GetPersistantLocalInt(oPC, "CC1"); + int nSubrace = GetPersistantLocalInt(oPC, "CC0"); + int nRacial = GetRacialType(oPC); + + if (nValue == 0) return; + + if (nValue == DYNCONV_SETUP_STAGE) + { + if (!GetIsStageSetUp(nStage, oPC)) + { + if (nStage == STAGE_LIST) + { + SetHeader("Select your background. You can refresh the list with the Escape key if needed."); + // 1 Affluent + if (_CanBeAffluent(oPC)) + { + AddChoice("Affluence", 1, oPC); + SetLocalString(oPC, "bg_dyn_text_1", + "You were born to a life of ease and indulgence. Only the harsh reality of war has jarred your insulated lifestyle. You must now step outside the comfort of your family's protection, although they will support your campaign from afar. You are tasked with establishing the next great familial holdings with your name and influence as your only tools..\n\nDoes this describe you?"); + } + // 2 Amnian Trained + if (_CanBeAmnianTrained(oPC)) + { + AddChoice("Amnian Trained", 2, oPC); + SetLocalString(oPC, "bg_dyn_text_2", + "You may have previously trained at the School of Wonder in Northern Tethyr along with most of the Cowled Wizards, or you may have been apprenticed to a member of that organization. While one was allowed to share their identity, most Cowled Wizards do so sparingly..\n\nDoes this describe you?"); + } + // 3 Brawler + if (_CanBeBrawler(oPC)) + { + AddChoice("Brawler", 3, oPC); + SetLocalString(oPC, "bg_dyn_text_3", + "Your hands are calloused from battles that began in your youth. Whether you are still a fighter or have moved on to another station, your tendency to resolve things 'The Old Fashioned Way' remains..\n\nDoes this describe you?"); + } + // 4 Calishite Slave + if(nClass != BACKGROUND_UPPER) + { + AddChoice("Calishite Slave", 4, oPC); + SetLocalString(oPC, "bg_dyn_text_4", + "You may have a talent for story telling or entertainment, or have exotic looks that are considered a commodity. Either way, your talents are favored by Calishite nobles who brag to each other about how much you were bought and paid for. Escaping from Calimshan into Tethyr means that you can no longer be enslaved, and so there was no other path to take..\n\nDoes this describe you?"); + } + // 5 Calishite Trained + if(_CanBeCalishiteTrained(oPC)) + { + AddChoice("Calishite Trained", 5, oPC); + SetLocalString(oPC, "bg_dyn_text_5", + "Calishite trained mages have been tutored in academic environments by the most qualified of the profession. They favor spells from specialties they refer to as Fire and Air paths, where evocations are their mainstay..\n\nDoes this describe you?"); + } + // 6 Caravaner + if(nClass != BACKGROUND_UPPER) + { + AddChoice("Caravaner", 6, oPC); + SetLocalString(oPC, "bg_dyn_text_6", + "You have the calloused hands of a hard worker and probably a tan to match. You've traveled the trade roads most of your life and seen various kingdoms over that time. Everywhere you go you can find work, until your back gives out.\n\nDoes this describe you?"); + } + // 7 Church Acolyte + if(GetLevelByClass(CLASS_TYPE_BARBARIAN,oPC) >= 1 && GetRacialType(oPC) != RACIAL_TYPE_HALFORC) + { + AddChoice("Church Orphan", 7, oPC); + SetLocalString(oPC, "bg_dyn_text_7", + "For years, you have studied the dogma of your chosen deity, hoping to someday become ordained as a real priest or priestess. Because of your many years of dedication to this path, you expect to advance more quickly than others who are just starting out..\n\nDoes this describe you?"); + } + // 8 Circle Born + if (_CanBeCircleBorn(oPC)) + { + AddChoice("Circle Born", 8, oPC); + SetLocalString(oPC, "bg_dyn_text_8", + "An orphan, you were found by or given to a Druidic grove to be raised. As a result, the grove and its creatures are like your family, and you are woefully out of touch with society for the most part..\n\nDoes this describe you?"); + } + // 9 Cosmopolitan + if (_CanBeCosmopolitan(oPC)) + { + AddChoice("Cosmopolitan", 9, oPC); + SetLocalString(oPC, "bg_dyn_text_9", + "You have lived in many cities and know many cultures...\n\nDoes this describe you?"); + } + // 10 Crusader + if((nSubrace != 1179 && nSubrace != 1183)) // No Dark Elf or Grey Dwarf + { + AddChoice("Crusader", 10, oPC); + SetLocalString(oPC, "bg_dyn_text_10", + "Whether you have traveled a great distance or a short one, your church has sent you on a critical mission. The spiritual well-being of the people of Tethyr is at stake. Although not a knight, crusaders find many honors in their service to their faith and are the first to be considered for knighthood..\n\nDoes this describe you?"); + } + // 11 Duelist + if(_CanBeDuelist(oPC)) + { + AddChoice("Duelist", 11, oPC); + SetLocalString(oPC, "bg_dyn_text_11", + "Undoubtedly drawing some influence from nearby Amn, you cannot turn down the excitement of the duel. Whether to defend your honor or simply for the fame, your skills have been honed in the art of single combat..\n\nDoes this describe you?"); + } + // 12 Duke’s Warband + if (_CanBeDukesWarband(oPC)) + { + AddChoice("Duke’s Warband", 12, oPC); + SetLocalString(oPC, "bg_dyn_text_12", + "You are recognized in the duchy of Noromath as a lower ranking member of Duke Allain Kevanarial's warband. Instead of occupying a castle, the elven duke prefers to range through the woods of northern Tethyr, coordinating information and resources between several allied groups such as the Tethyrian Army, the Druidic Circle, and the elves of the Wealdath..\n\nDoes this describe you?"); + } + // 13 Eldreth Veluuthra + if (nRacial == RACIAL_TYPE_ELF) + { + AddChoice(" Eldreth Veluuthra", 13, oPC); + SetLocalString(oPC, "bg_dyn_text_13", + "You believe that elves are the superior race, and that they have a right as well as a duty to reclaim the Wealdath forest. You are angered or disgusted by the very existence of half elves and will strive to drive these abominations out of the unspoiled woods that remain..\n\nDoes this describe you?"); + } + // 14 Elmanesse + if (_CanBeElmanesse(oPC)) + { + AddChoice("Elmanesse Tribe", 14, oPC); + SetLocalString(oPC, "bg_dyn_text_14", + "You are a member of one of the last tribes of wild Green Elves, also known as Sy'Tel'Quessir. Some members of the Elmanesse have settled in Tethyr after they departed from Myth Drannor, and the Elmanesse are the most accepting of elven outsiders who might try to make a life in the Wealdath. They have even been known to accept half elves into their way of life..\n\nDoes this describe you?"); + } + // 15 Enlightened Student + if (_CanBeEnlightened(oPC)) + { + AddChoice("Enlightened Student", 15, oPC); + SetLocalString(oPC, "bg_dyn_text_15", + "You have been extensively trained in philosophy, mathematics and other contemporary subjects that the denizens of rural places consider to be as mysterious and otherworldly as magic.\n\nDoes this describe you?"); + } + // 16 Evangelist + if (_CanBeEvangelist(oPC)) + { + AddChoice("Evangelist", 16, oPC); + SetLocalString(oPC, "bg_dyn_text_16", + "Even more so than the crusader, the Evangelist has taken the spiritual welfare of others and placed it over his own physical well-being. Taking to the streets, the Evangelist chooses to spread the message of his faith to any who will hear it and can often be found in the company of their church's brave crusaders.\n\nDoes this describe you?"); + } + // 17 Forester + if (_CanBeForester(oPC)) + { + AddChoice("Forester", 17, oPC); + SetLocalString(oPC, "bg_dyn_text_17", + "You grew up among the trees where a rugged lifestyle required knowledge of the woods and the animals that inhabit it. You are resourceful in situations requiring a worldly body of knowledge because of this experience.\n\nDoes this describe you?"); + } + // 18 Hard Laborer + if (_CanBeHardLaborer(oPC)) + { + AddChoice("Hard Laborer", 18, oPC); + SetLocalString(oPC, "bg_dyn_text_18", + "For one reason or another, you ended up serving a sentence of forced hard labor - the most popular punishment in the land of Tethyr. Due to poor record keeping and a civil war, the reason has been lost to time and you are now free. \n\nDoes this describe you?"); + } + // 19 Harem Trained + if (_CanBeInHarem(oPC)) + { + AddChoice("Harem Trained", 19, oPC); + SetLocalString(oPC, "bg_dyn_text_19", + "Whether you were considered beautiful or particularly talented early on, your lack of pedigree and social status designated you as someone who would best serve your betters with your talents. You were given additional training and invested in, even if you are basically the property of someone else.\n\nDoes this describe you?"); + } + // 20 Harper Protégé + if (GetIsPC(oPC)) + { + AddChoice("Harper Protégé", 20, oPC); + SetLocalString(oPC, "bg_dyn_text_20", + "You are an apprentice or the direct descendant of a Harper who at some point in time made you known to the organization. Whether you actually have an interest in furthering their goals, the Harpers usually have an interest in furthering yours, it seems.\n\nDoes this describe you?"); + } + // 21 Healer + if ((GetAbilityScore(oPC,ABILITY_WISDOM,TRUE) >= 13)) + { + AddChoice("Healer", 21, oPC); + SetLocalString(oPC, "bg_dyn_text_21", + "You have always had the gift of caring for others. In your care, babies have been delivered and the pain of death has been eased. You found your abilities lacking in a larger world and seek the esoteric methods that would enhance your craft..\n\nDoes this describe you?"); + } + // 22 Hedge Mage + if ((GetAbilityScore(oPC,ABILITY_INTELLIGENCE,TRUE) >= 11 || GetAbilityScore(oPC,ABILITY_CHARISMA,TRUE) >= 11)) + { + AddChoice("Hedge Mage", 22, oPC); + SetLocalString(oPC, "bg_dyn_text_22", + "Fearing the discovery of your magical training, your lessons were limited to the time after your chores were completed. Although you were only given a most basic understanding of the laws governing magic, it is more than enough to cause trouble in nearby Amn - where the Art is strongly regulated..\n\nDoes this describe you?"); + } + // 23 Heir to the Throne + if (nRacial == RACIAL_TYPE_DWARF) + { + AddChoice(" Heir to the Throne", 23, oPC); + SetLocalString(oPC, "bg_dyn_text_23", + "You were raised on tales of your ancestors and their heroism and bravery. You were nourished by the story that you were born to be a king and lead your people back to the former glory of Shanatar. The Wyrmskull Throne is said to belong to you and no one else, and you have never doubted this birth right..\n\nDoes this describe you?"); + } + // 24 High Mage + if (_CanBeHighMage(oPC)) + { + AddChoice("High Mage", 24, oPC); + SetLocalString(oPC, "bg_dyn_text_24", + "You have studied the ancient secrets of Elven High Magic and Mythals. Although the complete formulas for Mythal creation are poorly understood in the current day and age, you received your training from aging elves to understand these essential secrets before they are lost forever.\n\nDoes this describe you?"); + } + // 25 Knight + if (_CanBeKnight(oPC)) + { + AddChoice("Knight", 25, oPC); + SetLocalString(oPC, "bg_dyn_text_25", + "Honor, chivalry, and duty to the crown are all that define you as a Tethyrian Knight. You may be bound to a particular lord, keep or temple but you live and die by the word of Queen-Monarch Zaranda Star, and the Tethyrian Knightly Code that she has decreed. Those who speak against the crown are your enemies and they must have their views challenged in a contest of steel. The Knights are arguably Tethyr's most influential class - assuming positions of power throughout the realm.\n\nDoes this describe you?"); + } + // 26 Knight Squire + if (_CanBeKnight(oPC)) + { + AddChoice("Knight Squire", 26, oPC); + SetLocalString(oPC, "bg_dyn_text_26", + "Not having the noble pedigree that most knights have put you at a disadvantage, and it seemed like every opportunity for knighthood during the Interregnum passed you over. Your best course now is to find a knight to train under and try to win recommendations that will better your odds when it comes time for Knighthoods to be granted again.\n\nDoes this describe you?"); + } + // 27 Mendicant + if((nClass == BACKGROUND_MIDDLE || nClass == BACKGROUND_UPPER) && GetRacialType(oPC) != RACIAL_TYPE_HALFORC && GetAbilityScore(oPC,ABILITY_INTELLIGENCE,TRUE) >= 11) + { + AddChoice("Mendicant", 27, oPC); + SetLocalString(oPC, "bg_dyn_text_27", + "You have cast away the burden of all worldly belongings and enriched your spiritual being by doing so. You now travel the land, learning what it means to receive mercy from strangers as your vows force you to beg for your meals. This strange devotion earns you confusion from some and compassion from others..\n\nDoes this describe you?"); + } + // 28 Merchant + if((nClass == BACKGROUND_MIDDLE || nClass == BACKGROUND_UPPER) && GetRacialType(oPC) != RACIAL_TYPE_HALFORC && GetAbilityScore(oPC,ABILITY_INTELLIGENCE,TRUE) >= 11) + { + AddChoice("Merchant", 28, oPC); + SetLocalString(oPC, "bg_dyn_text_28", + "Whether it was the family trade or your very own enterprise, you have developed the skills to barter with even the shrewdest of Calishite traders. You hope to one day retire in wealth, yet enjoy the travel afforded by your profession..\n\nDoes this describe you?"); + } + // 29 Metalsmith + if (_CanBeMetalsmith(oPC)) + { + AddChoice("Metalsmith", 29, oPC); + SetLocalString(oPC, "bg_dyn_text_29", + "The metalsmith holds an honored place among the society of Knights, where his craft is highly respected. Your short apprenticeship ended when the civil war began, as your mentor was called to service. You understand the process required to work iron, yet you hope to someday master the secret of steel.\n\nDoes this describe you?"); + } + // 30 Minstrel + if (_CanBeMinstrel(oPC)) + { + AddChoice("Minstrel", 30, oPC); + SetLocalString(oPC, "bg_dyn_text_30", + "You have apprenticed under a skilled composer and learned the traditions of music, dance, and prose. It is your hope that Tethyr's noble, beleaguered people will inspire you to write your greatest work yet. Thus, you have set out in order to find the necessary subject of your inspiration.\n\nDoes this describe you?"); + } + // 31 Mordinsamman Priest + if (_CanBeMordinsamman(oPC)) + { + AddChoice("Mordinsamman Priest", 31, oPC); + SetLocalString(oPC, "bg_dyn_text_31", + "You are the keeper of the dwarven pantheon of gods, and a last vestige of dwarven stories and folklore. You must be a champion for the place of dwarves in the world, which has been diminishing for generations. Although your gods are fading, they live within your feet that hammer the stone, your hands that mend dwarven bones, and your steel that cleaves the enemies of all dwarves..\n\nDoes this describe you?"); + } + // 32 Natural Lycanthrope + if (GetAbilityScore(oPC,ABILITY_WISDOM,TRUE) >= 11) + { + AddChoice("Natural Lycanthrope", 32, oPC); + SetLocalString(oPC, "bg_dyn_text_32", + "Perhaps unknown to even yourself, you have some dark secret running in your bloodline, a heritage you may have been running from all your life. By embracing it finally you may unlock some aspect of yourself you never imagined..\n\nDoes this describe you?"); + } + // 33 Occultist + if (GetAbilityScore(oPC,ABILITY_CHARISMA,TRUE) >= 11) + { + AddChoice("Occultist", 33, oPC); + SetLocalString(oPC, "bg_dyn_text_33", + " You have sacrificed everything near and dear to you for power. Ever since you were young you have studied ancient, dark grimoires for the unsavory and even macabre learnings they offered. Still, you seek something more...\n\nDoes this describe you?"); + } + // 34 Saboteur + if (GetAbilityScore(oPC,ABILITY_INTELLIGENCE,TRUE) >= 13) + { + AddChoice("Saboteur", 34, oPC); + SetLocalString(oPC, "bg_dyn_text_34", + "Whether it's for the money or for the thrill, you started your path with small pranks that led to increasingly sophisticated scams, staged accidents and a variety of risky and unscrupulous work. It's not your problem if someone is standing under that portcullis, you have a job to do..\n\nDoes this describe you?"); + } + // 35 Scout + if (GetAbilityScore(oPC,ABILITY_WISDOM,TRUE) >= 11) + { + AddChoice("Scout", 35, oPC); + SetLocalString(oPC, "bg_dyn_text_35", + "You have honed your skills in forward reconnaissance and have a knack for picking out silhouettes in the dark. Your skills have made you invaluable to hunting parties, adventurers, and even armies..\n\nDoes this describe you?"); + } + // 36 Seldarine Priest + if (_CanBeSeldarinePriest(oPC)) + { + AddChoice("Seldarine Priest", 36, oPC); + SetLocalString(oPC, "bg_dyn_text_36", + "You are versed in the stories and folklore of the Elven people. Dedicated to the whimsical and aloof gods of the Elven Pantheon, you are tasked with caring for the spiritual needs of your people, and representing your gods to those who wonder about the deities of the Wealdath. You must preserve the culture of the Elves, because otherwise their beliefs could fade into obscurity..\n\nDoes this describe you?"); + } + // 37 Shadow Weaver + if((GetAbilityScore(oPC,ABILITY_INTELLIGENCE,TRUE) > 12 || GetAbilityScore(oPC,ABILITY_CHARISMA,TRUE) > 12)) + { + AddChoice("Shadow Weaver", 37, oPC); + SetLocalString(oPC, "bg_dyn_text_37", + "Since the beginning of your studies, you have craved more magical power than your masters could ever teach you. Your search for this power inevitably led towards the knowledge of the Shadow Weave and the blessed numbness of Her gift.\n\nDoes this describe you?"); + } + // 38 Sneak + if (GetAbilityScore(oPC,ABILITY_DEXTERITY,TRUE) >= 13) + { + AddChoice("Sneak", 38, oPC); + SetLocalString(oPC, "bg_dyn_text_38", + "You used to sneak into the kitchens of your favorite tavern for fun and a free meal - although you were caught more than once. Fortunately, you were young and the offense was overlooked, but you realized early on that you had an advantage in being light-footed.\n\nDoes this describe you?"); + } + // 39 Soldier + if (_CanBeSoldier(oPC)) + { + AddChoice("Soldier", 39, oPC); + SetLocalString(oPC, "bg_dyn_text_39", + "Lacking the privilege that knights come with, you still aspired to become a great warrior in your youth. Since then, you have learned the cost of war as a footsoldier on the front lines. You hope to distinguish yourself further since being discharged, and this time maybe you'll be lucky enough to get a horse and some properly fitted armor.\n\nDoes this describe you?"); + } + // 40 Spellfire Lineage + if (_CanHaveSpellfire(oPC)) + { + AddChoice("Spellfire Lineage", 40, oPC); + SetLocalString(oPC, "bg_dyn_text_40", + "he supernatural ability that is spellfire is thought by many to be unique to a single person each generation, but recent information indicates this is not the case. You know of this misconception firsthand, spellfire runs in your family and is a closely guarded secret. You were discouraged from even attempting to use this coveted ability and wouldn't know where to start even if you wished..\n\nDoes this describe you?"); + } + // 41 Suldusk + if (_CanBeSuldusk(oPC)) + { + AddChoice("Suldusk", 41, oPC); + SetLocalString(oPC, "bg_dyn_text_41", + "You are a member of the reclusive elven tribe of wild Copper Elves, who are also referred to as Sy'Tel'Quessir. Named for the Sulduskoon River in the southern Wealdath, these elves reject arcane magic in any form and the only divine power they trust comes from the druidic circle. Isolated as they are, the Suldusk elves take a dim view of those who would settle the Wealdath by changing it.\n\nDoes this describe you?"); + } + // 42 Talfirian + if (_CanBeTalfirian(oPC)) + { + AddChoice("Talfirian", 42, oPC); + SetLocalString(oPC, "bg_dyn_text_42", + "You come from an ancient Tethyrian bloodline that has been as often associated with nobility as it has been with the use of shadow magic, however discreet.\n\nDoes this describe you?"); + } + // 43 Theocrat + if (_CanBeTheocrat(oPC)) + { + AddChoice("Theocrat", 43, oPC); + SetLocalString(oPC, "bg_dyn_text_43", + "Where courtly intrigues and ecclesiastical authority meet, you excel. You seem to have a knack for navigating the seas of intrigue and advising the people of influence around you of just what would please the gods most of all.\n\nDoes this describe you?"); + } + // 44 Thunder Twin + if (_CanBeThunderTwin(oPC)) + { + AddChoice("Thunder Twin", 44, oPC); + SetLocalString(oPC, "bg_dyn_text_44", + "The Thunder Blessing or 'Thundering' took place in the Year of Thunder in the year 1306 DR, after Moradin called a council of the dwarven gods to find a way to increase the number of dwarves. All dwarven souls born in that year were split and placed in two bodies, so Thunder Twins share the same spirit between two individuals.\n\nDoes this describe you?"); + } + // 45 Traveller + if (GetIsPC(oPC)) + { + AddChoice("Traveller", 45, oPC); + SetLocalString(oPC, "bg_dyn_text_45", + "You have benefited from seeing much of the realm, whether it was circumstance or your own intention. You have a general knowledge of the Tethyrian duchies and have traveled the Tethir Road and the Trade Way.\n\nDoes this describe you?"); + } + // 46 Underdark Exile + if (_CanBeUnderdarkExile(oPC)) + { + AddChoice("Underdark Exile", 46, oPC); + SetLocalString(oPC, "bg_dyn_text_46", + "You were rejected from the society of the Underdark at one point in your past. You may bear a mark signifying this to others, or your escape might be more or less unknown to the cruel races that exiled you..\n\nDoes this describe you?"); + } + // 47 Ward of the Triad + if (_CanBeTriadWard(oPC)) + { + AddChoice("Ward of the Triad", 47, oPC); + SetLocalString(oPC, "bg_dyn_text_47", + " You were an orphan entrusted to one of the faiths of the Triad to raise. As a result, you inherited the moral fiber of this organization and have known little else in your life. Your temple is your family and you feel raised by your deity and their clergy.\n\nDoes this describe you?"); + } + // 48 Wary Swordknight + if (GetRacialType(oPC) == RACIAL_TYPE_HALFLING) + { + AddChoice("Wary Swordknight", 48, oPC); + SetLocalString(oPC, "bg_dyn_text_48", + "Wary Swordknights earned their place in Tethyr by protecting the people during the long civil war. These are halfing paladins within the ranks of Arvoreen's Marchers and their knighthood is assumed to carry all the merits afforded to their human counterparts. Commoners typically respond to these diminutive champions of Tethyr as if they were celebrities.\n\nDoes this describe you?"); + } + // 49 Zhentarim + if(GetIsPC(oPC)) + { + AddChoice("Zhentarim", 49, oPC); + SetLocalString(oPC, "bg_dyn_text_49", + "The Black Network extended its reach across all of Faerun and even into the south. In Tethyr, Black Network merchants had to operate under special permits they had secured under fictitious names, but they still found a way to earn a piece of southern commerce even as they stuck their nose in other intrigues.\n\nDoes this describe you?"); + } + + MarkStageSetUp(nStage, oPC); + SetDefaultTokens(); + } + else if (nStage == STAGE_CONFIRM) + { + int nSelected = GetLocalInt(oPC, "bg_selected"); + SetHeader(GetBackgroundText(oPC, nSelected)); + AddChoice("Yes!", nSelected, oPC); + AddChoice("No...", -1, oPC); + MarkStageSetUp(nStage, oPC); + SetDefaultTokens(); + } + } + SetupTokens(); + } + else if(nValue == DYNCONV_EXITED) + { + DelayCommand(0.1f, StartDynamicConversation("bg_deity_cv", oPC)); + } + else if(nValue == DYNCONV_ABORTED) + { + // Handle abort if needed + } + else + { + int nChoice = GetChoice(oPC); + if (nStage == STAGE_LIST) + { + SetLocalInt(oPC, "bg_selected", nChoice); + SetStage(STAGE_CONFIRM, oPC); + } + else if (nStage == STAGE_CONFIRM) + { + if (nChoice >= 0) + { + // Handle background confirmation + switch (nChoice) + { + case 1: + { + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_AFFLUENCE); + SetPersistantLocalInt(oPC, "BG_Select", 1); + SetLocalInt(oItem,"CC2",BACKGROUND_AFFLUENCE); + SetLocalInt(oItem,"BG_Select",1); + break; // Affluence + } + case 2: + { + //sGrant = "bg_give_amn"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_AMN_TRAINED); + SetPersistantLocalInt(oPC, "BG_Select", 2); + SetLocalInt(oItem,"CC2",BACKGROUND_AMN_TRAINED); + SetLocalInt(oItem,"BG_Select",2); + break; // Amnian Trained + } + case 3: + { + //sGrant = "bg_give_bra"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_BRAWLER); + SetPersistantLocalInt(oPC, "BG_Select", 3); + SetLocalInt(oItem,"CC2",BACKGROUND_BRAWLER); + SetLocalInt(oItem,"BG_Select",3); + break; // Brawler + } + case 4: + { + //sGrant = "bg_give_calslave"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_CALISHITE_SLAVE); + SetPersistantLocalInt(oPC, "BG_Select", 4); + SetLocalInt(oItem,"CC2",BACKGROUND_CALISHITE_SLAVE); + SetLocalInt(oItem,"BG_Select",4); + break; // Calishite Slave + } + case 5: + { + //sGrant = "bg_give_calish"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_CALISHITE_TRAINED); + SetPersistantLocalInt(oPC, "BG_Select", 5); + SetLocalInt(oItem,"CC2",BACKGROUND_CALISHITE_TRAINED); + SetLocalInt(oItem,"BG_Select",5); + break; // Calishite Trained + } + case 6: + { + //sGrant = "bg_give_carav"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_CARAVANNER); + SetPersistantLocalInt(oPC, "BG_Select", 6); + SetLocalInt(oItem,"CC2",BACKGROUND_CARAVANNER); + SetLocalInt(oItem,"BG_Select",6); + break; // Caravaner + + } + case 7: + { + //sGrant = "bg_give_church"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_CHURCH_ACOLYTE); + SetPersistantLocalInt(oPC, "BG_Select", 7); + SetLocalInt(oItem,"CC2",BACKGROUND_CHURCH_ACOLYTE); + SetLocalInt(oItem,"BG_Select",7); + break; // Church Acolyte + + } + case 8: + { + //sGrant = "bg_give_circle"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_CIRCLE_BORN); + SetPersistantLocalInt(oPC, "BG_Select", 8); + SetLocalInt(oItem,"CC2",BACKGROUND_CIRCLE_BORN); + SetLocalInt(oItem,"BG_Select",8); + break; // Circle Born + } + case 9: + { + //sGrant = "bg_give_cosmo"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_COSMOPOLITAN); + SetPersistantLocalInt(oPC, "BG_Select",9); + SetLocalInt(oItem,"CC2",BACKGROUND_COSMOPOLITAN); + SetLocalInt(oItem,"BG_Select",9); + break; // Cosmopolitan + } + case 10: + { + //sGrant = "bg_give_cru"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_CRUSADER); + SetPersistantLocalInt(oPC, "BG_Select",10); + SetLocalInt(oItem,"CC2",BACKGROUND_CRUSADER); + SetLocalInt(oItem,"BG_Select",10); + break; // Crusader + } + case 11: + { + //sGrant = "bg_give_duelist"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_DUELIST); + SetPersistantLocalInt(oPC, "BG_Select",11); + SetLocalInt(oItem,"CC2",BACKGROUND_DUELIST); + SetLocalInt(oItem,"BG_Select",11); + break; // Duke's Warband + } + case 12: + { + //sGrant = "bg_give_dukewar"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_DUKES_WARBAND); + SetPersistantLocalInt(oPC, "BG_Select",12); + SetLocalInt(oItem,"CC2",BACKGROUND_DUKES_WARBAND); + SetLocalInt(oItem,"BG_Select",12); + break; // Duke's Warband + } + case 13: + { + //sGrant = "bg_give_eldreth"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_ELDRETH_VELUUTHRA); + SetPersistantLocalInt(oPC, "BG_Select",13); + SetLocalInt(oItem,"CC2",BACKGROUND_ELDRETH_VELUUTHRA); + SetLocalInt(oItem,"BG_Select",13); + break; // Duke's Warband + } + + case 14: + { + //sGrant = "bg_give_elmanesse"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_ELMANESSE_TRIBE); + SetPersistantLocalInt(oPC, "BG_Select",14); + SetLocalInt(oItem,"CC2",BACKGROUND_ELMANESSE_TRIBE); + SetLocalInt(oItem,"BG_Select",14); + break; // Elmanesse Tribe + } + case 15: + { + //sGrant = "bg_give_enlight"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_ENLIGHTENED_STUDENT); + SetPersistantLocalInt(oPC, "BG_Select",15); + SetLocalInt(oItem,"CC2",BACKGROUND_ENLIGHTENED_STUDENT); + SetLocalInt(oItem,"BG_Select",15); + break; // Enlightened Student + } + + case 16: + { + //sGrant = "bg_give_evang"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_EVANGELIST); + SetPersistantLocalInt(oPC, "BG_Select",16); + SetLocalInt(oItem,"CC2",BACKGROUND_EVANGELIST); + SetLocalInt(oItem,"BG_Select",16); + break; // Evangelist + } + case 17: + { + //sGrant = "bg_give_forest"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_FORESTER); + SetPersistantLocalInt(oPC, "BG_Select",17); + SetLocalInt(oItem,"CC2",BACKGROUND_FORESTER); + SetLocalInt(oItem,"BG_Select",17); + break; // Forester + + } + case 18: + { + //sGrant = "bg_give_hardlabo"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_HARD_LABORER); + SetPersistantLocalInt(oPC, "BG_Select",18); + SetLocalInt(oItem,"CC2",BACKGROUND_HARD_LABORER); + SetLocalInt(oItem,"BG_Select",18); + break; // Hard Laborer + } + case 19: + { + //sGrant = "bg_give_harem"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_HAREM_TRAINED); + SetPersistantLocalInt(oPC, "BG_Select",19); + SetLocalInt(oItem,"CC2",BACKGROUND_HAREM_TRAINED); + SetLocalInt(oItem,"BG_Select",19); + break; // Harem-trained + } + case 20: + { + //sGrant = "bg_give_harper"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_HARPER); + SetPersistantLocalInt(oPC, "BG_Select",20); + SetLocalInt(oItem,"CC2",BACKGROUND_HARPER); + SetLocalInt(oItem,"BG_Select",20); + break; // Harper Protégé + } + case 21: + { + //sGrant = "bg_give_healer"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_HEALER); + SetPersistantLocalInt(oPC, "BG_Select",21); + SetLocalInt(oItem,"CC2",BACKGROUND_HEALER); + SetLocalInt(oItem,"BG_Select",21); + break; // Healer + } + case 22: + { + //sGrant = "bg_give_hedgem"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_HEDGEMAGE); + SetPersistantLocalInt(oPC, "BG_Select",22); + SetLocalInt(oItem,"CC2",BACKGROUND_HEDGEMAGE); + SetLocalInt(oItem,"BG_Select",22); + break; // Hedge Mage + } + case 23: + { + //sGrant = "bg_give_heir"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_HEIR_TO_THRONE); + SetPersistantLocalInt(oPC, "BG_Select",23); + SetLocalInt(oItem,"CC2",BACKGROUND_HEIR_TO_THRONE); + SetLocalInt(oItem,"BG_Select",23); + break; // Heir to the Thone + } + case 24: + { + //sGrant = "bg_give_hmage"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_HIGH_MAGE); + SetPersistantLocalInt(oPC, "BG_Select",24); + SetLocalInt(oItem,"CC2",BACKGROUND_HIGH_MAGE); + SetLocalInt(oItem,"BG_Select",24); + break; // High Mage + } + case 25: + { + //sGrant = "bg_give_knight"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_KNIGHT); + SetPersistantLocalInt(oPC, "BG_Select",25); + SetLocalInt(oItem,"CC2",BACKGROUND_KNIGHT); + SetLocalInt(oItem,"BG_Select",25); + break; // Knight + } + case 26: + { + //sGrant = "bg_give_knightsq"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_KNIGHT_SQUIRE); + SetPersistantLocalInt(oPC, "BG_Select",26); + SetLocalInt(oItem,"CC2",BACKGROUND_KNIGHT_SQUIRE); + SetLocalInt(oItem,"BG_Select",26); + break; // Knight Squire + } + case 27: + { + //sGrant = "bg_give_mendi"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_MENDICANT); + SetPersistantLocalInt(oPC, "BG_Select",27); + SetLocalInt(oItem,"CC2",BACKGROUND_MENDICANT); + SetLocalInt(oItem,"BG_Select",27); + break; // Mendicant + } + case 28: + { + //sGrant = "bg_give_merch"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_MERCHANT); + SetPersistantLocalInt(oPC, "BG_Select",28); + SetLocalInt(oItem,"CC2",BACKGROUND_MERCHANT); + SetLocalInt(oItem,"BG_Select",28); + break; // Merchant + } + case 29: + { + //sGrant = "bg_give_metal"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_METALSMITH); + SetPersistantLocalInt(oPC, "BG_Select",29); + SetLocalInt(oItem,"CC2",BACKGROUND_METALSMITH); + SetLocalInt(oItem,"BG_Select",29); + break; // Merchant + } + + case 30: + { + //sGrant = "bg_give_minstrel"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_MINSTREL); + SetPersistantLocalInt(oPC, "BG_Select",30); + SetLocalInt(oItem,"CC2",BACKGROUND_MINSTREL); + SetLocalInt(oItem,"BG_Select",30); + break; // Minstrel + } + case 31: + { + //sGrant = "bg_give_mordins"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_MORDINSAMMAN_PRIEST); + SetPersistantLocalInt(oPC, "BG_Select",31); + SetLocalInt(oItem,"CC2",BACKGROUND_MORDINSAMMAN_PRIEST); + SetLocalInt(oItem,"BG_Select",31); + break; // Mordinsamman Priest + + } + case 32: + { + //sGrant = "bg_give_natly"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_NAT_LYCAN); + SetPersistantLocalInt(oPC, "BG_Select",32); + SetLocalInt(oItem,"CC2",BACKGROUND_NAT_LYCAN); + SetLocalInt(oItem,"BG_Select",32); + break; // Natural Lycanthrope + + } + case 33: + { + //sGrant = "bg_give_occult"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_NAT_LYCAN); + SetPersistantLocalInt(oPC, "BG_Select",33); + SetLocalInt(oItem,"CC2",BACKGROUND_NAT_LYCAN); + SetLocalInt(oItem,"BG_Select",33); + break; // Occultist + } + case 34: + { + //sGrant = "bg_give_saboteur"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_SABOTEUR); + SetPersistantLocalInt(oPC, "BG_Select",34); + SetLocalInt(oItem,"CC2",BACKGROUND_SABOTEUR); + SetLocalInt(oItem,"BG_Select",34); + break; // Saboteur + } + case 35: + { + //sGrant = "bg_give_scout"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_SCOUT); + SetPersistantLocalInt(oPC, "BG_Select",35); + SetLocalInt(oItem,"CC2",BACKGROUND_SCOUT); + SetLocalInt(oItem,"BG_Select",35); + break; + } + case 36: + { + //sGrant = "bg_give_seldarine"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_SELDARINE_PRIEST); + SetPersistantLocalInt(oPC, "BG_Select",36); + SetLocalInt(oItem,"CC2",BACKGROUND_SELDARINE_PRIEST); + SetLocalInt(oItem,"BG_Select",36); + break; + } + case 37: + { + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_SHADOW); + SetPersistantLocalInt(oPC, "BG_Select",37); + SetLocalInt(oItem,"CC2",BACKGROUND_SHADOW); + SetLocalInt(oItem,"BG_Select",37); + break; // Shadow Weaver + } + case 38: + { + //sGrant = "bg_give_sneak"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_SNEAK); + SetPersistantLocalInt(oPC, "BG_Select",38); + SetLocalInt(oItem,"CC2",BACKGROUND_SNEAK); + SetLocalInt(oItem,"BG_Select",38); + break; // Sneak + } + case 39: + { + //sGrant = "bg_give_soldier"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_SOLDIER); + SetPersistantLocalInt(oPC, "BG_Select",39); + SetLocalInt(oItem,"CC2",BACKGROUND_SOLDIER); + SetLocalInt(oItem,"BG_Select",39); + break; // Soldier + } + + case 40: + { + //sGrant = "bg_give_spell"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_SPELLFIRE); + SetPersistantLocalInt(oPC, "BG_Select",40); + SetLocalInt(oItem,"CC2",BACKGROUND_SPELLFIRE); + SetLocalInt(oItem,"BG_Select",40); + break; // Spellfire Lineage + } + case 41: + { + //sGrant = "bg_give_suldusk"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_SULDUSK_TRIBE); + SetPersistantLocalInt(oPC, "BG_Select",41); + SetLocalInt(oItem,"CC2",BACKGROUND_SULDUSK_TRIBE); + SetLocalInt(oItem,"BG_Select",41); + break; // Suldusk Tribe + } + case 42: + { + //sGrant = "bg_give_talf"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_TALFIRIAN); + SetPersistantLocalInt(oPC, "BG_Select",42); + SetLocalInt(oItem,"CC2",BACKGROUND_TALFIRIAN); + SetLocalInt(oItem,"BG_Select",42); + break; // Talfiran Lineage + } + case 43: + { + //sGrant = "bg_give_theo"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_THEOCRAT); + SetPersistantLocalInt(oPC, "BG_Select",43); + SetLocalInt(oItem,"CC2",BACKGROUND_THEOCRAT); + SetLocalInt(oItem,"BG_Select",43); + break; // Theocrat + } + case 44: + { + //sGrant = "bg_give_thunder"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_THUNDER_TWIN); + SetPersistantLocalInt(oPC, "BG_Select",44); + SetLocalInt(oItem,"CC2",BACKGROUND_THUNDER_TWIN); + SetLocalInt(oItem,"BG_Select",44); + break; // Thunder-twin + } + case 45: + { + //sGrant = "bg_give_travel"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_TRAVELER); + SetPersistantLocalInt(oPC, "BG_Select",45); + SetLocalInt(oItem,"CC2",BACKGROUND_TRAVELER); + SetLocalInt(oItem,"BG_Select",45); + break; // Traveler + } + + case 46: + { + //sGrant = "bg_give_udexile"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_UNDERDARK_EXILE); + SetPersistantLocalInt(oPC, "BG_Select",46); + SetLocalInt(oItem,"CC2",BACKGROUND_UNDERDARK_EXILE); + SetLocalInt(oItem,"BG_Select",46); + break; // Underdark Exile + } + case 47: + { + //sGrant = "bg_give_ward"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_WARD_TRIAD); + SetPersistantLocalInt(oPC, "BG_Select",47); + SetLocalInt(oItem,"CC2",BACKGROUND_WARD_TRIAD); + SetLocalInt(oItem,"BG_Select",47); + break; // Ward of the Triad + } + case 48: + { + //sGrant = "bg_give_warysk"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_WARY_SWORDKNIGHT); + SetPersistantLocalInt(oPC, "BG_Select",48); + SetLocalInt(oItem,"CC2",BACKGROUND_WARY_SWORDKNIGHT); + SetLocalInt(oItem,"BG_Select",48); + break; // Wary Swordknight + } + case 49: + { + //sGrant = "bg_give_zhent"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_ZHENTARIM); + SetPersistantLocalInt(oPC, "BG_Select",49); + SetLocalInt(oItem,"CC2",BACKGROUND_ZHENTARIM); + SetLocalInt(oItem,"BG_Select",49); + break; + } + } + SetPersistantLocalInt(oPC, "CC2_DONE", 1); + AllowExit(DYNCONV_EXIT_FORCE_EXIT, TRUE, oPC); + } + else + { + MarkStageNotSetUp(STAGE_LIST, oPC); + MarkStageNotSetUp(STAGE_CONFIRM, oPC); // Add this line + SetStage(STAGE_LIST, oPC); + } + } + } +} + + + + + +/* void main() +{ + object oPC = GetPCSpeaker(); + object oItem = EnsurePlayerDataObject(oPC); + SendMessageToPC(oPC, "DEBUG: bg_background_cv main() entered"); + int nValue = GetLocalInt(oPC, DYNCONV_VARIABLE); + int nStage = GetStage(oPC); + + int nClass = GetPersistantLocalInt(oPC, "CC1"); + int nSubrace = GetPersistantLocalInt(oPC, "CC0"); + int nRacial = GetRacialType(oPC); + + if (nValue == 0) return; + + if (nValue == DYNCONV_SETUP_STAGE) + { + if (!GetIsStageSetUp(nStage, oPC)) + { + if (nStage == STAGE_LIST) + { + SetHeader("Select your background:"); + // 1 Affluent + if (_CanBeAffluent(oPC)) + { + AddChoice("Affluence", 1, oPC); + SetLocalString(oPC, "bg_dyn_text_1", + "You were born to a life of ease and indulgence. Only the harsh reality of war has jarred your insulated lifestyle. You must now step outside the comfort of your family's protection, although they will support your campaign from afar. You are tasked with establishing the next great familial holdings with your name and influence as your only tools..\n\nDoes this describe you?"); + } + // 2 Amnian Trained + if (_CanBeAmnianTrained(oPC)) + { + AddChoice("Amnian Trained", 2, oPC); + SetLocalString(oPC, "bg_dyn_text_2", + "You may have previously trained at the School of Wonder in Northern Tethyr along with most of the Cowled Wizards, or you may have been apprenticed to a member of that organization. While one was allowed to share their identity, most Cowled Wizards do so sparingly..\n\nDoes this describe you?"); + } + // 3 Brawler + if (_CanBeBrawler(oPC)) + { + AddChoice("Brawler", 3, oPC); + SetLocalString(oPC, "bg_dyn_text_3", + "Your hands are calloused from battles that began in your youth. Whether you are still a fighter or have moved on to another station, your tendency to resolve things 'The Old Fashioned Way' remains..\n\nDoes this describe you?"); + } + // 4 Calishite Slave + if(nClass != BACKGROUND_UPPER) + { + AddChoice("Calishite Slave", 4, oPC); + SetLocalString(oPC, "bg_dyn_text_4", + "You may have a talent for story telling or entertainment, or have exotic looks that are considered a commodity. Either way, your talents are favored by Calishite nobles who brag to each other about how much you were bought and paid for. Escaping from Calimshan into Tethyr means that you can no longer be enslaved, and so there was no other path to take..\n\nDoes this describe you?"); + } + // 5 Calishite Trained + if(_CanBeCalishiteTrained(oPC)) + { + AddChoice("Calishite Trained", 5, oPC); + SetLocalString(oPC, "bg_dyn_text_5", + "Calishite trained mages have been tutored in academic environments by the most qualified of the profession. They favor spells from specialties they refer to as Fire and Air paths, where evocations are their mainstay..\n\nDoes this describe you?"); + } + // 6 Caravaner + if(nClass != BACKGROUND_UPPER) + { + AddChoice("Caravaner", 6, oPC); + SetLocalString(oPC, "bg_dyn_text_6", + "You have the calloused hands of a hard worker and probably a tan to match. You've traveled the trade roads most of your life and seen various kingdoms over that time. Everywhere you go you can find work, until your back gives out.\n\nDoes this describe you?"); + } + // 7 Church Acolyte + if(GetLevelByClass(CLASS_TYPE_BARBARIAN,oPC) >= 1 && GetRacialType(oPC) != RACIAL_TYPE_HALFORC) + { + AddChoice("Church Orphan", 7, oPC); + SetLocalString(oPC, "bg_dyn_text_7", + "For years, you have studied the dogma of your chosen deity, hoping to someday become ordained as a real priest or priestess. Because of your many years of dedication to this path, you expect to advance more quickly than others who are just starting out..\n\nDoes this describe you?"); + } + // 8 Circle Born + if (_CanBeCircleBorn(oPC)) + { + AddChoice("Circle Born", 8, oPC); + SetLocalString(oPC, "bg_dyn_text_6", + "An orphan, you were found by or given to a Druidic grove to be raised. As a result, the grove and its creatures are like your family, and you are woefully out of touch with society for the most part..\n\nDoes this describe you?"); + } + // 9 Cosmopolitan + if (_CanBeCosmopolitan(oPC)) + { + AddChoice("Cosmopolitan", 9, oPC); + SetLocalString(oPC, "bg_dyn_text_9", + "You have lived in many cities and know many cultures...\n\nDoes this describe you?"); + } + // 10 Crusader + if((nSubrace != 1179 && nSubrace != 1183)) // No Dark Elf or Grey Dwarf + { + AddChoice("Crusader", 10, oPC); + SetLocalString(oPC, "bg_dyn_text_10", + "Whether you have traveled a great distance or a short one, your church has sent you on a critical mission. The spiritual well-being of the people of Tethyr is at stake. Although not a knight, crusaders find many honors in their service to their faith and are the first to be considered for knighthood..\n\nDoes this describe you?"); + } + // 11 Duelist + if(_CanBeDuelist(oPC)) + { + AddChoice("Duelist", 11, oPC); + SetLocalString(oPC, "bg_dyn_text_11", + "Undoubtedly drawing some influence from nearby Amn, you cannot turn down the excitement of the duel. Whether to defend your honor or simply for the fame, your skills have been honed in the art of single combat..\n\nDoes this describe you?"); + } + // 12 Duke’s Warband + if (_CanBeDukesWarband(oPC)) + { + AddChoice("Duke’s Warband", 12, oPC); + SetLocalString(oPC, "bg_dyn_text_12", + "You are recognized in the duchy of Noromath as a lower ranking member of Duke Allain Kevanarial's warband. Instead of occupying a castle, the elven duke prefers to range through the woods of northern Tethyr, coordinating information and resources between several allied groups such as the Tethyrian Army, the Druidic Circle, and the elves of the Wealdath..\n\nDoes this describe you?"); + } + // 13 Eldreth Veluuthra + if (nRacial == RACIAL_TYPE_ELF) + { + AddChoice(" Eldreth Veluuthra", 13, oPC); + SetLocalString(oPC, "bg_dyn_text_13", + "You believe that elves are the superior race, and that they have a right as well as a duty to reclaim the Wealdath forest. You are angered or disgusted by the very existence of half elves and will strive to drive these abominations out of the unspoiled woods that remain..\n\nDoes this describe you?"); + } + // 14 Elmanesse + if (_CanBeElmanesse(oPC)) + { + AddChoice("Elmanesse Tribe", 14, oPC); + SetLocalString(oPC, "bg_dyn_text_14", + "You are a member of one of the last tribes of wild Green Elves, also known as Sy'Tel'Quessir. Some members of the Elmanesse have settled in Tethyr after they departed from Myth Drannor, and the Elmanesse are the most accepting of elven outsiders who might try to make a life in the Wealdath. They have even been known to accept half elves into their way of life..\n\nDoes this describe you?"); + } + // 15 Enlightened Student + if (_CanBeEnlightened(oPC)) + { + AddChoice("Enlightened Student", 15, oPC); + SetLocalString(oPC, "bg_dyn_text_15", + "You have been extensively trained in philosophy, mathematics and other contemporary subjects that the denizens of rural places consider to be as mysterious and otherworldly as magic.\n\nDoes this describe you?"); + } + // 16 Evangelist + if (_CanBeEvangelist(oPC)) + { + AddChoice("Evangelist", 16, oPC); + SetLocalString(oPC, "bg_dyn_text_16", + "You are adept at evading danger...\n\nDoes this describe you?"); + } + // 17 Forester + if (_CanBeForester(oPC)) + { + AddChoice("Forester", 17, oPC); + SetLocalString(oPC, "bg_dyn_text_17", + "You grew up among the trees where a rugged lifestyle required knowledge of the woods and the animals that inhabit it. You are resourceful in situations requiring a worldly body of knowledge because of this experience.\n\nDoes this describe you?"); + } + // 18 Hard Laborer + if (_CanBeHardLaborer(oPC)) + { + AddChoice("Hard Laborer", 18, oPC); + SetLocalString(oPC, "bg_dyn_text_188", + "For one reason or another, you ended up serving a sentence of forced hard labor - the most popular punishment in the land of Tethyr. Due to poor record keeping and a civil war, the reason has been lost to time and you are now free. \n\nDoes this describe you?"); + } + // 19 Harem Trained + if (_CanBeInHarem(oPC)) + { + AddChoice("Harem Trained", 19, oPC); + SetLocalString(oPC, "bg_dyn_text_19", + "Whether you were considered beautiful or particularly talented early on, your lack of pedigree and social status designated you as someone who would best serve your betters with your talents. You were given additional training and invested in, even if you are basically the property of someone else.\n\nDoes this describe you?"); + } + // 20 Harper Protégé + if (GetIsPC(oPC)) + { + AddChoice("Harper Protégé", 20, oPC); + SetLocalString(oPC, "bg_dyn_text_19", + "You are an apprentice or the direct descendant of a Harper who at some point in time made you known to the organization. Whether you actually have an interest in furthering their goals, the Harpers usually have an interest in furthering yours, it seems.\n\nDoes this describe you?"); + } + // 21 Healer + if ((GetAbilityScore(oPC,ABILITY_WISDOM,TRUE) >= 13)) + { + AddChoice("Healer", 21, oPC); + SetLocalString(oPC, "bg_dyn_text_21", + "You have always had the gift of caring for others. In your care, babies have been delivered and the pain of death has been eased. You found your abilities lacking in a larger world and seek the esoteric methods that would enhance your craft..\n\nDoes this describe you?"); + } + // 22 Hedge Mage + if ((GetAbilityScore(oPC,ABILITY_INTELLIGENCE,TRUE) >= 11 || GetAbilityScore(oPC,ABILITY_CHARISMA,TRUE) >= 11)) + { + AddChoice("Hedge Mage", 22, oPC); + SetLocalString(oPC, "bg_dyn_text_22", + "Fearing the discovery of your magical training, your lessons were limited to the time after your chores were completed. Although you were only given a most basic understanding of the laws governing magic, it is more than enough to cause trouble in nearby Amn - where the Art is strongly regulated..\n\nDoes this describe you?"); + } + // 23 Heir to the Throne + if (nRacial == RACIAL_TYPE_DWARF) + { + AddChoice(" Heir to the Throne", 23, oPC); + SetLocalString(oPC, "bg_dyn_text_23", + "You were raised on tales of your ancestors and their heroism and bravery. You were nourished by the story that you were born to be a king and lead your people back to the former glory of Shanatar. The Wyrmskull Throne is said to belong to you and no one else, and you have never doubted this birth right..\n\nDoes this describe you?"); + } + // 24 High Mage + if (_CanBeHighMage(oPC)) + { + AddChoice("High Mage", 24, oPC); + SetLocalString(oPC, "bg_dyn_text_24", + "You have studied the ancient secrets of Elven High Magic and Mythals. Although the complete formulas for Mythal creation are poorly understood in the current day and age, you received your training from aging elves to understand these essential secrets before they are lost forever.\n\nDoes this describe you?"); + } + // 25 Knight + if (_CanBeKnight(oPC)) + { + AddChoice("Knight", 25, oPC); + SetLocalString(oPC, "bg_dyn_text_25", + "Honor, chivalry, and duty to the crown are all that define you as a Tethyrian Knight. You may be bound to a particular lord, keep or temple but you live and die by the word of Queen-Monarch Zaranda Star, and the Tethyrian Knightly Code that she has decreed. Those who speak against the crown are your enemies and they must have their views challenged in a contest of steel. The Knights are arguably Tethyr's most influential class - assuming positions of power throughout the realm.\n\nDoes this describe you?"); + } + // 26 Knight Squire + if (_CanBeKnight(oPC)) + { + AddChoice("Knight Squire", 26, oPC); + SetLocalString(oPC, "bg_dyn_text_26", + "Not having the noble pedigree that most knights have put you at a disadvantage, and it seemed like every opportunity for knighthood during the Interregnum passed you over. Your best course now is to find a knight to train under and try to win recommendations that will better your odds when it comes time for Knighthoods to be granted again.\n\nDoes this describe you?"); + } + // 27 Mendicant + if((nClass == BACKGROUND_MIDDLE || nClass == BACKGROUND_UPPER) && GetRacialType(oPC) != RACIAL_TYPE_HALFORC && GetAbilityScore(oPC,ABILITY_INTELLIGENCE,TRUE) >= 11) + { + AddChoice("Mendicant", 27, oPC); + SetLocalString(oPC, "bg_dyn_text_27", + "You have cast away the burden of all worldly belongings and enriched your spiritual being by doing so. You now travel the land, learning what it means to receive mercy from strangers as your vows force you to beg for your meals. This strange devotion earns you confusion from some and compassion from others..\n\nDoes this describe you?"); + } + // 28 Merchant + if((nClass == BACKGROUND_MIDDLE || nClass == BACKGROUND_UPPER) && GetRacialType(oPC) != RACIAL_TYPE_HALFORC && GetAbilityScore(oPC,ABILITY_INTELLIGENCE,TRUE) >= 11) + { + AddChoice("Merchant", 28, oPC); + SetLocalString(oPC, "bg_dyn_text_28", + "Whether it was the family trade or your very own enterprise, you have developed the skills to barter with even the shrewdest of Calishite traders. You hope to one day retire in wealth, yet enjoy the travel afforded by your profession..\n\nDoes this describe you?"); + } + // 29 Metalsmith + if (_CanBeMetalsmith(oPC)) + { + AddChoice("Metalsmith", 29, oPC); + SetLocalString(oPC, "bg_dyn_text_29", + "The metalsmith holds an honored place among the society of Knights, where his craft is highly respected. Your short apprenticeship ended when the civil war began, as your mentor was called to service. You understand the process required to work iron, yet you hope to someday master the secret of steel.\n\nDoes this describe you?"); + } + // 30 Minstrel + if (_CanBeMinstrel(oPC)) + { + AddChoice("Minstrel", 30, oPC); + SetLocalString(oPC, "bg_dyn_text_30", + "You have apprenticed under a skilled composer and learned the traditions of music, dance, and prose. It is your hope that Tethyr's noble, beleaguered people will inspire you to write your greatest work yet. Thus, you have set out in order to find the necessary subject of your inspiration.\n\nDoes this describe you?"); + } + // 31 Mordinsamman Priest + if (_CanBeMordinsamman(oPC)) + { + AddChoice("Mordinsamman Priest", 31, oPC); + SetLocalString(oPC, "bg_dyn_text_31", + "You are the keeper of the dwarven pantheon of gods, and a last vestige of dwarven stories and folklore. You must be a champion for the place of dwarves in the world, which has been diminishing for generations. Although your gods are fading, they live within your feet that hammer the stone, your hands that mend dwarven bones, and your steel that cleaves the enemies of all dwarves..\n\nDoes this describe you?"); + } + // 32 Natural Lycanthrope + if (GetAbilityScore(oPC,ABILITY_WISDOM,TRUE) >= 11) + { + AddChoice("Natural Lycanthrope", 32, oPC); + SetLocalString(oPC, "bg_dyn_text_32", + "Perhaps unknown to even yourself, you have some dark secret running in your bloodline, a heritage you may have been running from all your life. By embracing it finally you may unlock some aspect of yourself you never imagined..\n\nDoes this describe you?"); + } + // 33 Occultist + if (GetAbilityScore(oPC,ABILITY_CHARISMA,TRUE) >= 11) + { + AddChoice("Occultist", 33, oPC); + SetLocalString(oPC, "bg_dyn_text_33", + " You have sacrificed everything near and dear to you for power. Ever since you were young you have studied ancient, dark grimoires for the unsavory and even macabre learnings they offered. Still, you seek something more...\n\nDoes this describe you?"); + } + // 34 Saboteur + if (GetAbilityScore(oPC,ABILITY_INTELLIGENCE,TRUE) >= 13) + { + AddChoice("Saboteur", 34, oPC); + SetLocalString(oPC, "bg_dyn_text_34", + "Whether it's for the money or for the thrill, you started your path with small pranks that led to increasingly sophisticated scams, staged accidents and a variety of risky and unscrupulous work. It's not your problem if someone is standing under that portcullis, you have a job to do..\n\nDoes this describe you?"); + } + // 35 Scout + if (GetAbilityScore(oPC,ABILITY_WISDOM,TRUE) >= 11) + { + AddChoice("Scout", 35, oPC); + SetLocalString(oPC, "bg_dyn_text_35", + "You have honed your skills in forward reconnaissance and have a knack for picking out silhouettes in the dark. Your skills have made you invaluable to hunting parties, adventurers, and even armies..\n\nDoes this describe you?"); + } + // 36 Seldarine Priest + if (_CanBeSeldarinePriest(oPC)) + { + AddChoice("Seldarine Priest", 36, oPC); + SetLocalString(oPC, "bg_dyn_text_36", + "You are versed in the stories and folklore of the Elven people. Dedicated to the whimsical and aloof gods of the Elven Pantheon, you are tasked with caring for the spiritual needs of your people, and representing your gods to those who wonder about the deities of the Wealdath. You must preserve the culture of the Elves, because otherwise their beliefs could fade into obscurity..\n\nDoes this describe you?"); + } + // 37 Shadow Weaver + if((GetAbilityScore(oPC,ABILITY_INTELLIGENCE,TRUE) > 12 || GetAbilityScore(oPC,ABILITY_CHARISMA,TRUE) > 12)) + { + AddChoice("Shadow Weaver", 37, oPC); + SetLocalString(oPC, "bg_dyn_text_37", + "Since the beginning of your studies, you have craved more magical power than your masters could ever teach you. Your search for this power inevitably led towards the knowledge of the Shadow Weave and the blessed numbness of Her gift.\n\nDoes this describe you?"); + } + // 38 Sneak + if (GetAbilityScore(oPC,ABILITY_DEXTERITY,TRUE) >= 13) + { + AddChoice("Sneak", 38, oPC); + SetLocalString(oPC, "bg_dyn_text_38", + "You used to sneak into the kitchens of your favorite tavern for fun and a free meal - although you were caught more than once. Fortunately, you were young and the offense was overlooked, but you realized early on that you had an advantage in being light-footed.\n\nDoes this describe you?"); + } + // 39 Soldier + if (_CanBeSoldier(oPC)) + { + AddChoice("Soldier", 39, oPC); + SetLocalString(oPC, "bg_dyn_text_39", + "Lacking the privilege that knights come with, you still aspired to become a great warrior in your youth. Since then, you have learned the cost of war as a footsoldier on the front lines. You hope to distinguish yourself further since being discharged, and this time maybe you'll be lucky enough to get a horse and some properly fitted armor.\n\nDoes this describe you?"); + } + // 40 Spellfire Lineage + if (_CanHaveSpellfire(oPC)) + { + AddChoice("Spellfire Lineage", 40, oPC); + SetLocalString(oPC, "bg_dyn_text_40", + "he supernatural ability that is spellfire is thought by many to be unique to a single person each generation, but recent information indicates this is not the case. You know of this misconception firsthand, spellfire runs in your family and is a closely guarded secret. You were discouraged from even attempting to use this coveted ability and wouldn't know where to start even if you wished..\n\nDoes this describe you?"); + } + // 41 Suldusk + if (_CanBeSuldusk(oPC)) + { + AddChoice("Suldusk", 41, oPC); + SetLocalString(oPC, "bg_dyn_text_41", + "You are a member of the reclusive elven tribe of wild Copper Elves, who are also referred to as Sy'Tel'Quessir. Named for the Sulduskoon River in the southern Wealdath, these elves reject arcane magic in any form and the only divine power they trust comes from the druidic circle. Isolated as they are, the Suldusk elves take a dim view of those who would settle the Wealdath by changing it.\n\nDoes this describe you?"); + } + // 42 Talfirian + if (_CanBeTalfirian(oPC)) + { + AddChoice("Talfirian", 42, oPC); + SetLocalString(oPC, "bg_dyn_text_42", + "You come from an ancient Tethyrian bloodline that has been as often associated with nobility as it has been with the use of shadow magic, however discreet.\n\nDoes this describe you?"); + } + // 43 Theocrat + if (_CanBeTheocrat(oPC)) + { + AddChoice("Theocrat", 43, oPC); + SetLocalString(oPC, "bg_dyn_text_43", + "Where courtly intrigues and ecclesiastical authority meet, you excel. You seem to have a knack for navigating the seas of intrigue and advising the people of influence around you of just what would please the gods most of all.\n\nDoes this describe you?"); + } + // 44 Thunder Twin + if (_CanBeThunderTwin(oPC)) + { + AddChoice("Thunder Twin", 44, oPC); + SetLocalString(oPC, "bg_dyn_text_44", + "The Thunder Blessing or 'Thundering' took place in the Year of Thunder in the year 1306 DR, after Moradin called a council of the dwarven gods to find a way to increase the number of dwarves. All dwarven souls born in that year were split and placed in two bodies, so Thunder Twins share the same spirit between two individuals.\n\nDoes this describe you?"); + } + // 45 Traveller + if (GetIsPC(oPC)) + { + AddChoice("Traveller", 45, oPC); + SetLocalString(oPC, "bg_dyn_text_45", + "You have benefited from seeing much of the realm, whether it was circumstance or your own intention. You have a general knowledge of the Tethyrian duchies and have traveled the Tethir Road and the Trade Way.\n\nDoes this describe you?"); + } + // 46 Underdark Exile + if (_CanBeUnderdarkExile(oPC)) + { + AddChoice("Underdark Exile", 46, oPC); + SetLocalString(oPC, "bg_dyn_text_46", + "You were rejected from the society of the Underdark at one point in your past. You may bear a mark signifying this to others, or your escape might be more or less unknown to the cruel races that exiled you..\n\nDoes this describe you?"); + } + // 47 Ward of the Triad + if (_CanBeTriadWard(oPC)) + { + AddChoice("Ward of the Triad", 47, oPC); + SetLocalString(oPC, "bg_dyn_text_47", + " You were an orphan entrusted to one of the faiths of the Triad to raise. As a result, you inherited the moral fiber of this organization and have known little else in your life. Your temple is your family and you feel raised by your deity and their clergy.\n\nDoes this describe you?"); + } + // 48 Wary Swordknight + if (GetRacialType(oPC) == RACIAL_TYPE_HALFLING) + { + AddChoice("Wary Swordknight", 48, oPC); + SetLocalString(oPC, "bg_dyn_text_48", + "Wary Swordknights earned their place in Tethyr by protecting the people during the long civil war. These are halfing paladins within the ranks of Arvoreen's Marchers and their knighthood is assumed to carry all the merits afforded to their human counterparts. Commoners typically respond to these diminutive champions of Tethyr as if they were celebrities.\n\nDoes this describe you?"); + } + // 49 Zhentarim + if(GetIsPC(oPC)) + { + AddChoice("Zhentarim", 49, oPC); + SetLocalString(oPC, "bg_dyn_text_49", + "The Black Network extended its reach across all of Faerun and even into the south. In Tethyr, Black Network merchants had to operate under special permits they had secured under fictitious names, but they still found a way to earn a piece of southern commerce even as they stuck their nose in other intrigues.\n\nDoes this describe you?"); + } + + MarkStageSetUp(nStage, oPC); + SetDefaultTokens(); + } + else if (nStage == STAGE_CONFIRM) + { + int nSelected = GetLocalInt(oPC, "bg_selected"); + SetHeader(GetBackgroundText(oPC, nSelected)); + AddChoice("Yes!", nSelected, oPC); + AddChoice("No...", -1, oPC); + MarkStageSetUp(nStage, oPC); + SetDefaultTokens(); + } + } + SetupTokens(); + } + else if (nValue == DYNCONV_EXITED) + { + // Start deity selection after background is complete + DelayCommand(0.1f, StartDynamicConversation("bg_deity_cv", oPC)); + } + else + { + int nChoice = GetChoice(oPC); + if (nStage == STAGE_LIST) + { + SetLocalInt(oPC, "bg_selected", nChoice); + SetStage(STAGE_CONFIRM, oPC); + } + else if (nStage == STAGE_CONFIRM) + { + if (nChoice == -1) // "No" - return to list + { + SetStage(STAGE_LIST, oPC); + } + else // "Yes" - confirm background + { + string sGrant; + switch (nChoice) + { + case 1: + { + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_AFFLUENCE); + SetPersistantLocalInt(oPC, "BG_Select", 1); + SetLocalInt(oItem,"CC2",BACKGROUND_AFFLUENCE); + SetLocalInt(oItem,"BG_Select",1); + break; // Affluence + } + case 2: + { + //sGrant = "bg_give_amn"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_AMN_TRAINED); + SetPersistantLocalInt(oPC, "BG_Select", 2); + SetLocalInt(oItem,"CC2",BACKGROUND_AMN_TRAINED); + SetLocalInt(oItem,"BG_Select",2); + break; // Amnian Trained + } + case 3: + { + //sGrant = "bg_give_bra"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_BRAWLER); + SetPersistantLocalInt(oPC, "BG_Select", 3); + SetLocalInt(oItem,"CC2",BACKGROUND_BRAWLER); + SetLocalInt(oItem,"BG_Select",3); + break; // Brawler + } + case 4: + { + //sGrant = "bg_give_calslave"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_CALISHITE_SLAVE); + SetPersistantLocalInt(oPC, "BG_Select", 4); + SetLocalInt(oItem,"CC2",BACKGROUND_CALISHITE_SLAVE); + SetLocalInt(oItem,"BG_Select",4); + break; // Calishite Slave + } + case 5: + { + //sGrant = "bg_give_calish"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_CALISHITE_TRAINED); + SetPersistantLocalInt(oPC, "BG_Select", 5); + SetLocalInt(oItem,"CC2",BACKGROUND_CALISHITE_TRAINED); + SetLocalInt(oItem,"BG_Select",5); + break; // Calishite Trained + } + case 6: + { + //sGrant = "bg_give_carav"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_CARAVANNER); + SetPersistantLocalInt(oPC, "BG_Select", 6); + SetLocalInt(oItem,"CC2",BACKGROUND_CARAVANNER); + SetLocalInt(oItem,"BG_Select",6); + break; // Caravaner + + } + case 7: + { + //sGrant = "bg_give_church"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_CHURCH_ACOLYTE); + SetPersistantLocalInt(oPC, "BG_Select", 7); + SetLocalInt(oItem,"CC2",BACKGROUND_CHURCH_ACOLYTE); + SetLocalInt(oItem,"BG_Select",7); + break; // Church Acolyte + + } + case 8: + { + //sGrant = "bg_give_circle"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_CIRCLE_BORN); + SetPersistantLocalInt(oPC, "BG_Select", 8); + SetLocalInt(oItem,"CC2",BACKGROUND_CIRCLE_BORN); + SetLocalInt(oItem,"BG_Select",8); + break; // Circle Born + } + case 9: + { + //sGrant = "bg_give_cosmo"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_COSMOPOLITAN); + SetPersistantLocalInt(oPC, "BG_Select",9); + SetLocalInt(oItem,"CC2",BACKGROUND_COSMOPOLITAN); + SetLocalInt(oItem,"BG_Select",9); + break; // Cosmopolitan + } + case 10: + { + //sGrant = "bg_give_cru"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_CRUSADER); + SetPersistantLocalInt(oPC, "BG_Select",10); + SetLocalInt(oItem,"CC2",BACKGROUND_CRUSADER); + SetLocalInt(oItem,"BG_Select",10); + break; // Crusader + } + case 11: + { + //sGrant = "bg_give_duelist"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_DUELIST); + SetPersistantLocalInt(oPC, "BG_Select",11); + SetLocalInt(oItem,"CC2",BACKGROUND_DUELIST); + SetLocalInt(oItem,"BG_Select",11); + break; // Duke's Warband + } + case 12: + { + //sGrant = "bg_give_dukewar"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_DUKES_WARBAND); + SetPersistantLocalInt(oPC, "BG_Select",12); + SetLocalInt(oItem,"CC2",BACKGROUND_DUKES_WARBAND); + SetLocalInt(oItem,"BG_Select",12); + break; // Duke's Warband + } + case 13: + { + //sGrant = "bg_give_eldreth"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_ELDRETH_VELUUTHRA); + SetPersistantLocalInt(oPC, "BG_Select",13); + SetLocalInt(oItem,"CC2",BACKGROUND_ELDRETH_VELUUTHRA); + SetLocalInt(oItem,"BG_Select",13); + break; // Duke's Warband + } + + case 14: + { + //sGrant = "bg_give_elmanesse"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_ELMANESSE_TRIBE); + SetPersistantLocalInt(oPC, "BG_Select",14); + SetLocalInt(oItem,"CC2",BACKGROUND_ELMANESSE_TRIBE); + SetLocalInt(oItem,"BG_Select",14); + break; // Elmanesse Tribe + } + case 15: + { + //sGrant = "bg_give_enlight"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_ENLIGHTENED_STUDENT); + SetPersistantLocalInt(oPC, "BG_Select",15); + SetLocalInt(oItem,"CC2",BACKGROUND_ENLIGHTENED_STUDENT); + SetLocalInt(oItem,"BG_Select",15); + break; // Enlightened Student + } + + case 16: + { + //sGrant = "bg_give_evang"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_EVANGELIST); + SetPersistantLocalInt(oPC, "BG_Select",16); + SetLocalInt(oItem,"CC2",BACKGROUND_EVANGELIST); + SetLocalInt(oItem,"BG_Select",16); + break; // Evangelist + } + case 17: + { + //sGrant = "bg_give_forest"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_FORESTER); + SetPersistantLocalInt(oPC, "BG_Select",17); + SetLocalInt(oItem,"CC2",BACKGROUND_FORESTER); + SetLocalInt(oItem,"BG_Select",17); + break; // Forester + + } + case 18: + { + //sGrant = "bg_give_hardlabo"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_HARD_LABORER); + SetPersistantLocalInt(oPC, "BG_Select",18); + SetLocalInt(oItem,"CC2",BACKGROUND_HARD_LABORER); + SetLocalInt(oItem,"BG_Select",18); + break; // Hard Laborer + } + case 19: + { + //sGrant = "bg_give_harem"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_HAREM_TRAINED); + SetPersistantLocalInt(oPC, "BG_Select",19); + SetLocalInt(oItem,"CC2",BACKGROUND_HAREM_TRAINED); + SetLocalInt(oItem,"BG_Select",19); + break; // Harem-trained + } + case 20: + { + //sGrant = "bg_give_harper"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_HARPER); + SetPersistantLocalInt(oPC, "BG_Select",20); + SetLocalInt(oItem,"CC2",BACKGROUND_HARPER); + SetLocalInt(oItem,"BG_Select",20); + break; // Harper Protégé + } + case 21: + { + //sGrant = "bg_give_healer"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_HEALER); + SetPersistantLocalInt(oPC, "BG_Select",21); + SetLocalInt(oItem,"CC2",BACKGROUND_HEALER); + SetLocalInt(oItem,"BG_Select",21); + break; // Healer + } + case 22: + { + //sGrant = "bg_give_hedgem"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_HEDGEMAGE); + SetPersistantLocalInt(oPC, "BG_Select",22); + SetLocalInt(oItem,"CC2",BACKGROUND_HEDGEMAGE); + SetLocalInt(oItem,"BG_Select",22); + break; // Hedge Mage + } + case 23: + { + //sGrant = "bg_give_heir"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_HEIR_TO_THRONE); + SetPersistantLocalInt(oPC, "BG_Select",23); + SetLocalInt(oItem,"CC2",BACKGROUND_HEIR_TO_THRONE); + SetLocalInt(oItem,"BG_Select",23); + break; // Heir to the Thone + } + case 24: + { + //sGrant = "bg_give_hmage"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_HIGH_MAGE); + SetPersistantLocalInt(oPC, "BG_Select",24); + SetLocalInt(oItem,"CC2",BACKGROUND_HIGH_MAGE); + SetLocalInt(oItem,"BG_Select",24); + break; // High Mage + } + case 25: + { + //sGrant = "bg_give_knight"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_KNIGHT); + SetPersistantLocalInt(oPC, "BG_Select",25); + SetLocalInt(oItem,"CC2",BACKGROUND_KNIGHT); + SetLocalInt(oItem,"BG_Select",25); + break; // Knight + } + case 26: + { + //sGrant = "bg_give_knightsq"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_KNIGHT_SQUIRE); + SetPersistantLocalInt(oPC, "BG_Select",26); + SetLocalInt(oItem,"CC2",BACKGROUND_KNIGHT_SQUIRE); + SetLocalInt(oItem,"BG_Select",26); + break; // Knight Squire + } + case 27: + { + //sGrant = "bg_give_mendi"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_MENDICANT); + SetPersistantLocalInt(oPC, "BG_Select",27); + SetLocalInt(oItem,"CC2",BACKGROUND_MENDICANT); + SetLocalInt(oItem,"BG_Select",27); + break; // Mendicant + } + case 28: + { + //sGrant = "bg_give_merch"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_MERCHANT); + SetPersistantLocalInt(oPC, "BG_Select",28); + SetLocalInt(oItem,"CC2",BACKGROUND_MERCHANT); + SetLocalInt(oItem,"BG_Select",28); + break; // Merchant + } + case 29: + { + //sGrant = "bg_give_metal"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_METALSMITH); + SetPersistantLocalInt(oPC, "BG_Select",29); + SetLocalInt(oItem,"CC2",BACKGROUND_METALSMITH); + SetLocalInt(oItem,"BG_Select",29); + break; // Merchant + } + + case 30: + { + //sGrant = "bg_give_minstrel"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_MINSTREL); + SetPersistantLocalInt(oPC, "BG_Select",30); + SetLocalInt(oItem,"CC2",BACKGROUND_MINSTREL); + SetLocalInt(oItem,"BG_Select",30); + break; // Minstrel + } + case 31: + { + //sGrant = "bg_give_mordins"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_MORDINSAMMAN_PRIEST); + SetPersistantLocalInt(oPC, "BG_Select",31); + SetLocalInt(oItem,"CC2",BACKGROUND_MORDINSAMMAN_PRIEST); + SetLocalInt(oItem,"BG_Select",31); + break; // Mordinsamman Priest + + } + case 32: + { + //sGrant = "bg_give_natly"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_NAT_LYCAN); + SetPersistantLocalInt(oPC, "BG_Select",32); + SetLocalInt(oItem,"CC2",BACKGROUND_NAT_LYCAN); + SetLocalInt(oItem,"BG_Select",32); + break; // Natural Lycanthrope + + } + case 33: + { + //sGrant = "bg_give_occult"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_NAT_LYCAN); + SetPersistantLocalInt(oPC, "BG_Select",33); + SetLocalInt(oItem,"CC2",BACKGROUND_NAT_LYCAN); + SetLocalInt(oItem,"BG_Select",33); + break; // Occultist + } + case 34: + { + //sGrant = "bg_give_saboteur"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_SABOTEUR); + SetPersistantLocalInt(oPC, "BG_Select",34); + SetLocalInt(oItem,"CC2",BACKGROUND_SABOTEUR); + SetLocalInt(oItem,"BG_Select",34); + break; // Saboteur + } + case 35: + { + sGrant = "bg_give_scout"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_SCOUT); + SetPersistantLocalInt(oPC, "BG_Select",35); + SetLocalInt(oItem,"CC2",BACKGROUND_SCOUT); + SetLocalInt(oItem,"BG_Select",35); + break; + } + case 36: + { + //sGrant = "bg_give_seldarine"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_SELDARINE_PRIEST); + SetPersistantLocalInt(oPC, "BG_Select",36); + SetLocalInt(oItem,"CC2",BACKGROUND_SELDARINE_PRIEST); + SetLocalInt(oItem,"BG_Select",36); + break; + } + case 37: + { + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_SHADOW); + SetPersistantLocalInt(oPC, "BG_Select",37); + SetLocalInt(oItem,"CC2",BACKGROUND_SHADOW); + SetLocalInt(oItem,"BG_Select",37); + break; // Shadow Weaver + } + case 38: + { + //sGrant = "bg_give_sneak"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_SNEAK); + SetPersistantLocalInt(oPC, "BG_Select",38); + SetLocalInt(oItem,"CC2",BACKGROUND_SNEAK); + SetLocalInt(oItem,"BG_Select",38); + break; // Sneak + } + case 39: + { + //sGrant = "bg_give_soldier"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_SOLDIER); + SetPersistantLocalInt(oPC, "BG_Select",39); + SetLocalInt(oItem,"CC2",BACKGROUND_SOLDIER); + SetLocalInt(oItem,"BG_Select",39); + break; // Soldier + } + + case 40: + { + //sGrant = "bg_give_spell"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_SPELLFIRE); + SetPersistantLocalInt(oPC, "BG_Select",40); + SetLocalInt(oItem,"CC2",BACKGROUND_SPELLFIRE); + SetLocalInt(oItem,"BG_Select",40); + break; // Spellfire Lineage + } + case 41: + { + //sGrant = "bg_give_suldusk"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_SULDUSK_TRIBE); + SetPersistantLocalInt(oPC, "BG_Select",41); + SetLocalInt(oItem,"CC2",BACKGROUND_SULDUSK_TRIBE); + SetLocalInt(oItem,"BG_Select",41); + break; // Suldusk Tribe + } + case 42: + { + //sGrant = "bg_give_talf"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_TALFIRIAN); + SetPersistantLocalInt(oPC, "BG_Select",42); + SetLocalInt(oItem,"CC2",BACKGROUND_TALFIRIAN); + SetLocalInt(oItem,"BG_Select",42); + break; // Talfiran Lineage + } + case 43: + { + //sGrant = "bg_give_theo"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_THEOCRAT); + SetPersistantLocalInt(oPC, "BG_Select",43); + SetLocalInt(oItem,"CC2",BACKGROUND_THEOCRAT); + SetLocalInt(oItem,"BG_Select",43); + break; // Theocrat + } + case 44: + { + //sGrant = "bg_give_thunder"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_THUNDER_TWIN); + SetPersistantLocalInt(oPC, "BG_Select",44); + SetLocalInt(oItem,"CC2",BACKGROUND_THUNDER_TWIN); + SetLocalInt(oItem,"BG_Select",44); + break; // Thunder-twin + } + case 45: + { + //sGrant = "bg_give_travel"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_TRAVELER); + SetPersistantLocalInt(oPC, "BG_Select",45); + SetLocalInt(oItem,"CC2",BACKGROUND_TRAVELER); + SetLocalInt(oItem,"BG_Select",45); + break; // Traveler + } + + case 46: + { + //sGrant = "bg_give_udexile"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_UNDERDARK_EXILE); + SetPersistantLocalInt(oPC, "BG_Select",46); + SetLocalInt(oItem,"CC2",BACKGROUND_UNDERDARK_EXILE); + SetLocalInt(oItem,"BG_Select",46); + break; // Underdark Exile + } + case 47: + { + //sGrant = "bg_give_ward"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_WARD_TRIAD); + SetPersistantLocalInt(oPC, "BG_Select",47); + SetLocalInt(oItem,"CC2",BACKGROUND_WARD_TRIAD); + SetLocalInt(oItem,"BG_Select",47); + break; // Ward of the Triad + } + case 48: + { + //sGrant = "bg_give_warysk"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_WARY_SWORDKNIGHT); + SetPersistantLocalInt(oPC, "BG_Select",48); + SetLocalInt(oItem,"CC2",BACKGROUND_WARY_SWORDKNIGHT); + SetLocalInt(oItem,"BG_Select",48); + break; // Wary Swordknight + } + case 49: + { + //sGrant = "bg_give_zhent"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_ZHENTARIM); + SetPersistantLocalInt(oPC, "BG_Select",49); + SetLocalInt(oItem,"CC2",BACKGROUND_ZHENTARIM); + SetLocalInt(oItem,"BG_Select",49); + break; + } + } + SetPersistantLocalInt(oPC, "CC2_DONE", 1); + AllowExit(DYNCONV_EXIT_FORCE_EXIT, TRUE, oPC); + } + } + SetStage(nStage, oPC); + } +} + */ + + +/* void main() +{ + object oPC = GetPCSpeaker(); + object oItem = EnsurePlayerDataObject(oPC); + SendMessageToPC(oPC, "DEBUG: bg_background_cv main() entered"); + int nValue = GetLocalInt(oPC, DYNCONV_VARIABLE); + int nStage = GetStage(oPC); + + int nClass = GetPersistantLocalInt(oPC, "CC1"); + int nSubrace = GetPersistantLocalInt(oPC, "CC0"); + int nRacial = GetRacialType(oPC); + + // Required guard: abort if nValue is 0 (error/invalid call) + if (nValue == 0) return; + + if (nValue == DYNCONV_SETUP_STAGE) + { + if (!GetIsStageSetUp(nStage, oPC)) + { + if (nStage == STAGE_LIST) + { + SetHeader("Select your background:"); + // 1 Affluent + if (_CanBeAffluent(oPC)) + { + AddChoice("Affluence", 1, oPC); + SetLocalString(oPC, "bg_dyn_text_1", + "You were born to a life of ease and indulgence. Only the harsh reality of war has jarred your insulated lifestyle. You must now step outside the comfort of your family's protection, although they will support your campaign from afar. You are tasked with establishing the next great familial holdings with your name and influence as your only tools..\n\nDoes this describe you?"); + } + // 2 Amnian Trained + if (_CanBeAmnianTrained(oPC)) + { + AddChoice("Amnian Trained", 2, oPC); + SetLocalString(oPC, "bg_dyn_text_2", + "You may have previously trained at the School of Wonder in Northern Tethyr along with most of the Cowled Wizards, or you may have been apprenticed to a member of that organization. While one was allowed to share their identity, most Cowled Wizards do so sparingly..\n\nDoes this describe you?"); + } + // 3 Brawler + if (_CanBeBrawler(oPC)) + { + AddChoice("Brawler", 3, oPC); + SetLocalString(oPC, "bg_dyn_text_3", + "Your hands are calloused from battles that began in your youth. Whether you are still a fighter or have moved on to another station, your tendency to resolve things 'The Old Fashioned Way' remains..\n\nDoes this describe you?"); + } + // 4 Calishite Slave + if(nClass != BACKGROUND_UPPER) + { + AddChoice("Calishite Slave", 4, oPC); + SetLocalString(oPC, "bg_dyn_text_4", + "You may have a talent for story telling or entertainment, or have exotic looks that are considered a commodity. Either way, your talents are favored by Calishite nobles who brag to each other about how much you were bought and paid for. Escaping from Calimshan into Tethyr means that you can no longer be enslaved, and so there was no other path to take..\n\nDoes this describe you?"); + } + // 5 Calishite Trained + if(_CanBeCalishiteTrained(oPC)) + { + AddChoice("Calishite Trained", 5, oPC); + SetLocalString(oPC, "bg_dyn_text_5", + "Calishite trained mages have been tutored in academic environments by the most qualified of the profession. They favor spells from specialties they refer to as Fire and Air paths, where evocations are their mainstay..\n\nDoes this describe you?"); + } + // 6 Caravaner + if(nClass != BACKGROUND_UPPER) + { + AddChoice("Caravaner", 6, oPC); + SetLocalString(oPC, "bg_dyn_text_6", + "You have the calloused hands of a hard worker and probably a tan to match. You've traveled the trade roads most of your life and seen various kingdoms over that time. Everywhere you go you can find work, until your back gives out.\n\nDoes this describe you?"); + } + // 7 Church Acolyte + if(GetLevelByClass(CLASS_TYPE_BARBARIAN,oPC) >= 1 && GetRacialType(oPC) != RACIAL_TYPE_HALFORC) + { + AddChoice("Church Orphan", 7, oPC); + SetLocalString(oPC, "bg_dyn_text_7", + "For years, you have studied the dogma of your chosen deity, hoping to someday become ordained as a real priest or priestess. Because of your many years of dedication to this path, you expect to advance more quickly than others who are just starting out..\n\nDoes this describe you?"); + } + // 8 Circle Born + if (_CanBeCircleBorn(oPC)) + { + AddChoice("Circle Born", 8, oPC); + SetLocalString(oPC, "bg_dyn_text_6", + "An orphan, you were found by or given to a Druidic grove to be raised. As a result, the grove and its creatures are like your family, and you are woefully out of touch with society for the most part..\n\nDoes this describe you?"); + } + // 9 Cosmopolitan + if (_CanBeCosmopolitan(oPC)) + { + AddChoice("Cosmopolitan", 9, oPC); + SetLocalString(oPC, "bg_dyn_text_9", + "You have lived in many cities and know many cultures...\n\nDoes this describe you?"); + } + // 10 Crusader + if((nSubrace != 1179 && nSubrace != 1183)) // No Dark Elf or Grey Dwarf + { + AddChoice("Crusader", 10, oPC); + SetLocalString(oPC, "bg_dyn_text_10", + "Whether you have traveled a great distance or a short one, your church has sent you on a critical mission. The spiritual well-being of the people of Tethyr is at stake. Although not a knight, crusaders find many honors in their service to their faith and are the first to be considered for knighthood..\n\nDoes this describe you?"); + } + // 11 Duelist + if(_CanBeDuelist(oPC)) + { + AddChoice("Duelist", 11, oPC); + SetLocalString(oPC, "bg_dyn_text_11", + "Undoubtedly drawing some influence from nearby Amn, you cannot turn down the excitement of the duel. Whether to defend your honor or simply for the fame, your skills have been honed in the art of single combat..\n\nDoes this describe you?"); + } + // 12 Duke’s Warband + if (_CanBeDukesWarband(oPC)) + { + AddChoice("Duke’s Warband", 12, oPC); + SetLocalString(oPC, "bg_dyn_text_12", + "You are recognized in the duchy of Noromath as a lower ranking member of Duke Allain Kevanarial's warband. Instead of occupying a castle, the elven duke prefers to range through the woods of northern Tethyr, coordinating information and resources between several allied groups such as the Tethyrian Army, the Druidic Circle, and the elves of the Wealdath..\n\nDoes this describe you?"); + } + // 13 Eldreth Veluuthra + if (nRacial == RACIAL_TYPE_ELF) + { + AddChoice(" Eldreth Veluuthra", 13, oPC); + SetLocalString(oPC, "bg_dyn_text_13", + "You believe that elves are the superior race, and that they have a right as well as a duty to reclaim the Wealdath forest. You are angered or disgusted by the very existence of half elves and will strive to drive these abominations out of the unspoiled woods that remain..\n\nDoes this describe you?"); + } + // 14 Elmanesse + if (_CanBeElmanesse(oPC)) + { + AddChoice("Elmanesse Tribe", 14, oPC); + SetLocalString(oPC, "bg_dyn_text_14", + "You are a member of one of the last tribes of wild Green Elves, also known as Sy'Tel'Quessir. Some members of the Elmanesse have settled in Tethyr after they departed from Myth Drannor, and the Elmanesse are the most accepting of elven outsiders who might try to make a life in the Wealdath. They have even been known to accept half elves into their way of life..\n\nDoes this describe you?"); + } + // 15 Enlightened Student + if (_CanBeEnlightened(oPC)) + { + AddChoice("Enlightened Student", 15, oPC); + SetLocalString(oPC, "bg_dyn_text_15", + "You have been extensively trained in philosophy, mathematics and other contemporary subjects that the denizens of rural places consider to be as mysterious and otherworldly as magic.\n\nDoes this describe you?"); + } + // 16 Evangelist + if (_CanBeEvangelist(oPC)) + { + AddChoice("Evangelist", 16, oPC); + SetLocalString(oPC, "bg_dyn_text_16", + "You are adept at evading danger...\n\nDoes this describe you?"); + } + // 17 Forester + if (_CanBeForester(oPC)) + { + AddChoice("Forester", 17, oPC); + SetLocalString(oPC, "bg_dyn_text_17", + "You grew up among the trees where a rugged lifestyle required knowledge of the woods and the animals that inhabit it. You are resourceful in situations requiring a worldly body of knowledge because of this experience.\n\nDoes this describe you?"); + } + // 18 Hard Laborer + if (_CanBeHardLaborer(oPC)) + { + AddChoice("Hard Laborer", 18, oPC); + SetLocalString(oPC, "bg_dyn_text_188", + "For one reason or another, you ended up serving a sentence of forced hard labor - the most popular punishment in the land of Tethyr. Due to poor record keeping and a civil war, the reason has been lost to time and you are now free. \n\nDoes this describe you?"); + } + // 19 Harem Trained + if (_CanBeInHarem(oPC)) + { + AddChoice("Harem Trained", 19, oPC); + SetLocalString(oPC, "bg_dyn_text_19", + "Whether you were considered beautiful or particularly talented early on, your lack of pedigree and social status designated you as someone who would best serve your betters with your talents. You were given additional training and invested in, even if you are basically the property of someone else.\n\nDoes this describe you?"); + } + // 20 Harper Protégé + if (GetIsPC(oPC)) + { + AddChoice("Harper Protégé", 20, oPC); + SetLocalString(oPC, "bg_dyn_text_19", + "You are an apprentice or the direct descendant of a Harper who at some point in time made you known to the organization. Whether you actually have an interest in furthering their goals, the Harpers usually have an interest in furthering yours, it seems.\n\nDoes this describe you?"); + } + // 21 Healer + if ((GetAbilityScore(oPC,ABILITY_WISDOM,TRUE) >= 13)) + { + AddChoice("Healer", 21, oPC); + SetLocalString(oPC, "bg_dyn_text_21", + "You have always had the gift of caring for others. In your care, babies have been delivered and the pain of death has been eased. You found your abilities lacking in a larger world and seek the esoteric methods that would enhance your craft..\n\nDoes this describe you?"); + } + // 22 Hedge Mage + if ((GetAbilityScore(oPC,ABILITY_INTELLIGENCE,TRUE) >= 11 || GetAbilityScore(oPC,ABILITY_CHARISMA,TRUE) >= 11)) + { + AddChoice("Hedge Mage", 22, oPC); + SetLocalString(oPC, "bg_dyn_text_22", + "Fearing the discovery of your magical training, your lessons were limited to the time after your chores were completed. Although you were only given a most basic understanding of the laws governing magic, it is more than enough to cause trouble in nearby Amn - where the Art is strongly regulated..\n\nDoes this describe you?"); + } + // 23 Heir to the Throne + if (nRacial == RACIAL_TYPE_DWARF) + { + AddChoice(" Heir to the Throne", 23, oPC); + SetLocalString(oPC, "bg_dyn_text_23", + "You were raised on tales of your ancestors and their heroism and bravery. You were nourished by the story that you were born to be a king and lead your people back to the former glory of Shanatar. The Wyrmskull Throne is said to belong to you and no one else, and you have never doubted this birth right..\n\nDoes this describe you?"); + } + // 24 High Mage + if (_CanBeHighMage(oPC)) + { + AddChoice("High Mage", 24, oPC); + SetLocalString(oPC, "bg_dyn_text_24", + "You have studied the ancient secrets of Elven High Magic and Mythals. Although the complete formulas for Mythal creation are poorly understood in the current day and age, you received your training from aging elves to understand these essential secrets before they are lost forever.\n\nDoes this describe you?"); + } + // 25 Knight + if (_CanBeKnight(oPC)) + { + AddChoice("Knight", 25, oPC); + SetLocalString(oPC, "bg_dyn_text_25", + "Honor, chivalry, and duty to the crown are all that define you as a Tethyrian Knight. You may be bound to a particular lord, keep or temple but you live and die by the word of Queen-Monarch Zaranda Star, and the Tethyrian Knightly Code that she has decreed. Those who speak against the crown are your enemies and they must have their views challenged in a contest of steel. The Knights are arguably Tethyr's most influential class - assuming positions of power throughout the realm.\n\nDoes this describe you?"); + } + // 26 Knight Squire + if (_CanBeKnight(oPC)) + { + AddChoice("Knight Squire", 26, oPC); + SetLocalString(oPC, "bg_dyn_text_26", + "Not having the noble pedigree that most knights have put you at a disadvantage, and it seemed like every opportunity for knighthood during the Interregnum passed you over. Your best course now is to find a knight to train under and try to win recommendations that will better your odds when it comes time for Knighthoods to be granted again.\n\nDoes this describe you?"); + } + // 27 Mendicant + if((nClass == BACKGROUND_MIDDLE || nClass == BACKGROUND_UPPER) && GetRacialType(oPC) != RACIAL_TYPE_HALFORC && GetAbilityScore(oPC,ABILITY_INTELLIGENCE,TRUE) >= 11) + { + AddChoice("Mendicant", 27, oPC); + SetLocalString(oPC, "bg_dyn_text_27", + "You have cast away the burden of all worldly belongings and enriched your spiritual being by doing so. You now travel the land, learning what it means to receive mercy from strangers as your vows force you to beg for your meals. This strange devotion earns you confusion from some and compassion from others..\n\nDoes this describe you?"); + } + // 28 Merchant + if((nClass == BACKGROUND_MIDDLE || nClass == BACKGROUND_UPPER) && GetRacialType(oPC) != RACIAL_TYPE_HALFORC && GetAbilityScore(oPC,ABILITY_INTELLIGENCE,TRUE) >= 11) + { + AddChoice("Merchant", 28, oPC); + SetLocalString(oPC, "bg_dyn_text_28", + "Whether it was the family trade or your very own enterprise, you have developed the skills to barter with even the shrewdest of Calishite traders. You hope to one day retire in wealth, yet enjoy the travel afforded by your profession..\n\nDoes this describe you?"); + } + // 29 Metalsmith + if (_CanBeMetalsmith(oPC)) + { + AddChoice("Metalsmith", 29, oPC); + SetLocalString(oPC, "bg_dyn_text_29", + "The metalsmith holds an honored place among the society of Knights, where his craft is highly respected. Your short apprenticeship ended when the civil war began, as your mentor was called to service. You understand the process required to work iron, yet you hope to someday master the secret of steel.\n\nDoes this describe you?"); + } + // 30 Minstrel + if (_CanBeMinstrel(oPC)) + { + AddChoice("Minstrel", 30, oPC); + SetLocalString(oPC, "bg_dyn_text_30", + "You have apprenticed under a skilled composer and learned the traditions of music, dance, and prose. It is your hope that Tethyr's noble, beleaguered people will inspire you to write your greatest work yet. Thus, you have set out in order to find the necessary subject of your inspiration.\n\nDoes this describe you?"); + } + // 31 Mordinsamman Priest + if (_CanBeMordinsamman(oPC)) + { + AddChoice("Mordinsamman Priest", 31, oPC); + SetLocalString(oPC, "bg_dyn_text_31", + "You are the keeper of the dwarven pantheon of gods, and a last vestige of dwarven stories and folklore. You must be a champion for the place of dwarves in the world, which has been diminishing for generations. Although your gods are fading, they live within your feet that hammer the stone, your hands that mend dwarven bones, and your steel that cleaves the enemies of all dwarves..\n\nDoes this describe you?"); + } + // 32 Natural Lycanthrope + if (GetAbilityScore(oPC,ABILITY_WISDOM,TRUE) >= 11) + { + AddChoice("Natural Lycanthrope", 32, oPC); + SetLocalString(oPC, "bg_dyn_text_32", + "Perhaps unknown to even yourself, you have some dark secret running in your bloodline, a heritage you may have been running from all your life. By embracing it finally you may unlock some aspect of yourself you never imagined..\n\nDoes this describe you?"); + } + // 33 Occultist + if (GetAbilityScore(oPC,ABILITY_CHARISMA,TRUE) >= 11) + { + AddChoice("Occultist", 33, oPC); + SetLocalString(oPC, "bg_dyn_text_33", + " You have sacrificed everything near and dear to you for power. Ever since you were young you have studied ancient, dark grimoires for the unsavory and even macabre learnings they offered. Still, you seek something more...\n\nDoes this describe you?"); + } + // 34 Saboteur + if (GetAbilityScore(oPC,ABILITY_INTELLIGENCE,TRUE) >= 13) + { + AddChoice("Saboteur", 34, oPC); + SetLocalString(oPC, "bg_dyn_text_34", + "Whether it's for the money or for the thrill, you started your path with small pranks that led to increasingly sophisticated scams, staged accidents and a variety of risky and unscrupulous work. It's not your problem if someone is standing under that portcullis, you have a job to do..\n\nDoes this describe you?"); + } + // 35 Scout + if (GetAbilityScore(oPC,ABILITY_WISDOM,TRUE) >= 11) + { + AddChoice("Scout", 35, oPC); + SetLocalString(oPC, "bg_dyn_text_35", + "You have honed your skills in forward reconnaissance and have a knack for picking out silhouettes in the dark. Your skills have made you invaluable to hunting parties, adventurers, and even armies..\n\nDoes this describe you?"); + } + // 36 Seldarine Priest + if (_CanBeSeldarinePriest(oPC)) + { + AddChoice("Seldarine Priest", 36, oPC); + SetLocalString(oPC, "bg_dyn_text_36", + "You are versed in the stories and folklore of the Elven people. Dedicated to the whimsical and aloof gods of the Elven Pantheon, you are tasked with caring for the spiritual needs of your people, and representing your gods to those who wonder about the deities of the Wealdath. You must preserve the culture of the Elves, because otherwise their beliefs could fade into obscurity..\n\nDoes this describe you?"); + } + // 37 Shadow Weaver + if((GetAbilityScore(oPC,ABILITY_INTELLIGENCE,TRUE) > 12 || GetAbilityScore(oPC,ABILITY_CHARISMA,TRUE) > 12)) + { + AddChoice("Shadow Weaver", 37, oPC); + SetLocalString(oPC, "bg_dyn_text_37", + "Since the beginning of your studies, you have craved more magical power than your masters could ever teach you. Your search for this power inevitably led towards the knowledge of the Shadow Weave and the blessed numbness of Her gift.\n\nDoes this describe you?"); + } + // 38 Sneak + if (GetAbilityScore(oPC,ABILITY_DEXTERITY,TRUE) >= 13) + { + AddChoice("Sneak", 38, oPC); + SetLocalString(oPC, "bg_dyn_text_38", + "You used to sneak into the kitchens of your favorite tavern for fun and a free meal - although you were caught more than once. Fortunately, you were young and the offense was overlooked, but you realized early on that you had an advantage in being light-footed.\n\nDoes this describe you?"); + } + // 39 Soldier + if (_CanBeSoldier(oPC)) + { + AddChoice("Soldier", 39, oPC); + SetLocalString(oPC, "bg_dyn_text_39", + "Lacking the privilege that knights come with, you still aspired to become a great warrior in your youth. Since then, you have learned the cost of war as a footsoldier on the front lines. You hope to distinguish yourself further since being discharged, and this time maybe you'll be lucky enough to get a horse and some properly fitted armor.\n\nDoes this describe you?"); + } + // 40 Spellfire Lineage + if (_CanHaveSpellfire(oPC)) + { + AddChoice("Spellfire Lineage", 40, oPC); + SetLocalString(oPC, "bg_dyn_text_40", + "he supernatural ability that is spellfire is thought by many to be unique to a single person each generation, but recent information indicates this is not the case. You know of this misconception firsthand, spellfire runs in your family and is a closely guarded secret. You were discouraged from even attempting to use this coveted ability and wouldn't know where to start even if you wished..\n\nDoes this describe you?"); + } + // 41 Suldusk + if (_CanBeSuldusk(oPC)) + { + AddChoice("Suldusk", 41, oPC); + SetLocalString(oPC, "bg_dyn_text_41", + "You are a member of the reclusive elven tribe of wild Copper Elves, who are also referred to as Sy'Tel'Quessir. Named for the Sulduskoon River in the southern Wealdath, these elves reject arcane magic in any form and the only divine power they trust comes from the druidic circle. Isolated as they are, the Suldusk elves take a dim view of those who would settle the Wealdath by changing it.\n\nDoes this describe you?"); + } + // 42 Talfirian + if (_CanBeTalfirian(oPC)) + { + AddChoice("Talfirian", 42, oPC); + SetLocalString(oPC, "bg_dyn_text_42", + "You come from an ancient Tethyrian bloodline that has been as often associated with nobility as it has been with the use of shadow magic, however discreet.\n\nDoes this describe you?"); + } + // 43 Theocrat + if (_CanBeTheocrat(oPC)) + { + AddChoice("Theocrat", 43, oPC); + SetLocalString(oPC, "bg_dyn_text_43", + "Where courtly intrigues and ecclesiastical authority meet, you excel. You seem to have a knack for navigating the seas of intrigue and advising the people of influence around you of just what would please the gods most of all.\n\nDoes this describe you?"); + } + // 44 Thunder Twin + if (_CanBeThunderTwin(oPC)) + { + AddChoice("Thunder Twin", 44, oPC); + SetLocalString(oPC, "bg_dyn_text_44", + "The Thunder Blessing or 'Thundering' took place in the Year of Thunder in the year 1306 DR, after Moradin called a council of the dwarven gods to find a way to increase the number of dwarves. All dwarven souls born in that year were split and placed in two bodies, so Thunder Twins share the same spirit between two individuals.\n\nDoes this describe you?"); + } + // 45 Traveller + if (GetIsPC(oPC)) + { + AddChoice("Traveller", 45, oPC); + SetLocalString(oPC, "bg_dyn_text_45", + "You have benefited from seeing much of the realm, whether it was circumstance or your own intention. You have a general knowledge of the Tethyrian duchies and have traveled the Tethir Road and the Trade Way.\n\nDoes this describe you?"); + } + // 46 Underdark Exile + if (_CanBeUnderdarkExile(oPC)) + { + AddChoice("Underdark Exile", 46, oPC); + SetLocalString(oPC, "bg_dyn_text_46", + "You were rejected from the society of the Underdark at one point in your past. You may bear a mark signifying this to others, or your escape might be more or less unknown to the cruel races that exiled you..\n\nDoes this describe you?"); + } + // 47 Ward of the Triad + if (_CanBeTriadWard(oPC)) + { + AddChoice("Ward of the Triad", 47, oPC); + SetLocalString(oPC, "bg_dyn_text_47", + " You were an orphan entrusted to one of the faiths of the Triad to raise. As a result, you inherited the moral fiber of this organization and have known little else in your life. Your temple is your family and you feel raised by your deity and their clergy.\n\nDoes this describe you?"); + } + // 48 Wary Swordknight + if (GetRacialType(oPC) == RACIAL_TYPE_HALFLING) + { + AddChoice("Wary Swordknight", 48, oPC); + SetLocalString(oPC, "bg_dyn_text_48", + "Wary Swordknights earned their place in Tethyr by protecting the people during the long civil war. These are halfing paladins within the ranks of Arvoreen's Marchers and their knighthood is assumed to carry all the merits afforded to their human counterparts. Commoners typically respond to these diminutive champions of Tethyr as if they were celebrities.\n\nDoes this describe you?"); + } + // 49 Zhentarim + if(GetIsPC(oPC)) + { + AddChoice("Zhentarim", 49, oPC); + SetLocalString(oPC, "bg_dyn_text_49", + "The Black Network extended its reach across all of Faerun and even into the south. In Tethyr, Black Network merchants had to operate under special permits they had secured under fictitious names, but they still found a way to earn a piece of southern commerce even as they stuck their nose in other intrigues.\n\nDoes this describe you?"); + } + MarkStageSetUp(nStage, oPC); + SetDefaultTokens(); + } + } + else if (nStage == STAGE_CONFIRM) + { + int nSelected = GetLocalInt(oPC, "bg_selected"); + string sText = GetLocalString(oPC, "bg_dyn_text_" + IntToString(nSelected)); + SetHeader(sText); + AddChoice("Yes!", nSelected, oPC); + AddChoice("No...", -1, oPC); + MarkStageSetUp(nStage, oPC); + SetDefaultTokens(); + } + // Do token setup once per SETUP_STAGE + SetupTokens(); + } + else + { + int nChoice = GetChoice(oPC); + if (nStage == STAGE_LIST) + { + SetLocalInt(oPC, "bg_selected", nChoice); + SetStage(STAGE_CONFIRM, oPC); + } + else if (nStage == STAGE_CONFIRM) + { + if (nChoice >= 0) { + string sGrant; + switch (nChoice) + { + case 1: + { + //sGrant = "bg_give_afl"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_AFFLUENCE); + SetPersistantLocalInt(oPC, "BG_Select", 1); + SetLocalInt(oItem,"CC2",BACKGROUND_AFFLUENCE); + SetLocalInt(oItem,"BG_Select",1); + break; // Affluence + } + case 2: + { + //sGrant = "bg_give_amn"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_AMN_TRAINED); + SetPersistantLocalInt(oPC, "BG_Select", 2); + SetLocalInt(oItem,"CC2",BACKGROUND_AMN_TRAINED); + SetLocalInt(oItem,"BG_Select",2); + break; // Amnian Trained + } + case 3: + { + //sGrant = "bg_give_bra"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_BRAWLER); + SetPersistantLocalInt(oPC, "BG_Select", 3); + SetLocalInt(oItem,"CC2",BACKGROUND_BRAWLER); + SetLocalInt(oItem,"BG_Select",3); + break; // Brawler + } + case 4: + { + //sGrant = "bg_give_calslave"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_CALISHITE_SLAVE); + SetPersistantLocalInt(oPC, "BG_Select", 4); + SetLocalInt(oItem,"CC2",BACKGROUND_CALISHITE_SLAVE); + SetLocalInt(oItem,"BG_Select",4); + break; // Calishite Slave + } + case 5: + { + //sGrant = "bg_give_calish"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_CALISHITE_TRAINED); + SetPersistantLocalInt(oPC, "BG_Select", 5); + SetLocalInt(oItem,"CC2",BACKGROUND_CALISHITE_TRAINED); + SetLocalInt(oItem,"BG_Select",5); + break; // Calishite Trained + } + case 6: + { + //sGrant = "bg_give_carav"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_CARAVANNER); + SetPersistantLocalInt(oPC, "BG_Select", 6); + SetLocalInt(oItem,"CC2",BACKGROUND_CARAVANNER); + SetLocalInt(oItem,"BG_Select",6); + break; // Caravaner + + } + case 7: + { + //sGrant = "bg_give_church"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_CHURCH_ACOLYTE); + SetPersistantLocalInt(oPC, "BG_Select", 7); + SetLocalInt(oItem,"CC2",BACKGROUND_CHURCH_ACOLYTE); + SetLocalInt(oItem,"BG_Select",7); + break; // Church Acolyte + + } + case 8: + { + //sGrant = "bg_give_circle"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_CIRCLE_BORN); + SetPersistantLocalInt(oPC, "BG_Select", 8); + SetLocalInt(oItem,"CC2",BACKGROUND_CIRCLE_BORN); + SetLocalInt(oItem,"BG_Select",8); + break; // Circle Born + } + case 9: + { + //sGrant = "bg_give_cosmo"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_COSMOPOLITAN); + SetPersistantLocalInt(oPC, "BG_Select",9); + SetLocalInt(oItem,"CC2",BACKGROUND_COSMOPOLITAN); + SetLocalInt(oItem,"BG_Select",9); + break; // Cosmopolitan + } + case 10: + { + //sGrant = "bg_give_cru"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_CRUSADER); + SetPersistantLocalInt(oPC, "BG_Select",10); + SetLocalInt(oItem,"CC2",BACKGROUND_CRUSADER); + SetLocalInt(oItem,"BG_Select",10); + break; // Crusader + } + case 11: + { + //sGrant = "bg_give_duelist"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_DUELIST); + SetPersistantLocalInt(oPC, "BG_Select",11); + SetLocalInt(oItem,"CC2",BACKGROUND_DUELIST); + SetLocalInt(oItem,"BG_Select",11); + break; // Duke's Warband + } + case 12: + { + //sGrant = "bg_give_dukewar"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_DUKES_WARBAND); + SetPersistantLocalInt(oPC, "BG_Select",12); + SetLocalInt(oItem,"CC2",BACKGROUND_DUKES_WARBAND); + SetLocalInt(oItem,"BG_Select",12); + break; // Duke's Warband + } + case 13: + { + //sGrant = "bg_give_eldreth"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_ELDRETH_VELUUTHRA); + SetPersistantLocalInt(oPC, "BG_Select",13); + SetLocalInt(oItem,"CC2",BACKGROUND_ELDRETH_VELUUTHRA); + SetLocalInt(oItem,"BG_Select",13); + break; // Duke's Warband + } + + case 14: + { + //sGrant = "bg_give_elmanesse"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_ELMANESSE_TRIBE); + SetPersistantLocalInt(oPC, "BG_Select",14); + SetLocalInt(oItem,"CC2",BACKGROUND_ELMANESSE_TRIBE); + SetLocalInt(oItem,"BG_Select",14); + break; // Elmanesse Tribe + } + case 15: + { + //sGrant = "bg_give_enlight"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_ENLIGHTENED_STUDENT); + SetPersistantLocalInt(oPC, "BG_Select",15); + SetLocalInt(oItem,"CC2",BACKGROUND_ENLIGHTENED_STUDENT); + SetLocalInt(oItem,"BG_Select",15); + break; // Enlightened Student + } + + case 16: + { + //sGrant = "bg_give_evang"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_EVANGELIST); + SetPersistantLocalInt(oPC, "BG_Select",16); + SetLocalInt(oItem,"CC2",BACKGROUND_EVANGELIST); + SetLocalInt(oItem,"BG_Select",16); + break; // Evangelist + } + case 17: + { + //sGrant = "bg_give_forest"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_FORESTER); + SetPersistantLocalInt(oPC, "BG_Select",17); + SetLocalInt(oItem,"CC2",BACKGROUND_FORESTER); + SetLocalInt(oItem,"BG_Select",17); + break; // Forester + + } + case 18: + { + //sGrant = "bg_give_hardlabo"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_HARD_LABORER); + SetPersistantLocalInt(oPC, "BG_Select",18); + SetLocalInt(oItem,"CC2",BACKGROUND_HARD_LABORER); + SetLocalInt(oItem,"BG_Select",18); + break; // Hard Laborer + } + case 19: + { + //sGrant = "bg_give_harem"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_HAREM_TRAINED); + SetPersistantLocalInt(oPC, "BG_Select",19); + SetLocalInt(oItem,"CC2",BACKGROUND_HAREM_TRAINED); + SetLocalInt(oItem,"BG_Select",19); + break; // Harem-trained + } + case 20: + { + //sGrant = "bg_give_harper"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_HARPER); + SetPersistantLocalInt(oPC, "BG_Select",20); + SetLocalInt(oItem,"CC2",BACKGROUND_HARPER); + SetLocalInt(oItem,"BG_Select",20); + break; // Harper Protégé + } + case 21: + { + //sGrant = "bg_give_healer"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_HEALER); + SetPersistantLocalInt(oPC, "BG_Select",21); + SetLocalInt(oItem,"CC2",BACKGROUND_HEALER); + SetLocalInt(oItem,"BG_Select",21); + break; // Healer + } + case 22: + { + //sGrant = "bg_give_hedgem"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_HEDGEMAGE); + SetPersistantLocalInt(oPC, "BG_Select",22); + SetLocalInt(oItem,"CC2",BACKGROUND_HEDGEMAGE); + SetLocalInt(oItem,"BG_Select",22); + break; // Hedge Mage + } + case 23: + { + //sGrant = "bg_give_heir"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_HEIR_TO_THRONE); + SetPersistantLocalInt(oPC, "BG_Select",23); + SetLocalInt(oItem,"CC2",BACKGROUND_HEIR_TO_THRONE); + SetLocalInt(oItem,"BG_Select",23); + break; // Heir to the Thone + } + case 24: + { + //sGrant = "bg_give_hmage"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_HIGH_MAGE); + SetPersistantLocalInt(oPC, "BG_Select",24); + SetLocalInt(oItem,"CC2",BACKGROUND_HIGH_MAGE); + SetLocalInt(oItem,"BG_Select",24); + break; // High Mage + } + case 25: + { + //sGrant = "bg_give_knight"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_KNIGHT); + SetPersistantLocalInt(oPC, "BG_Select",25); + SetLocalInt(oItem,"CC2",BACKGROUND_KNIGHT); + SetLocalInt(oItem,"BG_Select",25); + break; // Knight + } + case 26: + { + //sGrant = "bg_give_knightsq"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_KNIGHT_SQUIRE); + SetPersistantLocalInt(oPC, "BG_Select",26); + SetLocalInt(oItem,"CC2",BACKGROUND_KNIGHT_SQUIRE); + SetLocalInt(oItem,"BG_Select",26); + break; // Knight Squire + } + case 27: + { + //sGrant = "bg_give_mendi"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_MENDICANT); + SetPersistantLocalInt(oPC, "BG_Select",27); + SetLocalInt(oItem,"CC2",BACKGROUND_MENDICANT); + SetLocalInt(oItem,"BG_Select",27); + break; // Mendicant + } + case 28: + { + //sGrant = "bg_give_merch"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_MERCHANT); + SetPersistantLocalInt(oPC, "BG_Select",28); + SetLocalInt(oItem,"CC2",BACKGROUND_MERCHANT); + SetLocalInt(oItem,"BG_Select",28); + break; // Merchant + } + case 29: + { + //sGrant = "bg_give_metal"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_METALSMITH); + SetPersistantLocalInt(oPC, "BG_Select",29); + SetLocalInt(oItem,"CC2",BACKGROUND_METALSMITH); + SetLocalInt(oItem,"BG_Select",29); + break; // Merchant + } + + case 30: + { + //sGrant = "bg_give_minstrel"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_MINSTREL); + SetPersistantLocalInt(oPC, "BG_Select",30); + SetLocalInt(oItem,"CC2",BACKGROUND_MINSTREL); + SetLocalInt(oItem,"BG_Select",30); + break; // Minstrel + } + case 31: + { + //sGrant = "bg_give_mordins"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_MORDINSAMMAN_PRIEST); + SetPersistantLocalInt(oPC, "BG_Select",31); + SetLocalInt(oItem,"CC2",BACKGROUND_MORDINSAMMAN_PRIEST); + SetLocalInt(oItem,"BG_Select",31); + break; // Mordinsamman Priest + + } + case 32: + { + //sGrant = "bg_give_natly"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_NAT_LYCAN); + SetPersistantLocalInt(oPC, "BG_Select",32); + SetLocalInt(oItem,"CC2",BACKGROUND_NAT_LYCAN); + SetLocalInt(oItem,"BG_Select",32); + break; // Natural Lycanthrope + + } + case 33: + { + //sGrant = "bg_give_occult"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_NAT_LYCAN); + SetPersistantLocalInt(oPC, "BG_Select",33); + SetLocalInt(oItem,"CC2",BACKGROUND_NAT_LYCAN); + SetLocalInt(oItem,"BG_Select",33); + break; // Occultist + } + case 34: + { + //sGrant = "bg_give_saboteur"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_SABOTEUR); + SetPersistantLocalInt(oPC, "BG_Select",34); + SetLocalInt(oItem,"CC2",BACKGROUND_SABOTEUR); + SetLocalInt(oItem,"BG_Select",34); + break; // Saboteur + } + case 35: + { + sGrant = "bg_give_scout"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_SCOUT); + SetPersistantLocalInt(oPC, "BG_Select",35); + SetLocalInt(oItem,"CC2",BACKGROUND_SCOUT); + SetLocalInt(oItem,"BG_Select",35); + break; + } + case 36: + { + //sGrant = "bg_give_seldarine"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_SELDARINE_PRIEST); + SetPersistantLocalInt(oPC, "BG_Select",36); + SetLocalInt(oItem,"CC2",BACKGROUND_SELDARINE_PRIEST); + SetLocalInt(oItem,"BG_Select",36); + break; + } + case 37: + { + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_SHADOW); + SetPersistantLocalInt(oPC, "BG_Select",37); + SetLocalInt(oItem,"CC2",BACKGROUND_SHADOW); + SetLocalInt(oItem,"BG_Select",37); + break; // Shadow Weaver + } + case 38: + { + //sGrant = "bg_give_sneak"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_SNEAK); + SetPersistantLocalInt(oPC, "BG_Select",38); + SetLocalInt(oItem,"CC2",BACKGROUND_SNEAK); + SetLocalInt(oItem,"BG_Select",38); + break; // Sneak + } + case 39: + { + //sGrant = "bg_give_soldier"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_SOLDIER); + SetPersistantLocalInt(oPC, "BG_Select",39); + SetLocalInt(oItem,"CC2",BACKGROUND_SOLDIER); + SetLocalInt(oItem,"BG_Select",39); + break; // Soldier + } + + case 40: + { + //sGrant = "bg_give_spell"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_SPELLFIRE); + SetPersistantLocalInt(oPC, "BG_Select",40); + SetLocalInt(oItem,"CC2",BACKGROUND_SPELLFIRE); + SetLocalInt(oItem,"BG_Select",40); + break; // Spellfire Lineage + } + case 41: + { + //sGrant = "bg_give_suldusk"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_SULDUSK_TRIBE); + SetPersistantLocalInt(oPC, "BG_Select",41); + SetLocalInt(oItem,"CC2",BACKGROUND_SULDUSK_TRIBE); + SetLocalInt(oItem,"BG_Select",41); + break; // Suldusk Tribe + } + case 42: + { + //sGrant = "bg_give_talf"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_TALFIRIAN); + SetPersistantLocalInt(oPC, "BG_Select",42); + SetLocalInt(oItem,"CC2",BACKGROUND_TALFIRIAN); + SetLocalInt(oItem,"BG_Select",42); + break; // Talfiran Lineage + } + case 43: + { + //sGrant = "bg_give_theo"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_THEOCRAT); + SetPersistantLocalInt(oPC, "BG_Select",43); + SetLocalInt(oItem,"CC2",BACKGROUND_THEOCRAT); + SetLocalInt(oItem,"BG_Select",43); + break; // Theocrat + } + case 44: + { + //sGrant = "bg_give_thunder"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_THUNDER_TWIN); + SetPersistantLocalInt(oPC, "BG_Select",44); + SetLocalInt(oItem,"CC2",BACKGROUND_THUNDER_TWIN); + SetLocalInt(oItem,"BG_Select",44); + break; // Thunder-twin + } + case 45: + { + //sGrant = "bg_give_travel"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_TRAVELER); + SetPersistantLocalInt(oPC, "BG_Select",45); + SetLocalInt(oItem,"CC2",BACKGROUND_TRAVELER); + SetLocalInt(oItem,"BG_Select",45); + break; // Traveler + } + + case 46: + { + //sGrant = "bg_give_udexile"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_UNDERDARK_EXILE); + SetPersistantLocalInt(oPC, "BG_Select",46); + SetLocalInt(oItem,"CC2",BACKGROUND_UNDERDARK_EXILE); + SetLocalInt(oItem,"BG_Select",46); + break; // Underdark Exile + } + case 47: + { + //sGrant = "bg_give_ward"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_WARD_TRIAD); + SetPersistantLocalInt(oPC, "BG_Select",47); + SetLocalInt(oItem,"CC2",BACKGROUND_WARD_TRIAD); + SetLocalInt(oItem,"BG_Select",47); + break; // Ward of the Triad + } + case 48: + { + //sGrant = "bg_give_warysk"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_WARY_SWORDKNIGHT); + SetPersistantLocalInt(oPC, "BG_Select",48); + SetLocalInt(oItem,"CC2",BACKGROUND_WARY_SWORDKNIGHT); + SetLocalInt(oItem,"BG_Select",48); + break; // Wary Swordknight + } + case 49: + { + //sGrant = "bg_give_zhent"; + SetPersistantLocalInt(oPC, "CC2", BACKGROUND_ZHENTARIM); + SetPersistantLocalInt(oPC, "BG_Select",49); + SetLocalInt(oItem,"CC2",BACKGROUND_ZHENTARIM); + SetLocalInt(oItem,"BG_Select",49); + break; + } + //default: sGrant = ""; break; + SetPersistantLocalInt(oPC, "CC2_DONE", 1); + AllowExit(DYNCONV_EXIT_FORCE_EXIT, TRUE, oPC); + DelayCommand(0.1f, StartDynamicConversation("bg_deity_cv", oPC)); + } + //if (sGrant != "") ExecuteScript(sGrant, oPC); + } else + { + SetStage(STAGE_LIST, oPC); + } + } + SetStage(nStage, oPC); + } +}*/ \ No newline at end of file diff --git a/src/nss/bg_chk_natly.nss b/src/nss/bg_chk_natly.nss index c10ffd8..d8539f8 100644 --- a/src/nss/bg_chk_natly.nss +++ b/src/nss/bg_chk_natly.nss @@ -1,5 +1,5 @@ //:://///////////////////////////////////////////// -//:: FileName BG 1 +//:: FileName bg_chk_natly //::////////////////////////////////////////////// //::////////////////////////////////////////////// //:: Created By: David Novotny diff --git a/src/nss/bg_const_inc.nss b/src/nss/bg_const_inc.nss new file mode 100644 index 0000000..55dbe25 --- /dev/null +++ b/src/nss/bg_const_inc.nss @@ -0,0 +1,74 @@ +//:: bg_const_inc.nss +//:: + +const int BACKGROUND_TYPE_INVALID = 0; +const int BACKGROUND_TYPE_ETHNICITY = 1; +const int BACKGROUND_TYPE_SOCIAL_CLASS = 2; +const int BACKGROUND_TYPE_BACKGROUND = 3; +const int BACKGROUND_TYPE_DEITY = 4; +const int BACKGROUND_TYPE_PROFICIENCY = 5; +const int BACKGROUND_TYPE_AGE = 6; +const int BACKGROUND_TYPE_DISABILITY = 7; + +const int ETHNICITY_SHADOW = 1176; +const int ETHNICITY_COPPER_ELF = 1177; +const int ETHNICITY_GREEN_ELF = 1178; +const int ETHNICITY_DARK_ELF = 1179; +const int ETHNICITY_SILVER_ELF = 1180; +const int ETHNICITY_GOLD_ELF = 1181; +const int ETHNICITY_GOLD_DWARF = 1182; +const int ETHNICITY_GREY_DWARF = 1183; +const int ETHNICITY_SHIELD_DWARF = 1184; +const int ETHNICITY_OUTSIDER = 1185; +const int ETHNICITY_AASIMAR = 1186; +const int ETHNICITY_TIEFLING = 1187; +const int ETHNICITY_CALISHITE = 1381; +const int ETHNICITY_CHONDATHAN = 1382; +const int ETHNICITY_DAMARAN = 1383; +const int ETHNICITY_ILLUSKAN = 1384; +const int ETHNICITY_MULAN = 1385; +const int ETHNICITY_RASHEMI = 1386; +const int ETHNICITY_TETHYRIAN = 1387; +const int ETHNICITY_OTHER = 1388; + +const int SOCIAL_CLASS_LOWER = 1150; +const int SOCIAL_CLASS_MIDDLE = 1151; +const int SOCIAL_CLASS_UPPER = 1152; + +const int BACKGROUND_AFFLUENCE = 1153; +const int BACKGROUND_BRAWLER = 1154; +const int BACKGROUND_COSMOPOLITAN = 1155; +const int BACKGROUND_CRUSADER = 1156; +const int BACKGROUND_DUELIST = 1157; +const int BACKGROUND_EVANGELIST = 1158; +const int BACKGROUND_FORESTER = 1159; +const int BACKGROUND_HARD_LABORER = 1160; +const int BACKGROUND_HEALER = 1161; +const int BACKGROUND_KNIGHT = 1162; +const int BACKGROUND_HEDGEMAGE = 1163; +const int BACKGROUND_MENDICANT = 1164; +const int BACKGROUND_MERCHANT = 1165; +const int BACKGROUND_METALSMITH = 1166; +const int BACKGROUND_MINSTREL = 1167; +const int BACKGROUND_OCCULTIST = 1168; +const int BACKGROUND_SABOTEUR = 1169; +const int BACKGROUND_SCOUT = 1170; +const int BACKGROUND_SNEAK = 1171; +const int BACKGROUND_SOLDIER = 1172; +const int BACKGROUND_TRAVELER = 1173; +const int BACKGROUND_SPELLFIRE = 1174; +const int BACKGROUND_NAT_LYCAN = 1175; +const int BACKGROUND_AMN_TRAINED = 1389; +const int BACKGROUND_CALISHITE_TRAINED = 1390; +const int BACKGROUND_CHURCH_ACOLYTE = 1392; +const int BACKGROUND_CARAVANNER = 1391; +const int BACKGROUND_CIRCLE_BORN = 1393; +const int BACKGROUND_ENLIGHTENED_STUDENT = 1394; +const int BACKGROUND_HAREM_TRAINED = 1395; +const int BACKGROUND_HARPER = 1396; +const int BACKGROUND_KNIGHT_SQUIRE = 1397; +const int BACKGROUND_TALFIRIAN = 1398; +const int BACKGROUND_THEOCRAT = 1399; +const int BACKGROUND_WARD_TRIAD = 1400; +const int BACKGROUND_ZHENTARIM = 1401; + diff --git a/src/nss/bg_deity_cv.nss b/src/nss/bg_deity_cv.nss new file mode 100644 index 0000000..9df3d71 --- /dev/null +++ b/src/nss/bg_deity_cv.nss @@ -0,0 +1,2633 @@ +// bg_deity_cv.nss +#include "inc_dynconv" +#include "bg_inc_p_locals" +#include "inc_alignment" +#include "te_afflic_func" + +const int STAGE_LIST = 0; +const int STAGE_CONFIRM = 1; + +string GetDeityText(object oPC, int nChoice) { + return GetLocalString(oPC, "deity_dyn_text_" + IntToString(nChoice)); +} + +int _CanBeUnderdarkExile(object oPC = OBJECT_SELF) +{ + int nSubrace = GetPersistantLocalInt(oPC, "CC0"); + return ( + nSubrace == 1179 || // Dark Elf + nSubrace == 1182 || // Gold Dwarf + nSubrace == 1183 || // Grey Dwarf + nSubrace == 1184 || // Shield Dwarf + nSubrace == 1187 || // Tiefling + nSubrace == 1447 || // Imaskari + nSubrace == 1452 || // Deep Gnome + GetRacialType(oPC) == RACIAL_TYPE_HALFORC + ); +} + +// Ensure the PC Data Object exists; create if missing +object EnsurePlayerDataObject(object oPC) +{ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + if (!GetIsObjectValid(oItem)) + { + oItem = CreateItemOnObject("pc_data_object", oPC); + } + return oItem; +} + +void main() +{ + object oPC = GetPCSpeaker(); + SendMessageToPC(oPC, "DEBUG: bg_deity_cv main() entered"); + + int nRacialType = GetRacialType(oPC); + int nAlignment = GetCreaturesAlignment(oPC); + int nValue = GetLocalInt(oPC, DYNCONV_VARIABLE); + int nStage = GetStage(oPC); + + // Required guard: abort if nValue is 0 + if (nValue == 0) return; + + if (nValue == DYNCONV_SETUP_STAGE) + { + if (!GetIsStageSetUp(nStage, oPC)) + { + if (nStage == STAGE_LIST) + { + SetHeader("Select your patron deity. You can refresh the list with the Escape key if needed."); + + if (nRacialType == RACIAL_TYPE_DWARF) + { + // 1 The Dwarven Powers + AddChoice("The Dwarven Powers", 1, oPC); + SetLocalString(oPC, "deity_dyn_text_1", + "The Elven Powers\n[Alias:] These deities did not sponsor specialty priests following the Time of Troubles. Their clerics were normal and had to conform to the alignment requirements for their deities, or they even simply venerated the entire pantheons worshiped by their respective race.\nThe Dwarven deities were worshiped by the Dwarves of Faerun. As these powers have not revealed specialty priests to the Realms, they function as typical clerics..\n[Status:] Pantheon\n[Alignment:] \n[Specialty Priests:] None\n[Favored Weapons:] Varies\n\nDo you wish this pantheon to be your patron?"); + } + if (nRacialType == RACIAL_TYPE_ELF) + { + // 2 The Elven Powers + AddChoice("The Elven Powers", 2, oPC); + SetLocalString(oPC, "deity_dyn_text_2", + "The Elven Powers\n[Alias:] These deities did not sponsor specialty priests following the Time of Troubles. Their clerics were normal and had to conform to the alignment requirements for their deities, or they even simply venerated the entire pantheons worshiped by their respective race.\nThe Seldarine were worshiped by the Elves of Faerun. As these powers have not revealed specialty priests to the Realms, they function as typical clerics.\n[Status:] Pantheon\n[Alignment:] \n[Specialty Priests:] None\n[Favored Weapons:] Varies\n\nDo you wish this pantheon to be your patron?"); + } + if (nRacialType == RACIAL_TYPE_GNOME) + { + // 3 The Gnomish Powers + AddChoice("The Gnomish Powers", 3, oPC); + SetLocalString(oPC, "deity_dyn_text_3", + "The Gnomish Powers\n[Alias:] These deities did not sponsor specialty priests following the Time of Troubles. Their clerics were normal and had to conform to the alignment requirements for their deities, or they even simply venerated the entire pantheons worshiped by their respective race.\nThe Gnomish deities were worshiped by the Gnomes of Faerun. As these powers have not revealed specialty priests to the Realms, they function as typical clerics.\n[Status:] Pantheon\n[Alignment:] \n[Specialty Priests:] None\n[Favored Weapons:] Varies\n\nDo you wish this pantheon to be your patron?"); + } + if (nRacialType == RACIAL_TYPE_HALFLING) + { + // 4 The Halfling Powers + AddChoice("The Halfling Powers", 4, oPC); + SetLocalString(oPC, "deity_dyn_text_4", + "The Halfling Powers\n[Alias:] These deities did not sponsor specialty priests following the Time of Troubles. Their clerics were normal and had to conform to the alignment requirements for their deities, or they even simply venerated the entire pantheons worshiped by their respective race.\nThe Halfling deities were worshiped by the Halflings of Faerun. As these powers have not revealed specialty priests to the Realms, they function as typical clerics.\n[Status:] Pantheon\n[Alignment:] \n[Specialty Priests:] None\n[Favored Weapons:] Varies\n\nDo you wish this pantheon to be your patron?"); + } + if (nRacialType == RACIAL_TYPE_HUMANOID_ORC || nRacialType == RACIAL_TYPE_HALFORC) + { + // 5 The Orcish Powers + AddChoice("The Orcish Powers", 5, oPC); + SetLocalString(oPC, "deity_dyn_text_5", + "The Orcish Powers\n[Alias:] These deities did not sponsor specialty priests following the Time of Troubles. Their clerics were normal and had to conform to the alignment requirements for their deities, or they even simply venerated the entire pantheons worshiped by their respective race.\nThe Orcish deities were worshiped by the Orcs of Faerun. As these powers have not revealed specialty priests to the Realms, they function as typical clerics.\n[Status:] Pantheon\n[Alignment:] \n[Specialty Priests:] None\n[Favored Weapons:] Varies\n\nDo you wish this pantheon to be your patron?"); + } + if(_CanBeUnderdarkExile(oPC)) + { + // 6 The Underdark Powers + AddChoice("The Underdark Powers", 6, oPC); + SetLocalString(oPC, "deity_dyn_text_6", + "The Underdark Powers\n[Alias:] These deities did not sponsor specialty priests following the Time of Troubles. Their clerics were normal and had to conform to the alignment requirements for their deities, or they even simply venerated the entire pantheons worshiped by their respective race.\nThe Underdark deities were worshiped by the Drow of Faerun. As these powers have not revealed specialty priests to the Realms, they function as typical clerics.\n[Status:] Pantheon\n[Alignment:] \n[Specialty Priests:] None\n[Favored Weapons:] Varies\n\nDo you wish this pantheon to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL || + nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_TRUE_NEUTRAL) + { + // 7 Akadi + AddChoice("Akadi", 7, oPC); + SetLocalString(oPC, "deity_dyn_text_7", + "Akadi\n[Alias:] Akadi is the whispering wind and the blinding gale storm, her form changing from season to season. The teachings of the Akadian church amount to a doctrine of find one's own enlightenment.\n[Status:] Lesser\n[Alignment:] CN\n[Specialty Priests:] none \n[Favored Weapons:] Javelin\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_LAWFUL_GOOD || + nAlignment == ALIGNMENT_LAWFUL_EVIL || + nAlignment == ALIGNMENT_LAWFUL_NEUTRAL) + { + // 8 Amaunator + AddChoice("Amaunator", 8, oPC); + SetLocalString(oPC, "deity_dyn_text_8", + "Amaunator\n[Alias:] This deity is deceased and answers no prayers to their followers anywhere in the Realms..\n[Status:] Dead\n[Alignment:] LN\n[Specialty Priests:] none \n[Favored Weapons:] n/a\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_NEUTRAL_EVIL || + nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_LAWFUL_EVIL || + nAlignment == ALIGNMENT_TRUE_NEUTRAL) + { + // 9 Auril + AddChoice("Auril", 9, oPC); + SetLocalString(oPC, "deity_dyn_text_9", + "Auril\n[Alias:] The Frostmaiden\nAuril is the goddess of cold, winter, and frost. Her faith teaches that the cold is a purifying force and that winter is a time of survival and strength.\n[Status:] Lesser\n[Alignment:] NE\n[Specialty Priests:] Frostmaidens\n[Favored Weapons:] Mace\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_LAWFUL_GOOD || + nAlignment == ALIGNMENT_LAWFUL_EVIL || + nAlignment == ALIGNMENT_LAWFUL_NEUTRAL) + { + // 10 Azuth + AddChoice("Azuth", 10, oPC); + SetLocalString(oPC, "deity_dyn_text_10", + "Azuth\n[Alias:] The High One\nAzuth is the god of wizards and magic. His faith teaches that magic should be studied and used with discipline and reason.\n[Status:] Lesser\n[Alignment:] LN\n[Specialty Priests:] Magistrati\n[Favored Weapons:] Quarterstaff\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_NEUTRAL_EVIL || + nAlignment == ALIGNMENT_LAWFUL_EVIL || + nAlignment == ALIGNMENT_LAWFUL_NEUTRAL) + { + // 11 Bane + AddChoice("Bane", 11, oPC); + SetLocalString(oPC, "deity_dyn_text_11", + "Bane\n[Alias:] The Black Hand\nBane is the god of tyranny, hatred, and fear. His faith teaches that strength and domination are the paths to power. Followers of Bane often seek to conquer and control others.\n[Status:] Greater\n[Alignment:] LE\n[Specialty Priests:] Banesons\n[Favored Weapons:] Gauntlet\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_NEUTRAL_EVIL || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL) + { + // 12 Beshaba + AddChoice("Beshaba", 12, oPC); + SetLocalString(oPC, "deity_dyn_text_12", + "Beshaba\n[Alias:] Maid of Misfortune\nBeshaba is the goddess of accidents, bad luck, and misfortune. Her faith teaches that luck is fickle and that disaster can strike at any time.\n[Status:] Lesser\n[Alignment:] CE\n[Specialty Priests:] Doommaidens\n[Favored Weapons:] Heavy Mace\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_NEUTRAL_EVIL || + nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_LAWFUL_EVIL || + nAlignment == ALIGNMENT_TRUE_NEUTRAL) + { + // 13 Bhall + AddChoice("Bhall", 13, oPC); + SetLocalString(oPC, "deity_dyn_text_13", + "Bhall\n[Alias:] n/a \nThis deity is deceased and answers no prayers to their followers anywhere in the Realms.\n[Status:] Dead\n[Alignment:] NE\n[Specialty Priests:] n/a \n[Favored Weapons:] n/a \n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_NEUTRAL_GOOD || + nAlignment == ALIGNMENT_LAWFUL_GOOD ) + { + // 14 Chauntea + AddChoice("Chauntea", 14, oPC); + SetLocalString(oPC, "deity_dyn_text_14", + "Chauntea\n[Alias:] The Great Mother\nChauntea is the goddess of agriculture, life, and the earth. Her faith teaches that the land provides all things and must be nurtured.\n[Status:] Greater\n[Alignment:] NG\n[Specialty Priests:] Druids\n[Favored Weapons:] Scythe\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_NEUTRAL_EVIL || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL) + { + // 15 Cyric + AddChoice("Cyric", 15, oPC); + SetLocalString(oPC, "deity_dyn_text_15", + "Cyric\n[Alias:] The Prince of Lies\nCyric is the god of lies, intrigue, and illusion. His faith teaches that deception and manipulation are the keys to power. Followers of Cyric often engage in deceit and intrigue to achieve their goals.\n[Status:] Greater\n[Alignment:] CE\n[Specialty Priests:] Cyricists\n[Favored Weapons:] Dagger\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_NEUTRAL_GOOD || + nAlignment == ALIGNMENT_LAWFUL_GOOD ) + { + // 16 Deneir + AddChoice("Deneir", 16, oPC); + SetLocalString(oPC, "deity_dyn_text_16", + "Deneir\n[Alias:] Lord of All Glyphs and Images\nDeneir is the god of literature, art, and cartography. His faith teaches that knowledge must be recorded and preserved for future generations.\n[Status:] Lesser\n[Alignment:] NG\n[Specialty Priests:] Glyphscribes\n[Favored Weapons:] Dagger\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_NEUTRAL_GOOD || + nAlignment == ALIGNMENT_LAWFUL_GOOD ) + { + // 17 Eldath + AddChoice("Eldath", 17, oPC); + SetLocalString(oPC, "deity_dyn_text_17", + "Eldath\n[Alias:] Goddess of the Singing Waters\nEldath is the goddess of peace, pools, and springs. Her faith teaches that peace is the highest virtue and that violence is a last resort.\n[Status:] Lesser\n[Alignment:] NG\n[Specialty Priests:] Druids\n[Favored Weapons:] Druid\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_NEUTRAL_GOOD || + nAlignment == ALIGNMENT_LAWFUL_GOOD ) + { + // 18 Finder Wyvernspur + AddChoice("Finder Wyvernspur", 18, oPC); + SetLocalString(oPC, "deity_dyn_text_18", + "Finder Wyvernspur\n[Alias:] The Nameless Bard\Finder Wyvernspur is fairly new god of Cycles of Life, Saurials and Transformation of Art. Finder's Church was very small, consisting primarily of younger bards, musicians, and those who sought to change and diversify the arts. \n[Status:] Lesser\n[Alignment:] NG\n[Specialty Priests:] Finders\n[Favored Weapons:] Bastard Sword\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_NEUTRAL_EVIL || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL) + { + // 19 Garagos + AddChoice("Garagos", 19, oPC); + SetLocalString(oPC, "deity_dyn_text_19", + "Garagos\n[Alias:] The Reaver\nGaragos is the god of war, destruction, and plunder. His faith teaches that strength is the only virtue and that conflict is the natural state of the world.\n[Status:] Demipower\n[Alignment:] CE\n[Specialty Priests:] Reavers\n[Favored Weapons:] Battleaxe\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_NEUTRAL_EVIL || + nAlignment == ALIGNMENT_LAWFUL_EVIL || + nAlignment == ALIGNMENT_LAWFUL_NEUTRAL) + { + // 20 Gargauth + AddChoice("Gargauth", 20, oPC); + SetLocalString(oPC, "deity_dyn_text_20", + "Gargauth\n[Alias:] The Outcast\nGargauth is the god of betrayal, cruelty, and political corruption. His faith teaches that power is best gained through deceit and manipulation. Followers of Gargauth often engage in treachery and intrigue.\n[Status:] Demigod\n[Alignment:] LE\n[Specialty Priests:] Malefactors\n[Favored Weapons:] Dagger\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_LAWFUL_NEUTRAL || + nAlignment == ALIGNMENT_TRUE_NEUTRAL || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL) + { + // 21 Gond + AddChoice("Gond", 21, oPC); + SetLocalString(oPC, "deity_dyn_text_21", + "Gond\n[Alias:] Wonderbringer\nGond is the god of invention, craft, and technology. His faith teaches that innovation and creation are sacred acts.\n[Status:] Lesser\n[Alignment:] N\n[Specialty Priests:] Artificers\n[Favored Weapons:] Warhammer\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_LAWFUL_NEUTRAL || + nAlignment == ALIGNMENT_TRUE_NEUTRAL || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL) + { + // 22 Grumbar + AddChoice("Grumbar", 22, oPC); + SetLocalString(oPC, "deity_dyn_text_22", + "Grumbar\n[Alias:] Earthlord\nGrumbar is the god of the earth itself. His faith teaches that change should be resisted above all.\n[Status:] Greater\n[Alignment:] N\n[Specialty Priests:] Druids\n[Favored Weapons:] Club\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_NEUTRAL_GOOD || + nAlignment == ALIGNMENT_LAWFUL_GOOD ) + { + // 23 Gwaeron Windstrom + AddChoice("Gwaeron Windstrom", 23, oPC); + SetLocalString(oPC, "deity_dyn_text_23", + " Gwaeron Windstrom\n[Alias:] Master of Tracking\nGwaeron Windstrom is the demigod of the tracking and woodland signs. His faith teaches that nature and mankindd can live in harmony.\n[Status:] Greater\n[Alignment:] NG\n[Specialty Priests:] Druids\n[Favored Weapons:] Greatsword\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_LAWFUL_GOOD || + nAlignment == ALIGNMENT_LAWFUL_EVIL || + nAlignment == ALIGNMENT_LAWFUL_NEUTRAL) + { + // 24 Helm + AddChoice("Helm", 24, oPC); + SetLocalString(oPC, "deity_dyn_text_24", + "Helm\n[Alias:] The Vigilant One\nHelm is the god of guardians, protectors, and watchmen. His faith teaches vigilance and duty.\n[Status:] Greater\n[Alignment:] LN\n[Specialty Priests:] Watchers\n[Favored Weapons:] Longsword\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_LAWFUL_GOOD || + nAlignment == ALIGNMENT_LAWFUL_EVIL || + nAlignment == ALIGNMENT_LAWFUL_NEUTRAL) + { + // 25 Hoar + AddChoice("Hoar", 25, oPC); + SetLocalString(oPC, "deity_dyn_text_25", + "Hoar\n[Alias:] The Doombringer\nHoar is the god of revenge and poetic justice. His faith teaches that wrongs must be avenged and that justice will eventually be served. Followers of Hoar often seek to balance the scales through vengeance.\n[Status:] Demigod\n[Alignment:] LN\n[Specialty Priests:] Doombringers\n[Favored Weapons:] Spear\n\nDo you wish this deity to be your patron?"); + } + + if(nAlignment == ALIGNMENT_NEUTRAL_EVIL || + nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_LAWFUL_EVIL || + nAlignment == ALIGNMENT_TRUE_NEUTRAL) + { + // 26 Ibrandul + AddChoice("Ibrandul", 26, oPC); + SetLocalString(oPC, "deity_dyn_text_26", + "Ibrandul\n[Alias:] Lord of the Dry Depths\nIbrandul is the god of caves, darkness, and the Underdark. His faith teaches that the darkness holds secrets and that the depths are to be respected.\n[Status:] Demipower\n[Alignment:] NE\n[Specialty Priests:] Darkwalkers\n[Favored Weapons:] Club/Greatclub\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_LAWFUL_GOOD || + nAlignment == ALIGNMENT_LAWFUL_NEUTRAL || + nAlignment == ALIGNMENT_NEUTRAL_GOOD) + { + // 27 Ilmater + AddChoice("Ilmater", 27, oPC); + SetLocalString(oPC, "deity_dyn_text_27", + "Ilmater\n[Alias:] The Crying God\nIlmater is the god of endurance, martyrdom, perseverance & suffering. His faithful practices and encourages others to help the suffering by taking their burdens or places. Ilmater was a willing sufferer, bearing the pain of others to spare them from it.\n[Status:] Lesser\n[Alignment:] LG\n[Specialty Priests:] n/a \n[Favored Weapons:] Unarmed\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_LAWFUL_NEUTRAL || + nAlignment == ALIGNMENT_TRUE_NEUTRAL || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL) + { + // 28 Ishtishia + AddChoice("Ishtishia", 28, oPC); + SetLocalString(oPC, "deity_dyn_text_28", + "Ishtishia\n[Alias:] The Water Lord\nIshtishia is the primordial of elemental water. His faith was dispassionate, alien and not a worship of any specific body or state of water, but the water itself.\n[Status:] Lesser\n[Alignment:] LG\n[Specialty Priests:] n/a \n[Favored Weapons:] Warhammer\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_LAWFUL_GOOD || + nAlignment == ALIGNMENT_LAWFUL_EVIL || + nAlignment == ALIGNMENT_LAWFUL_NEUTRAL) + { + // 29 Jergal + AddChoice("Jergal", 29, oPC); + SetLocalString(oPC, "deity_dyn_text_29", + "Jergal\n[Alias:] The Scribe of Oaths\nThis deity is deceased and answers no prayers to their followers anywhere in the Realms.\n[Status:] Dead\n[Alignment:] LN\n[Specialty Priests:] Scribes\n[Favored Weapons:] Quarterstaff\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_NEUTRAL_EVIL || + nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_LAWFUL_EVIL || + nAlignment == ALIGNMENT_TRUE_NEUTRAL) + { + // 30 Karsus + AddChoice("Karsus", 30, oPC); + SetLocalString(oPC, "deity_dyn_text_30", + "Karsus\n[Alias:] The Karsus\nKarsus was once the greatest archwizard of Netheril who sought godhood by casting the legendary Karsus's Avatar. His ascension tore the Weave, causing the fall of the Netherese Empire and the descent of the goddess Mystryl. Now a dead power trapped in the Fugue Plane, Karsus exists as a cautionary tale of mortal hubris. He cannot grant spells or answer prayers, for his connection to the divine was severed by his own folly. Few still worship him, and those who do are mad scholars seeking the secrets of his lost magic.\n[Status:] Dead Power\n[Alignment:] N (formerly)\n[Specialty Priests:] None (cannot grant spells)\n[Favored Weapons:] Quarterstaff\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_LAWFUL_GOOD || + nAlignment == ALIGNMENT_LAWFUL_EVIL || + nAlignment == ALIGNMENT_LAWFUL_NEUTRAL) + { + // 31 Kelemvor + AddChoice("Kelemvor", 31, oPC); + SetLocalString(oPC, "deity_dyn_text_31", + "Kelemvor\n[Alias:] The Judge of the Dead\nKelemvor (pronounced KELL-em-vor) is the god of the dead and judge of the damned. He once was mortal, a paladin who served a god of the dead before ascending to divinity himself. Kelemvor?s faith teaches that the dead should be honored and that death is a natural part of life. He is a stern but fair deity who despises the undead and those who would unnaturally extend their lives.\n[Status:] Greater\n[Alignment:] LN\n[Specialty Priests:] Doomguides\n[Favored Weapons:] Heavy Mace\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_LAWFUL_NEUTRAL || + nAlignment == ALIGNMENT_TRUE_NEUTRAL || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL) + { + // 32 Kossuth + AddChoice("Kossuth", 32, oPC); + SetLocalString(oPC, "deity_dyn_text_32", + "Kossuth\n[Alias:] The Firelord\nKossuth is the god of fire, elemental balance, and purification. He embodies both the creative and destructive aspects of flame, teaching that fire is the ultimate force of transformation and renewal. His followers believe that through fire, all things are purified and reborn. Kossuth's faith is popular among smiths, alchemists, and those who seek to burn away impurities in the world. The church of Kossuth maintains the eternal flames in major cities and oversees the sacred duty of fire-watching.\n[Status:] Greater\n[Alignment:] LN\n[Specialty Priests:] Firelords\n[Favored Weapons:] Heavy Mace\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_NEUTRAL_GOOD || + nAlignment == ALIGNMENT_LAWFUL_GOOD ) + { + // 33 Lathander + AddChoice("Lathander", 33, oPC); + SetLocalString(oPC, "deity_dyn_text_33", + "Lathander\n[Alias:] The Morninglord\nLathander is the god of dawn, renewal, and birth. His faith teaches that each day is a new beginning and that hope is eternal.\n[Status:] Greater\n[Alignment:] NG\n[Specialty Priests:] Morninglords\n[Favored Weapons:] Morningstar\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_TRUE_NEUTRAL || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL) + { + // 34 Leira + AddChoice("Leira", 34, oPC); + SetLocalString(oPC, "deity_dyn_text_34", + "Leira\n[Alias:] The Lady of the Mists\nLeira is the goddess of illusion, deception, and trickery. Her faith teaches that truth is subjective and that illusion can be a shield or a weapon.\n[Status:] Intermediate\n[Alignment:] CN\n[Specialty Priests:] Tricksters\n[Favored Weapons:] Dagger\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_NEUTRAL_GOOD || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL) + { + // 35 Lliira + AddChoice("Lliira", 35, oPC); + SetLocalString(oPC, "deity_dyn_text_35", + "Lliira\n[Alias:] Our Lady of Joy\nLliira is the goddess of joy, happiness, and dance. Her faith teaches that life should be celebrated and that sorrow is a poison to be avoided.\n[Status:] Lesser\n[Alignment:] CG\n[Specialty Priests:] Joydancers\n[Favored Weapons:] Dagger\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_NEUTRAL_EVIL || + nAlignment == ALIGNMENT_LAWFUL_EVIL || + nAlignment == ALIGNMENT_LAWFUL_NEUTRAL) + { + // 36 Loviatar + AddChoice("Loviatar", 36, oPC); + SetLocalString(oPC, "deity_dyn_text_36", + "Loviatar\n[Alias:] The Maiden of Pain\nLoviatar is the goddess of pain, hurt, and suffering. Her faith teaches that pain is a tool for discipline and control. Followers of Loviatar often endure and inflict pain as a form of devotion.\n[Status:] Lesser\n[Alignment:] LE\n[Specialty Priests:] Painbringers\n[Favored Weapons:] Whip\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_NEUTRAL_GOOD || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL) + { + // 37 Lurue + AddChoice("Lurue", 37, oPC); + SetLocalString(oPC, "deity_dyn_text_37", + "Lurue\n[Alias:] The Unicorn Queen\nLurue is the goddess of intelligent beasts and rangers. Her faith teaches that all creatures deserve respect and that the wild places must be protected.\n[Status:] Intermediate\n[Alignment:] CG\n[Specialty Priests:] Horned Hunters\n[Favored Weapons:] Longbow\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_NEUTRAL_EVIL || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL) + { + // 38 Malar + AddChoice("Malar", 38, oPC); + SetLocalString(oPC, "deity_dyn_text_38", + "Malar\n[Alias:] The Beastlord\nMalar is the god of the hunt, beasts, and savagery. His faith teaches that the hunt is the ultimate test of strength and skill. Followers of Malar often revere predatory animals and embrace their primal instincts.\n[Status:] Lesser\n[Alignment:] CE\n[Specialty Priests:] Huntsmen\n[Favored Weapons:] Spear\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_NEUTRAL_EVIL || + nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_LAWFUL_EVIL || + nAlignment == ALIGNMENT_TRUE_NEUTRAL) + { + // 39 Mask + AddChoice("Mask", 39, oPC); + SetLocalString(oPC, "deity_dyn_text_39", + "Mask\n[Alias:] Lord of Shadows\nMask is the god of thieves, rogues, and adventurers. His faith teaches that stealth and cunning are tools to survive and thrive in a harsh world. Followers of Mask often operate in the shadows, using their skills to outwit others.\n[Status:] Lesser\n[Alignment:] CN\n[Specialty Priests:] None\n[Favored Weapons:] Dagger\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_NEUTRAL_GOOD || + nAlignment == ALIGNMENT_LAWFUL_GOOD ) + { + // 40 Mielikki + AddChoice("Mielikki", 40, oPC); + SetLocalString(oPC, "deity_dyn_text_40", + "Mielikki\n[Alias:] Our Lady of the Forest\nMielikki is the goddess of forests, rangers, and druids. Her faith teaches that the forest is a living entity and that all creatures are part of a whole.\n[Status:] Intermediate\n[Alignment:] NG\n[Specialty Priests:] Shadoweirs\n[Favored Weapons:] Druid\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_NEUTRAL_GOOD || + nAlignment == ALIGNMENT_LAWFUL_GOOD ) + { + // 41 Milil + AddChoice("Milil", 41, oPC); + SetLocalString(oPC, "deity_dyn_text_41", + "Milil\n[Alias:] Lord of Song\nMilil appears as a handsome human or elf with a melodic voice, revered by bards as the Guardian of Singers. He embodies creativity and inspiration, representing the complete song from idea to finish. His teachings view life as a continuing process, a song from birth until the final chord.\n[Status:] Intermediate\n[Alignment:] NG\n[Specialty Priests:] None\n[Favored Weapons:] Rapier\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_NEUTRAL_EVIL || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL) + { + // 42 Moander + AddChoice("Moander", 42, oPC); + SetLocalString(oPC, "deity_dyn_text_42", + "Moander\n[Alias:] The Darkbringer\nThis deity is deceased and answers no prayers to their followers anywhere in the Realms.\n[Status:] Dead\n[Alignment:] CE\n[Specialty Priests:] Rotlords\n[Favored Weapons:] Club\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_NEUTRAL_EVIL || + nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_LAWFUL_EVIL || + nAlignment == ALIGNMENT_TRUE_NEUTRAL) + { + // 43 Myrkul + AddChoice("Myrkul", 43, oPC); + SetLocalString(oPC, "deity_dyn_text_43", + "Myrkul\n[Alias:] Lord of the Dead\nThis deity is deceased and answers no prayers to their followers anywhere in the Realms. Myrkul was once the god of the dead, doom, and dread, ruling over the Fugue Plane before being slain by Mystra during the Time of Troubles. Few still venerate him, and those who do are mad cultists seeking mastery over death itself.\n[Status:] Dead\n[Alignment:] LE (formerly)\n[Specialty Priests:] None\n[Favored Weapons:] Scythe\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_NEUTRAL_GOOD || + nAlignment == ALIGNMENT_LAWFUL_GOOD ) + { + // 44 Mystra + AddChoice("Mystra", 44, oPC); + SetLocalString(oPC, "deity_dyn_text_44", + "Mystra\n[Alias:] The Mother of All Magic\nMystra is the goddess of magic and the Weave. Her faith teaches that magic is a force to be respected and used wisely. Followers of Mystra are often wizards, sorcerers, and those who study the arcane arts.\n[Status:] Greater\n[Alignment:] NG\n[Specialty Priests:] Magi\n[Favored Weapons:] Quarterstaff\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_LAWFUL_GOOD || + nAlignment == ALIGNMENT_LAWFUL_NEUTRAL || + nAlignment == ALIGNMENT_NEUTRAL_GOOD) + { + // 45 Nobanion + AddChoice("Nobanion", 45, oPC); + SetLocalString(oPC, "deity_dyn_text_45", + "Nobanion\n[Alias:] Lord Firemane\nNobanion, the Lion God of Gulthmere, protects the woods and its natives. Drawing power from wild animals of Vilhon Reach and Dragon Coast, he teaches: hunt only when hungry, waste nothing, and lead with strength while protecting the weak.\n[StartHighlight>Status:] Demigod\n[StartHighlight>Alignment:] NG\n[StartHighlight>Specialty Priests:] None\n[StartHighlight>Favored Weapons:] Claw/Bite\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_LAWFUL_NEUTRAL || + nAlignment == ALIGNMENT_TRUE_NEUTRAL || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL) + { + // 46 Oghma + AddChoice("Oghma", 46, oPC); + SetLocalString(oPC, "deity_dyn_text_46", + "Oghma\n[Alias:] The Binder of What is Known\nOghma is the god of knowledge, invention, and inspiration. His faith teaches that knowledge is the greatest power and that ideas can change the world.\n[Status:] Greater\n[Alignment:] N\n[Specialty Priests:] Loremasters\n[Favored Weapons:] Quarterstaff\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_LAWFUL_GOOD || + nAlignment == ALIGNMENT_LAWFUL_EVIL || + nAlignment == ALIGNMENT_LAWFUL_NEUTRAL) + { + // 47 Red Knight + AddChoice("Red Knight", 47, oPC); + SetLocalString(oPC, "deity_dyn_text_47", + "Red Knight\n[Alias:] The Lady of Strategy\nThe Red Knight is the goddess of strategy and tactics. Her faith teaches that victory comes from careful planning and discipline.\n[Status:] Lesser\n[Alignment:] LN\n[Specialty Priests:] Strategists\n[Favored Weapons:] Longsword\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_LAWFUL_GOOD || + nAlignment == ALIGNMENT_LAWFUL_EVIL || + nAlignment == ALIGNMENT_LAWFUL_NEUTRAL) + { + // 48 Savras + AddChoice("Savras", 48, oPC); + SetLocalString(oPC, "deity_dyn_text_48", + "Savras\n[Alias:] The All-Seeing\nSavras is the god of divination, fate, and prophecy. His faith teaches that knowledge of the future is a powerful tool, but one that must be used wisely.\n[Status:] Demipower\n[Alignment:] LN\n[Specialty Priests:] Seers\n[Favored Weapons:] Quarterstaff\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_NEUTRAL_GOOD || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL) + { + // 49 Selune + AddChoice("Selune", 49, oPC); + SetLocalString(oPC, "deity_dyn_text_49", + "Selune\n[Alias:] Our Lady of Silver\nGoddess of moon, stars, and navigation. Her ethos is acceptance and tolerance; all are welcome as equals. \"May Selune guide your steps in the night\" is her priests' blessing to the faithful.\n[Status:] Greater\n[Alignment:] CG\n[Specialty Priests:] None\n[Favored Weapons:] Heavy Mace\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_NEUTRAL_EVIL || + nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_LAWFUL_EVIL || + nAlignment == ALIGNMENT_TRUE_NEUTRAL) + { + // 50 Shar + AddChoice("Shar", 50, oPC); + SetLocalString(oPC, "deity_dyn_text_50", + "Shar\n[Alias:] The Night Maiden\nShar is the goddess of darkness, loss, and forgetfulness. Her faith teaches that darkness is the ultimate truth and that all things must end.\n[Status:] Greater\n[Alignment:] NE\n[Specialty Priests:] Nightbringers\n[Favored Weapons:] Dagger\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_TRUE_NEUTRAL || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL) + { + // 51 Shaundakul + AddChoice("Shaundakul", 51, oPC); + SetLocalString(oPC, "deity_dyn_text_51", + "Shaundakul\n[Alias:] The Riding God\nShaundakul is the god of travel, exploration, and the wind. His faith teaches that the horizon is always worth chasing and that the journey is as important as the destination.\n[Status:] Intermediate\n[Alignment:] CN\n[Specialty Priests:] Windriders\n[Favored Weapons:] Scimitar\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_NEUTRAL_GOOD || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL) + { + // 52 Sharess + AddChoice("Sharess", 52, oPC); + SetLocalString(oPC, "deity_dyn_text_52", + "Sharess\n[Alias:] The Lady of Festivals\nSharess is the goddess of pleasure, festivals, and relaxation. Her faith teaches that life should be enjoyed and that pleasure is a divine gift. Followers of Sharess often celebrate life through festivals and indulgence.\n[Status:] Lesser\n[Alignment:] CG\n[Specialty Priests:] Festivals\n[Favored Weapons:] Dagger\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_NEUTRAL_GOOD || + nAlignment == ALIGNMENT_LAWFUL_GOOD ) + { + // 53 Shiallia + AddChoice("Shiallia", 53, oPC); + SetLocalString(oPC, "deity_dyn_text_53", + "Shiallia\n[Alias:] Daughter of the High Forest\nShiallia is the goddess of glades, beauty, and fertility. Her faith teaches that the beauty of the natural world should be preserved and that all life is sacred.\n[Status:] Lesser\n[Alignment:] NG\n[Specialty Priests:] Lady's Handmaidens\n[Favored Weapons:] Shortbow\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_LAWFUL_GOOD || + nAlignment == ALIGNMENT_LAWFUL_EVIL || + nAlignment == ALIGNMENT_LAWFUL_NEUTRAL) + { + // 54 Siamorphe + AddChoice("Siamorphe", 54, oPC); + SetLocalString(oPC, "deity_dyn_text_54", + "Siamorphe\n[Alias:] The Noble\nDemipower of nobility and rightful rule. Her ethos: nobles have the right and responsibility to rule justly. Worshiped mainly by Waterdeep nobles and in Tethyr. Nobles must remain fit to rule and serve their people.\n[Status:] Demigod\n[Alignment:] LN\n[Specialty Priests:] None\n[Favored Weapons:] Light Mace\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_LAWFUL_NEUTRAL || + nAlignment == ALIGNMENT_TRUE_NEUTRAL || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL) + { + // 55 Silvanus + AddChoice("Silvanus", 55, oPC); + SetLocalString(oPC, "deity_dyn_text_55", + "Silvanus\n[Alias:] The Old Father\nSilvanus is the god of nature, balance, and druids. His faith teaches that nature must be respected and that balance is the key to survival.\n[Status:] Greater\n[Alignment:] N\n[Specialty Priests:] Forest Masters\n[Favored Weapons:] Scimitar\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_NEUTRAL_GOOD || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL) + { + // 56 Sune + AddChoice("Sune", 56, oPC); + SetLocalString(oPC, "deity_dyn_text_56", + "Sune\n[Alias:] Lady Firehair\nSune is the goddess of love, beauty, and passion. Her faith teaches that love and beauty are the most powerful forces in the world. Followers of Sune often seek to spread love and appreciate beauty in all its forms.\n[Status:] Greater\n[Alignment:] CG\n[Specialty Priests:] Heartwarders\n[Favored Weapons:] Dagger\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_NEUTRAL_EVIL || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL) + { + // 57 Talona + AddChoice("Talona", 57, oPC); + SetLocalString(oPC, "deity_dyn_text_57", + "Talona\n[Alias:] Lady of Poison\nTalona is the goddess of poison, disease, and death. Her faith teaches that death is the more powerful force in life's balance and should be respected. They believe that disease serves as Talona's breath, teaching humility to those who think themselves invincible through wealth or power.\n[Status:] Intermediate\n[Alignment:] CE\n[Specialty Priests:] None\n[Favored Weapons:] Dagger\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_NEUTRAL_EVIL || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL) + { + // 58 Talos + AddChoice("Talos", 58, oPC); + SetLocalString(oPC, "deity_dyn_text_58", + "Talos\n[Alias:] The Destroyer\nTalos is the god of storms, destruction, and rebellion. His faith teaches that destruction is a creative force and that chaos brings change.\n[Status:] Greater\n[Alignment:] CE\n[Specialty Priests:] Stormlords\n[Favored Weapons:] Greatsword\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_TRUE_NEUTRAL || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL) + { + // 59 Tempus + AddChoice("Tempus", 59, oPC); + SetLocalString(oPC, "deity_dyn_text_59", + "Tempus\n[Alias:] Lord of Battles\nTempus is the god of war, battles, and warriors. His faith teaches that war is a natural force that should not be feared, and that all sides are treated equally in battle. They believe Tempus helps deserving warriors win battles, and that war brings both death and the opportunity for great leadership.\n[Status:] Greater\n[Alignment:] CN\n[Specialty Priests:] None\n[Favored Weapons:] Battleaxe\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_LAWFUL_GOOD || + nAlignment == ALIGNMENT_LAWFUL_NEUTRAL || + nAlignment == ALIGNMENT_NEUTRAL_GOOD) + { + // 60 Torm + AddChoice("Torm", 60, oPC); + SetLocalString(oPC, "deity_dyn_text_60", + "Torm\n[Alias:] The True\nTorm is the god of duty, loyalty, and righteousness. His faith teaches that honor and duty are the highest virtues.\n[Status:] Greater\n[Alignment:] LG\n[Specialty Priests:] Paladins\n[Favored Weapons:] Longsword\n\nDo you wish this deity to be your patron?"); + } + + if(nAlignment == ALIGNMENT_LAWFUL_GOOD || + nAlignment == ALIGNMENT_LAWFUL_NEUTRAL || + nAlignment == ALIGNMENT_NEUTRAL_GOOD) + { + // 61 Tyr + AddChoice("Tyr", 61, oPC); + SetLocalString(oPC, "deity_dyn_text_61", + "Tyr\n[Alias:] The Even-Handed\nTyr is the god of justice, law, and heroes. His faith teaches that justice must be blind and that the law is the foundation of civilization.\n[Status:] Greater\n[Alignment:] LG\n[Specialty Priests:] Justiciars\n[Favored Weapons:] Longsword\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_NEUTRAL_GOOD || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL) + { + // 62 Tymora + AddChoice("Tymora", 62, oPC); + SetLocalString(oPC, "deity_dyn_text_62", + "Tymora\n[Alias:] Lady Luck\nTymora is the goddess of good fortune, skill, and victory. Her faith teaches that fortune favors the bold and that risk is the path to reward.\n[Status:] Greater\n[Alignment:] CG\n[Specialty Priests:] Luckbringers\n[Favored Weapons:] Dagger\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_LAWFUL_NEUTRAL || + nAlignment == ALIGNMENT_TRUE_NEUTRAL || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL) + { + // 63 Ulutiu + AddChoice("Ulutiu", 63, oPC); + SetLocalString(oPC, "deity_dyn_text_63", + "Ulutiu\n[Alias:] The Sleeping God\nUlutiu is the god of glaciers, ice, and the frozen north. His faith teaches that stillness and endurance bring wisdom, and that the frozen lands hold ancient secrets. They believe that like the glaciers, true power comes from patience and the slow accumulation of strength over time.\n[Status:] Intermediate\n[Alignment:] LN\n[Specialty Priests:] None\n[Favored Weapons:] Spear\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_NEUTRAL_EVIL || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL) + { + // 64 Umberlee + AddChoice("Umberlee", 64, oPC); + SetLocalString(oPC, "deity_dyn_text_64", + "Umberlee\n[Alias:] The Bitch Queen\nUmberlee is the goddess of the sea, storms, and sailors. Her faith teaches that the sea is a dangerous and unpredictable force that must be respected. Followers of Umberlee often make offerings to ensure safe passage.\n[Status:] Lesser\n[Alignment:] CE\n[Specialty Priests:] Sea Maidens\n[Favored Weapons:] Trident\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_NEUTRAL_GOOD || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL) + { + // 65 Valkur + AddChoice("Valkur", 65, oPC); + SetLocalString(oPC, "deity_dyn_text_65", + "Valkur\n[Alias:] The Mighty\nValkur is the god of sailors, ships, fliers, and naval combat. His faith teaches that the best way to survive a storm is to face it head-on.\n[Status:] Lesser\n[Alignment:] CG\n[Specialty Priests:] Stormriders\n[Favored Weapons:] Cutlass\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_NEUTRAL_EVIL || + nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_LAWFUL_EVIL || + nAlignment == ALIGNMENT_TRUE_NEUTRAL) + { + // 66 Velsharoon + AddChoice("Velsharoon", 66, oPC); + SetLocalString(oPC, "deity_dyn_text_66", + "Velsharoon\n[Alias:] The Vaunted\nVelsharoon is the god of necromancy, evil liches, and undeath. His faith teaches that practitioners of necromancy are elite visionaries worthy of respect for their bold excursions to the frontiers of life and death. They believe that true power comes from mastering the arts of undeath and gathering necromantic knowledge.\n[Status:] Demigod\n[Alignment:] NE\n[Specialty Priests:] Necrophants\n[Favored Weapons:] Quarterstaff\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_LAWFUL_NEUTRAL || + nAlignment == ALIGNMENT_TRUE_NEUTRAL || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL) + { + // 67 Waukeen + AddChoice("Waukeen", 67, oPC); + SetLocalString(oPC, "deity_dyn_text_67", + "Waukeen\n[Alias:] The Merchant's Friend\nWaukeen is the goddess of wealth, trade, and merchants. Her faith teaches that commerce is the lifeblood of civilization and that honest trade benefits all. They believe that wealth should be accumulated through fair exchange and that prosperity comes from embracing opportunity and taking calculated risks.\n[Status:] Greater\n[Alignment:] LN\n[Specialty Priests:] None\n[Favored Weapons:] Nunchaku\n\nDo you wish this deity to be your patron?"); + } + MarkStageSetUp(nStage, oPC); + SetDefaultTokens(); + } + else if (nStage == STAGE_CONFIRM) + { + int nDeityChoice = GetLocalInt(oPC, "deity_selected"); + SetHeader(GetDeityText(oPC, nDeityChoice) + "\n\nIs this correct?"); + AddChoice("Yes", 0, oPC); + AddChoice("No", 1, oPC); + MarkStageSetUp(nStage, oPC); + SetDefaultTokens(); + } + } + SetupTokens(); + } + else + { + int nChoice = GetChoice(oPC); + if (nStage == STAGE_LIST) + { + SetLocalInt(oPC, "deity_selected", nChoice); + nStage = STAGE_CONFIRM; // update local nStage + } + else if (nStage == STAGE_CONFIRM) + { + if (nChoice == 0) // Yes + { + object oItem = EnsurePlayerDataObject(oPC); + int nDeityChoice = GetLocalInt(oPC, "deity_selected"); + switch (nDeityChoice) + { + case 1: + { + //sGrant = "deity_dwarven"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Dwarven_Powers); + SetPersistantLocalInt(oPC, "BG_Select", 1); + SetLocalInt(oItem,"CC3",DEITY_Dwarven_Powers); + SetLocalInt(oItem,"BG_Select",1); + break; // Dwarven Powers + } + case 2: + { + //sGrant = "deity_elven"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Elven_Powers); + SetPersistantLocalInt(oPC, "BG_Select", 2); + SetLocalInt(oItem,"CC3",DEITY_Elven_Powers); + SetLocalInt(oItem,"BG_Select",2); + break; // Elven Powers + } + case 3: + { + //sGrant = "deity_gnomish"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Gnomish_Powers); + SetPersistantLocalInt(oPC, "BG_Select", 3); + SetLocalInt(oItem,"CC3",DEITY_Gnomish_Powers); + SetLocalInt(oItem,"BG_Select",3); + break; // Gnomish Powers + } + case 4: + { + //sGrant = "deity_halfling"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Halfling_Powers); + SetPersistantLocalInt(oPC, "BG_Select", 4); + SetLocalInt(oItem,"CC3",DEITY_Halfling_Powers); + SetLocalInt(oItem,"BG_Select",4); + break; // Halfling Powers + } + case 5: + { + //sGrant = "deity_orcish"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Orcish_Powers); + SetPersistantLocalInt(oPC, "BG_Select", 5); + SetLocalInt(oItem,"CC3",DEITY_Orcish_Powers); + SetLocalInt(oItem,"BG_Select",5); + break; // Orcish Powers + } + case 6: + { + //sGrant = "deity_underdark"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Underdark_Powers); + SetPersistantLocalInt(oPC, "BG_Select", 6); + SetLocalInt(oItem,"CC3",DEITY_Underdark_Powers); + SetLocalInt(oItem,"BG_Select",6); + break; // Underdark Powers + } + case 7: + { + //sGrant = "deity_akadi"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Akadi); + SetPersistantLocalInt(oPC, "BG_Select", 7); + SetLocalInt(oItem,"CC3",DEITY_Akadi); + SetLocalInt(oItem,"BG_Select",7); + break; // Akadi + } + case 8: + { + //sGrant = "deity_amaunator"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Amaunator); + SetPersistantLocalInt(oPC, "BG_Select", 8); + SetLocalInt(oItem,"CC3",DEITY_Amaunator); + SetLocalInt(oItem,"BG_Select",8); + break; // Amaunator + } + case 9: + { + //sGrant = "deity_auril"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Auril); + SetPersistantLocalInt(oPC, "BG_Select", 9); + SetLocalInt(oItem,"CC3",DEITY_Auril); + SetLocalInt(oItem,"BG_Select",9); + break; // Auril + } + case 10: + { + //sGrant = "deity_azuth"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Azuth); + SetPersistantLocalInt(oPC, "BG_Select", 10); + SetLocalInt(oItem,"CC3",DEITY_Azuth); + SetLocalInt(oItem,"BG_Select",10); + break; // Azuth + } + case 11: + { + //sGrant = "deity_bane"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Bane); + SetPersistantLocalInt(oPC, "BG_Select", 11); + SetLocalInt(oItem,"CC3",DEITY_Bane); + SetLocalInt(oItem,"BG_Select",11); + break; // Bane + } + case 12: + { + //sGrant = "deity_beshaba"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Beshaba); + SetPersistantLocalInt(oPC, "BG_Select", 12); + SetLocalInt(oItem,"CC3",DEITY_Beshaba); + SetLocalInt(oItem,"BG_Select",12); + break; // Beshaba + } + case 13: + { + //sGrant = "deity_bhall"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Bhaal); + SetPersistantLocalInt(oPC, "BG_Select", 13); + SetLocalInt(oItem,"CC3",DEITY_Bhaal); + SetLocalInt(oItem,"BG_Select",13); + break; // Bhall + } + case 14: + { + //sGrant = "deity_chauntea"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Chauntea); + SetPersistantLocalInt(oPC, "BG_Select", 14); + SetLocalInt(oItem,"CC3",DEITY_Chauntea); + SetLocalInt(oItem,"BG_Select",14); + break; // Chauntea + } + case 15: + { + //sGrant = "deity_cyric"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Cyric); + SetPersistantLocalInt(oPC, "BG_Select", 15); + SetLocalInt(oItem,"CC3",DEITY_Cyric); + SetLocalInt(oItem,"BG_Select", 15); + break; // Cyric + } + case 16: + { + //sGrant = "deity_deneir"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Deneir); + SetPersistantLocalInt(oPC, "BG_Select", 16); + SetLocalInt(oItem,"CC3",DEITY_Deneir); + SetLocalInt(oItem,"BG_Select", 16); + break; // Deneir + } + case 17: + { + //sGrant = "deity_eldath"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Eldath); + SetPersistantLocalInt(oPC, "BG_Select", 17); + SetLocalInt(oItem,"CC3",DEITY_Eldath); + SetLocalInt(oItem,"BG_Select", 17); + break; // Eldath + } + case 18: + { + //sGrant = "deity_finder_wyvernspur"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Finder_Wyvernspur); + SetPersistantLocalInt(oPC, "BG_Select", 18); + SetLocalInt(oItem,"CC3",DEITY_Finder_Wyvernspur); + SetLocalInt(oItem,"BG_Select",18); + break; // Finder Wyvernspur + } + case 19: + { + //sGrant = "deity_garagos"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Garagos); + SetPersistantLocalInt(oPC, "BG_Select", 19); + SetLocalInt(oItem,"CC3",DEITY_Garagos); + SetLocalInt(oItem,"BG_Select",19); + break; // Garagos + } + case 20: + { + //sGrant = "deity_gargauth"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Gargauth); + SetPersistantLocalInt(oPC, "BG_Select", 20); + SetLocalInt(oItem,"CC3",DEITY_Gargauth); + SetLocalInt(oItem,"BG_Select",20); + break; // Gargauth + } + case 21: + { + //sGrant = "deity_gond"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Gond); + SetPersistantLocalInt(oPC, "BG_Select", 21); + SetLocalInt(oItem,"CC3",DEITY_Gond); + SetLocalInt(oItem,"BG_Select",21); + break; // Gond + } + case 22: + { + //sGrant = "deity_grumbar"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Grumbar); + SetPersistantLocalInt(oPC, "BG_Select", 22); + SetLocalInt(oItem,"CC3",DEITY_Grumbar); + SetLocalInt(oItem,"BG_Select",22); + break; // Grumbar + } + case 23: + { + //sGrant = "deity_gwaeron_windstrom"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Gwaeron_Windstrom); + SetPersistantLocalInt(oPC, "BG_Select", 23); + SetLocalInt(oItem,"CC3",DEITY_Gwaeron_Windstrom); + SetLocalInt(oItem,"BG_Select",23); + break; // Gwaeron Windstrom + } + case 24: + { + //sGrant = "deity_helm"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Helm); + SetPersistantLocalInt(oPC, "BG_Select", 24); + SetLocalInt(oItem,"CC3",DEITY_Helm); + SetLocalInt(oItem,"BG_Select",24); + break; // Helm + } + case 25: + { + //sGrant = "deity_hoar"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Hoar); + SetPersistantLocalInt(oPC, "BG_Select", 25); + SetLocalInt(oItem,"CC3",DEITY_Hoar); + SetLocalInt(oItem,"BG_Select",25); + break; // Hoar + } + case 26: + { + //sGrant = "deity_ibrandul"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Ibrandul); + SetPersistantLocalInt(oPC, "BG_Select", 26); + SetLocalInt(oItem,"CC3",DEITY_Ibrandul); + SetLocalInt(oItem,"BG_Select", 26); + break; // Ibrandul + } + case 27: + { + //sGrant = "deity_ilmater"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Ilmater); + SetPersistantLocalInt(oPC, "BG_Select", 27); + SetLocalInt(oItem,"CC3",DEITY_Ilmater); + SetLocalInt(oItem,"BG_Select", 27); + break; // Ilmater + } + case 28: + { + //sGrant = "deity_ishtishia"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Ishtisha); + SetPersistantLocalInt(oPC, "BG_Select", 28); + SetLocalInt(oItem,"CC3",DEITY_Ishtisha); + SetLocalInt(oItem,"BG_Select", 28); + break; // Ishtishia + } + case 29: + { + //sGrant = "deity_jergal"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Jergal); + SetPersistantLocalInt(oPC, "BG_Select", 29); + SetLocalInt(oItem,"CC3",DEITY_Jergal); + SetLocalInt(oItem,"BG_Select", 29); + break; // Jergal + } + case 30: + { + //sGrant = "deity_karsus"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Karsus); + SetPersistantLocalInt(oPC, "BG_Select", 30); + SetLocalInt(oItem,"CC3",DEITY_Karsus); + SetLocalInt(oItem,"BG_Select", 30); + break; // Karsus + } + case 31: + { + //sGrant = "deity_kelemvor"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Kelemvor); + SetPersistantLocalInt(oPC, "BG_Select", 31); + SetLocalInt(oItem,"CC3",DEITY_Kelemvor); + SetLocalInt(oItem,"BG_Select", 31); + break; // Kelemvor + } + case 32: + { + //sGrant = "deity_kossuth"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Kossuth); + SetPersistantLocalInt(oPC, "BG_Select", 32); + SetLocalInt(oItem,"CC3",DEITY_Kossuth); + SetLocalInt(oItem,"BG_Select", 32); + break; // Kossuth + } + case 33: + { + //sGrant = "deity_lathander"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Lathander); + SetPersistantLocalInt(oPC, "BG_Select", 33); + SetLocalInt(oItem,"CC3",DEITY_Lathander); + SetLocalInt(oItem,"BG_Select", 33); + break; // Lathander + } + case 34: + { + //sGrant = "deity_leira"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Leira); + SetPersistantLocalInt(oPC, "BG_Select", 34); + SetLocalInt(oItem,"CC3",DEITY_Leira); + SetLocalInt(oItem,"BG_Select", 34); + break; // Leira + } + case 35: + { + //sGrant = "deity_lliira"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Lliira); + SetPersistantLocalInt(oPC, "BG_Select", 35); + SetLocalInt(oItem,"CC3",DEITY_Lliira); + SetLocalInt(oItem,"BG_Select", 35); + break; // Lliira + } + case 36: + { + //sGrant = "deity_loviatar"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Loviatar); + SetPersistantLocalInt(oPC, "BG_Select", 36); + SetLocalInt(oItem,"CC3",DEITY_Loviatar); + SetLocalInt(oItem,"BG_Select",36); + break; // Loviatar + } + case 37: + { + //sGrant = "deity_lurue"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Lurue); + SetPersistantLocalInt(oPC, "BG_Select", 37); + SetLocalInt(oItem,"CC3",DEITY_Lurue); + SetLocalInt(oItem,"BG_Select", 37); + break; // Lurue + } + case 38: + { + //sGrant = "deity_malar"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Malar); + SetPersistantLocalInt(oPC, "BG_Select", 38); + SetLocalInt(oItem,"CC3",DEITY_Malar); + SetLocalInt(oItem,"BG_Select", 38); + break; // Malar + } + case 39: + { + //sGrant = "deity_mask"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Mask); + SetPersistantLocalInt(oPC, "BG_Select", 39); + SetLocalInt(oItem,"CC3",DEITY_Mask); + SetLocalInt(oItem,"BG_Select", 39); + break; // Mask + } + case 40: + { + //sGrant = "deity_mielikki"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Mielikki); + SetPersistantLocalInt(oPC, "BG_Select", 40); + SetLocalInt(oItem,"CC3",DEITY_Mielikki); + SetLocalInt(oItem,"BG_Select", 40); + break; // Mielikki + } + case 41: + { + //sGrant = "deity_milil"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Milil); + SetPersistantLocalInt(oPC, "BG_Select", 41); + SetLocalInt(oItem,"CC3",DEITY_Milil); + SetLocalInt(oItem,"BG_Select", 41); + break; // Milil + } + case 42: + { + //sGrant = "deity_moander"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Moander); + SetPersistantLocalInt(oPC, "BG_Select", 42); + SetLocalInt(oItem,"CC3",DEITY_Moander); + SetLocalInt(oItem,"BG_Select", 42); + break; // Moander + } + case 43: + { + //sGrant = "deity_myrkul"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Myrkul); + SetPersistantLocalInt(oPC, "BG_Select", 43); + SetLocalInt(oItem,"CC3",DEITY_Myrkul); + SetLocalInt(oItem,"BG_Select", 43); + break; // Myrkul + } + case 44: + { + //sGrant = "deity_mystra"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Mystra); + SetPersistantLocalInt(oPC, "BG_Select", 44); + SetLocalInt(oItem,"CC3",DEITY_Mystra); + SetLocalInt(oItem,"BG_Select", 44); + break; // Mystra + } + case 45: + { + //sGrant = "deity_nobanion"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Nobanion); + SetPersistantLocalInt(oPC, "BG_Select", 45); + SetLocalInt(oItem,"CC3",DEITY_Nobanion); + SetLocalInt(oItem,"BG_Select",45); + break; // Nobanion + } + case 46: + { + //sGrant = "deity_oghma"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Oghma); + SetPersistantLocalInt(oPC, "BG_Select", 46); + SetLocalInt(oItem,"CC3",DEITY_Oghma); + SetLocalInt(oItem,"BG_Select",46); + break; // Oghma + } + case 47: + { + //sGrant = "deity_red_knight"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Red_Knight); + SetPersistantLocalInt(oPC, "BG_Select", 47); + SetLocalInt(oItem,"CC3",DEITY_Red_Knight); + SetLocalInt(oItem,"BG_Select",47); + break; // Red Knight + } + case 48: + { + //sGrant = "deity_savras"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Savras); + SetPersistantLocalInt(oPC, "BG_Select", 48); + SetLocalInt(oItem,"CC3",DEITY_Savras); + SetLocalInt(oItem,"BG_Select", 48); + break; // Savras + } + case 49: + { + //sGrant = "deity_selune"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Selune); + SetPersistantLocalInt(oPC, "BG_Select", 49); + SetLocalInt(oItem,"CC3",DEITY_Selune); + SetLocalInt(oItem,"BG_Select", 49); + break; // Selune + } + case 50: + { + //sGrant = "deity_shar"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Shar); + SetPersistantLocalInt(oPC, "BG_Select", 50); + SetLocalInt(oItem,"CC3",DEITY_Shar); + SetLocalInt(oItem,"BG_Select", 50); + break; // Shar + } + case 51: + { + //sGrant = "deity_shaundakul"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Shaundakul); + SetPersistantLocalInt(oPC, "BG_Select", 51); + SetLocalInt(oItem,"CC3",DEITY_Shaundakul); + SetLocalInt(oItem,"BG_Select", 51); + break; // Shaundakul + } + case 52: + { + //sGrant = "deity_sharess"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Sharess); + SetPersistantLocalInt(oPC, "BG_Select", 52); + SetLocalInt(oItem,"CC3",DEITY_Sharess); + SetLocalInt(oItem,"BG_Select", 52); + break; // Sharess + } + case 53: + { + //sGrant = "deity_shiallia"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Shiallia); + SetPersistantLocalInt(oPC, "BG_Select", 53); + SetLocalInt(oItem,"CC3",DEITY_Shiallia); + SetLocalInt(oItem,"BG_Select", 53); + break; // Shiallia + } + case 54: + { + //sGrant = "deity_siamorphe"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Siamorphe); + SetPersistantLocalInt(oPC, "BG_Select", 54); + SetLocalInt(oItem,"CC3",DEITY_Siamorphe); + SetLocalInt(oItem,"BG_Select", 54); + break; // Siamorphe + } + case 55: + { + //sGrant = "deity_silvanus"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Silvanus); + SetPersistantLocalInt(oPC, "BG_Select", 55); + SetLocalInt(oItem,"CC3",DEITY_Silvanus); + SetLocalInt(oItem,"BG_Select", 55); + break; // Silvanus + } + case 56: + { + //sGrant = "deity_sune"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Sune); + SetPersistantLocalInt(oPC, "BG_Select", 56); + SetLocalInt(oItem,"CC3",DEITY_Sune); + SetLocalInt(oItem,"BG_Select",56); + break; // Sune + } + case 57: + { + //sGrant = "deity_talona"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Talona); + SetPersistantLocalInt(oPC, "BG_Select", 57); + SetLocalInt(oItem,"CC3",DEITY_Talona); + SetLocalInt(oItem,"BG_Select", 57); + break; // Talona + } + case 58: + { + //sGrant = "deity_talos"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Talos); + SetPersistantLocalInt(oPC, "BG_Select", 58); + SetLocalInt(oItem,"CC3",DEITY_Talos); + SetLocalInt(oItem,"BG_Select", 58); + break; // Talos + } + case 59: + { + //sGrant = "deity_tempus"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Tempus); + SetPersistantLocalInt(oPC, "BG_Select", 59); + SetLocalInt(oItem,"CC3",DEITY_Tempus); + SetLocalInt(oItem,"BG_Select", 59); + break; // Tempus + } + case 60: + { + //sGrant = "deity_torm"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Torm); + SetPersistantLocalInt(oPC, "BG_Select", 60); + SetLocalInt(oItem,"CC3",DEITY_Torm); + SetLocalInt(oItem,"BG_Select", 60); + break; // Torm + } + case 61: + { + //sGrant = "deity_tyr"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Tyr); + SetPersistantLocalInt(oPC, "BG_Select", 61); + SetLocalInt(oItem,"CC3",DEITY_Tyr); + SetLocalInt(oItem,"BG_Select", 61); + break; // Tyr + } + case 62: + { + //sGrant = "deity_tymora"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Tymora); + SetPersistantLocalInt(oPC, "BG_Select", 62); + SetLocalInt(oItem,"CC3",DEITY_Tymora); + SetLocalInt(oItem,"BG_Select", 62); + break; // Tymora + } + case 63: + { + //sGrant = "deity_ulutiu"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Ulutiu); + SetPersistantLocalInt(oPC, "BG_Select", 63); + SetLocalInt(oItem,"CC3",DEITY_Ulutiu); + SetLocalInt(oItem,"BG_Select", 63); + break; // Ulutiu + } + case 64: + { + //sGrant = "deity_umberlee"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Umberlee); + SetPersistantLocalInt(oPC, "BG_Select", 64); + SetLocalInt(oItem,"CC3",DEITY_Umberlee); + SetLocalInt(oItem,"BG_Select", 64); + break; // Umberlee + } + case 65: + { + //sGrant = "deity_valkur"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Valkur); + SetPersistantLocalInt(oPC, "BG_Select", 65); + SetLocalInt(oItem,"CC3",DEITY_Valkur); + SetLocalInt(oItem,"BG_Select", 65); + break; // Valkur + } + case 66: + { + //sGrant = "deity_velsharoon"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Velsharoon); + SetPersistantLocalInt(oPC, "BG_Select", 66); + SetLocalInt(oItem,"CC3",DEITY_Velsharoon); + SetLocalInt(oItem,"BG_Select", 66); + break; // Velsharoon + } + case 67: + { + //sGrant = "deity_waukeen"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Waukeen); + SetPersistantLocalInt(oPC, "BG_Select", 67); + SetLocalInt(oItem,"CC3",DEITY_Waukeen); + SetLocalInt(oItem,"BG_Select", 67); + break; // Waukeen + } + } + AllowExit(DYNCONV_EXIT_FORCE_EXIT, TRUE, oPC); + SetPersistantLocalInt(oPC, "CC3_DONE", 1); + DelayCommand(0.1f, StartDynamicConversation("bg_language_cv", oPC)); + } + else + { // No + MarkStageNotSetUp(STAGE_LIST, oPC); + MarkStageNotSetUp(STAGE_CONFIRM, oPC); + nStage = STAGE_LIST; // update local nStage + } + } + SetStage(nStage, oPC); + } +} + + +/* void main() +{ + object oPC = GetPCSpeaker(); + object oItem = EnsurePlayerDataObject(oPC); + + int nAlignment = GetCreaturesAlignment(oPC); + int nRacialType = GetRacialType(oPC); + int nValue = GetLocalInt(oPC, DYNCONV_VARIABLE); + int nStage = GetStage(oPC); + + if(nValue == DYNCONV_SETUP_STAGE) + { + if(!GetIsStageSetUp(nStage, oPC)) + { + if (nStage == STAGE_LIST) + { + SetHeader("Select your patron deity. You can refresh the list with the Escape key if needed."); + + if (nRacialType == RACIAL_TYPE_DWARF) + { + // 1 The Dwarven Powers + AddChoice("The Dwarven Powers", 1, oPC); + SetLocalString(oPC, "deity_dyn_text_1", + "The Elven Powers\n[Alias:] These deities did not sponsor specialty priests following the Time of Troubles. Their clerics were normal and had to conform to the alignment requirements for their deities, or they even simply venerated the entire pantheons worshiped by their respective race.\nThe Dwarven deities were worshiped by the Dwarves of Faerun. As these powers have not revealed specialty priests to the Realms, they function as typical clerics..\n[Status:] Pantheon\n[Alignment:] \n[Specialty Priests:] None\n[Favored Weapons:] Varies\n\nDo you wish this pantheon to be your patron?"); + } + if (nRacialType == RACIAL_TYPE_ELF) + { + // 2 The Elven Powers + AddChoice("The Elven Powers", 2, oPC); + SetLocalString(oPC, "deity_dyn_text_2", + "The Elven Powers\n[Alias:] These deities did not sponsor specialty priests following the Time of Troubles. Their clerics were normal and had to conform to the alignment requirements for their deities, or they even simply venerated the entire pantheons worshiped by their respective race.\nThe Seldarine were worshiped by the Elves of Faerun. As these powers have not revealed specialty priests to the Realms, they function as typical clerics.\n[Status:] Pantheon\n[Alignment:] \n[Specialty Priests:] None\n[Favored Weapons:] Varies\n\nDo you wish this pantheon to be your patron?"); + } + if (nRacialType == RACIAL_TYPE_GNOME) + { + // 3 The Gnomish Powers + AddChoice("The Gnomish Powers", 3, oPC); + SetLocalString(oPC, "deity_dyn_text_3", + "The Gnomish Powers\n[Alias:] These deities did not sponsor specialty priests following the Time of Troubles. Their clerics were normal and had to conform to the alignment requirements for their deities, or they even simply venerated the entire pantheons worshiped by their respective race.\nThe Gnomish deities were worshiped by the Gnomes of Faerun. As these powers have not revealed specialty priests to the Realms, they function as typical clerics.\n[Status:] Pantheon\n[Alignment:] \n[Specialty Priests:] None\n[Favored Weapons:] Varies\n\nDo you wish this pantheon to be your patron?"); + } + if (nRacialType == RACIAL_TYPE_HALFLING) + { + // 4 The Halfling Powers + AddChoice("The Halfling Powers", 4, oPC); + SetLocalString(oPC, "deity_dyn_text_4", + "The Halfling Powers\n[Alias:] These deities did not sponsor specialty priests following the Time of Troubles. Their clerics were normal and had to conform to the alignment requirements for their deities, or they even simply venerated the entire pantheons worshiped by their respective race.\nThe Halfling deities were worshiped by the Halflings of Faerun. As these powers have not revealed specialty priests to the Realms, they function as typical clerics.\n[Status:] Pantheon\n[Alignment:] \n[Specialty Priests:] None\n[Favored Weapons:] Varies\n\nDo you wish this pantheon to be your patron?"); + } + if (nRacialType == RACIAL_TYPE_HUMANOID_ORC || nRacialType == RACIAL_TYPE_HALFORC) + { + // 5 The Orcish Powers + AddChoice("The Orcish Powers", 5, oPC); + SetLocalString(oPC, "deity_dyn_text_5", + "The Orcish Powers\n[Alias:] These deities did not sponsor specialty priests following the Time of Troubles. Their clerics were normal and had to conform to the alignment requirements for their deities, or they even simply venerated the entire pantheons worshiped by their respective race.\nThe Orcish deities were worshiped by the Orcs of Faerun. As these powers have not revealed specialty priests to the Realms, they function as typical clerics.\n[Status:] Pantheon\n[Alignment:] \n[Specialty Priests:] None\n[Favored Weapons:] Varies\n\nDo you wish this pantheon to be your patron?"); + } + if(_CanBeUnderdarkExile(oPC)) + { + // 6 The Underdark Powers + AddChoice("The Underdark Powers", 6, oPC); + SetLocalString(oPC, "deity_dyn_text_6", + "The Underdark Powers\n[Alias:] These deities did not sponsor specialty priests following the Time of Troubles. Their clerics were normal and had to conform to the alignment requirements for their deities, or they even simply venerated the entire pantheons worshiped by their respective race.\nThe Underdark deities were worshiped by the Drow of Faerun. As these powers have not revealed specialty priests to the Realms, they function as typical clerics.\n[Status:] Pantheon\n[Alignment:] \n[Specialty Priests:] None\n[Favored Weapons:] Varies\n\nDo you wish this pantheon to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL || + nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_TRUE_NEUTRAL) + { + // 7 Akadi + AddChoice("Akadi", 7, oPC); + SetLocalString(oPC, "deity_dyn_text_7", + "Akadi\n[Alias:] Akadi is the whispering wind and the blinding gale storm, her form changing from season to season. The teachings of the Akadian church amount to a doctrine of find one's own enlightenment.\n[Status:] Lesser\n[Alignment:] CN\n[Specialty Priests:] none \n[Favored Weapons:] Javelin\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_LAWFUL_GOOD || + nAlignment == ALIGNMENT_LAWFUL_EVIL || + nAlignment == ALIGNMENT_LAWFUL_NEUTRAL) + { + // 8 Amaunator + AddChoice("Amaunator", 8, oPC); + SetLocalString(oPC, "deity_dyn_text_8", + "Amaunator\n[Alias:] This deity is deceased and answers no prayers to their followers anywhere in the Realms..\n[Status:] Dead\n[Alignment:] LN\n[Specialty Priests:] none \n[Favored Weapons:] n/a\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_NEUTRAL_EVIL || + nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_LAWFUL_EVIL || + nAlignment == ALIGNMENT_TRUE_NEUTRAL) + { + // 9 Auril + AddChoice("Auril", 9, oPC); + SetLocalString(oPC, "deity_dyn_text_9", + "Auril\n[Alias:] The Frostmaiden\nAuril is the goddess of cold, winter, and frost. Her faith teaches that the cold is a purifying force and that winter is a time of survival and strength.\n[Status:] Lesser\n[Alignment:] NE\n[Specialty Priests:] Frostmaidens\n[Favored Weapons:] Mace\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_LAWFUL_GOOD || + nAlignment == ALIGNMENT_LAWFUL_EVIL || + nAlignment == ALIGNMENT_LAWFUL_NEUTRAL) + { + // 10 Azuth + AddChoice("Azuth", 10, oPC); + SetLocalString(oPC, "deity_dyn_text_10", + "Azuth\n[Alias:] The High One\nAzuth is the god of wizards and magic. His faith teaches that magic should be studied and used with discipline and reason.\n[Status:] Lesser\n[Alignment:] LN\n[Specialty Priests:] Magistrati\n[Favored Weapons:] Quarterstaff\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_NEUTRAL_EVIL || + nAlignment == ALIGNMENT_LAWFUL_EVIL || + nAlignment == ALIGNMENT_LAWFUL_NEUTRAL) + { + // 11 Bane + AddChoice("Bane", 11, oPC); + SetLocalString(oPC, "deity_dyn_text_11", + "Bane\n[Alias:] The Black Hand\nBane is the god of tyranny, hatred, and fear. His faith teaches that strength and domination are the paths to power. Followers of Bane often seek to conquer and control others.\n[Status:] Greater\n[Alignment:] LE\n[Specialty Priests:] Banesons\n[Favored Weapons:] Gauntlet\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_NEUTRAL_EVIL || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL) + { + // 12 Beshaba + AddChoice("Beshaba", 12, oPC); + SetLocalString(oPC, "deity_dyn_text_12", + "Beshaba\n[Alias:] Maid of Misfortune\nBeshaba is the goddess of accidents, bad luck, and misfortune. Her faith teaches that luck is fickle and that disaster can strike at any time.\n[Status:] Lesser\n[Alignment:] CE\n[Specialty Priests:] Doommaidens\n[Favored Weapons:] Heavy Mace\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_NEUTRAL_EVIL || + nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_LAWFUL_EVIL || + nAlignment == ALIGNMENT_TRUE_NEUTRAL) + { + // 13 Bhall + AddChoice("Bhall", 13, oPC); + SetLocalString(oPC, "deity_dyn_text_13", + "Bhall\n[Alias:] n/a \nThis deity is deceased and answers no prayers to their followers anywhere in the Realms.\n[Status:] Dead\n[Alignment:] NE\n[Specialty Priests:] n/a \n[Favored Weapons:] n/a \n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_NEUTRAL_GOOD || + nAlignment == ALIGNMENT_LAWFUL_GOOD ) + { + // 14 Chauntea + AddChoice("Chauntea", 14, oPC); + SetLocalString(oPC, "deity_dyn_text_14", + "Chauntea\n[Alias:] The Great Mother\nChauntea is the goddess of agriculture, life, and the earth. Her faith teaches that the land provides all things and must be nurtured.\n[Status:] Greater\n[Alignment:] NG\n[Specialty Priests:] Druids\n[Favored Weapons:] Scythe\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_NEUTRAL_EVIL || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL) + { + // 15 Cyric + AddChoice("Cyric", 15, oPC); + SetLocalString(oPC, "deity_dyn_text_15", + "Cyric\n[Alias:] The Prince of Lies\nCyric is the god of lies, intrigue, and illusion. His faith teaches that deception and manipulation are the keys to power. Followers of Cyric often engage in deceit and intrigue to achieve their goals.\n[Status:] Greater\n[Alignment:] CE\n[Specialty Priests:] Cyricists\n[Favored Weapons:] Dagger\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_NEUTRAL_GOOD || + nAlignment == ALIGNMENT_LAWFUL_GOOD ) + { + // 16 Deneir + AddChoice("Deneir", 16, oPC); + SetLocalString(oPC, "deity_dyn_text_16", + "Deneir\n[Alias:] Lord of All Glyphs and Images\nDeneir is the god of literature, art, and cartography. His faith teaches that knowledge must be recorded and preserved for future generations.\n[Status:] Lesser\n[Alignment:] NG\n[Specialty Priests:] Glyphscribes\n[Favored Weapons:] Dagger\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_NEUTRAL_GOOD || + nAlignment == ALIGNMENT_LAWFUL_GOOD ) + { + // 17 Eldath + AddChoice("Eldath", 17, oPC); + SetLocalString(oPC, "deity_dyn_text_17", + "Eldath\n[Alias:] Goddess of the Singing Waters\nEldath is the goddess of peace, pools, and springs. Her faith teaches that peace is the highest virtue and that violence is a last resort.\n[Status:] Lesser\n[Alignment:] NG\n[Specialty Priests:] Druids\n[Favored Weapons:] Druid\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_NEUTRAL_GOOD || + nAlignment == ALIGNMENT_LAWFUL_GOOD ) + { + // 18 Finder Wyvernspur + AddChoice("Finder Wyvernspur", 18, oPC); + SetLocalString(oPC, "deity_dyn_text_18", + "Finder Wyvernspur\n[Alias:] The Nameless Bard\Finder Wyvernspur is fairly new god of Cycles of Life, Saurials and Transformation of Art. Finder's Church was very small, consisting primarily of younger bards, musicians, and those who sought to change and diversify the arts. \n[Status:] Lesser\n[Alignment:] NG\n[Specialty Priests:] Finders\n[Favored Weapons:] Bastard Sword\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_NEUTRAL_EVIL || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL) + { + // 19 Garagos + AddChoice("Garagos", 19, oPC); + SetLocalString(oPC, "deity_dyn_text_19", + "Garagos\n[Alias:] The Reaver\nGaragos is the god of war, destruction, and plunder. His faith teaches that strength is the only virtue and that conflict is the natural state of the world.\n[Status:] Demipower\n[Alignment:] CE\n[Specialty Priests:] Reavers\n[Favored Weapons:] Battleaxe\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_NEUTRAL_EVIL || + nAlignment == ALIGNMENT_LAWFUL_EVIL || + nAlignment == ALIGNMENT_LAWFUL_NEUTRAL) + { + // 20 Gargauth + AddChoice("Gargauth", 20, oPC); + SetLocalString(oPC, "deity_dyn_text_20", + "Gargauth\n[Alias:] The Outcast\nGargauth is the god of betrayal, cruelty, and political corruption. His faith teaches that power is best gained through deceit and manipulation. Followers of Gargauth often engage in treachery and intrigue.\n[Status:] Demigod\n[Alignment:] LE\n[Specialty Priests:] Malefactors\n[Favored Weapons:] Dagger\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_LAWFUL_NEUTRAL || + nAlignment == ALIGNMENT_TRUE_NEUTRAL || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL) + { + // 21 Gond + AddChoice("Gond", 21, oPC); + SetLocalString(oPC, "deity_dyn_text_21", + "Gond\n[Alias:] Wonderbringer\nGond is the god of invention, craft, and technology. His faith teaches that innovation and creation are sacred acts.\n[Status:] Lesser\n[Alignment:] N\n[Specialty Priests:] Artificers\n[Favored Weapons:] Warhammer\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_LAWFUL_NEUTRAL || + nAlignment == ALIGNMENT_TRUE_NEUTRAL || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL) + { + // 22 Grumbar + AddChoice("Grumbar", 22, oPC); + SetLocalString(oPC, "deity_dyn_text_22", + "Grumbar\n[Alias:] Earthlord\nGrumbar is the god of the earth itself. His faith teaches that change should be resisted above all.\n[Status:] Greater\n[Alignment:] N\n[Specialty Priests:] Druids\n[Favored Weapons:] Club\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_NEUTRAL_GOOD || + nAlignment == ALIGNMENT_LAWFUL_GOOD ) + { + // 23 Gwaeron Windstrom + AddChoice("Gwaeron Windstrom", 23, oPC); + SetLocalString(oPC, "deity_dyn_text_23", + " Gwaeron Windstrom\n[Alias:] Master of Tracking\nGwaeron Windstrom is the demigod of the tracking and woodland signs. His faith teaches that nature and mankindd can live in harmony.\n[Status:] Greater\n[Alignment:] NG\n[Specialty Priests:] Druids\n[Favored Weapons:] Greatsword\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_LAWFUL_GOOD || + nAlignment == ALIGNMENT_LAWFUL_EVIL || + nAlignment == ALIGNMENT_LAWFUL_NEUTRAL) + { + // 24 Helm + AddChoice("Helm", 24, oPC); + SetLocalString(oPC, "deity_dyn_text_24", + "Helm\n[Alias:] The Vigilant One\nHelm is the god of guardians, protectors, and watchmen. His faith teaches vigilance and duty.\n[Status:] Greater\n[Alignment:] LN\n[Specialty Priests:] Watchers\n[Favored Weapons:] Longsword\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_LAWFUL_GOOD || + nAlignment == ALIGNMENT_LAWFUL_EVIL || + nAlignment == ALIGNMENT_LAWFUL_NEUTRAL) + { + // 25 Hoar + AddChoice("Hoar", 25, oPC); + SetLocalString(oPC, "deity_dyn_text_25", + "Hoar\n[Alias:] The Doombringer\nHoar is the god of revenge and poetic justice. His faith teaches that wrongs must be avenged and that justice will eventually be served. Followers of Hoar often seek to balance the scales through vengeance.\n[Status:] Demigod\n[Alignment:] LN\n[Specialty Priests:] Doombringers\n[Favored Weapons:] Spear\n\nDo you wish this deity to be your patron?"); + } + + if(nAlignment == ALIGNMENT_NEUTRAL_EVIL || + nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_LAWFUL_EVIL || + nAlignment == ALIGNMENT_TRUE_NEUTRAL) + { + // 26 Ibrandul + AddChoice("Ibrandul", 26, oPC); + SetLocalString(oPC, "deity_dyn_text_26", + "Ibrandul\n[Alias:] Lord of the Dry Depths\nIbrandul is the god of caves, darkness, and the Underdark. His faith teaches that the darkness holds secrets and that the depths are to be respected.\n[Status:] Demipower\n[Alignment:] NE\n[Specialty Priests:] Darkwalkers\n[Favored Weapons:] Club/Greatclub\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_LAWFUL_GOOD || + nAlignment == ALIGNMENT_LAWFUL_NEUTRAL || + nAlignment == ALIGNMENT_NEUTRAL_GOOD) + { + // 27 Ilmater + AddChoice("Ilmater", 27, oPC); + SetLocalString(oPC, "deity_dyn_text_27", + "Ilmater\n[Alias:] The Crying God\nIlmater is the god of endurance, martyrdom, perseverance & suffering. His faithful practices and encourages others to help the suffering by taking their burdens or places. Ilmater was a willing sufferer, bearing the pain of others to spare them from it.\n[Status:] Lesser\n[Alignment:] LG\n[Specialty Priests:] n/a \n[Favored Weapons:] Unarmed\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_LAWFUL_NEUTRAL || + nAlignment == ALIGNMENT_TRUE_NEUTRAL || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL) + { + // 28 Ishtishia + AddChoice("Ishtishia", 28, oPC); + SetLocalString(oPC, "deity_dyn_text_28", + "Ishtishia\n[Alias:] The Water Lord\nIshtishia is the primordial of elemental water. His faith was dispassionate, alien and not a worship of any specific body or state of water, but the water itself.\n[Status:] Lesser\n[Alignment:] LG\n[Specialty Priests:] n/a \n[Favored Weapons:] Warhammer\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_LAWFUL_GOOD || + nAlignment == ALIGNMENT_LAWFUL_EVIL || + nAlignment == ALIGNMENT_LAWFUL_NEUTRAL) + { + // 29 Jergal + AddChoice("Jergal", 29, oPC); + SetLocalString(oPC, "deity_dyn_text_29", + "Jergal\n[Alias:] The Scribe of Oaths\nThis deity is deceased and answers no prayers to their followers anywhere in the Realms.\n[Status:] Dead\n[Alignment:] LN\n[Specialty Priests:] Scribes\n[Favored Weapons:] Quarterstaff\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_NEUTRAL_EVIL || + nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_LAWFUL_EVIL || + nAlignment == ALIGNMENT_TRUE_NEUTRAL) + { + // 30 Karsus + AddChoice("Karsus", 30, oPC); + SetLocalString(oPC, "deity_dyn_text_30", + "Karsus\n[Alias:] The Karsus\nKarsus was once the greatest archwizard of Netheril who sought godhood by casting the legendary Karsus's Avatar. His ascension tore the Weave, causing the fall of the Netherese Empire and the descent of the goddess Mystryl. Now a dead power trapped in the Fugue Plane, Karsus exists as a cautionary tale of mortal hubris. He cannot grant spells or answer prayers, for his connection to the divine was severed by his own folly. Few still worship him, and those who do are mad scholars seeking the secrets of his lost magic.\n[Status:] Dead Power\n[Alignment:] N (formerly)\n[Specialty Priests:] None (cannot grant spells)\n[Favored Weapons:] Quarterstaff\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_LAWFUL_GOOD || + nAlignment == ALIGNMENT_LAWFUL_EVIL || + nAlignment == ALIGNMENT_LAWFUL_NEUTRAL) + { + // 31 Kelemvor + AddChoice("Kelemvor", 31, oPC); + SetLocalString(oPC, "deity_dyn_text_31", + "Kelemvor\n[Alias:] The Judge of the Dead\nKelemvor (pronounced KELL-em-vor) is the god of the dead and judge of the damned. He once was mortal, a paladin who served a god of the dead before ascending to divinity himself. Kelemvor?s faith teaches that the dead should be honored and that death is a natural part of life. He is a stern but fair deity who despises the undead and those who would unnaturally extend their lives.\n[Status:] Greater\n[Alignment:] LN\n[Specialty Priests:] Doomguides\n[Favored Weapons:] Heavy Mace\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_LAWFUL_NEUTRAL || + nAlignment == ALIGNMENT_TRUE_NEUTRAL || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL) + { + // 32 Kossuth + AddChoice("Kossuth", 32, oPC); + SetLocalString(oPC, "deity_dyn_text_32", + "Kossuth\n[Alias:] The Firelord\nKossuth is the god of fire, elemental balance, and purification. He embodies both the creative and destructive aspects of flame, teaching that fire is the ultimate force of transformation and renewal. His followers believe that through fire, all things are purified and reborn. Kossuth's faith is popular among smiths, alchemists, and those who seek to burn away impurities in the world. The church of Kossuth maintains the eternal flames in major cities and oversees the sacred duty of fire-watching.\n[Status:] Greater\n[Alignment:] LN\n[Specialty Priests:] Firelords\n[Favored Weapons:] Heavy Mace\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_NEUTRAL_GOOD || + nAlignment == ALIGNMENT_LAWFUL_GOOD ) + { + // 33 Lathander + AddChoice("Lathander", 33, oPC); + SetLocalString(oPC, "deity_dyn_text_33", + "Lathander\n[Alias:] The Morninglord\nLathander is the god of dawn, renewal, and birth. His faith teaches that each day is a new beginning and that hope is eternal.\n[Status:] Greater\n[Alignment:] NG\n[Specialty Priests:] Morninglords\n[Favored Weapons:] Morningstar\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_TRUE_NEUTRAL || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL) + { + // 34 Leira + AddChoice("Leira", 34, oPC); + SetLocalString(oPC, "deity_dyn_text_34", + "Leira\n[Alias:] The Lady of the Mists\nLeira is the goddess of illusion, deception, and trickery. Her faith teaches that truth is subjective and that illusion can be a shield or a weapon.\n[Status:] Intermediate\n[Alignment:] CN\n[Specialty Priests:] Tricksters\n[Favored Weapons:] Dagger\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_NEUTRAL_GOOD || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL) + { + // 35 Lliira + AddChoice("Lliira", 35, oPC); + SetLocalString(oPC, "deity_dyn_text_35", + "Lliira\n[Alias:] Our Lady of Joy\nLliira is the goddess of joy, happiness, and dance. Her faith teaches that life should be celebrated and that sorrow is a poison to be avoided.\n[Status:] Lesser\n[Alignment:] CG\n[Specialty Priests:] Joydancers\n[Favored Weapons:] Dagger\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_NEUTRAL_EVIL || + nAlignment == ALIGNMENT_LAWFUL_EVIL || + nAlignment == ALIGNMENT_LAWFUL_NEUTRAL) + { + // 36 Loviatar + AddChoice("Loviatar", 36, oPC); + SetLocalString(oPC, "deity_dyn_text_36", + "Loviatar\n[Alias:] The Maiden of Pain\nLoviatar is the goddess of pain, hurt, and suffering. Her faith teaches that pain is a tool for discipline and control. Followers of Loviatar often endure and inflict pain as a form of devotion.\n[Status:] Lesser\n[Alignment:] LE\n[Specialty Priests:] Painbringers\n[Favored Weapons:] Whip\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_NEUTRAL_GOOD || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL) + { + // 37 Lurue + AddChoice("Lurue", 37, oPC); + SetLocalString(oPC, "deity_dyn_text_37", + "Lurue\n[Alias:] The Unicorn Queen\nLurue is the goddess of intelligent beasts and rangers. Her faith teaches that all creatures deserve respect and that the wild places must be protected.\n[Status:] Intermediate\n[Alignment:] CG\n[Specialty Priests:] Horned Hunters\n[Favored Weapons:] Longbow\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_NEUTRAL_EVIL || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL) + { + // 38 Malar + AddChoice("Malar", 38, oPC); + SetLocalString(oPC, "deity_dyn_text_38", + "Malar\n[Alias:] The Beastlord\nMalar is the god of the hunt, beasts, and savagery. His faith teaches that the hunt is the ultimate test of strength and skill. Followers of Malar often revere predatory animals and embrace their primal instincts.\n[Status:] Lesser\n[Alignment:] CE\n[Specialty Priests:] Huntsmen\n[Favored Weapons:] Spear\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_NEUTRAL_EVIL || + nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_LAWFUL_EVIL || + nAlignment == ALIGNMENT_TRUE_NEUTRAL) + { + // 39 Mask + AddChoice("Mask", 39, oPC); + SetLocalString(oPC, "deity_dyn_text_39", + "Mask\n[Alias:] Lord of Shadows\nMask is the god of thieves, rogues, and adventurers. His faith teaches that stealth and cunning are tools to survive and thrive in a harsh world. Followers of Mask often operate in the shadows, using their skills to outwit others.\n[Status:] Lesser\n[Alignment:] CN\n[Specialty Priests:] None\n[Favored Weapons:] Dagger\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_NEUTRAL_GOOD || + nAlignment == ALIGNMENT_LAWFUL_GOOD ) + { + // 40 Mielikki + AddChoice("Mielikki", 40, oPC); + SetLocalString(oPC, "deity_dyn_text_40", + "Mielikki\n[Alias:] Our Lady of the Forest\nMielikki is the goddess of forests, rangers, and druids. Her faith teaches that the forest is a living entity and that all creatures are part of a whole.\n[Status:] Intermediate\n[Alignment:] NG\n[Specialty Priests:] Shadoweirs\n[Favored Weapons:] Druid\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_NEUTRAL_GOOD || + nAlignment == ALIGNMENT_LAWFUL_GOOD ) + { + // 41 Milil + AddChoice("Milil", 41, oPC); + SetLocalString(oPC, "deity_dyn_text_41", + "Milil\n[Alias:] Lord of Song\nMilil appears as a handsome human or elf with a melodic voice, revered by bards as the Guardian of Singers. He embodies creativity and inspiration, representing the complete song from idea to finish. His teachings view life as a continuing process, a song from birth until the final chord.\n[Status:] Intermediate\n[Alignment:] NG\n[Specialty Priests:] None\n[Favored Weapons:] Rapier\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_NEUTRAL_EVIL || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL) + { + // 42 Moander + AddChoice("Moander", 42, oPC); + SetLocalString(oPC, "deity_dyn_text_42", + "Moander\n[Alias:] The Darkbringer\nThis deity is deceased and answers no prayers to their followers anywhere in the Realms.\n[Status:] Dead\n[Alignment:] CE\n[Specialty Priests:] Rotlords\n[Favored Weapons:] Club\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_NEUTRAL_EVIL || + nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_LAWFUL_EVIL || + nAlignment == ALIGNMENT_TRUE_NEUTRAL) + { + // 43 Myrkul + AddChoice("Myrkul", 43, oPC); + SetLocalString(oPC, "deity_dyn_text_43", + "Myrkul\n[Alias:] Lord of the Dead\nThis deity is deceased and answers no prayers to their followers anywhere in the Realms. Myrkul was once the god of the dead, doom, and dread, ruling over the Fugue Plane before being slain by Mystra during the Time of Troubles. Few still venerate him, and those who do are mad cultists seeking mastery over death itself.\n[Status:] Dead\n[Alignment:] LE (formerly)\n[Specialty Priests:] None\n[Favored Weapons:] Scythe\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_NEUTRAL_GOOD || + nAlignment == ALIGNMENT_LAWFUL_GOOD ) + { + // 44 Mystra + AddChoice("Mystra", 44, oPC); + SetLocalString(oPC, "deity_dyn_text_44", + "Mystra\n[Alias:] The Mother of All Magic\nMystra is the goddess of magic and the Weave. Her faith teaches that magic is a force to be respected and used wisely. Followers of Mystra are often wizards, sorcerers, and those who study the arcane arts.\n[Status:] Greater\n[Alignment:] NG\n[Specialty Priests:] Magi\n[Favored Weapons:] Quarterstaff\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_LAWFUL_GOOD || + nAlignment == ALIGNMENT_LAWFUL_NEUTRAL || + nAlignment == ALIGNMENT_NEUTRAL_GOOD) + { + // 45 Nobanion + AddChoice("Nobanion", 45, oPC); + SetLocalString(oPC, "deity_dyn_text_45", + "Nobanion\n[Alias:] Lord Firemane\nNobanion, the Lion God of Gulthmere, protects the woods and its natives. Drawing power from wild animals of Vilhon Reach and Dragon Coast, he teaches: hunt only when hungry, waste nothing, and lead with strength while protecting the weak.\n[StartHighlight>Status:] Demigod\n[StartHighlight>Alignment:] NG\n[StartHighlight>Specialty Priests:] None\n[StartHighlight>Favored Weapons:] Claw/Bite\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_LAWFUL_NEUTRAL || + nAlignment == ALIGNMENT_TRUE_NEUTRAL || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL) + { + // 46 Oghma + AddChoice("Oghma", 46, oPC); + SetLocalString(oPC, "deity_dyn_text_46", + "Oghma\n[Alias:] The Binder of What is Known\nOghma is the god of knowledge, invention, and inspiration. His faith teaches that knowledge is the greatest power and that ideas can change the world.\n[Status:] Greater\n[Alignment:] N\n[Specialty Priests:] Loremasters\n[Favored Weapons:] Quarterstaff\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_LAWFUL_GOOD || + nAlignment == ALIGNMENT_LAWFUL_EVIL || + nAlignment == ALIGNMENT_LAWFUL_NEUTRAL) + { + // 47 Red Knight + AddChoice("Red Knight", 47, oPC); + SetLocalString(oPC, "deity_dyn_text_47", + "Red Knight\n[Alias:] The Lady of Strategy\nThe Red Knight is the goddess of strategy and tactics. Her faith teaches that victory comes from careful planning and discipline.\n[Status:] Lesser\n[Alignment:] LN\n[Specialty Priests:] Strategists\n[Favored Weapons:] Longsword\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_LAWFUL_GOOD || + nAlignment == ALIGNMENT_LAWFUL_EVIL || + nAlignment == ALIGNMENT_LAWFUL_NEUTRAL) + { + // 48 Savras + AddChoice("Savras", 48, oPC); + SetLocalString(oPC, "deity_dyn_text_48", + "Savras\n[Alias:] The All-Seeing\nSavras is the god of divination, fate, and prophecy. His faith teaches that knowledge of the future is a powerful tool, but one that must be used wisely.\n[Status:] Demipower\n[Alignment:] LN\n[Specialty Priests:] Seers\n[Favored Weapons:] Quarterstaff\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_NEUTRAL_GOOD || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL) + { + // 49 Selune + AddChoice("Selune", 49, oPC); + SetLocalString(oPC, "deity_dyn_text_49", + "Selune\n[Alias:] Our Lady of Silver\nGoddess of moon, stars, and navigation. Her ethos is acceptance and tolerance; all are welcome as equals. \"May Selune guide your steps in the night\" is her priests' blessing to the faithful.\n[Status:] Greater\n[Alignment:] CG\n[Specialty Priests:] None\n[Favored Weapons:] Heavy Mace\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_NEUTRAL_EVIL || + nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_LAWFUL_EVIL || + nAlignment == ALIGNMENT_TRUE_NEUTRAL) + { + // 50 Shar + AddChoice("Shar", 50, oPC); + SetLocalString(oPC, "deity_dyn_text_50", + "Shar\n[Alias:] The Night Maiden\nShar is the goddess of darkness, loss, and forgetfulness. Her faith teaches that darkness is the ultimate truth and that all things must end.\n[Status:] Greater\n[Alignment:] NE\n[Specialty Priests:] Nightbringers\n[Favored Weapons:] Dagger\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_TRUE_NEUTRAL || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL) + { + // 51 Shaundakul + AddChoice("Shaundakul", 51, oPC); + SetLocalString(oPC, "deity_dyn_text_51", + "Shaundakul\n[Alias:] The Riding God\nShaundakul is the god of travel, exploration, and the wind. His faith teaches that the horizon is always worth chasing and that the journey is as important as the destination.\n[Status:] Intermediate\n[Alignment:] CN\n[Specialty Priests:] Windriders\n[Favored Weapons:] Scimitar\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_NEUTRAL_GOOD || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL) + { + // 52 Sharess + AddChoice("Sharess", 52, oPC); + SetLocalString(oPC, "deity_dyn_text_52", + "Sharess\n[Alias:] The Lady of Festivals\nSharess is the goddess of pleasure, festivals, and relaxation. Her faith teaches that life should be enjoyed and that pleasure is a divine gift. Followers of Sharess often celebrate life through festivals and indulgence.\n[Status:] Lesser\n[Alignment:] CG\n[Specialty Priests:] Festivals\n[Favored Weapons:] Dagger\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_NEUTRAL_GOOD || + nAlignment == ALIGNMENT_LAWFUL_GOOD ) + { + // 53 Shiallia + AddChoice("Shiallia", 53, oPC); + SetLocalString(oPC, "deity_dyn_text_53", + "Shiallia\n[Alias:] Daughter of the High Forest\nShiallia is the goddess of glades, beauty, and fertility. Her faith teaches that the beauty of the natural world should be preserved and that all life is sacred.\n[Status:] Lesser\n[Alignment:] NG\n[Specialty Priests:] Lady's Handmaidens\n[Favored Weapons:] Shortbow\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_LAWFUL_GOOD || + nAlignment == ALIGNMENT_LAWFUL_EVIL || + nAlignment == ALIGNMENT_LAWFUL_NEUTRAL) + { + // 54 Siamorphe + AddChoice("Siamorphe", 54, oPC); + SetLocalString(oPC, "deity_dyn_text_54", + "Siamorphe\n[Alias:] The Noble\nDemipower of nobility and rightful rule. Her ethos: nobles have the right and responsibility to rule justly. Worshiped mainly by Waterdeep nobles and in Tethyr. Nobles must remain fit to rule and serve their people.\n[Status:] Demigod\n[Alignment:] LN\n[Specialty Priests:] None\n[Favored Weapons:] Light Mace\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_LAWFUL_NEUTRAL || + nAlignment == ALIGNMENT_TRUE_NEUTRAL || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL) + { + // 55 Silvanus + AddChoice("Silvanus", 55, oPC); + SetLocalString(oPC, "deity_dyn_text_55", + "Silvanus\n[Alias:] The Old Father\nSilvanus is the god of nature, balance, and druids. His faith teaches that nature must be respected and that balance is the key to survival.\n[Status:] Greater\n[Alignment:] N\n[Specialty Priests:] Forest Masters\n[Favored Weapons:] Scimitar\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_NEUTRAL_GOOD || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL) + { + // 56 Sune + AddChoice("Sune", 56, oPC); + SetLocalString(oPC, "deity_dyn_text_56", + "Sune\n[Alias:] Lady Firehair\nSune is the goddess of love, beauty, and passion. Her faith teaches that love and beauty are the most powerful forces in the world. Followers of Sune often seek to spread love and appreciate beauty in all its forms.\n[Status:] Greater\n[Alignment:] CG\n[Specialty Priests:] Heartwarders\n[Favored Weapons:] Dagger\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_NEUTRAL_EVIL || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL) + { + // 57 Talona + AddChoice("Talona", 57, oPC); + SetLocalString(oPC, "deity_dyn_text_57", + "Talona\n[Alias:] Lady of Poison\nTalona is the goddess of poison, disease, and death. Her faith teaches that death is the more powerful force in life's balance and should be respected. They believe that disease serves as Talona's breath, teaching humility to those who think themselves invincible through wealth or power.\n[Status:] Intermediate\n[Alignment:] CE\n[Specialty Priests:] None\n[Favored Weapons:] Dagger\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_NEUTRAL_EVIL || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL) + { + // 58 Talos + AddChoice("Talos", 58, oPC); + SetLocalString(oPC, "deity_dyn_text_58", + "Talos\n[Alias:] The Destroyer\nTalos is the god of storms, destruction, and rebellion. His faith teaches that destruction is a creative force and that chaos brings change.\n[Status:] Greater\n[Alignment:] CE\n[Specialty Priests:] Stormlords\n[Favored Weapons:] Greatsword\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_TRUE_NEUTRAL || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL) + { + // 59 Tempus + AddChoice("Tempus", 59, oPC); + SetLocalString(oPC, "deity_dyn_text_59", + "Tempus\n[Alias:] Lord of Battles\nTempus is the god of war, battles, and warriors. His faith teaches that war is a natural force that should not be feared, and that all sides are treated equally in battle. They believe Tempus helps deserving warriors win battles, and that war brings both death and the opportunity for great leadership.\n[Status:] Greater\n[Alignment:] CN\n[Specialty Priests:] None\n[Favored Weapons:] Battleaxe\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_LAWFUL_GOOD || + nAlignment == ALIGNMENT_LAWFUL_NEUTRAL || + nAlignment == ALIGNMENT_NEUTRAL_GOOD) + { + // 60 Torm + AddChoice("Torm", 60, oPC); + SetLocalString(oPC, "deity_dyn_text_60", + "Torm\n[Alias:] The True\nTorm is the god of duty, loyalty, and righteousness. His faith teaches that honor and duty are the highest virtues.\n[Status:] Greater\n[Alignment:] LG\n[Specialty Priests:] Paladins\n[Favored Weapons:] Longsword\n\nDo you wish this deity to be your patron?"); + } + + if(nAlignment == ALIGNMENT_LAWFUL_GOOD || + nAlignment == ALIGNMENT_LAWFUL_NEUTRAL || + nAlignment == ALIGNMENT_NEUTRAL_GOOD) + { + // 61 Tyr + AddChoice("Tyr", 61, oPC); + SetLocalString(oPC, "deity_dyn_text_61", + "Tyr\n[Alias:] The Even-Handed\nTyr is the god of justice, law, and heroes. His faith teaches that justice must be blind and that the law is the foundation of civilization.\n[Status:] Greater\n[Alignment:] LG\n[Specialty Priests:] Justiciars\n[Favored Weapons:] Longsword\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_NEUTRAL_GOOD || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL) + { + // 62 Tymora + AddChoice("Tymora", 62, oPC); + SetLocalString(oPC, "deity_dyn_text_62", + "Tymora\n[Alias:] Lady Luck\nTymora is the goddess of good fortune, skill, and victory. Her faith teaches that fortune favors the bold and that risk is the path to reward.\n[Status:] Greater\n[Alignment:] CG\n[Specialty Priests:] Luckbringers\n[Favored Weapons:] Dagger\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_LAWFUL_NEUTRAL || + nAlignment == ALIGNMENT_TRUE_NEUTRAL || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL) + { + // 63 Ulutiu + AddChoice("Ulutiu", 63, oPC); + SetLocalString(oPC, "deity_dyn_text_63", + "Ulutiu\n[Alias:] The Sleeping God\nUlutiu is the god of glaciers, ice, and the frozen north. His faith teaches that stillness and endurance bring wisdom, and that the frozen lands hold ancient secrets. They believe that like the glaciers, true power comes from patience and the slow accumulation of strength over time.\n[Status:] Intermediate\n[Alignment:] LN\n[Specialty Priests:] None\n[Favored Weapons:] Spear\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_NEUTRAL_EVIL || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL) + { + // 64 Umberlee + AddChoice("Umberlee", 64, oPC); + SetLocalString(oPC, "deity_dyn_text_64", + "Umberlee\n[Alias:] The Bitch Queen\nUmberlee is the goddess of the sea, storms, and sailors. Her faith teaches that the sea is a dangerous and unpredictable force that must be respected. Followers of Umberlee often make offerings to ensure safe passage.\n[Status:] Lesser\n[Alignment:] CE\n[Specialty Priests:] Sea Maidens\n[Favored Weapons:] Trident\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_NEUTRAL_GOOD || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL) + { + // 65 Valkur + AddChoice("Valkur", 65, oPC); + SetLocalString(oPC, "deity_dyn_text_65", + "Valkur\n[Alias:] The Mighty\nValkur is the god of sailors, ships, fliers, and naval combat. His faith teaches that the best way to survive a storm is to face it head-on.\n[Status:] Lesser\n[Alignment:] CG\n[Specialty Priests:] Stormriders\n[Favored Weapons:] Cutlass\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_NEUTRAL_EVIL || + nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_LAWFUL_EVIL || + nAlignment == ALIGNMENT_TRUE_NEUTRAL) + { + // 66 Velsharoon + AddChoice("Velsharoon", 66, oPC); + SetLocalString(oPC, "deity_dyn_text_66", + "Velsharoon\n[Alias:] The Vaunted\nVelsharoon is the god of necromancy, evil liches, and undeath. His faith teaches that practitioners of necromancy are elite visionaries worthy of respect for their bold excursions to the frontiers of life and death. They believe that true power comes from mastering the arts of undeath and gathering necromantic knowledge.\n[Status:] Demigod\n[Alignment:] NE\n[Specialty Priests:] Necrophants\n[Favored Weapons:] Quarterstaff\n\nDo you wish this deity to be your patron?"); + } + if(nAlignment == ALIGNMENT_CHAOTIC_GOOD || + nAlignment == ALIGNMENT_CHAOTIC_EVIL || + nAlignment == ALIGNMENT_LAWFUL_NEUTRAL || + nAlignment == ALIGNMENT_TRUE_NEUTRAL || + nAlignment == ALIGNMENT_CHAOTIC_NEUTRAL) + { + // 67 Waukeen + AddChoice("Waukeen", 67, oPC); + SetLocalString(oPC, "deity_dyn_text_67", + "Waukeen\n[Alias:] The Merchant's Friend\nWaukeen is the goddess of wealth, trade, and merchants. Her faith teaches that commerce is the lifeblood of civilization and that honest trade benefits all. They believe that wealth should be accumulated through fair exchange and that prosperity comes from embracing opportunity and taking calculated risks.\n[Status:] Greater\n[Alignment:] LN\n[Specialty Priests:] None\n[Favored Weapons:] Nunchaku\n\nDo you wish this deity to be your patron?"); + } + + MarkStageSetUp(nStage, oPC); + SetDefaultTokens(); + + } + else if (nStage == STAGE_CONFIRM) + { + int nSelected = GetLocalInt(oPC, "deity_selected"); + SetHeader(GetDeityText(oPC, nSelected)); + AddChoice("Yes!", nSelected, oPC); + AddChoice("No...", -1, oPC); + MarkStageSetUp(nStage, oPC); + SetDefaultTokens(); + } + } + SetupTokens(); + } + // End of conversation cleanup + else if(nValue == DYNCONV_EXITED) + { + // Start the next step in character creation - language selection + DelayCommand(0.1f, StartDynamicConversation("bg_language_cv", oPC)); + } + else if(nValue == DYNCONV_ABORTED) + { + // Handle aborted conversation + SendMessageToPC(oPC, "Deity selection aborted."); + } + else // Handle user choices + { + int nChoice = GetChoice(oPC); + if(nStage == STAGE_LIST) + { + // Store the selection and move to confirm + SetLocalInt(oPC, "deity_selected", nChoice); + SetStage(STAGE_CONFIRM, oPC); + } + else if (nStage == STAGE_CONFIRM) + { + if(nChoice == -1) // "No" - return to list + { + MarkStageNotSetUp(STAGE_LIST, oPC); // Force rebuild of deity list + SetStage(STAGE_LIST, oPC); + } + else // "Yes" - confirm deity + { + int nDeityChoice = GetLocalInt(oPC, "deity_selected"); + switch (nDeityChoice) + { + case 1: + { + //sGrant = "deity_dwarven"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Dwarven_Powers); + SetPersistantLocalInt(oPC, "BG_Select", 1); + SetLocalInt(oItem,"CC3",DEITY_Dwarven_Powers); + SetLocalInt(oItem,"BG_Select",1); + break; // Dwarven Powers + } + case 2: + { + //sGrant = "deity_elven"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Elven_Powers); + SetPersistantLocalInt(oPC, "BG_Select", 2); + SetLocalInt(oItem,"CC3",DEITY_Elven_Powers); + SetLocalInt(oItem,"BG_Select",2); + break; // Elven Powers + } + case 3: + { + //sGrant = "deity_gnomish"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Gnomish_Powers); + SetPersistantLocalInt(oPC, "BG_Select", 3); + SetLocalInt(oItem,"CC3",DEITY_Gnomish_Powers); + SetLocalInt(oItem,"BG_Select",3); + break; // Gnomish Powers + } + case 4: + { + //sGrant = "deity_halfling"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Halfling_Powers); + SetPersistantLocalInt(oPC, "BG_Select", 4); + SetLocalInt(oItem,"CC3",DEITY_Halfling_Powers); + SetLocalInt(oItem,"BG_Select",4); + break; // Halfling Powers + } + case 5: + { + //sGrant = "deity_orcish"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Orcish_Powers); + SetPersistantLocalInt(oPC, "BG_Select", 5); + SetLocalInt(oItem,"CC3",DEITY_Orcish_Powers); + SetLocalInt(oItem,"BG_Select",5); + break; // Orcish Powers + } + case 6: + { + //sGrant = "deity_underdark"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Underdark_Powers); + SetPersistantLocalInt(oPC, "BG_Select", 6); + SetLocalInt(oItem,"CC3",DEITY_Underdark_Powers); + SetLocalInt(oItem,"BG_Select",6); + break; // Underdark Powers + } + case 7: + { + //sGrant = "deity_akadi"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Akadi); + SetPersistantLocalInt(oPC, "BG_Select", 7); + SetLocalInt(oItem,"CC3",DEITY_Akadi); + SetLocalInt(oItem,"BG_Select",7); + break; // Akadi + } + case 8: + { + //sGrant = "deity_amaunator"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Amaunator); + SetPersistantLocalInt(oPC, "BG_Select", 8); + SetLocalInt(oItem,"CC3",DEITY_Amaunator); + SetLocalInt(oItem,"BG_Select",8); + break; // Amaunator + } + case 9: + { + //sGrant = "deity_auril"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Auril); + SetPersistantLocalInt(oPC, "BG_Select", 9); + SetLocalInt(oItem,"CC3",DEITY_Auril); + SetLocalInt(oItem,"BG_Select",9); + break; // Auril + } + case 10: + { + //sGrant = "deity_azuth"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Azuth); + SetPersistantLocalInt(oPC, "BG_Select", 10); + SetLocalInt(oItem,"CC3",DEITY_Azuth); + SetLocalInt(oItem,"BG_Select",10); + break; // Azuth + } + case 11: + { + //sGrant = "deity_bane"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Bane); + SetPersistantLocalInt(oPC, "BG_Select", 11); + SetLocalInt(oItem,"CC3",DEITY_Bane); + SetLocalInt(oItem,"BG_Select",11); + break; // Bane + } + case 12: + { + //sGrant = "deity_beshaba"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Beshaba); + SetPersistantLocalInt(oPC, "BG_Select", 12); + SetLocalInt(oItem,"CC3",DEITY_Beshaba); + SetLocalInt(oItem,"BG_Select",12); + break; // Beshaba + } + case 13: + { + //sGrant = "deity_bhall"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Bhaal); + SetPersistantLocalInt(oPC, "BG_Select", 13); + SetLocalInt(oItem,"CC3",DEITY_Bhaal); + SetLocalInt(oItem,"BG_Select",13); + break; // Bhall + } + case 14: + { + //sGrant = "deity_chauntea"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Chauntea); + SetPersistantLocalInt(oPC, "BG_Select", 14); + SetLocalInt(oItem,"CC3",DEITY_Chauntea); + SetLocalInt(oItem,"BG_Select",14); + break; // Chauntea + } + case 15: + { + //sGrant = "deity_cyric"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Cyric); + SetPersistantLocalInt(oPC, "BG_Select", 15); + SetLocalInt(oItem,"CC3",DEITY_Cyric); + SetLocalInt(oItem,"BG_Select", 15); + break; // Cyric + } + case 16: + { + //sGrant = "deity_deneir"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Deneir); + SetPersistantLocalInt(oPC, "BG_Select", 16); + SetLocalInt(oItem,"CC3",DEITY_Deneir); + SetLocalInt(oItem,"BG_Select", 16); + break; // Deneir + } + case 17: + { + //sGrant = "deity_eldath"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Eldath); + SetPersistantLocalInt(oPC, "BG_Select", 17); + SetLocalInt(oItem,"CC3",DEITY_Eldath); + SetLocalInt(oItem,"BG_Select", 17); + break; // Eldath + } + case 18: + { + //sGrant = "deity_finder_wyvernspur"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Finder_Wyvernspur); + SetPersistantLocalInt(oPC, "BG_Select", 18); + SetLocalInt(oItem,"CC3",DEITY_Finder_Wyvernspur); + SetLocalInt(oItem,"BG_Select",18); + break; // Finder Wyvernspur + } + case 19: + { + //sGrant = "deity_garagos"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Garagos); + SetPersistantLocalInt(oPC, "BG_Select", 19); + SetLocalInt(oItem,"CC3",DEITY_Garagos); + SetLocalInt(oItem,"BG_Select",19); + break; // Garagos + } + case 20: + { + //sGrant = "deity_gargauth"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Gargauth); + SetPersistantLocalInt(oPC, "BG_Select", 20); + SetLocalInt(oItem,"CC3",DEITY_Gargauth); + SetLocalInt(oItem,"BG_Select",20); + break; // Gargauth + } + case 21: + { + //sGrant = "deity_gond"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Gond); + SetPersistantLocalInt(oPC, "BG_Select", 21); + SetLocalInt(oItem,"CC3",DEITY_Gond); + SetLocalInt(oItem,"BG_Select",21); + break; // Gond + } + case 22: + { + //sGrant = "deity_grumbar"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Grumbar); + SetPersistantLocalInt(oPC, "BG_Select", 22); + SetLocalInt(oItem,"CC3",DEITY_Grumbar); + SetLocalInt(oItem,"BG_Select",22); + break; // Grumbar + } + case 23: + { + //sGrant = "deity_gwaeron_windstrom"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Gwaeron_Windstrom); + SetPersistantLocalInt(oPC, "BG_Select", 23); + SetLocalInt(oItem,"CC3",DEITY_Gwaeron_Windstrom); + SetLocalInt(oItem,"BG_Select",23); + break; // Gwaeron Windstrom + } + case 24: + { + //sGrant = "deity_helm"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Helm); + SetPersistantLocalInt(oPC, "BG_Select", 24); + SetLocalInt(oItem,"CC3",DEITY_Helm); + SetLocalInt(oItem,"BG_Select",24); + break; // Helm + } + case 25: + { + //sGrant = "deity_hoar"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Hoar); + SetPersistantLocalInt(oPC, "BG_Select", 25); + SetLocalInt(oItem,"CC3",DEITY_Hoar); + SetLocalInt(oItem,"BG_Select",25); + break; // Hoar + } + case 26: + { + //sGrant = "deity_ibrandul"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Ibrandul); + SetPersistantLocalInt(oPC, "BG_Select", 26); + SetLocalInt(oItem,"CC3",DEITY_Ibrandul); + SetLocalInt(oItem,"BG_Select", 26); + break; // Ibrandul + } + case 27: + { + //sGrant = "deity_ilmater"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Ilmater); + SetPersistantLocalInt(oPC, "BG_Select", 27); + SetLocalInt(oItem,"CC3",DEITY_Ilmater); + SetLocalInt(oItem,"BG_Select", 27); + break; // Ilmater + } + case 28: + { + //sGrant = "deity_ishtishia"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Ishtisha); + SetPersistantLocalInt(oPC, "BG_Select", 28); + SetLocalInt(oItem,"CC3",DEITY_Ishtisha); + SetLocalInt(oItem,"BG_Select", 28); + break; // Ishtishia + } + case 29: + { + //sGrant = "deity_jergal"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Jergal); + SetPersistantLocalInt(oPC, "BG_Select", 29); + SetLocalInt(oItem,"CC3",DEITY_Jergal); + SetLocalInt(oItem,"BG_Select", 29); + break; // Jergal + } + case 30: + { + //sGrant = "deity_karsus"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Karsus); + SetPersistantLocalInt(oPC, "BG_Select", 30); + SetLocalInt(oItem,"CC3",DEITY_Karsus); + SetLocalInt(oItem,"BG_Select", 30); + break; // Karsus + } + case 31: + { + //sGrant = "deity_kelemvor"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Kelemvor); + SetPersistantLocalInt(oPC, "BG_Select", 31); + SetLocalInt(oItem,"CC3",DEITY_Kelemvor); + SetLocalInt(oItem,"BG_Select", 31); + break; // Kelemvor + } + case 32: + { + //sGrant = "deity_kossuth"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Kossuth); + SetPersistantLocalInt(oPC, "BG_Select", 32); + SetLocalInt(oItem,"CC3",DEITY_Kossuth); + SetLocalInt(oItem,"BG_Select", 32); + break; // Kossuth + } + case 33: + { + //sGrant = "deity_lathander"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Lathander); + SetPersistantLocalInt(oPC, "BG_Select", 33); + SetLocalInt(oItem,"CC3",DEITY_Lathander); + SetLocalInt(oItem,"BG_Select", 33); + break; // Lathander + } + case 34: + { + //sGrant = "deity_leira"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Leira); + SetPersistantLocalInt(oPC, "BG_Select", 34); + SetLocalInt(oItem,"CC3",DEITY_Leira); + SetLocalInt(oItem,"BG_Select", 34); + break; // Leira + } + case 35: + { + //sGrant = "deity_lliira"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Lliira); + SetPersistantLocalInt(oPC, "BG_Select", 35); + SetLocalInt(oItem,"CC3",DEITY_Lliira); + SetLocalInt(oItem,"BG_Select", 35); + break; // Lliira + } + case 36: + { + //sGrant = "deity_loviatar"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Loviatar); + SetPersistantLocalInt(oPC, "BG_Select", 36); + SetLocalInt(oItem,"CC3",DEITY_Loviatar); + SetLocalInt(oItem,"BG_Select",36); + break; // Loviatar + } + case 37: + { + //sGrant = "deity_lurue"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Lurue); + SetPersistantLocalInt(oPC, "BG_Select", 37); + SetLocalInt(oItem,"CC3",DEITY_Lurue); + SetLocalInt(oItem,"BG_Select", 37); + break; // Lurue + } + case 38: + { + //sGrant = "deity_malar"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Malar); + SetPersistantLocalInt(oPC, "BG_Select", 38); + SetLocalInt(oItem,"CC3",DEITY_Malar); + SetLocalInt(oItem,"BG_Select", 38); + break; // Malar + } + case 39: + { + //sGrant = "deity_mask"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Mask); + SetPersistantLocalInt(oPC, "BG_Select", 39); + SetLocalInt(oItem,"CC3",DEITY_Mask); + SetLocalInt(oItem,"BG_Select", 39); + break; // Mask + } + case 40: + { + //sGrant = "deity_mielikki"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Mielikki); + SetPersistantLocalInt(oPC, "BG_Select", 40); + SetLocalInt(oItem,"CC3",DEITY_Mielikki); + SetLocalInt(oItem,"BG_Select", 40); + break; // Mielikki + } + case 41: + { + //sGrant = "deity_milil"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Milil); + SetPersistantLocalInt(oPC, "BG_Select", 41); + SetLocalInt(oItem,"CC3",DEITY_Milil); + SetLocalInt(oItem,"BG_Select", 41); + break; // Milil + } + case 42: + { + //sGrant = "deity_moander"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Moander); + SetPersistantLocalInt(oPC, "BG_Select", 42); + SetLocalInt(oItem,"CC3",DEITY_Moander); + SetLocalInt(oItem,"BG_Select", 42); + break; // Moander + } + case 43: + { + //sGrant = "deity_myrkul"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Myrkul); + SetPersistantLocalInt(oPC, "BG_Select", 43); + SetLocalInt(oItem,"CC3",DEITY_Myrkul); + SetLocalInt(oItem,"BG_Select", 43); + break; // Myrkul + } + case 44: + { + //sGrant = "deity_mystra"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Mystra); + SetPersistantLocalInt(oPC, "BG_Select", 44); + SetLocalInt(oItem,"CC3",DEITY_Mystra); + SetLocalInt(oItem,"BG_Select", 44); + break; // Mystra + } + case 45: + { + //sGrant = "deity_nobanion"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Nobanion); + SetPersistantLocalInt(oPC, "BG_Select", 45); + SetLocalInt(oItem,"CC3",DEITY_Nobanion); + SetLocalInt(oItem,"BG_Select",45); + break; // Nobanion + } + case 46: + { + //sGrant = "deity_oghma"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Oghma); + SetPersistantLocalInt(oPC, "BG_Select", 46); + SetLocalInt(oItem,"CC3",DEITY_Oghma); + SetLocalInt(oItem,"BG_Select",46); + break; // Oghma + } + case 47: + { + //sGrant = "deity_red_knight"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Red_Knight); + SetPersistantLocalInt(oPC, "BG_Select", 47); + SetLocalInt(oItem,"CC3",DEITY_Red_Knight); + SetLocalInt(oItem,"BG_Select",47); + break; // Red Knight + } + case 48: + { + //sGrant = "deity_savras"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Savras); + SetPersistantLocalInt(oPC, "BG_Select", 48); + SetLocalInt(oItem,"CC3",DEITY_Savras); + SetLocalInt(oItem,"BG_Select", 48); + break; // Savras + } + case 49: + { + //sGrant = "deity_selune"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Selune); + SetPersistantLocalInt(oPC, "BG_Select", 49); + SetLocalInt(oItem,"CC3",DEITY_Selune); + SetLocalInt(oItem,"BG_Select", 49); + break; // Selune + } + case 50: + { + //sGrant = "deity_shar"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Shar); + SetPersistantLocalInt(oPC, "BG_Select", 50); + SetLocalInt(oItem,"CC3",DEITY_Shar); + SetLocalInt(oItem,"BG_Select", 50); + break; // Shar + } + case 51: + { + //sGrant = "deity_shaundakul"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Shaundakul); + SetPersistantLocalInt(oPC, "BG_Select", 51); + SetLocalInt(oItem,"CC3",DEITY_Shaundakul); + SetLocalInt(oItem,"BG_Select", 51); + break; // Shaundakul + } + case 52: + { + //sGrant = "deity_sharess"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Sharess); + SetPersistantLocalInt(oPC, "BG_Select", 52); + SetLocalInt(oItem,"CC3",DEITY_Sharess); + SetLocalInt(oItem,"BG_Select", 52); + break; // Sharess + } + case 53: + { + //sGrant = "deity_shiallia"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Shiallia); + SetPersistantLocalInt(oPC, "BG_Select", 53); + SetLocalInt(oItem,"CC3",DEITY_Shiallia); + SetLocalInt(oItem,"BG_Select", 53); + break; // Shiallia + } + case 54: + { + //sGrant = "deity_siamorphe"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Siamorphe); + SetPersistantLocalInt(oPC, "BG_Select", 54); + SetLocalInt(oItem,"CC3",DEITY_Siamorphe); + SetLocalInt(oItem,"BG_Select", 54); + break; // Siamorphe + } + case 55: + { + //sGrant = "deity_silvanus"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Silvanus); + SetPersistantLocalInt(oPC, "BG_Select", 55); + SetLocalInt(oItem,"CC3",DEITY_Silvanus); + SetLocalInt(oItem,"BG_Select", 55); + break; // Silvanus + } + case 56: + { + //sGrant = "deity_sune"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Sune); + SetPersistantLocalInt(oPC, "BG_Select", 56); + SetLocalInt(oItem,"CC3",DEITY_Sune); + SetLocalInt(oItem,"BG_Select",56); + break; // Sune + } + case 57: + { + //sGrant = "deity_talona"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Talona); + SetPersistantLocalInt(oPC, "BG_Select", 57); + SetLocalInt(oItem,"CC3",DEITY_Talona); + SetLocalInt(oItem,"BG_Select", 57); + break; // Talona + } + case 58: + { + //sGrant = "deity_talos"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Talos); + SetPersistantLocalInt(oPC, "BG_Select", 58); + SetLocalInt(oItem,"CC3",DEITY_Talos); + SetLocalInt(oItem,"BG_Select", 58); + break; // Talos + } + case 59: + { + //sGrant = "deity_tempus"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Tempus); + SetPersistantLocalInt(oPC, "BG_Select", 59); + SetLocalInt(oItem,"CC3",DEITY_Tempus); + SetLocalInt(oItem,"BG_Select", 59); + break; // Tempus + } + case 60: + { + //sGrant = "deity_torm"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Torm); + SetPersistantLocalInt(oPC, "BG_Select", 60); + SetLocalInt(oItem,"CC3",DEITY_Torm); + SetLocalInt(oItem,"BG_Select", 60); + break; // Torm + } + case 61: + { + //sGrant = "deity_tyr"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Tyr); + SetPersistantLocalInt(oPC, "BG_Select", 61); + SetLocalInt(oItem,"CC3",DEITY_Tyr); + SetLocalInt(oItem,"BG_Select", 61); + break; // Tyr + } + case 62: + { + //sGrant = "deity_tymora"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Tymora); + SetPersistantLocalInt(oPC, "BG_Select", 62); + SetLocalInt(oItem,"CC3",DEITY_Tymora); + SetLocalInt(oItem,"BG_Select", 62); + break; // Tymora + } + case 63: + { + //sGrant = "deity_ulutiu"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Ulutiu); + SetPersistantLocalInt(oPC, "BG_Select", 63); + SetLocalInt(oItem,"CC3",DEITY_Ulutiu); + SetLocalInt(oItem,"BG_Select", 63); + break; // Ulutiu + } + case 64: + { + //sGrant = "deity_umberlee"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Umberlee); + SetPersistantLocalInt(oPC, "BG_Select", 64); + SetLocalInt(oItem,"CC3",DEITY_Umberlee); + SetLocalInt(oItem,"BG_Select", 64); + break; // Umberlee + } + case 65: + { + //sGrant = "deity_valkur"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Valkur); + SetPersistantLocalInt(oPC, "BG_Select", 65); + SetLocalInt(oItem,"CC3",DEITY_Valkur); + SetLocalInt(oItem,"BG_Select", 65); + break; // Valkur + } + case 66: + { + //sGrant = "deity_velsharoon"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Velsharoon); + SetPersistantLocalInt(oPC, "BG_Select", 66); + SetLocalInt(oItem,"CC3",DEITY_Velsharoon); + SetLocalInt(oItem,"BG_Select", 66); + break; // Velsharoon + } + case 67: + { + //sGrant = "deity_waukeen"; + SetPersistantLocalInt(oPC, "CC3", DEITY_Waukeen); + SetPersistantLocalInt(oPC, "BG_Select", 67); + SetLocalInt(oItem,"CC3",DEITY_Waukeen); + SetLocalInt(oItem,"BG_Select", 67); + break; // Waukeen + } + //default: sGrant = ""; break; + } + // Force exit the conversation after selecting deity + AllowExit(DYNCONV_EXIT_FORCE_EXIT, TRUE, oPC); + } + } + } +} + */ + diff --git a/src/nss/bg_disfig_cv.nss b/src/nss/bg_disfig_cv.nss new file mode 100644 index 0000000..ecb743f --- /dev/null +++ b/src/nss/bg_disfig_cv.nss @@ -0,0 +1,69 @@ +// bg_disfig_cv.nss +#include "inc_dynconv" +#include "x2_inc_switches" + +const int STAGE_LIST = 0; +const int STAGE_CONFIRM = 1; + +void main() { + object oPC = GetPCSpeaker(); + SendMessageToPC(oPC, "DEBUG: bg_disfig_cv main() entered"); + int nValue = GetLocalInt(oPC, DYNCONV_VARIABLE); + int nStage = GetStage(oPC); + + // Required guard: abort if nValue is 0 + if (nValue == 0) return; + + if (nValue == DYNCONV_SETUP_STAGE) { + if (!GetIsStageSetUp(nStage, oPC)) { + if (nStage == STAGE_LIST) { + SetHeader( + "Some players wish to have intentional disfigurements such as lost limbs or lingering injuries. " + + "These are rare among those who still wish to adventure, but not unique. Many keep these as " + + "scars of what has come before, and a warning to those left.\n\n" + + "[These aren't going to be updated too often unless a player asks for something for a " + + "specific character. However, when someone does, we'll do our best to add it. These additions " + + "will stay on the server for all to use. You will also gain a small RPXP bonus. This is not " + + "recommended for new players.]" + ); + AddChoice("One-Armed", 1, oPC); + AddChoice("No Disfigurement", 2, oPC); + MarkStageSetUp(nStage, oPC); + SetDefaultTokens(); + } + else if (nStage == STAGE_CONFIRM) { + int nSelected = GetLocalInt(oPC, "disfig_selected"); + string sPrompt = (nSelected == 1) + ? "You lost an arm. At some point, you lost one. Maybe it was a woodcutting accident, " + + "maybe it was a punishment for theft. In any case, you're down an appendage.\n\n" + + "You can't use your left arm. This means one-handed weapons only, no two handers. " + + "No left hand rings.\n\nAre you sure?" + : "Are you sure you want to continue without a disfigurement?"; + SetHeader(sPrompt); + AddChoice("Yes!", nSelected, oPC); + AddChoice("No...", -1, oPC); + MarkStageSetUp(nStage, oPC); + SetDefaultTokens(); + } + SetupTokens(); + } + } + else { + int nChoice = GetChoice(oPC); + if (nStage == STAGE_LIST) { + SetLocalInt(oPC, "disfig_selected", nChoice); + SetStage(STAGE_CONFIRM, oPC); + } + else if (nStage == STAGE_CONFIRM) { + if (nChoice >= 0) { + string sGrant = (nChoice == 1) ? "bg_give_noarm" : "bg_give_nodisfig"; + ExecuteScript(sGrant, oPC); + // Chain to next step, e.g., final touches + // StartDynamicConversation("bg_final_cv", oPC); + } else { + SetStage(STAGE_LIST, oPC); + } + } + SetStage(nStage, oPC); + } +} \ No newline at end of file diff --git a/src/nss/bg_language_cv.nss b/src/nss/bg_language_cv.nss new file mode 100644 index 0000000..298ecf5 --- /dev/null +++ b/src/nss/bg_language_cv.nss @@ -0,0 +1,523 @@ +// bg_language_cv.nss +#include "inc_dynconv" +#include "x2_inc_switches" +#include "inc_persist_loca" +#include "te_afflic_func" + +const int STAGE_LIST = 0; +const int STAGE_CONFIRM = 1; + + +// Ensure the PC Data Object exists; create if missing +object EnsurePlayerDataObject(object oPC) +{ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + if (!GetIsObjectValid(oItem)) + { + oItem = CreateItemOnObject("pc_data_object", oPC); + } + return oItem; +} + +// Check if PC already knows a language +int KnowsLanguage(object oPC, int nLanguageFeat) +{ + object oItem = EnsurePlayerDataObject(oPC); + + // Search through all LANGUAGE_* slots for this feat + int i = 0; + string sSlot; + while (i < 99) + { + sSlot = "LANGUAGE_" + (i < 20 ? "0" : "") + IntToString(i); + if (GetLocalInt(oItem, sSlot) == nLanguageFeat) + return TRUE; + i++; + } + return FALSE; +} + + +// Function to get the next available language slot +int GetNextLanguageSlot(object oPC) +{ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + if (!GetIsObjectValid(oItem)) return 0; + + int i = 0; + string sSlot; + + // Find the first empty slot + while (i < 99) // Maximum 99 languages + { + sSlot = "LANGUAGE_" + (i < 20 ? "0" : "") + IntToString(i); + if (!GetLocalInt(oItem, sSlot)) + return i; + i++; + } + return -1; // No slots available +} + + +// Grant a language to PC +void GrantLanguage(object oPC, int nLanguageFeat) +{ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + if (!GetIsObjectValid(oItem)) return; + + int nSlot = GetNextLanguageSlot(oPC); + if (nSlot >= 0) + { + string sSlot = "LANGUAGE_" + (nSlot < 20 ? "0" : "") + IntToString(nSlot); + SetLocalInt(oItem, sSlot, nLanguageFeat); + SetPersistantLocalInt(oPC, sSlot, nLanguageFeat); + } +} + +// Count automatic racial and class languages using slot-searching pattern +int GetAutomaticLanguageCount(object oPC) +{ + int nAutomaticLanguages = 0; + int nRace = GetRacialType(oPC); + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + if (!GetIsObjectValid(oItem)) return 0; + + // Search through all language slots + int i = 0; + string sSlot; + int nLanguageFeat; + + while (i < 99) + { + sSlot = "LANGUAGE_" + (i < 10 ? "0" : "") + IntToString(i); + nLanguageFeat = GetLocalInt(oItem, sSlot); + + if (nLanguageFeat > 0) + { + // Check if this is an automatic racial language + switch(nRace) + { + case RACIAL_TYPE_ELF: case RACIAL_TYPE_HALFELF: + if (nLanguageFeat == FEAT_LANGUAGE_ELVEN) nAutomaticLanguages++; + break; + case RACIAL_TYPE_DWARF: + if (nLanguageFeat == FEAT_LANGUAGE_DWARVEN) nAutomaticLanguages++; + break; + case RACIAL_TYPE_GNOME: + if (nLanguageFeat == FEAT_LANGUAGE_GNOMISH) nAutomaticLanguages++; + break; + case RACIAL_TYPE_HALFLING: + if (nLanguageFeat == FEAT_LANGUAGE_HALFLING) nAutomaticLanguages++; + break; + case RACIAL_TYPE_HALFORC: + if (nLanguageFeat == FEAT_LANGUAGE_ORCISH) nAutomaticLanguages++; + break; + } + + // Check if this is an automatic class language + if (GetLevelByClass(CLASS_TYPE_ROGUE, oPC) >= 1 && nLanguageFeat == FEAT_LANGUAGE_THIEVES_CANT) + nAutomaticLanguages++; + if (GetLevelByClass(CLASS_TYPE_DRUID, oPC) >= 5 && nLanguageFeat == FEAT_LANGUAGE_DRUIDIC) + nAutomaticLanguages++; + if ((GetLevelByClass(CLASS_TYPE_RANGER, oPC) >= 8 || GetLevelByClass(CLASS_TYPE_DRUID, oPC) >= 5) && nLanguageFeat == FEAT_LANGUAGE_ANIMAL) + nAutomaticLanguages++; + if (GetLevelByClass(CLASS_TYPE_ASSASSIN, oPC) >= 1 && nLanguageFeat == FEAT_LANGUAGE_ASSASSINS_CANT) + nAutomaticLanguages++; + } + + i++; + } + + return nAutomaticLanguages; +} + +// Calculate remaining bonus language picks +int GetBonusLanguageCount(object oPC) +{ + object oItem = EnsurePlayerDataObject(oPC); + + // Calculate total bonus languages based on Intelligence modifier + int nIntMod = GetAbilityModifier(ABILITY_INTELLIGENCE, oPC); + int nTotalBonus = 0; + + if (nIntMod > 0) + nTotalBonus = nIntMod; + + // Count languages already selected by searching LANGUAGE_* slots + int nSelected = 0; + int i = 0; + string sSlot; + while (i < 99) + { + sSlot = "LANGUAGE_" + (i < 20 ? "0" : "") + IntToString(i); + if (GetLocalInt(oItem, sSlot)) + nSelected++; + i++; + } + + // Subtract automatic languages (this function needs similar fix) + int nAutomatic = GetAutomaticLanguageCount(oPC); + nSelected -= nAutomatic; + + // Return remaining picks (minimum 0) + int nRemaining = nTotalBonus - nSelected; + return (nRemaining > 0) ? nRemaining : 0; +} + +void GrantDefaultLanguages(object oPC) +{ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + if (!GetIsObjectValid(oItem)) return; + + // Get saved character creation choices + int nSubrace = GetLocalInt(oItem, "CC0"); + int nBackground = GetLocalInt(oItem, "CC2"); + + // Racial Languages + switch (GetRacialType(oPC)) + { + case RACIAL_TYPE_ELF: case RACIAL_TYPE_HALFELF: + GrantLanguage(oPC, FEAT_LANGUAGE_ELVEN); + break; + case RACIAL_TYPE_GNOME: + GrantLanguage(oPC, FEAT_LANGUAGE_GNOMISH); + break; + case RACIAL_TYPE_HALFLING: + GrantLanguage(oPC, FEAT_LANGUAGE_HALFLING); + break; + case RACIAL_TYPE_DWARF: + GrantLanguage(oPC, FEAT_LANGUAGE_DWARVEN); + break; + case RACIAL_TYPE_HALFORC: + GrantLanguage(oPC, FEAT_LANGUAGE_ORCISH); + break; + } + + // Class Languages + int nRanger = GetLevelByClass(CLASS_TYPE_RANGER, oPC); + int nDruid = GetLevelByClass(CLASS_TYPE_DRUID, oPC); + int nRogue = GetLevelByClass(CLASS_TYPE_ROGUE, oPC); + int nAssn = GetLevelByClass(CLASS_TYPE_ASSASSIN, oPC); + + if (nRanger >= 8 || nDruid >= 5 || nBackground == BACKGROUND_CIRCLE_BORN) + { + GrantLanguage(oPC, FEAT_LANGUAGE_ANIMAL); + if (nDruid >= 5) GrantLanguage(oPC, FEAT_LANGUAGE_DRUIDIC); + } + + if (nRogue > 0 || nAssn > 0) + { + GrantLanguage(oPC, FEAT_LANGUAGE_THIEVES_CANT); + if (nAssn > 0) GrantLanguage(oPC, FEAT_LANGUAGE_ASSASSINS_CANT); + } + + // Ethnicity Languages + if (nSubrace == ETHNICITY_CALISHITE || nBackground == BACKGROUND_CALISHITE_TRAINED) + GrantLanguage(oPC, FEAT_LANGUAGE_ALZHEDO); + if (nSubrace == ETHNICITY_CHONDATHAN || nSubrace == ETHNICITY_TETHYRIAN) + GrantLanguage(oPC, FEAT_LANGUAGE_CHONDATHAN); + if (nSubrace == ETHNICITY_DAMARAN) + GrantLanguage(oPC, FEAT_LANGUAGE_DAMARAN); + if (nSubrace == ETHNICITY_ILLUSKAN) + GrantLanguage(oPC, FEAT_LANGUAGE_ILLUSKAN); + if (nSubrace == ETHNICITY_MULAN) + GrantLanguage(oPC, FEAT_LANGUAGE_MULANESE); + if (nSubrace == ETHNICITY_RASHEMI) + GrantLanguage(oPC, FEAT_LANGUAGE_RASHEMI); + + // Special Subrace Languages + if (nBackground == BACKGROUND_DARK_ELF) + { + GrantLanguage(oPC, FEAT_LANGUAGE_DROW); + GrantLanguage(oPC, FEAT_LANGUAGE_DROW_HAND_CANT); + GrantLanguage(oPC, FEAT_LANGUAGE_UNDERCOMMON); + } + + if (nBackground == BACKGROUND_GREY_DWARF) + { + GrantLanguage(oPC, FEAT_LANGUAGE_DUERGAR); + GrantLanguage(oPC, FEAT_LANGUAGE_UNDERCOMMON); + } + + // Planar Languages + if (nBackground == 1137) // Abyssal_Pact + GrantLanguage(oPC, FEAT_LANGUAGE_ABYSSAL); + if (nBackground == 1139) // Dark_Pact + GrantLanguage(oPC, FEAT_LANGUAGE_INFERNAL); +} + +void main() +{ + object oPC = GetPCSpeaker(); + object oItem = EnsurePlayerDataObject(oPC); + + int nValue = GetLocalInt(oPC, DYNCONV_VARIABLE); + int nStage = GetStage(oPC); + int nChoice = GetChoice(); + + int nBackground = GetLocalInt(oItem, "CC2"); + + int nCleric = GetLevelByClass(CLASS_TYPE_CLERIC, oPC); + int nDruid = GetLevelByClass(CLASS_TYPE_DRUID, oPC); + int nWizard = GetLevelByClass(CLASS_TYPE_WIZARD, oPC); + + int nAir = GetHasFeat(FEAT_AIR_DOMAIN_POWER, oPC); + int nEarth = GetHasFeat(FEAT_EARTH_DOMAIN_POWER, oPC); + int nFire = GetHasFeat(FEAT_FIRE_DOMAIN_POWER, oPC); + int nWater = GetHasFeat(FEAT_WATER_DOMAIN_POWER, oPC); + + if(nValue == 0) return; + + if(nValue == DYNCONV_SETUP_STAGE) + { + if(!GetIsStageSetUp(nStage, oPC)) + { + if(nStage == STAGE_LIST) + { + int nRemaining = GetBonusLanguageCount(oPC); + string sHeader = "You have " + IntToString(nRemaining) + " bonus language picks remaining.\n\ You can refresh the list with the Escape if needed.\n\nSelect a language:"; + SetHeader(sHeader); + + // Add all available languages that PC doesn't know and has picks for + if (nRemaining > 0 && nCleric && !KnowsLanguage(oPC, FEAT_LANGUAGE_ABYSSAL)) + { + AddChoice("Abyssal", 1, oPC); + } + if (nRemaining > 0 && !KnowsLanguage(oPC, FEAT_LANGUAGE_ALZHEDO)) + { + AddChoice("Alzhedo", 2, oPC); + } + if (nRemaining > 0 && nWater && !KnowsLanguage(oPC, FEAT_LANGUAGE_AQUAN)) + { + AddChoice("Aquan", 3, oPC); + } + if (nRemaining > 0 && nAir && !KnowsLanguage(oPC, FEAT_LANGUAGE_AURAN)) + { + AddChoice("Auran", 5, oPC); + } + if (nRemaining > 0 && nCleric && !KnowsLanguage(oPC, FEAT_LANGUAGE_CELESTIAL)) + { + AddChoice("Celestial", 6, oPC); + } + if (nRemaining > 0 && !KnowsLanguage(oPC, FEAT_LANGUAGE_CHESSENTAN)) + { + AddChoice("Chessentan", 7, oPC); + } + if (nRemaining > 0 && !KnowsLanguage(oPC, FEAT_LANGUAGE_CHONDATHAN)) + { + AddChoice("Chondathan", 8, oPC); + } + if (nRemaining > 0 && !KnowsLanguage(oPC, FEAT_LANGUAGE_CHULTAN)) + { + AddChoice("Chultan", 9, oPC); + } + if (nRemaining > 0 && !KnowsLanguage(oPC, FEAT_LANGUAGE_DAMARAN)) + { + AddChoice("Damaran", 10, oPC); + } + if (nRemaining > 0 && nWizard && !KnowsLanguage(oPC, FEAT_LANGUAGE_DRACONIC)) + { + AddChoice("Draconic", 11, oPC); + } + if (nRemaining > 0 && KnowsLanguage(oPC, FEAT_LANGUAGE_UNDERCOMMON) || + KnowsLanguage(oPC, FEAT_LANGUAGE_ELVEN) || + KnowsLanguage(oPC, FEAT_LANGUAGE_IMASKARI && + !KnowsLanguage(oPC, FEAT_LANGUAGE_DROW))) + { + AddChoice("Drow", 12, oPC); + } + if (nRemaining > 0 && KnowsLanguage(oPC, FEAT_LANGUAGE_UNDERCOMMON) || + KnowsLanguage(oPC, FEAT_LANGUAGE_DWARVEN) || + KnowsLanguage(oPC, FEAT_LANGUAGE_IMASKARI && + !KnowsLanguage(oPC, FEAT_LANGUAGE_DUERGAR))) + { + AddChoice("Duergar", 13, oPC); + } + if (nRemaining > 0 && !KnowsLanguage(oPC, FEAT_LANGUAGE_DWARVEN)) + { + AddChoice("Dwarven", 14, oPC); + } + if (nRemaining > 0 && !KnowsLanguage(oPC, FEAT_LANGUAGE_ELVEN)) + { + AddChoice("Elven", 15, oPC); + } + if (nRemaining > 0 && !KnowsLanguage(oPC, FEAT_LANGUAGE_GIANT)) + { + AddChoice("Giant", 16, oPC); + } + if (nRemaining > 0 && !KnowsLanguage(oPC, FEAT_LANGUAGE_GNOMISH)) + { + AddChoice("Gnomish", 17, oPC); + } + if (nRemaining > 0 && !KnowsLanguage(oPC, FEAT_LANGUAGE_GOBLIN)) + { + AddChoice("Goblin", 18, oPC); + } + if (nRemaining > 0 && !KnowsLanguage(oPC, FEAT_LANGUAGE_HALFLING)) + { + AddChoice("Halfling", 19, oPC); + } + if (nRemaining > 0 && nFire && !KnowsLanguage(oPC, FEAT_LANGUAGE_IGNAN)) + { + AddChoice("Ignan", 20, oPC); + } + if (nRemaining > 0 && !KnowsLanguage(oPC, FEAT_LANGUAGE_ILLUSKAN)) + { + AddChoice("Illuskan", 21, oPC); + } + if (nRemaining > 0 && !KnowsLanguage(oPC, FEAT_LANGUAGE_IMASKARI)) + { + AddChoice("Imaskari", 22, oPC); + } + if (nRemaining > 0 && nCleric && !KnowsLanguage(oPC, FEAT_LANGUAGE_INFERNAL)) + { + AddChoice("Infernal", 23, oPC); + } + if (nRemaining > 0 && !KnowsLanguage(oPC, FEAT_LANGUAGE_KOBOLD)) + { + AddChoice("Kobold", 24, oPC); + } + if (nRemaining > 0 && !KnowsLanguage(oPC, FEAT_LANGUAGE_LANTANESE)) + { + AddChoice("Lantanese", 25, oPC); + } + if (nRemaining > 0 && !KnowsLanguage(oPC, FEAT_LANGUAGE_MULANESE)) + { + AddChoice("Mulanese", 26, oPC); + } + if (nRemaining > 0 && !KnowsLanguage(oPC, FEAT_LANGUAGE_MULHORANDI)) + { + AddChoice("Mulhorandi", 27, oPC); + } + if (nRemaining > 0 && !KnowsLanguage(oPC, FEAT_LANGUAGE_ORCISH)) + { + AddChoice("Orcish", 28, oPC); + } + if (nRemaining > 0 && !KnowsLanguage(oPC, FEAT_LANGUAGE_RASHEMI)) + { + AddChoice("Rashemi", 29, oPC); + } + if (nRemaining > 0 && nDruid && !KnowsLanguage(oPC, FEAT_LANGUAGE_SYLVAN)) + { + AddChoice("Sylvan", 30, oPC); + } + if (nRemaining > 0 && !KnowsLanguage(oPC, FEAT_LANGUAGE_TALFIRIC)) + { + AddChoice("Talfiric", 31, oPC); + } + if (nRemaining > 0 && nEarth && !KnowsLanguage(oPC, FEAT_LANGUAGE_TERRAN)) + { + AddChoice("Terran", 32, oPC); + } + if (nRemaining > 0 && !KnowsLanguage(oPC, FEAT_LANGUAGE_TROGLODYTE)) + { + AddChoice("Troglodyte", 33, oPC); + } + if (nRemaining > 0 && !KnowsLanguage(oPC, FEAT_LANGUAGE_UNDERCOMMON)) + { + AddChoice("Undercommon", 34, oPC); + } + + // Refresh option + AddChoice("[Refresh Language Choices]", 99, oPC); + + // No Options Left finalizer + if (nRemaining == 0) + { + AddChoice("[No Options Left]", 100, oPC); + } + + MarkStageSetUp(nStage, oPC); + SetDefaultTokens(); + } + else if (nStage == STAGE_CONFIRM) + { + SetHeader("Language selection complete."); + AddChoice("[Finish]", 1, oPC); + MarkStageSetUp(nStage, oPC); + SetDefaultTokens(); + } + } + + SetupTokens(); + } + // Handle PC responses + else + { + if(nStage == STAGE_LIST) + { + // Handle language selection + if (nChoice >= 1 && nChoice <= 36) + { + int nRemaining = GetBonusLanguageCount(oPC); + + if (nRemaining > 0) + { + // Grant the selected language based on choice + switch (nChoice) + { + case 1: GrantLanguage(oPC, FEAT_LANGUAGE_ABYSSAL); break; + case 2: GrantLanguage(oPC, FEAT_LANGUAGE_ALZHEDO); break; + case 3: GrantLanguage(oPC, FEAT_LANGUAGE_AQUAN); break; + case 4: GrantLanguage(oPC, FEAT_LANGUAGE_AURAN); break; + case 5: GrantLanguage(oPC, FEAT_LANGUAGE_CELESTIAL); break; + case 6: GrantLanguage(oPC, FEAT_LANGUAGE_CHESSENTAN); break; + case 7: GrantLanguage(oPC, FEAT_LANGUAGE_CHONDATHAN); break; + case 8: GrantLanguage(oPC, FEAT_LANGUAGE_CHULTAN); break; + case 9: GrantLanguage(oPC, FEAT_LANGUAGE_DAMARAN); break; + case 10: GrantLanguage(oPC, FEAT_LANGUAGE_DRACONIC); break; + case 11: GrantLanguage(oPC, FEAT_LANGUAGE_DROW); break; + case 12: GrantLanguage(oPC, FEAT_LANGUAGE_DUERGAR); break; + case 13: GrantLanguage(oPC, FEAT_LANGUAGE_DWARVEN); break; + case 14: GrantLanguage(oPC, FEAT_LANGUAGE_ELVEN); break; + case 15: GrantLanguage(oPC, FEAT_LANGUAGE_GIANT); break; + case 16: GrantLanguage(oPC, FEAT_LANGUAGE_GNOMISH); break; + case 17: GrantLanguage(oPC, FEAT_LANGUAGE_GOBLIN); break; + case 18: GrantLanguage(oPC, FEAT_LANGUAGE_HALFLING); break; + case 19: GrantLanguage(oPC, FEAT_LANGUAGE_IGNAN); break; + case 20: GrantLanguage(oPC, FEAT_LANGUAGE_ILLUSKAN); break; + case 21: GrantLanguage(oPC, FEAT_LANGUAGE_IMASKARI); break; + case 22: GrantLanguage(oPC, FEAT_LANGUAGE_INFERNAL); break; + case 23: GrantLanguage(oPC, FEAT_LANGUAGE_KOBOLD); break; + case 24: GrantLanguage(oPC, FEAT_LANGUAGE_LANTANESE); break; + case 25: GrantLanguage(oPC, FEAT_LANGUAGE_MULANESE); break; + case 26: GrantLanguage(oPC, FEAT_LANGUAGE_MULHORANDI); break; + case 27: GrantLanguage(oPC, FEAT_LANGUAGE_ORCISH); break; + case 28: GrantLanguage(oPC, FEAT_LANGUAGE_RASHEMI); break; + case 29: GrantLanguage(oPC, FEAT_LANGUAGE_SYLVAN); break; + case 30: GrantLanguage(oPC, FEAT_LANGUAGE_TALFIRIC); break; + case 31: GrantLanguage(oPC, FEAT_LANGUAGE_TERRAN); break; + case 32: GrantLanguage(oPC, FEAT_LANGUAGE_TROGLODYTE); break; + case 33: GrantLanguage(oPC, FEAT_LANGUAGE_UNDERCOMMON); break; + } + + // Rebuild stage to update available options + MarkStageNotSetUp(nStage, oPC); + SetStage(nStage, oPC); + } + } + // Handle refresh + else if (nChoice == 99) + { + MarkStageNotSetUp(nStage, oPC); + SetStage(nStage, oPC); + } + // Handle no options left - move to confirm + else if (nChoice == 100) + { + nStage = STAGE_CONFIRM; + SetStage(nStage, oPC); + } + } + else if (nStage == STAGE_CONFIRM) + { + SetHeader("Language selection complete."); + AddChoice("[Finish]", 1, oPC); + MarkStageSetUp(nStage, oPC); + SetDefaultTokens(); + } + } + + // Setup tokens for dynamic conversation system + SetupTokens(); +} \ No newline at end of file diff --git a/src/nss/bg_profs_cv.nss b/src/nss/bg_profs_cv.nss new file mode 100644 index 0000000..22fbadc --- /dev/null +++ b/src/nss/bg_profs_cv.nss @@ -0,0 +1,153 @@ +// bg_proficiency_cv.nss +#include "inc_dynconv" +#include "x2_inc_switches" + +const int STAGE_LIST = 0; + +void main() { + object oPC = GetPCSpeaker(); + SendMessageToPC(oPC, "DEBUG: bg_proficiency_cv main() entered"); + int nValue = GetLocalInt(oPC, DYNCONV_VARIABLE); + int nStage = GetStage(oPC); + + // Required guard: abort if nValue is 0 + if (nValue == 0) return; + + if (nValue == DYNCONV_SETUP_STAGE) { + if (!GetIsStageSetUp(nStage, oPC)) { + if (nStage == STAGE_LIST) { + SetHeader("Now you will select your proficiencies. All characters are allowed three proficiencies. Some proficiencies are only available to certain class standings."); + + // Proficiency options with condition checks and grant scripts + if (ExecuteScriptAndReturnInt("prof_chk_alchemy", oPC)) { + AddChoice("Alchemy", 1, oPC); + SetLocalString(oPC, "prof_dyn_text_1", "Allows you to combine and refine natural or unnatural elements into new and exciting combinations.\nRequirements: Any Standing"); + } + if (ExecuteScriptAndReturnInt("prof_chk_anatomy", oPC)) { + AddChoice("Anatomy", 2, oPC); + SetLocalString(oPC, "prof_dyn_text_2", "This proficiency represents the study of the anatomy of living things. It enables a character to increase their effective critical hit severity by +2, as well as increase the save DC vs. death for a critical hit effect by +2. Additionally, a character with Anatomy proficiency receives a +2 bonus to heal checks when applying a bandage, and they receive a +2 bonus to hunting checks to recover an organ or other resource.\nRequirements: Upper or Middle Class Standing"); + } + if (ExecuteScriptAndReturnInt("prof_chk_armor", oPC)) { + AddChoice("Armorsmithing", 3, oPC); + SetLocalString(oPC, "prof_dyn_text_3", "Allows you to craft armor from base materials.\nRequirements: Lower Class Standing"); + } + if (ExecuteScriptAndReturnInt("prof_chk_astro", oPC)) { + AddChoice("Astronomy", 4, oPC); + SetLocalString(oPC, "prof_dyn_text_4", "Allows you to study celestial bodies and navigate by the stars.\nRequirements: Middle or Upper Class Standing"); + } + if (ExecuteScriptAndReturnInt("prof_chk_carp", oPC)) { + AddChoice("Carpentry", 5, oPC); + SetLocalString(oPC, "prof_dyn_text_5", "Allows you to work wood to create placeables or other objects.\nRequirements: Any Standing"); + } + if (ExecuteScriptAndReturnInt("prof_chk_deciph", oPC)) { + AddChoice("Decipher Script", 6, oPC); + SetLocalString(oPC, "prof_dyn_text_6", "Allows you to decode and understand coded or arcane writings.\nRequirements: Middle or Upper Class Standing"); + } + if (ExecuteScriptAndReturnInt("prof_chk_disguis", oPC)) { + AddChoice("Disguise", 7, oPC); + SetLocalString(oPC, "prof_dyn_text_7", "Allows you to alter your appearance and impersonate others.\nRequirements: Any Standing"); + } + if (ExecuteScriptAndReturnInt("prof_chk_fire", oPC)) { + AddChoice("Firemaking", 8, oPC); + SetLocalString(oPC, "prof_dyn_text_8", "Allows you to create and maintain fires in various conditions.\nRequirements: Any Standing"); + } + if (ExecuteScriptAndReturnInt("prof_chk_guns", oPC)) { + AddChoice("Gunsmithing", 9, oPC); + SetLocalString(oPC, "prof_dyn_text_9", "This proficiency enables a character to make firearms from base crafting materials, as well as make modifications to a firearm without a requiring a crafting roll.\nRequirements: None"); + } + if (ExecuteScriptAndReturnInt("prof_chk_herb", oPC)) { + AddChoice("Herbalism", 10, oPC); + SetLocalString(oPC, "prof_dyn_text_10", "Allows you to combine and refine natural or unnatural elements into new and exciting combinations.\nRequirements: Any Standing"); + } + if (ExecuteScriptAndReturnInt("prof_chk_hist", oPC)) { + AddChoice("History", 11, oPC); + SetLocalString(oPC, "prof_dyn_text_11", "Allows you to recall historical events and lore.\nRequirements: Middle or Upper Class Standing"); + } + if (ExecuteScriptAndReturnInt("prof_chk_hunt", oPC)) { + AddChoice("Hunting", 12, oPC); + SetLocalString(oPC, "prof_dyn_text_12", "Allows you to track and harvest game.\nRequirements: Any Standing"); + } + if (ExecuteScriptAndReturnInt("prof_chk_mason", oPC)) { + AddChoice("Masonry", 13, oPC); + SetLocalString(oPC, "prof_dyn_text_13", "Allows you to work stone in order to create placeables or other objects.\nRequirements: Middle or Lower Class Standing"); + } + if (ExecuteScriptAndReturnInt("prof_chk_mining", oPC)) { + AddChoice("Mining", 14, oPC); + SetLocalString(oPC, "prof_dyn_text_14", "Allows you to gather useful ores, metals, and minerals from rock.\nRequirements: Lower Class Standing"); + } + if (ExecuteScriptAndReturnInt("prof_chk_obs", oPC)) { + AddChoice("Observation", 15, oPC); + SetLocalString(oPC, "prof_dyn_text_15", "Allows you to notice details and perceive hidden things.\nRequirements: Any Standing"); + } + if (ExecuteScriptAndReturnInt("prof_chk_siege", oPC)) { + AddChoice("Siege Engineering", 16, oPC); + SetLocalString(oPC, "prof_dyn_text_16", "Allows you to construct and operate siege weapons.\nRequirements: Any Standing"); + } + if (ExecuteScriptAndReturnInt("prof_chk_smelt", oPC)) { + AddChoice("Smelting", 17, oPC); + SetLocalString(oPC, "prof_dyn_text_17", "Allows you to refine ores into usable metals.\nRequirements: Lower Class Standing"); + } + if (ExecuteScriptAndReturnInt("prof_chk_tailor", oPC)) { + AddChoice("Tailoring", 18, oPC); + SetLocalString(oPC, "prof_dyn_text_18", "Allows you to craft clothing and leather goods.\nRequirements: Any Standing"); + } + if (ExecuteScriptAndReturnInt("prof_chk_track", oPC)) { + AddChoice("Tracking", 19, oPC); + SetLocalString(oPC, "prof_dyn_text_19", "Allows you to follow tracks and trails.\nRequirements: Any Standing"); + } + if (ExecuteScriptAndReturnInt("prof_chk_wood", oPC)) { + AddChoice("Wood Gathering", 20, oPC); + SetLocalString(oPC, "prof_dyn_text_20", "Allows you to gather wood from trees.\nRequirements: Any Standing"); + } + // No Options Left + if (ExecuteScriptAndReturnInt("prof_chk_l", oPC)) { + AddChoice("No Options Left", 21, oPC); + SetLocalString(oPC, "prof_dyn_text_21", "You have selected all available proficiencies or have no remaining slots."); + } + + MarkStageSetUp(nStage, oPC); + SetDefaultTokens(); + } + SetupTokens(); + } + } else { + // Handle PC responses + int nChoice = GetChoice(oPC); + if (nChoice == 21) { + // No Options Left: finalize and proceed to next step (e.g., disfigurement or final) + ExecuteScript("prof_give_nomore", oPC); + // Optionally chain to next conversation: + // StartDynamicConversation("bg_disfig_cv", oPC); + } else if (nChoice >= 1 && nChoice <= 20) { + // Grant the selected proficiency + string sGrant; + switch (nChoice) { + case 1: sGrant = "prof_give_alchemy"; break; + case 2: sGrant = "prof_give_anatomy"; break; + case 3: sGrant = "prof_give_armor"; break; + case 4: sGrant = "prof_give_astro"; break; + case 5: sGrant = "prof_give_carp"; break; + case 6: sGrant = "prof_give_deciph"; break; + case 7: sGrant = "prof_give_disgui"; break; + case 8: sGrant = "prof_give_fire"; break; + case 9: sGrant = "prof_give_guns"; break; + case 10: sGrant = "prof_give_herb"; break; + case 11: sGrant = "prof_give_hist"; break; + case 12: sGrant = "prof_give_hunt"; break; + case 13: sGrant = "prof_give_mason"; break; + case 14: sGrant = "prof_give_mine"; break; + case 15: sGrant = "prof_give_obs"; break; + case 16: sGrant = "prof_give_siege"; break; + case 17: sGrant = "prof_give_smelt"; break; + case 18: sGrant = "prof_give_tailor"; break; + case 19: sGrant = "prof_give_track"; break; + case 20: sGrant = "prof_give_wood"; break; + default: sGrant = ""; break; + } + if (sGrant != "") ExecuteScript(sGrant, oPC); + // Return to list to allow further selections + SetStage(STAGE_LIST, oPC); + } + SetStage(nStage, oPC); + } +} \ No newline at end of file diff --git a/src/nss/bg_soclass_cv.nss b/src/nss/bg_soclass_cv.nss new file mode 100644 index 0000000..ddf30cc --- /dev/null +++ b/src/nss/bg_soclass_cv.nss @@ -0,0 +1,256 @@ +// bg_soclass_cv.nss +#include "inc_dynconv" +#include "x2_inc_switches" +#include "inc_persist_loca" +#include "te_afflic_func" + +const int STAGE_LIST = 0; +const int STAGE_CONFIRM = 1; + +string GetClassText(object oPC, int nChoice) { + return GetLocalString(oPC, "cs_dyn_text_" + IntToString(nChoice)); +} + +// TODO: See if "!GetHasFeat(BACKGROUND_AASIMAR, oPC) && " would be better. +int NobiltyCheck(object oPC = OBJECT_SELF) +{ + // Make sure the player has the required feats + object oPC = GetPCSpeaker(); + //int nSubrace = GetLocalInt(oItem, "CC0"); + int nSubrace = GetPersistantLocalInt(oPC,"CC0"); + return ( + GetRacialType(oPC) == RACIAL_TYPE_HUMAN && + GetLevelByClass(CLASS_TYPE_BARBARIAN, oPC) < 1 && + nSubrace != 1186 && // Aasimar + nSubrace != 1187 && // Tiefling + nSubrace != 1445 && // F(?) Folk + nSubrace != 1446 && // Chultan + nSubrace != 1450 && // Shaaran + nSubrace != 1451 && // Shou + nSubrace != 1448 && // Maztican + nSubrace != 1175 // Natural Lycan + ); +} + +// Ensure the PC Data Object exists; create if missing +object EnsurePlayerDataObject(object oPC) +{ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + if (!GetIsObjectValid(oItem)) + { + oItem = CreateItemOnObject("pc_data_object", oPC); + } + return oItem; +} + +void main() +{ + object oPC = GetPCSpeaker(); + SendMessageToPC(oPC, "DEBUG: bg_soclass_cv main() entered"); + int nValue = GetLocalInt(oPC, DYNCONV_VARIABLE); + int nStage = GetStage(oPC); + + // Required guard: abort if nValue is 0 + if (nValue == 0) return; + + if (nValue == DYNCONV_SETUP_STAGE) + { + if (!GetIsStageSetUp(nStage, oPC)) + { + if (nStage == STAGE_LIST) + { + SetHeader("Class Standing is your place in Tethyrian society and will affect what Backgrounds or Subraces you can select. Some races only have access to certain Class Standings due to the political and social stigmas on certain races in the region.\n\nSelect the Class Standing that best represents your character.\nYou can refresh the list with the Escape key if needed."); + // 1 Lower Class + AddChoice("Lower Class", 1, oPC); + SetLocalString(oPC, "cs_dyn_text_1", + "You are a commoner, a peasant, or a laborer. You have little wealth or influence, but you are hardworking and resilient. Many in Tethyr view you with pity or contempt, but you know the value of a day's work.\n\nDoes this describe you?"); + // 2 Middle Class + AddChoice("Middle Class", 2, oPC); + SetLocalString(oPC, "cs_dyn_text_2", + "You are a tradesperson, a merchant, or a skilled artisan. You have some wealth and influence, but you are not nobility. You are respected for your craft and your contributions to Tethyr's economy.\n\nDoes this describe you?"); + // 3 Upper Class (requires Nobility 1+ and Human) + if (NobiltyCheck(oPC)) + { + AddChoice("Upper Class", 3, oPC); + SetLocalString(oPC, "cs_dyn_text_3", + "You are a noble, a landowner, or a person of high birth. You have great wealth and influence, but you are also burdened by the responsibilities and expectations of your station. Many in Tethyr admire you, but some envy or resent you.\n\nDoes this describe you?"); + } + MarkStageSetUp(nStage, oPC); + SetDefaultTokens(); + } + else if (nStage == STAGE_CONFIRM) + { + int nSelected = GetLocalInt(oPC, "cs_selected"); + SetHeader(GetClassText(oPC, nSelected) + "\n\nIs this correct?"); + AddChoice("Yes", 0, oPC); + AddChoice("No", 1, oPC); + MarkStageSetUp(nStage, oPC); + SetDefaultTokens(); + } + } + SetupTokens(); + } + else + { + int nChoice = GetChoice(oPC); + if (nStage == STAGE_LIST) + { + SetLocalInt(oPC, "cs_selected", nChoice); + nStage = STAGE_CONFIRM; // update local nStage + } + else if (nStage == STAGE_CONFIRM) + { + if (nChoice == 0) { // Yes + int nSelected = GetLocalInt(oPC, "cs_selected"); + object oItem = EnsurePlayerDataObject(oPC); + switch (nSelected) { + case 1: + { + SetPersistantLocalInt(oPC,"CC1",BACKGROUND_LOWER); + SetPersistantLocalInt(oPC,"BG_Select",1); + SetLocalInt(oItem, "CC1", BACKGROUND_LOWER); + SetLocalInt(oItem, "BG_Select", 1); + break; // Lower Class + } + case 2: + { + SetPersistantLocalInt(oPC,"CC1",BACKGROUND_MIDDLE); + SetPersistantLocalInt(oPC,"BG_Select",2); + SetLocalInt(oItem, "CC1", BACKGROUND_MIDDLE); + SetLocalInt(oItem, "BG_Select", 2); + break; // Middle Class + } + case 3: + { + SetPersistantLocalInt(oPC,"CC1",BACKGROUND_UPPER); + SetPersistantLocalInt(oPC,"BG_Select",3); + SetLocalInt(oItem, "CC1", BACKGROUND_UPPER); + SetLocalInt(oItem, "BG_Select", 3); + break; // Upper Class + } + } + AllowExit(DYNCONV_EXIT_FORCE_EXIT, TRUE, oPC); + SetPersistantLocalInt(oPC, "CC1_DONE", 1); + DelayCommand(0.1f, StartDynamicConversation("bg_background_cv", oPC)); + } + else + { // No + MarkStageNotSetUp(STAGE_LIST, oPC); + MarkStageNotSetUp(STAGE_CONFIRM, oPC); + nStage = STAGE_LIST; // update local nStage + } + } + SetStage(nStage, oPC); + } +} + +/* void main() +{ + object oPC = GetPCSpeaker(); + object oItem = EnsurePlayerDataObject(oPC); + SendMessageToPC(oPC, "DEBUG: bg_soclass_cv main() entered"); + int nValue = GetLocalInt(oPC, DYNCONV_VARIABLE); + int nStage = GetStage(oPC); + + // Required guard: abort if nValue is 0 + if (nValue == 0) return; + + if (nValue == DYNCONV_SETUP_STAGE) + { + if (!GetIsStageSetUp(nStage, oPC)) + { + if (nStage == STAGE_LIST) + { + SetHeader("Class Standing is your place in Tethyrian society and will affect what Backgrounds or Subraces you can select. Some races only have access to certain Class Standings due to the political and social stigmas on certain races in the region.\n\nSelect the Class Standing that best represents your character."); + // 1 Lower Class + if (GetIsPC(oPC)) + { + AddChoice("Lower Class", 1, oPC); + SetLocalString(oPC, "cs_dyn_text_1", + "You are from the dredges of society and are considered a peasant at best. You have worked hard your entire life - when you could find it. Whether you are from the city or a rural farm, you never had much to your name. You likely do not have a surname and claiming one is considered purgery in many counties. This is Tethyr however, so an individual can rise above their current station through deeds and valor. You could be moving upwards soon.\n\nDoes this describe you?"); + } + // 2 Middle Class + if((GetRacialType(oPC) != RACIAL_TYPE_HALFORC) && (GetLevelByClass(CLASS_TYPE_BARBARIAN, oPC) < 1)) + { + AddChoice("Middle Class", 2, oPC); + SetLocalString(oPC, "cs_dyn_text_2", + "You are from the middling classes of society. Your family may have been merchants, craftsmen, knights or small landowners. Your upbringing has provided you with skills that you can put to good use, even if you lack the inheritance that more fortunate members of society might have. Whether you will take up the sword or continue the family business is now up to you.\n\nDoes this describe you?"); + } + // 3 Upper Class + if (NobiltyCheck(oPC)) + { + AddChoice("Upper Class", 3, oPC); + SetLocalString(oPC, "cs_dyn_text_3", + "You are from the upper classes of society. Your family may have been landowners, merchants, knights, or landed nobles with titles to their name. While not all nobles fit the same mold or are necessarily Tethyrian in descent, they are distinguished easily by their fealty and unending service to the crown. Your upbringing has left you with many opportunities and advantages that others may not have had - how you use them is now entirely up to you.\n\nDoes this describe you?"); + } + MarkStageSetUp(nStage, oPC); + SetDefaultTokens(); + } + else if (nStage == STAGE_CONFIRM) + { + int nSelected = GetLocalInt(oPC, "cs_selected"); + SetHeader(GetClassText(oPC, nSelected)); + AddChoice("Yes!", nSelected, oPC); + AddChoice("No...", -1, oPC); + MarkStageSetUp(nStage, oPC); + SetDefaultTokens(); + } + SetupTokens(); + } + } + else + { + int nChoice = GetChoice(oPC); + if (nStage == STAGE_LIST) + { + SetLocalInt(oPC, "cs_selected", nChoice); + SetStage(STAGE_CONFIRM, oPC); + } + else if (nStage == STAGE_CONFIRM) + { + if (nChoice >= 0) + { // "Yes!" - grant the standing + string sGrant; + switch (GetLocalInt(oPC, "cs_selected")) + { + case 1: + { + //sGrant = "bg_give_low"; + SetPersistantLocalInt(oPC,"CC1",BACKGROUND_LOWER); + SetPersistantLocalInt(oPC,"BG_Select",2); + SetLocalInt(oItem,"CC1",BACKGROUND_LOWER); + SetLocalInt(oItem,"BG_Select",2); + break; // Lower Class + } + case 2: + { + //sGrant = "bg_give_mid"; + SetPersistantLocalInt(oPC,"CC1",BACKGROUND_MIDDLE); + SetPersistantLocalInt(oPC,"BG_Select",2); + SetLocalInt(oItem,"CC1",BACKGROUND_MIDDLE); + SetLocalInt(oItem,"BG_Select",2); + break; // Middle Class + } + case 3: + { + //sGrant = "bg_give_up"; + SetPersistantLocalInt(oPC,"CC1",BACKGROUND_UPPER); + SetPersistantLocalInt(oPC,"BG_Select",2); + SetLocalInt(oItem, "CC1", BACKGROUND_UPPER); + SetLocalInt(oItem, "BG_Select", 2); + break; // Upper Class + //default: sGrant = ""; break; + } + //if (sGrant != "") ExecuteScript(sGrant, oPC); + // Conversation ends naturally; no explicit end call needed + } + } + else + { // "No..." - return to list + SetStage(STAGE_LIST, oPC); + } + } + SetStage(nStage, oPC); + } +} + */ \ No newline at end of file diff --git a/src/nss/bg_subrace_cv.nss b/src/nss/bg_subrace_cv.nss new file mode 100644 index 0000000..dc50100 --- /dev/null +++ b/src/nss/bg_subrace_cv.nss @@ -0,0 +1,788 @@ +// bg_subrace_cv.nss +#include "inc_dynconv" +#include "x2_inc_switches" +#include "inc_persist_loca" +#include "te_afflic_func" + + +const int STAGE_LIST = 0; +const int STAGE_CONFIRM = 1; + +string GetSubraceText(object oPC, int nChoice) { + return GetLocalString(oPC, "sub_dyn_text_" + IntToString(nChoice)); +} + +// Ensure the PC Data Object exists; create if missing +object EnsurePlayerDataObject(object oPC) +{ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + if (!GetIsObjectValid(oItem)) + { + oItem = CreateItemOnObject("pc_data_object", oPC); + } + return oItem; +} + +void main() +{ + object oPC = GetPCSpeaker(); + SendMessageToPC(oPC, "DEBUG: bg_subrace_cv main() entered"); + int nValue = GetLocalInt(oPC, DYNCONV_VARIABLE); + int nStage = GetStage(oPC); + + // Required guard: abort if nValue is 0 + if (nValue == 0) return; + + if (nValue == DYNCONV_SETUP_STAGE) + { + if (!GetIsStageSetUp(nStage, oPC)) + { + if (nStage == STAGE_LIST) + { + SetHeader("You will now choose your Subrace or Ethnicity. Subraces will affect what class standings you may be able to choose.\nYou can refresh the list with the Escape key if needed."); + + // 1 Other (unlisted) + AddChoice("[Other]", 1, oPC); + SetLocalString(oPC, "sub_dyn_text_1", + "My ethnicity or subrace is not listed. I realize that I am likely about to play a concept that is unsupported and not recommended, but I will select this anyway.\n\nDoes this describe you?"); + + // 2 Human ethnicities (inline bg_chk_hum logic) + if (GetRacialType(oPC) == RACIAL_TYPE_HUMAN || GetRacialType(oPC) == RACIAL_TYPE_HALFELF) + { + AddChoice("Tethyrian", 2, oPC); + SetLocalString(oPC, "sub_dyn_text_2", + "The Tethyrian culture is a melting pot of Calishite, Chondathan, Illuskan, and Low Netherese elements. This unique background makes Tethyrians among the most tolerant, though fiercely independent, ethnic groups in Faerun. They inhabit a vast territory stretching from Calimshan to Silverymoon, and from the Sea of Swords to the Sea of Fallen Stars. Tethyrians are of medium build and height, with dusky skin that grows fairer the farther north they dwell. Their hair and eye color vary widely, but brown hair and blue eyes are the most common. Tethyrians are proud of their diverse heritage and protective of their freedom, so they tend to distrust powerful kingdoms and empires.\n\nTethyrians receive Alzhedo as a bonus language automatically.\n\nDoes this describe you?"); + + AddChoice("Calishite", 3, oPC); + SetLocalString(oPC, "sub_dyn_text_3", + "These humans are descended from the slaves of Calimshan's ancient genie lords, form the primary racial stock of the Border Kingdoms, the Lake of Steam cities, the Nelanther Isles, and Calimshan. Shorter and slighter in build than most other humans, Calishites have dusky brown skin, hair, and eyes. they regard themselves as the rightful rulers of all lands south and west of the Sea of Fallen Stars and look upon northern cultures as short-lived barbarian kingdoms barely worthy of notice. Most Calishites seek nothing more than a lifestyle of comfort and the respect of their peers.\n\nCalishites receive Alzhedo as a bonus language automatically.\n\nDoes this describe you?"); + + AddChoice("Illuskan", 4, oPC); + SetLocalString(oPC, "sub_dyn_text_4", + "The seagoing, warlike people of the Sword Coast North, the Trackless Sea, and the Dessarin river valley, Illuskans are fall, fair-skinned folk with blue or steely gray eyes. Among the islands of the Trackless Sea and Icewind Dale, their hair color tends towards blond, red, or light brown. On the mainland south of the Spine of the World, however, raven-black hair is most common. Illuskans are proud, particularly of their ability to survive in the harsh environment of their northern homelands, and they regard most southerners as weak and decadent. Illuskans make their living as farmers, fishers, miners, sailors, raiders, skalds, and runecasters.\n\nThe Illuskans receive Illuskan as a bonus language automatically.\n\nDoes this describe you?"); + + AddChoice("Rashemi", 5, oPC); + SetLocalString(oPC, "sub_dyn_text_5", + "These humans are tough, sturdy, and well adapted to life in the harsh and dangerous northeastern reaches of Faerun. They are descended from the nomadic tribes that won the Orcgate Wars and built the empire of Raumathar. Not only do the Rashemis dominate Rashemen and Thay, they also form significant minorities in Aglarond, the Endless Wastes, Thesk, and the Wizards' Reach region. Rashemis tend to be short, stout, and muscular, and they usually have dusky skin, dark eyes, and thick, black hair. They cherish their strong ties to their land, appreciating its beauty while respecting its harshness. They display little of the arrogance that marks other groups whose ancestors once ruled empires.\n\nRashemi receive Rashemi as a bonus language.\n\nDoes this describe you?"); + + AddChoice("Shou", 6, oPC); + SetLocalString(oPC, "sub_dyn_text_6", + "Little is known of the Shou - and in western Faerun it is assumed that they are the only racial group of the far-distant Kara-Tur. It is rare to see a Shou outside of the far east. Shou have a bronzed-yellow skin tones and typically have black hair with broad, flat features.\n\nShou do not receive any bonus language.\n\nDoes this describe you?"); + + AddChoice("Maztican", 7, oPC); + SetLocalString(oPC, "sub_dyn_text_7", + "After the Helmite conquest in Maztica, many people of the differing tribes lumped together by the Easterners began to immigrate to the old world and see what wonders lied across the Trackless Sea. Truely a people displaced, Mazticans are unfamiliar with the customs of the Tethyrians or the Chondathans. Rumors of Helmite abuse and exploitation in Maztica are common, much more common than the sight of a simple Maztican.\n\nDoes this describe you?"); + + AddChoice("Chultan", 8, oPC); + SetLocalString(oPC, "sub_dyn_text_8", + "The jungles of Chult are a harsh and unforgiving land that forged together the many disparate tribes of the peninsula into one single culture more than a millennia ago. Most Chultans distrust power and wealth, believing that things that they cannot take with them are ultimately worthless. It is rare to see a Chultan separated from their clan. Chultans are tall and ebony-skinned.\n\nDoes this describe you?"); + + AddChoice("Chondathan", 9, oPC); + SetLocalString(oPC, "sub_dyn_text_9", + "Descended from the natives of the Vilhon Reach, these hardy folk have spread to settle most of the western and central Inner Sea region and much of the Western Heartlands. Chondathans form the primary racial stock of Altumbel, Cormyr, the southern Dalelands, the Dragon Coast, the Great Dale, Hlondeth and both shores of the Vilhon Reach, the Pirate Isles of the Inner Sea, Sembia, and Sespech. They are slender, tawny-skinned folk with brown hair that ranges from almost blond to almost black. Most are tall and have green or brown eyes, but these traits are hardly universal. \n\nDoes this describe you?"); + + AddChoice("Damaran", 10, oPC); + SetLocalString(oPC, "sub_dyn_text_10", + "Proud and stubborn, these humans were born from some scattered remnants of Narfell's fall - primarily groups of Nars, Rashemis, and Sossrims who struggled to survive while waves of Chondathan emigrants settled in the lands of the Easting Reach. These four populations gradually coalesced into a new ethnic group that now makes up the primary racial stock of Damara, Impiltur, Thesk, and the Vast. Damarans are of moderate height and build, with skin hues ranging from tawny to fair. Their hair is usually brown or black, and their eye color varies widely, though brown is most common. Damarans see the world in stark contrasts - unspeakable evil opposed by indomitable and uncompromising good. \n\nDoes this describe you?"); + + AddChoice("Mulan", 11, oPC); + SetLocalString(oPC, "sub_dyn_text_11", + "Members of this ethnic group have dominated the eastern shores of the Sea of Fallen stars since the fall of ancient Ilmaskar. At various times in their long history, they have made up at least the ruling elite of Ashanath, Chessenta, the Eastern Shaar, Murghom, Rashemen, Semphar, Thay, Thesk, and the Wizards' Reach cities south of the Yuirwood. Mulan are generally tall, slim, and sallow-skinned with eyes of hazel or brown. Their hair ranges from black to dark brown, but all nobles and many other Mulan routinely shave off all of their hair. As a race, Mulan are arrogant, conservative, and convinced of their cultural superiority over the rest of Faerun.\n\nMulan receive Mulanese as a bonus language.\n\nDoes this describe you?"); + + AddChoice("Ffolk", 12, oPC); + SetLocalString(oPC, "sub_dyn_text_12", + "These humans are descended from Tethyrians who migrated from the Western Heartlands to the Moonshae Isles. They are generally hostile to the Illuskans who are seen as invaders to the Moonshae Isles, though, most of the Ffolk speak Illuskan and use the Thorass script. More so than many other cultural groups, the Ffolk are governed by a strong druidical tradition that permeates their society. Due to their Tethyrian heritage, the ffolk tend to have darker skin and hair when compared to Illuskans or Chondathans.\n\nThe Ffolk receive Talfiric as a bonus language automatically.\n\nDoes this describe you?"); + + AddChoice("Imaskari", 13, oPC); + SetLocalString(oPC, "sub_dyn_text_13", + "Before the rise of the Mulan in the great deserts, the Imaskari ruled in a great empire rumored to stretch across the east. But that is all that remains of the Imaskari - rumors and what little of their culture has been preserved by the Mulan.\n\nDoes this describe you?"); + + AddChoice("Shaaran", 14, oPC); + SetLocalString(oPC, "sub_dyn_text_14", + "The Shaarans are the group of humans native to the steepes of the Shaar region. A simple, nomadic culture based on clan loyalty, they were once considered part of the Shoon Imperium before the ancient empire allowed them to rebel in the fifth century. Shaarans are long-faced with a yellow-tanned skin. They speak Shaaran and most do not read or write.\n\nDoes this describe you?"); + } + + // 3 Elf subraces (bg_chk_elf logic) + if (GetRacialType(oPC) == RACIAL_TYPE_ELF) + { + AddChoice("Moon Elf", 15, oPC); + SetLocalString(oPC, "sub_dyn_text_15", + "Silver Elves are the most common sort of elves in Faerun, also called Moon Elves they have fair skin and hair of silver-white, black or blue. Their eyes are blue or green with gold flecks. They are the elven subrace most tolerant of human kind, and most half-elves are descended from Silver Elves. These elves are a minority in Tethyr and might be regarded as soft or alien by the Copper and Green elves that inhabit the Wealdath.\n\nDoes this describe you?"); + + AddChoice("Sun Elf", 16, oPC); + SetLocalString(oPC, "sub_dyn_text_16", + "Gold Elves are less common across Faerun than Silver Elves, because most live on Evermeet, where non-elves are not allowed. Also called Sun Elves, they have bronze skin, golden-blond, copper or black hair and green or gold eyes. These are seen as the most civilized and haughty elves, preferring to remain separate from non-elven races. Seeing a Gold Elf is typically more rare than a Dark Elf in the Lands of Intrigue.\n\nDoes this describe you?"); + + AddChoice("Wild Elf", 17, oPC); + SetLocalString(oPC, "sub_dyn_text_17", + "The very rare Green Elves, also called Wild Elves, are rarely seen by others because they live in the heart of the Wealdath Forest. They possess incredible skill at keeping hidden. Their skin tends to be dark brown and their hair ranges from black to light brown, lightening to silvery-white with age. Although less numerous than Copper Elves, they are the second most populous type of elf in the region of Old Noromath.\n\nDoes this describe you?"); + + AddChoice("Wood Elf", 18, oPC); + SetLocalString(oPC, "sub_dyn_text_18", + "Wood Elves, also called Copper Elves, are reclusive but less so than their cousins - the almost feral Wild Elves. They have copper colored skin tinged with green. They have brown, green or hazel colored eyes. Their hair is usually brown or black with blond and coppery red occasionally found. Copper Elves are the most numerous type of elf in Northern Tethyr.\n\nDoes this describe you?"); + + AddChoice("Dark Elf (Drow)", 19, oPC); + SetLocalString(oPC, "sub_dyn_text_19", + "Descended from the original dark-skinned elven subrace known as Illythiiri, the Dark Elves were cursed into their present appearance by the good elven deities for following the goddess Lolth down the path to evil and corruption. Also called the Drow, they have black skin that resembles polished obsidian and stark white or pale yellow hair. Dark Elves found in Tethyr have likely been forced from their subterranean home of the Underdark, unable to return for many varied reasons.\n\nECL +2\n\nDoes this describe you?"); + + AddChoice("Fey'ri", 20, oPC); + SetLocalString(oPC, "sub_dyn_text_20", + "NOT FULLY IMPLEMENTED\n\nThe result of four noble Sun Elf houses breeding with demons in an attempt to strengthen the Dlardrageth bloodline, the Fey'ri are type of planetouched that breeds only amongst themselves. Once a prominent Elven House in Cormanthyr, the Fey'ri have been involved in various schemes and remain reviled throughout the realms since these times.\n\nECL +3\n\nDoes this describe you?"); + } + + // 4 Dwarf subraces (bg_chk_dwarf logic) + if (GetRacialType(oPC) == RACIAL_TYPE_DWARF) + { + AddChoice("Shield Dwarf - Default/Recommended", 21, oPC); + SetLocalString(oPC, "sub_dyn_text_21", + "The sculpted halls and echoing chambers of Dwarven Kingdoms are scattered through the Underdark like forgotten necklaces of semiprecious stones. Dwarven Kingdoms such as Xonathanur, Oghrann, and Gharraghaur taught the less civilized races of Faerun what it meant to hold and wield power. Unlike the ancient human empires, the Dwarves distrusted magic - so they were never seduced to the heights of magical folly that toppled Netheril and Imaskar. Instead, the Dwarves became locked in eternal wars with goblin kind and the other dwellers of the Underdark. One by one, the empires of the North failed - leaving only scattered survivors in the mountains or unconquered sections of the Underdark.\n\nDoes this describe you?"); + + AddChoice("Gold Dwarf", 22, oPC); + SetLocalString(oPC, "sub_dyn_text_22", + "Unlike the Shield Dwarves, the Gold Dwarves maintained their Great Kingdom in the Rift and did not decline in terrible wars against evil humanoids. While they practiced some magic, they never acquired the hubris that caused the downfall of some human nations. Confident and secure in their remote home the Gold Dwarves gained a reputation for haughtiness and pride.\n\nDoes this describe you?"); + + AddChoice("Gray Dwarf (Duergar)", 23, oPC); + SetLocalString(oPC, "sub_dyn_text_23", + "Long ago, mindflayers conquered the strongholds of Clan Duergar of the Dwarven Kingdom of Shanatar. After generations of enslavement and cruel experimentation at the hands of the Illithids, the Duergar rose against their masters and regained their freedom. They emerged as a new subrace of Dwarf with limited magical powers. Many Grey Dwarves have escaped the Underdark for the promise of a better life on the surface - only to be met with extreme prejudice. Their only hope is now to reclaim their ancient Kingdom of Shanatar and the Wyrmskull Throne - located beneath Tethyr. \n\nECL +2\n\nDoes this describe you?"); + } + + // 5 Gnome subraces (bg_chk_gnome logic) + if (GetRacialType(oPC) == RACIAL_TYPE_GNOME) + { + AddChoice("Rock Gnome", 24, oPC); + SetLocalString(oPC, "sub_dyn_text_24", + "Rock gnomes are the gnomes that most people are familiar with. When someone refers to a \"gnome\", they are almost certainly refering to a Rock Gnome. Unlike their cousins, Rock Gnomes are found across Faerun and integrate well into the rolling countryside towns found across Tethyr and the Heartlands. Most rock gnomes are friendly and fond of jokes or pranks and find work as technicians, alchemists, and inventors when not found as exceptional Illusionist Wizards.\n\nDoes this describe you?"); + AddChoice("Forest Gnome", 25, oPC); + SetLocalString(oPC, "sub_dyn_text_25", + "Forest gnomes are exceptionally shy in comparison to the well-known Rock Gnomes. Often times, Forest Gnomes can live side by side with civilizations without ever being discovered or uncovered. Forest gnomes have a great love for nature and are extremely private, prefering to be left alone whenever possible.\n\nECL +1\n\nDoes this describe you?"); + AddChoice("Deep Gnome (Svirfneblin)", 26, oPC); + SetLocalString(oPC, "sub_dyn_text_26", + "The Deep Gnomes are often counted among the evil creatures within the Underdark, however they are no more evil than any other rock gnome common on the surface. Centuries of dealing with the threats and poor conditions of the Underdarked have made them extremely distrustful of outsiders and make their appearance outside of their small communities exceptionally rare.\n\nECL +3\n\nDoes this describe you?"); + } + + // 6 Halfling subraces (bg_chk_halfling logic) + if (GetRacialType(oPC) == RACIAL_TYPE_HALFLING) + { + AddChoice("Lightfoot Halfling", 27, oPC); + SetLocalString(oPC, "sub_dyn_text_27", + "Most of the halflings encountered in Faerun are the Lightfoot halflings. They are the most numerous and widely traveled group across Faerun. Their behavior is highly varied, and adaptable to whatever society they find themselves in. No lightfoot can be compared with another, because of these widely diverse view points about the world, leadingto a roaming lifestyle where entire families may decide to simply leave on a whim when their minds change.\n\nDoes this describe you?"); + AddChoice("Strongheart Halfling", 28, oPC); + SetLocalString(oPC, "sub_dyn_text_28", + "The Strongheart halflings are the clans that decided to remain in their homeland of Luiren. Most Stronghearts will form communities but maintain and nomadic lifestyle within these communities. It is not uncommon for a Strongheart halfling to travel between communities to satisfy some form of wanderlust.\n\nDoes this describe you?"); + AddChoice("Ghostwise Halfling", 29, oPC); + SetLocalString(oPC, "sub_dyn_text_29", + "The ghostwise are some of the most uncommon halflings one might encounter in Faerun. Most make their home in the Chondalwood and prefer to pursue a nomadic lifestyle in the forests. Clan loyalty is of the outmost importance to a Ghostwise Halfling, and the most likely reason for seeing a Ghostwise halfling outside of the Chondalwood is expulsion and exile.\n\nDoes this describe you?"); + } + // 8 Other (bg_chk_oth logic) + if ((GetRacialType(oPC) == RACIAL_TYPE_HUMAN || GetRacialType(oPC) == RACIAL_TYPE_HALFELF || GetRacialType(oPC) == RACIAL_TYPE_HALFORC) && GetAbilityScore(oPC,ABILITY_CHARISMA, TRUE) >= 11) + { + AddChoice("Tiefling", 30, oPC); + SetLocalString(oPC, "sub_dyn_text_30", + "Because they are descended from evil outsiders, those who know of their ancestry must immediately consider most Tieflings evil and untrustworthy, although this is not always the case. Some tieflings have a minor physical trait suggesting their heritage, such as pointed teeth, red eyes, small horns, the odor of brimstone, cloven feet, or just an unnatural aura of wrongness. Tieflings, like Aasimar, are feared and considered outcasts by most of Tethyrian society.\n\nDoes this describe you?"); + + AddChoice("Aasimar", 31, oPC); + SetLocalString(oPC, "sub_dyn_text_31", + "Carrying the blood of a Celestial, an Aasimar is usually good-aligned and fights against evil in the world. Some have a minor physical trait suggesting their heritage, such as silver hair, golden eyes, or an unnaturally intense stare. Aasimar, like Tieflings, are feared and considered outcasts by most of Tethyrian society.\n\nDoes this describe you?"); + } + MarkStageSetUp(nStage, oPC); + SetDefaultTokens(); + } + else if (nStage == STAGE_CONFIRM) + { + int nSelected = GetLocalInt(oPC, "sub_selected"); + SetHeader(GetSubraceText(oPC, nSelected) + "\n\nIs this correct?"); + AddChoice("Yes", 0, oPC); + AddChoice("No", 1, oPC); + MarkStageSetUp(nStage, oPC); + SetDefaultTokens(); + } + } + SetupTokens(); + } + else + { + int nChoice = GetChoice(oPC); + if (nStage == STAGE_LIST) + { + SetLocalInt(oPC, "sub_selected", nChoice); + nStage = STAGE_CONFIRM; // update local nStage + } + else if (nStage == STAGE_CONFIRM) + { + if (nChoice == 0) { // Yes sub_selected"); + int nSelected = GetLocalInt(oPC, "sub_selected"); + object oItem = EnsurePlayerDataObject(oPC); + switch (nSelected) + { + // Ethnicities + case 1: + { + //sGrant = "bg_ethn_other"; + SetLocalInt(oItem,"CC0",ETHNICITY_OTHER); + SetLocalInt(oItem,"BG_Select",1); + SetPersistantLocalInt(oPC,"CC0",ETHNICITY_OTHER); + SetPersistantLocalInt(oPC,"BG_Select",1); + break; // Other + } + case 2: + { + //sGrant = "bg_ethn_tethyr"; + SetLocalInt(oItem,"CC0",ETHNICITY_TETHYRIAN); + SetLocalInt(oItem,"BG_Select",2); + SetPersistantLocalInt(oPC,"CC0",ETHNICITY_TETHYRIAN); + SetPersistantLocalInt(oPC,"BG_Select",2); + break; // Tethyrian + } + case 3: + { + //sGrant = "bg_ethn_calish"; + SetLocalInt(oItem,"CC0",ETHNICITY_CALISHITE); + SetLocalInt(oItem,"BG_Select",3); + SetPersistantLocalInt(oPC,"CC0",ETHNICITY_CALISHITE); + SetPersistantLocalInt(oPC,"BG_Select",3); + break; // Calishite + } + case 4: + { + //sGrant = "bg_ethn_illusk"; + SetLocalInt(oItem,"CC0",ETHNICITY_ILLUSKAN); + SetLocalInt(oItem,"BG_Select",4); + SetPersistantLocalInt(oPC,"CC0",ETHNICITY_ILLUSKAN); + SetPersistantLocalInt(oPC,"BG_Select",4); + break; // Illuskan + } + case 5: + { + //sGrant = "bg_ethn_rashemi"; + SetLocalInt(oItem,"CC0",ETHNICITY_RASHEMI); + SetLocalInt(oItem,"BG_Select",5); + SetPersistantLocalInt(oPC,"CC0",ETHNICITY_RASHEMI); + SetPersistantLocalInt(oPC,"BG_Select",5); + break; // Rashemi + } + case 6: + { + //sGrant = "bg_ethn_shou"; + SetLocalInt(oItem,"CC0",ETHNICITY_SHOU); + SetLocalInt(oItem,"BG_Select",6); + SetPersistantLocalInt(oPC,"CC0",ETHNICITY_SHOU); + SetPersistantLocalInt(oPC,"BG_Select",6); + break; // Shou + } + case 7: + { + //sGrant = "bg_ethn_mazti"; + SetLocalInt(oItem,"CC0",ETHNICITY_MAZTILAN); + SetLocalInt(oItem,"BG_Select",7); + SetPersistantLocalInt(oPC,"CC0",ETHNICITY_MAZTILAN); + SetPersistantLocalInt(oPC,"BG_Select",7); + break; // Maztilan + } + case 8: + { + //sGrant = "bg_ethn_chult"; + SetLocalInt(oItem,"CC0",ETHNICITY_CHULTAN); + SetLocalInt(oItem,"BG_Select",8); + SetPersistantLocalInt(oPC,"CC0",ETHNICITY_CHULTAN); + SetPersistantLocalInt(oPC,"BG_Select",8); + break; // Chultan + } + case 9: + { + //sGrant = "bg_ethn_chond"; + SetLocalInt(oItem,"CC0",ETHNICITY_CHONDATHAN); + SetLocalInt(oItem,"BG_Select",9); + SetPersistantLocalInt(oPC,"CC0",ETHNICITY_CHONDATHAN); + SetPersistantLocalInt(oPC,"BG_Select",9); + break; // Chondathan + } + case 10: + { + //sGrant = "bg_ethn_damar"; + SetLocalInt(oItem,"CC0",ETHNICITY_DAMARAN); + SetLocalInt(oItem,"BG_Select",10); + SetPersistantLocalInt(oPC,"CC0",ETHNICITY_DAMARAN); + SetPersistantLocalInt(oPC,"BG_Select",10); + break; // Damaran + } + case 11: + { + //sGrant = "bg_ethn_mulan"; + SetLocalInt(oItem,"CC0",ETHNICITY_MULAN); + SetLocalInt(oItem,"BG_Select",11); + SetPersistantLocalInt(oPC,"CC0",ETHNICITY_MULAN); + SetPersistantLocalInt(oPC,"BG_Select",11); + break; // Mulan (duplicate) + } + case 12: + { + //sGrant = "bg_ethn_ffolk"; + SetLocalInt(oItem,"CC0",ETHNICITY_FFOLK); + SetLocalInt(oItem,"BG_Select",12); + SetPersistantLocalInt(oPC,"CC0",ETHNICITY_FFOLK); + SetPersistantLocalInt(oPC,"BG_Select",12); + break; // Ffolk + } + case 13: + { + //sGrant = "bg_ethn_imask"; + SetLocalInt(oItem,"CC0",ETHNICITY_IMASKARI); + SetLocalInt(oItem,"BG_Select",13); + SetPersistantLocalInt(oPC,"CC0",ETHNICITY_IMASKARI); + SetPersistantLocalInt(oPC,"BG_Select",13); + break; // Imaskari + } + case 14: + { + //sGrant = "bg_ethn_mazti"; + SetLocalInt(oItem,"CC0",ETHNICITY_SHAARAN); + SetLocalInt(oItem,"BG_Select",14); + SetPersistantLocalInt(oPC,"CC0",ETHNICITY_SHAARAN); + SetPersistantLocalInt(oPC,"BG_Select",14); + break; // Shaaran + } + + // Elves + case 15: + { + //sGrant = "bg_give_elfsilv"; + SetLocalInt(oItem,"CC0",BACKGROUND_SILVER_ELF); + SetLocalInt(oItem,"BG_Select",15); + SetPersistantLocalInt(oPC,"CC0",BACKGROUND_SILVER_ELF); + SetPersistantLocalInt(oPC,"BG_Select",15); + break; // Moon Elf + } + case 16: + { + //sGrant = "bg_give_elfgold"; + SetLocalInt(oItem,"CC0",BACKGROUND_GOLD_ELF); + SetLocalInt(oItem,"BG_Select",16); + SetPersistantLocalInt(oPC,"CC0",BACKGROUND_GOLD_ELF); + SetPersistantLocalInt(oPC,"BG_Select",16); + break; // Sun Elf + } + case 17: + { + //sGrant = "bg_give_elfgre"; + SetLocalInt(oItem,"CC0",BACKGROUND_GREEN_ELF); + SetLocalInt(oItem,"BG_Select",17); + SetPersistantLocalInt(oPC,"CC0",BACKGROUND_GREEN_ELF); + SetPersistantLocalInt(oPC,"BG_Select",71); + break; // Wild Elf + } + case 18: + { + //sGrant = "bg_give_elfcop"; + SetLocalInt(oItem,"CC0",BACKGROUND_COPPER_ELF); + SetLocalInt(oItem,"BG_Select",18); + SetPersistantLocalInt(oPC,"CC0",BACKGROUND_COPPER_ELF); + SetPersistantLocalInt(oPC,"BG_Select",18); + break; // Wood Elf + } + case 19: + { + //sGrant = "bg_give_elfdark"; + SetLocalInt(oItem,"CC0",BACKGROUND_DARK_ELF); + SetLocalInt(oItem,"BG_Select",19); + SetPersistantLocalInt(oPC,"CC0",BACKGROUND_DARK_ELF); + SetPersistantLocalInt(oPC,"BG_Select",19); + break; // Dark Elf (Drow) + } + case 20: + { + //sGrant = "bg_give_elffeyri"; + SetLocalInt(oItem,"CC0",ETHNICITY_FEYRI); + SetLocalInt(oItem,"BG_Select",20); + SetPersistantLocalInt(oPC,"CC0",ETHNICITY_FEYRI); + SetPersistantLocalInt(oPC,"BG_Select",20); + break; // Fey'ri + } + // Dwarves + case 21: + { + //sGrant = "bg_give_dwashiel"; + SetLocalInt(oItem,"CC0",BACKGROUND_SHIELD_DWARF); + SetLocalInt(oItem,"BG_Select",21); + SetPersistantLocalInt(oPC,"CC0",BACKGROUND_SHIELD_DWARF); + SetPersistantLocalInt(oPC,"BG_Select",21); + break; // Shield Dwarf + } + case 22: + { + //sGrant = "bg_give_dwagold"; + SetLocalInt(oItem,"CC0",BACKGROUND_GOLD_DWARF); + SetLocalInt(oItem,"BG_Select",22); + SetPersistantLocalInt(oPC,"CC0",BACKGROUND_GOLD_DWARF); + SetPersistantLocalInt(oPC,"BG_Select",22); + break; // Gold Dwarf + } + case 23: + { + //sGrant = "bg_give_dwagrey"; + SetLocalInt(oItem,"CC0",BACKGROUND_GREY_DWARF); + SetLocalInt(oItem,"BG_Select",23); + SetPersistantLocalInt(oPC,"CC0",BACKGROUND_GREY_DWARF); + SetPersistantLocalInt(oPC,"BG_Select",23); + break; // Gray Dwarf (Duergar) + } + // Gnomes + case 24: + { + //sGrant = "bg_give_gnrock"; + SetLocalInt(oItem,"CC0",ETHNICITY_ROCK_GNOME); + SetLocalInt(oItem,"BG_Select",24); + SetPersistantLocalInt(oPC,"CC0",ETHNICITY_ROCK_GNOME); + SetPersistantLocalInt(oPC,"BG_Select",24); + break; // Rock Gnome + } + case 25: + { + //sGrant = "bg_give_gnfor"; + SetLocalInt(oItem,"CC0",ETHNICITY_FOREST_GNOME); + SetLocalInt(oItem,"BG_Select",25); + SetPersistantLocalInt(oPC,"CC0",ETHNICITY_FOREST_GNOME); + SetPersistantLocalInt(oPC,"BG_Select",25); + break; // Forest Gnome + } + case 26: + { + //sGrant = "bg_give_gndeep"; + SetLocalInt(oItem,"CC0",ETHNICITY_DEEP_GNOME); + SetLocalInt(oItem,"BG_Select",26); + SetPersistantLocalInt(oPC,"CC0",ETHNICITY_DEEP_GNOME); + SetPersistantLocalInt(oPC,"BG_Select",26); + break; // Deep Gnome + } + // Halflings + case 27: + { + //sGrant = "bg_give_hllight"; + SetLocalInt(oItem,"CC0",ETHNICITY_LIGHTFOOT); + SetLocalInt(oItem,"BG_Select",27); + SetPersistantLocalInt(oPC,"CC0",ETHNICITY_LIGHTFOOT); + SetPersistantLocalInt(oPC,"BG_Select",27); + break; // Lightfoot + } + case 28: + { + //sGrant = "bg_give_hlstrong"; + SetLocalInt(oItem,"CC0",ETHNICITY_STRONGHEART); + SetLocalInt(oItem,"BG_Select",28); + SetPersistantLocalInt(oPC,"CC0",ETHNICITY_STRONGHEART); + SetPersistantLocalInt(oPC,"BG_Select",28); + break; // Strongheart + } + case 29: + { + //sGrant = "bg_give_hlghost"; + SetLocalInt(oItem,"CC0",ETHNICITY_GHOSTWISE); + SetLocalInt(oItem,"BG_Select",29); + SetPersistantLocalInt(oPC,"CC0",ETHNICITY_GHOSTWISE); + SetPersistantLocalInt(oPC,"BG_Select",29); + break; // Ghostwise + } + // Other races + case 30: + { + //sGrant = "bg_give_tiefling"; + SetLocalInt(oItem,"CC0",BACKGROUND_TIEFLING); + SetLocalInt(oItem,"BG_Select",30); + SetPersistantLocalInt(oPC,"CC0",BACKGROUND_TIEFLING); + SetPersistantLocalInt(oPC,"BG_Select",30); + break; // Tiefling + } + case 31: + { + //sGrant = "bg_give_aasimar"; + SetLocalInt(oItem,"CC0",BACKGROUND_AASIMAR); + SetLocalInt(oItem,"BG_Select",31); + SetPersistantLocalInt(oPC,"CC0",BACKGROUND_AASIMAR); + SetPersistantLocalInt(oPC,"BG_Select",31); + break; // Aasimar + + } + } + AllowExit(DYNCONV_EXIT_FORCE_EXIT, TRUE, oPC); + SetPersistantLocalInt(oPC, "CC0_DONE", 1); + DelayCommand(0.1f, StartDynamicConversation("bg_soclass_cv", oPC)); + } + else + { // No + MarkStageNotSetUp(STAGE_LIST, oPC); + MarkStageNotSetUp(STAGE_CONFIRM, oPC); + nStage = STAGE_LIST; // update local nStage + } + } + SetStage(nStage, oPC); + } +} + + +/* +void main() { + object oPC = GetPCSpeaker(); + object oItem = EnsurePlayerDataObject(oPC); + SendMessageToPC(oPC, "DEBUG: bg_subrace_cv main() entered"); + WriteTimestampedLogEntry("DEBUG: bg_subrace_cv main() entered"); + int nValue = GetLocalInt(oPC, DYNCONV_VARIABLE); + int nStage = GetStage(oPC); + + // Required guard: abort if nValue is 0 + if (nValue == 0) return; + + if (nValue == DYNCONV_SETUP_STAGE) + { + if (!GetIsStageSetUp(nStage, oPC)) + { + if (nStage == STAGE_LIST) + { + SetHeader("You will now choose your Subrace or Ethnicity. Subraces will affect what class standings you may be able to choose.\nYou can refresh the list with the Escape key if needed."); + + // 1 Other (unlisted) + AddChoice("[Other]", 1, oPC); + SetLocalString(oPC, "sub_dyn_text_1", + "My ethnicity or subrace is not listed. I realize that I am likely about to play a concept that is unsupported and not recommended, but I will select this anyway.\n\nDoes this describe you?"); + + // 2 Human ethnicities (inline bg_chk_hum logic) + if (GetRacialType(oPC) == RACIAL_TYPE_HUMAN || GetRacialType(oPC) == RACIAL_TYPE_HALFELF) + { + AddChoice("Tethyrian", 2, oPC); + SetLocalString(oPC, "sub_dyn_text_2", + "The Tethyrian culture is a melting pot of Calishite, Chondathan, Illuskan, and Low Netherese elements. This unique background makes Tethyrians among the most tolerant, though fiercely independent, ethnic groups in Faerun. They inhabit a vast territory stretching from Calimshan to Silverymoon, and from the Sea of Swords to the Sea of Fallen Stars. Tethyrians are of medium build and height, with dusky skin that grows fairer the farther north they dwell. Their hair and eye color vary widely, but brown hair and blue eyes are the most common. Tethyrians are proud of their diverse heritage and protective of their freedom, so they tend to distrust powerful kingdoms and empires.\n\nTethyrians receive Alzhedo as a bonus language automatically.\n\nDoes this describe you?"); + + AddChoice("Calishite", 3, oPC); + SetLocalString(oPC, "sub_dyn_text_3", + "These humans are descended from the slaves of Calimshan's ancient genie lords, form the primary racial stock of the Border Kingdoms, the Lake of Steam cities, the Nelanther Isles, and Calimshan. Shorter and slighter in build than most other humans, Calishites have dusky brown skin, hair, and eyes. they regard themselves as the rightful rulers of all lands south and west of the Sea of Fallen Stars and look upon northern cultures as short-lived barbarian kingdoms barely worthy of notice. Most Calishites seek nothing more than a lifestyle of comfort and the respect of their peers.\n\nCalishites receive Alzhedo as a bonus language automatically.\n\nDoes this describe you?"); + + AddChoice("Illuskan", 4, oPC); + SetLocalString(oPC, "sub_dyn_text_4", + "The seagoing, warlike people of the Sword Coast North, the Trackless Sea, and the Dessarin river valley, Illuskans are fall, fair-skinned folk with blue or steely gray eyes. Among the islands of the Trackless Sea and Icewind Dale, their hair color tends towards blond, red, or light brown. On the mainland south of the Spine of the World, however, raven-black hair is most common. Illuskans are proud, particularly of their ability to survive in the harsh environment of their northern homelands, and they regard most southerners as weak and decadent. Illuskans make their living as farmers, fishers, miners, sailors, raiders, skalds, and runecasters.\n\nThe Illuskans receive Illuskan as a bonus language automatically.\n\nDoes this describe you?"); + + AddChoice("Rashemi", 5, oPC); + SetLocalString(oPC, "sub_dyn_text_5", + "These humans are tough, sturdy, and well adapted to life in the harsh and dangerous northeastern reaches of Faerun. They are descended from the nomadic tribes that won the Orcgate Wars and built the empire of Raumathar. Not only do the Rashemis dominate Rashemen and Thay, they also form significant minorities in Aglarond, the Endless Wastes, Thesk, and the Wizards' Reach region. Rashemis tend to be short, stout, and muscular, and they usually have dusky skin, dark eyes, and thick, black hair. They cherish their strong ties to their land, appreciating its beauty while respecting its harshness. They display little of the arrogance that marks other groups whose ancestors once ruled empires.\n\nRashemi receive Rashemi as a bonus language.\n\nDoes this describe you?"); + + AddChoice("Shou", 6, oPC); + SetLocalString(oPC, "sub_dyn_text_6", + "Little is known of the Shou - and in western Faerun it is assumed that they are the only racial group of the far-distant Kara-Tur. It is rare to see a Shou outside of the far east. Shou have a bronzed-yellow skin tones and typically have black hair with broad, flat features.\n\nShou do not receive any bonus language.\n\nDoes this describe you?"); + + AddChoice("Tashalarran", 7, oPC); + SetLocalString(oPC, "sub_dyn_text_7", + "Members of this ethnic group have dominated the eastern shores of the Sea of Fallen stars since the fall of ancient Ilmaskar. At various times in their long history, they have made up at least the ruling elite of Ashanath, Chessenta, the Eastern Shaar, Murghom, Rashemen, Semphar, Thay, Thesk, and the Wizards' Reach cities south of the Yuirwood. Mulan are generally tall, slim, and sallow-skinned with eyes of hazel or brown. Their hair ranges from black to dark brown, but all nobles and many other Mulan routinely shave off all of their hair. As a race, Mulan are arrogant, conservative, and convinced of their cultural superiority over the rest of Faerun.\n\nMulan receive Mulanese as a bonus language.\n\nDoes this describe you?"); + + AddChoice("Chultan", 8, oPC); + SetLocalString(oPC, "sub_dyn_text_8", + "The jungles of Chult are a harsh and unforgiving land that forged together the many disparate tribes of the peninsula into one single culture more than a millennia ago. Most Chultans distrust power and wealth, believing that things that they cannot take with them are ultimately worthless. It is rare to see a Chultan separated from their clan. Chultans are tall and ebony-skinned.\n\nDoes this describe you?"); + + AddChoice("Chondathan", 9, oPC); + SetLocalString(oPC, "sub_dyn_text_9", + "Descended from the natives of the Vilhon Reach, these hardy folk have spread to settle most of the western and central Inner Sea region and much of the Western Heartlands. Chondathans form the primary racial stock of Altumbel, Cormyr, the southern Dalelands, the Dragon Coast, the Great Dale, Hlondeth and both shores of the Vilhon Reach, the Pirate Isles of the Inner Sea, Sembia, and Sespech. They are slender, tawny-skinned folk with brown hair that ranges from almost blond to almost black. Most are tall and have green or brown eyes, but these traits are hardly universal. \n\nDoes this describe you?"); + + AddChoice("Damaran", 10, oPC); + SetLocalString(oPC, "sub_dyn_text_10", + "Proud and stubborn, these humans were born from some scattered remnants of Narfell's fall - primarily groups of Nars, Rashemis, and Sossrims who struggled to survive while waves of Chondathan emigrants settled in the lands of the Easting Reach. These four populations gradually coalesced into a new ethnic group that now makes up the primary racial stock of Damara, Impiltur, Thesk, and the Vast. Damarans are of moderate height and build, with skin hues ranging from tawny to fair. Their hair is usually brown or black, and their eye color varies widely, though brown is most common. Damarans see the world in stark contrasts - unspeakable evil opposed by indomitable and uncompromising good. \n\nDoes this describe you?"); + + AddChoice("Mulan", 11, oPC); + SetLocalString(oPC, "sub_dyn_text_11", + "Members of this ethnic group have dominated the eastern shores of the Sea of Fallen stars since the fall of ancient Ilmaskar. At various times in their long history, they have made up at least the ruling elite of Ashanath, Chessenta, the Eastern Shaar, Murghom, Rashemen, Semphar, Thay, Thesk, and the Wizards' Reach cities south of the Yuirwood. Mulan are generally tall, slim, and sallow-skinned with eyes of hazel or brown. Their hair ranges from black to dark brown, but all nobles and many other Mulan routinely shave off all of their hair. As a race, Mulan are arrogant, conservative, and convinced of their cultural superiority over the rest of Faerun.\n\nMulan receive Mulanese as a bonus language.\n\nDoes this describe you?"); + + AddChoice("Ffolk", 12, oPC); + SetLocalString(oPC, "sub_dyn_text_12", + "These humans are descended from Tethyrians who migrated from the Western Heartlands to the Moonshae Isles. They are generally hostile to the Illuskans who are seen as invaders to the Moonshae Isles, though, most of the Ffolk speak Illuskan and use the Thorass script. More so than many other cultural groups, the Ffolk are governed by a strong druidical tradition that permeates their society. Due to their Tethyrian heritage, the ffolk tend to have darker skin and hair when compared to Illuskans or Chondathans.\n\nThe Ffolk receive Talfiric as a bonus language automatically.\n\nDoes this describe you?"); + + AddChoice("Imaskari", 13, oPC); + SetLocalString(oPC, "sub_dyn_text_13", + "Before the rise of the Mulan in the great deserts, the Imaskari ruled in a great empire rumored to stretch across the east. But that is all that remains of the Imaskari - rumors and what little of their culture has been preserved by the Mulan.\n\nDoes this describe you?"); + + AddChoice("Shaaran", 14, oPC); + SetLocalString(oPC, "sub_dyn_text_14", + "The Shaarans are the group of humans native to the steepes of the Shaar region. A simple, nomadic culture based on clan loyalty, they were once considered part of the Shoon Imperium before the ancient empire allowed them to rebel in the fifth century. Shaarans are long-faced with a yellow-tanned skin. They speak Shaaran and most do not read or write.\n\nDoes this describe you?"); + } + + MarkStageSetUp(nStage, oPC); + SetDefaultTokens(); + } + else if (nStage == STAGE_CONFIRM) + { + int nSelected = GetLocalInt(oPC, "sub_selected"); + SetHeader(GetSubraceText(oPC, nSelected)); + AddChoice("Yes!", nSelected, oPC); + AddChoice("No...", -1, oPC); + MarkStageSetUp(nStage, oPC); + SetDefaultTokens(); + } + SetupTokens(); + } + } + else + { + SendMessageToPC(oPC, "DEBUG: Handling response, nStage=" + IntToString(nStage) + ", nChoice=" + IntToString(GetChoice(oPC))); + WriteTimestampedLogEntry("DEBUG: Handling response, nStage=" + IntToString(nStage) + ", nChoice=" + IntToString(GetChoice(oPC))); + int nChoice = GetChoice(oPC); + if (nStage == STAGE_LIST) + { + SendMessageToPC(oPC, "DEBUG: STAGE_LIST choice=" + IntToString(nChoice)); + WriteTimestampedLogEntry("DEBUG: STAGE_LIST choice=" + IntToString(nChoice)); + SetLocalInt(oPC, "sub_selected", nChoice); + nStage = STAGE_CONFIRM; + SetStage(STAGE_CONFIRM, oPC); + } + else if (nStage == STAGE_CONFIRM) + { + SendMessageToPC(oPC, "DEBUG: STAGE_CONFIRM choice=" + IntToString(nChoice)); + WriteTimestampedLogEntry("DEBUG: STAGE_CONFIRM choice=" + IntToString(nChoice)); + if (nChoice >= 0) + { // "Yes!" - grant the subrace/ethnicity + SendMessageToPC(oPC, "DEBUG: STAGE_CONFIRM Yes, sub_selected=" + IntToString(GetLocalInt(oPC, "sub_selected"))); + WriteTimestampedLogEntry("DEBUG: STAGE_CONFIRM Yes, sub_selected=" + IntToString(GetLocalInt(oPC, "sub_selected"))); + string sGrant; + switch (GetLocalInt(oPC, "sub_selected")) + { + // Ethnicities + case 1: + { + //sGrant = "bg_ethn_other"; + SetLocalInt(oItem,"CC0",ETHNICITY_OTHER); + SetLocalInt(oItem,"BG_Select",1); + SetPersistantLocalInt(oPC,"CC0",ETHNICITY_OTHER); + SetPersistantLocalInt(oPC,"BG_Select",1); + break; // Other + } + case 2: + { + //sGrant = "bg_ethn_tethyr"; + SetLocalInt(oItem,"CC0",ETHNICITY_TETHYRIAN); + SetLocalInt(oItem,"BG_Select",2); + SetPersistantLocalInt(oPC,"CC0",ETHNICITY_TETHYRIAN); + SetPersistantLocalInt(oPC,"BG_Select",2); + break; // Tethyrian + } + case 3: + { + //sGrant = "bg_ethn_calish"; + SetLocalInt(oItem,"CC0",ETHNICITY_CALISHITE); + SetLocalInt(oItem,"BG_Select",3); + SetPersistantLocalInt(oPC,"CC0",ETHNICITY_CALISHITE); + SetPersistantLocalInt(oPC,"BG_Select",3); + break; // Calishite + } + case 4: + { + //sGrant = "bg_ethn_illusk"; + SetLocalInt(oItem,"CC0",ETHNICITY_ILLUSKAN); + SetLocalInt(oItem,"BG_Select",4); + SetPersistantLocalInt(oPC,"CC0",ETHNICITY_ILLUSKAN); + SetPersistantLocalInt(oPC,"BG_Select",4); + break; // Illuskan + } + case 5: + { + //sGrant = "bg_ethn_rashemi"; + SetLocalInt(oItem,"CC0",ETHNICITY_RASHEMI); + SetLocalInt(oItem,"BG_Select",5); + SetPersistantLocalInt(oPC,"CC0",ETHNICITY_RASHEMI); + SetPersistantLocalInt(oPC,"BG_Select",5); + break; // Rashemi + } + case 6: + { + //sGrant = "bg_ethn_shou"; + SetLocalInt(oItem,"CC0",ETHNICITY_SHOU); + SetLocalInt(oItem,"BG_Select",6); + SetPersistantLocalInt(oPC,"CC0",ETHNICITY_SHOU); + SetPersistantLocalInt(oPC,"BG_Select",6); + break; // Shou + } + case 7: + { + //sGrant = "bg_ethn_mulan "; + SetLocalInt(oItem,"CC0",ETHNICITY_MULAN); + SetLocalInt(oItem,"BG_Select",7); + SetPersistantLocalInt(oPC,"CC0",ETHNICITY_MULAN); + SetPersistantLocalInt(oPC,"BG_Select",7); + break; // Tashalarran (Mulan) + } + case 8: + { + //sGrant = "bg_ethn_chult"; + SetLocalInt(oItem,"CC0",ETHNICITY_CHULTAN); + SetLocalInt(oItem,"BG_Select",8); + SetPersistantLocalInt(oPC,"CC0",ETHNICITY_CHULTAN); + SetPersistantLocalInt(oPC,"BG_Select",8); + break; // Chultan + } + case 9: + { + //sGrant = "bg_ethn_chond"; + SetLocalInt(oItem,"CC0",ETHNICITY_CHONDATHAN); + SetLocalInt(oItem,"BG_Select",9); + SetPersistantLocalInt(oPC,"CC0",ETHNICITY_CHONDATHAN); + SetPersistantLocalInt(oPC,"BG_Select",9); + break; // Chondathan + } + case 10: + { + //sGrant = "bg_ethn_damar"; + SetLocalInt(oItem,"CC0",ETHNICITY_DAMARAN); + SetLocalInt(oItem,"BG_Select",10); + SetPersistantLocalInt(oPC,"CC0",ETHNICITY_DAMARAN); + SetPersistantLocalInt(oPC,"BG_Select",10); + break; // Damaran + } + case 11: + { + //sGrant = "bg_ethn_mulan"; + SetLocalInt(oItem,"CC0",ETHNICITY_MULAN); + SetLocalInt(oItem,"BG_Select",11); + SetPersistantLocalInt(oPC,"CC0",ETHNICITY_MULAN); + SetPersistantLocalInt(oPC,"BG_Select",11); + break; // Mulan (duplicate) + } + case 12: + { + //sGrant = "bg_ethn_ffolk"; + SetLocalInt(oItem,"CC0",ETHNICITY_FFOLK); + SetLocalInt(oItem,"BG_Select",12); + SetPersistantLocalInt(oPC,"CC0",ETHNICITY_FFOLK); + SetPersistantLocalInt(oPC,"BG_Select",12); + break; // Ffolk + } + case 13: + { + //sGrant = "bg_ethn_imask"; + SetLocalInt(oItem,"CC0",ETHNICITY_IMASKARI); + SetLocalInt(oItem,"BG_Select",13); + SetPersistantLocalInt(oPC,"CC0",ETHNICITY_IMASKARI); + SetPersistantLocalInt(oPC,"BG_Select",13); + break; // Imaskari + } + case 14: + { + SetLocalInt(oItem,"CC0",ETHNICITY_SHAARAN); + SetLocalInt(oItem,"BG_Select",14); + SetPersistantLocalInt(oPC,"CC0",ETHNICITY_SHAARAN); + SetPersistantLocalInt(oPC,"BG_Select",14); + break; // Shaaran + } + + //default: sGrant = ""; break; + } + //f (sGrant != "") ExecuteScript(sGrant, oPC); + + SetPersistantLocalInt(oPC, "CC0_DONE", 1); + AllowExit(DYNCONV_EXIT_FORCE_EXIT, TRUE, oPC); + DelayCommand(0.1f, StartDynamicConversation("bg_soclass_cv", oPC)); + + } + else + { // "No..." - return to list + SendMessageToPC(oPC, "DEBUG: STAGE_CONFIRM No"); + WriteTimestampedLogEntry("DEBUG: STAGE_CONFIRM No"); + MarkStageNotSetUp(STAGE_LIST, oPC); // Mark list stage for rebuilding + MarkStageNotSetUp(STAGE_CONFIRM, oPC); // Mark confirm stage for rebuilding + SetStage(STAGE_LIST, oPC); + } + } + } +} + */ \ No newline at end of file diff --git a/src/nss/deity_akadi.nss b/src/nss/deity_akadi.nss new file mode 100644 index 0000000..870e429 --- /dev/null +++ b/src/nss/deity_akadi.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Akadi; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_amaun.nss b/src/nss/deity_amaun.nss new file mode 100644 index 0000000..dbf1590 --- /dev/null +++ b/src/nss/deity_amaun.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Amaunator; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_auril.nss b/src/nss/deity_auril.nss new file mode 100644 index 0000000..6cdbd90 --- /dev/null +++ b/src/nss/deity_auril.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Auril; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_azuth.nss b/src/nss/deity_azuth.nss new file mode 100644 index 0000000..ba3e5d3 --- /dev/null +++ b/src/nss/deity_azuth.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Azuth; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_bane.nss b/src/nss/deity_bane.nss new file mode 100644 index 0000000..bbd3a19 --- /dev/null +++ b/src/nss/deity_bane.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Bane; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_beshaba.nss b/src/nss/deity_beshaba.nss new file mode 100644 index 0000000..1776aeb --- /dev/null +++ b/src/nss/deity_beshaba.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Beshaba; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_bhaal.nss b/src/nss/deity_bhaal.nss new file mode 100644 index 0000000..7b0821c --- /dev/null +++ b/src/nss/deity_bhaal.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Bhaal; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_chauntea.nss b/src/nss/deity_chauntea.nss new file mode 100644 index 0000000..621f55b --- /dev/null +++ b/src/nss/deity_chauntea.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Chauntea; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_cyric.nss b/src/nss/deity_cyric.nss new file mode 100644 index 0000000..34bb14f --- /dev/null +++ b/src/nss/deity_cyric.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Cyric; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_deneir.nss b/src/nss/deity_deneir.nss new file mode 100644 index 0000000..02b9a46 --- /dev/null +++ b/src/nss/deity_deneir.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Deneir; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_dwarf.nss b/src/nss/deity_dwarf.nss new file mode 100644 index 0000000..d942082 --- /dev/null +++ b/src/nss/deity_dwarf.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Dwarven_Powers; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_eldath.nss b/src/nss/deity_eldath.nss new file mode 100644 index 0000000..cb5c262 --- /dev/null +++ b/src/nss/deity_eldath.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Eldath; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_elven.nss b/src/nss/deity_elven.nss new file mode 100644 index 0000000..58be3b6 --- /dev/null +++ b/src/nss/deity_elven.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Elven_Powers; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_finder.nss b/src/nss/deity_finder.nss new file mode 100644 index 0000000..a63e577 --- /dev/null +++ b/src/nss/deity_finder.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Finder_Wyvernspur; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_garagos.nss b/src/nss/deity_garagos.nss new file mode 100644 index 0000000..a9ee130 --- /dev/null +++ b/src/nss/deity_garagos.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Garagos; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_gargauth.nss b/src/nss/deity_gargauth.nss new file mode 100644 index 0000000..cdfb7dc --- /dev/null +++ b/src/nss/deity_gargauth.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Gargauth; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_gnome.nss b/src/nss/deity_gnome.nss new file mode 100644 index 0000000..8b8fecb --- /dev/null +++ b/src/nss/deity_gnome.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Gnomish_Powers; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_gond.nss b/src/nss/deity_gond.nss new file mode 100644 index 0000000..cec9324 --- /dev/null +++ b/src/nss/deity_gond.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Gond; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_grumbar.nss b/src/nss/deity_grumbar.nss new file mode 100644 index 0000000..357ec07 --- /dev/null +++ b/src/nss/deity_grumbar.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Grumbar; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_gwaeron.nss b/src/nss/deity_gwaeron.nss new file mode 100644 index 0000000..c658670 --- /dev/null +++ b/src/nss/deity_gwaeron.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Gwaeron_Windstrom; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_half.nss b/src/nss/deity_half.nss new file mode 100644 index 0000000..f7cc057 --- /dev/null +++ b/src/nss/deity_half.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Halfling_Powers; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_helm.nss b/src/nss/deity_helm.nss new file mode 100644 index 0000000..8ae9c9a --- /dev/null +++ b/src/nss/deity_helm.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Helm; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_hoar.nss b/src/nss/deity_hoar.nss new file mode 100644 index 0000000..e1c547a --- /dev/null +++ b/src/nss/deity_hoar.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Hoar; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_ibrandul.nss b/src/nss/deity_ibrandul.nss new file mode 100644 index 0000000..bcfcf50 --- /dev/null +++ b/src/nss/deity_ibrandul.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Ibrandul; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_ilmater.nss b/src/nss/deity_ilmater.nss new file mode 100644 index 0000000..181566c --- /dev/null +++ b/src/nss/deity_ilmater.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Ilmater; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_ishtisha.nss b/src/nss/deity_ishtisha.nss new file mode 100644 index 0000000..8485ed0 --- /dev/null +++ b/src/nss/deity_ishtisha.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Ishtisha; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_jergal.nss b/src/nss/deity_jergal.nss new file mode 100644 index 0000000..6e5748a --- /dev/null +++ b/src/nss/deity_jergal.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Jergal; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_karsus.nss b/src/nss/deity_karsus.nss new file mode 100644 index 0000000..e2b36a5 --- /dev/null +++ b/src/nss/deity_karsus.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Karsus; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_kelemvor.nss b/src/nss/deity_kelemvor.nss new file mode 100644 index 0000000..a411f67 --- /dev/null +++ b/src/nss/deity_kelemvor.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Kelemvor; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_kossuth.nss b/src/nss/deity_kossuth.nss new file mode 100644 index 0000000..ac9435b --- /dev/null +++ b/src/nss/deity_kossuth.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Kossuth; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_lathander.nss b/src/nss/deity_lathander.nss new file mode 100644 index 0000000..1c5e83f --- /dev/null +++ b/src/nss/deity_lathander.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Lathander; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_leira.nss b/src/nss/deity_leira.nss new file mode 100644 index 0000000..a134bf4 --- /dev/null +++ b/src/nss/deity_leira.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Leira; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_lliira.nss b/src/nss/deity_lliira.nss new file mode 100644 index 0000000..9a766f7 --- /dev/null +++ b/src/nss/deity_lliira.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Lliira; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_loviatar.nss b/src/nss/deity_loviatar.nss new file mode 100644 index 0000000..c5de7cc --- /dev/null +++ b/src/nss/deity_loviatar.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Loviatar; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_lurue.nss b/src/nss/deity_lurue.nss new file mode 100644 index 0000000..bf1aabe --- /dev/null +++ b/src/nss/deity_lurue.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Lurue; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_malar.nss b/src/nss/deity_malar.nss new file mode 100644 index 0000000..277dc31 --- /dev/null +++ b/src/nss/deity_malar.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Malar; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_mask.nss b/src/nss/deity_mask.nss new file mode 100644 index 0000000..784a9e3 --- /dev/null +++ b/src/nss/deity_mask.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Mask; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_mielikki.nss b/src/nss/deity_mielikki.nss new file mode 100644 index 0000000..8a07b50 --- /dev/null +++ b/src/nss/deity_mielikki.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Mielikki; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_milil.nss b/src/nss/deity_milil.nss new file mode 100644 index 0000000..4d177f7 --- /dev/null +++ b/src/nss/deity_milil.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Milil; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_moander.nss b/src/nss/deity_moander.nss new file mode 100644 index 0000000..7e7ecca --- /dev/null +++ b/src/nss/deity_moander.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Moander; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_myrkul.nss b/src/nss/deity_myrkul.nss new file mode 100644 index 0000000..cfc6bf9 --- /dev/null +++ b/src/nss/deity_myrkul.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Myrkul; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_mystra.nss b/src/nss/deity_mystra.nss new file mode 100644 index 0000000..2d28ea1 --- /dev/null +++ b/src/nss/deity_mystra.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Mystra; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_nobanion.nss b/src/nss/deity_nobanion.nss new file mode 100644 index 0000000..92aa878 --- /dev/null +++ b/src/nss/deity_nobanion.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Nobanion; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_oghma.nss b/src/nss/deity_oghma.nss new file mode 100644 index 0000000..4ba1cee --- /dev/null +++ b/src/nss/deity_oghma.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Oghma; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_orc.nss b/src/nss/deity_orc.nss new file mode 100644 index 0000000..3db14db --- /dev/null +++ b/src/nss/deity_orc.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Orcish_Powers; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_red_knight.nss b/src/nss/deity_red_knight.nss new file mode 100644 index 0000000..3210256 --- /dev/null +++ b/src/nss/deity_red_knight.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Red_Knight; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_savras.nss b/src/nss/deity_savras.nss new file mode 100644 index 0000000..f1d479d --- /dev/null +++ b/src/nss/deity_savras.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Savras; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_selune.nss b/src/nss/deity_selune.nss new file mode 100644 index 0000000..56fa578 --- /dev/null +++ b/src/nss/deity_selune.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Selune; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_shar.nss b/src/nss/deity_shar.nss new file mode 100644 index 0000000..184d10d --- /dev/null +++ b/src/nss/deity_shar.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Shar; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_sharess.nss b/src/nss/deity_sharess.nss new file mode 100644 index 0000000..99443cb --- /dev/null +++ b/src/nss/deity_sharess.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Sharess; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_shaundakul.nss b/src/nss/deity_shaundakul.nss new file mode 100644 index 0000000..bf35959 --- /dev/null +++ b/src/nss/deity_shaundakul.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Shaundakul; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_shiallia.nss b/src/nss/deity_shiallia.nss new file mode 100644 index 0000000..adbe04c --- /dev/null +++ b/src/nss/deity_shiallia.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Shiallia; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_siamorphe.nss b/src/nss/deity_siamorphe.nss new file mode 100644 index 0000000..d0a16ed --- /dev/null +++ b/src/nss/deity_siamorphe.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Siamorphe; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_silvanus.nss b/src/nss/deity_silvanus.nss new file mode 100644 index 0000000..b5521af --- /dev/null +++ b/src/nss/deity_silvanus.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Silvanus; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_sune.nss b/src/nss/deity_sune.nss new file mode 100644 index 0000000..d3e6cd5 --- /dev/null +++ b/src/nss/deity_sune.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Sune; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_talona.nss b/src/nss/deity_talona.nss new file mode 100644 index 0000000..726f76b --- /dev/null +++ b/src/nss/deity_talona.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Talona; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_talos.nss b/src/nss/deity_talos.nss new file mode 100644 index 0000000..d09e6bd --- /dev/null +++ b/src/nss/deity_talos.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Talos; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_tempus.nss b/src/nss/deity_tempus.nss new file mode 100644 index 0000000..3a5d69e --- /dev/null +++ b/src/nss/deity_tempus.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Tempus; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_torm.nss b/src/nss/deity_torm.nss new file mode 100644 index 0000000..867a455 --- /dev/null +++ b/src/nss/deity_torm.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Torm; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_tymora.nss b/src/nss/deity_tymora.nss new file mode 100644 index 0000000..fff453d --- /dev/null +++ b/src/nss/deity_tymora.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Tymora; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_tyr.nss b/src/nss/deity_tyr.nss new file mode 100644 index 0000000..8a817c1 --- /dev/null +++ b/src/nss/deity_tyr.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Tyr; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_ulutiu.nss b/src/nss/deity_ulutiu.nss new file mode 100644 index 0000000..bc13fb8 --- /dev/null +++ b/src/nss/deity_ulutiu.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Ulutiu; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_umberlee.nss b/src/nss/deity_umberlee.nss new file mode 100644 index 0000000..2257fc1 --- /dev/null +++ b/src/nss/deity_umberlee.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Umberlee; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_underdark.nss b/src/nss/deity_underdark.nss new file mode 100644 index 0000000..0d0ba84 --- /dev/null +++ b/src/nss/deity_underdark.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Underdark_Powers; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_valkur.nss b/src/nss/deity_valkur.nss new file mode 100644 index 0000000..8ad8606 --- /dev/null +++ b/src/nss/deity_valkur.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Valkur; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_velsharoon.nss b/src/nss/deity_velsharoon.nss new file mode 100644 index 0000000..40b15fe --- /dev/null +++ b/src/nss/deity_velsharoon.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Velsharoon; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_waukeen.nss b/src/nss/deity_waukeen.nss new file mode 100644 index 0000000..bd94209 --- /dev/null +++ b/src/nss/deity_waukeen.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Waukeen; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/deity_xvim.nss b/src/nss/deity_xvim.nss new file mode 100644 index 0000000..1247d4c --- /dev/null +++ b/src/nss/deity_xvim.nss @@ -0,0 +1,22 @@ +//:://///////////////////////////////////////////// +//:: FileName BG 1 +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// +//:: Created By: David Novotny +//:: Created On: 10/20/17 +//::////////////////////////////////////////////// +#include "NWNX_Creature" +#include "te_afflic_func" + +void main() +{ + object oPC = GetPCSpeaker(); + int iFeat = DEITY_Xvim; + /* -- Rearranged to apply at end of CharCreation: LordValinar(12/18/2023) -- + NWNX_Creature_AddFeat(oPC,iFeat); + */ + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"CC3",iFeat); + SetLocalInt(oItem,"BG_Select",4); + ActionStartConversation(oPC,"bg_language",TRUE); +} diff --git a/src/nss/inc_alignment.nss b/src/nss/inc_alignment.nss new file mode 100644 index 0000000..dab145f --- /dev/null +++ b/src/nss/inc_alignment.nss @@ -0,0 +1,37 @@ +// inc_alignment.nss +// Nine-alignment constants for general scripting +const int ALIGNMENT_LAWFUL_GOOD = 0; +const int ALIGNMENT_LAWFUL_NEUTRAL = 1; +const int ALIGNMENT_LAWFUL_EVIL = 2; +const int ALIGNMENT_NEUTRAL_GOOD = 3; +const int ALIGNMENT_TRUE_NEUTRAL = 4; +const int ALIGNMENT_NEUTRAL_EVIL = 5; +const int ALIGNMENT_CHAOTIC_GOOD = 6; +const int ALIGNMENT_CHAOTIC_NEUTRAL = 7; +const int ALIGNMENT_CHAOTIC_EVIL = 8; + +// Get a creature’s alignment. +int GetCreaturesAlignment(object oCreature) +{ + int nGE = GetAlignmentGoodEvil(oCreature); + int nLC = GetAlignmentLawChaos(oCreature); + int nBase; + + switch (nGE) + { + case ALIGNMENT_GOOD: nBase = 0; break; + case ALIGNMENT_NEUTRAL: nBase = 1; break; + case ALIGNMENT_EVIL: nBase = 2; break; + default: nBase = 1; // fallback to neutral on error + } + + switch (nLC) + { + case ALIGNMENT_LAWFUL: nBase += 0; break; + case ALIGNMENT_NEUTRAL: nBase += 3; break; + case ALIGNMENT_CHAOTIC: nBase += 6; break; + default: nBase += 3; // fallback to neutral on error + } + + return nBase; // returns one of the nine ALIGNMENT_* constants above +} \ No newline at end of file diff --git a/src/nss/l__prep.nss b/src/nss/l__prep.nss new file mode 100644 index 0000000..f74b00f --- /dev/null +++ b/src/nss/l__prep.nss @@ -0,0 +1,19 @@ +#include "lv_inc" +/* + Modified by: LordValinar (12/18/2023) + Switched method to arrays (stored until applied at the + Character Creation's finale) +*/ +void main() +{ + object oPC = GetPCSpeaker(); + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + + int nInt = GetAbilityModifier(ABILITY_INTELLIGENCE,oPC); + + SetLocalInt(oItem,"nIntMod",nInt); // Is this even used? -LV + SetLocalInt(oItem,"nLangSelect",nInt); + + // Resets the languages array + SetLocalString(oItem, "ARR_LANGUAGES", ""); +} diff --git a/src/nss/l_abyss_chk.nss b/src/nss/l_abyss_chk.nss new file mode 100644 index 0000000..6dac2db --- /dev/null +++ b/src/nss/l_abyss_chk.nss @@ -0,0 +1,26 @@ +#include "lv_inc" +/* + Modified by: LordValinar (12/18/2023) + Switched method to arrays (stored until applied at the + Character Creation's finale) +*/ +int StartingConditional() +{ + object oPC = GetPCSpeaker(); + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + string sArr = GetLocalString(oItem, "ARR_LANGUAGES"); + // Make sure the player has the required feats + return ( + GetLocalInt(oItem,"nLangSelect") > 0 && // Points to spend + ArrayLength(sArr) < 3 && // Array not full + ArrayIndex(sArr, "11") == -1 // This lang not already picked + ); +/* -- Original Code -- + if(GetLocalInt(oItem,"11") != 1 && GetLocalInt(oItem,"nLangSelect") >= 1) + { + return TRUE; + } + return FALSE; +*/ +} + diff --git a/src/nss/l_abyssal.nss b/src/nss/l_abyssal.nss new file mode 100644 index 0000000..093faaa --- /dev/null +++ b/src/nss/l_abyssal.nss @@ -0,0 +1,18 @@ +#include "lv_inc" +/* + Modified by: LordValinar (12/18/2023) + Switched method to arrays (stored until applied at the + Character Creation's finale) +*/ +void main() +{ + object oPC = GetPCSpeaker(); + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"BG_Select",5); + string sArr = GetLocalString(oItem, "ARR_LANGUAGES"); + sArr = ArrayPush(sArr, "11"); + SetLocalString(oItem, "ARR_LANGUAGES", sArr); +// SetLocalInt(oItem,"11",1); // Abyssal + int nInt = GetLocalInt(oItem,"nLangSelect") - 1; + SetLocalInt(oItem,"nLangSelect", nInt); +} diff --git a/src/nss/l_abyssal_chk.nss b/src/nss/l_abyssal_chk.nss new file mode 100644 index 0000000..6dac2db --- /dev/null +++ b/src/nss/l_abyssal_chk.nss @@ -0,0 +1,26 @@ +#include "lv_inc" +/* + Modified by: LordValinar (12/18/2023) + Switched method to arrays (stored until applied at the + Character Creation's finale) +*/ +int StartingConditional() +{ + object oPC = GetPCSpeaker(); + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + string sArr = GetLocalString(oItem, "ARR_LANGUAGES"); + // Make sure the player has the required feats + return ( + GetLocalInt(oItem,"nLangSelect") > 0 && // Points to spend + ArrayLength(sArr) < 3 && // Array not full + ArrayIndex(sArr, "11") == -1 // This lang not already picked + ); +/* -- Original Code -- + if(GetLocalInt(oItem,"11") != 1 && GetLocalInt(oItem,"nLangSelect") >= 1) + { + return TRUE; + } + return FALSE; +*/ +} + diff --git a/src/nss/l_alzhedo.nss b/src/nss/l_alzhedo.nss new file mode 100644 index 0000000..2b7f76c --- /dev/null +++ b/src/nss/l_alzhedo.nss @@ -0,0 +1,18 @@ +#include "lv_inc" +/* + Modified by: LordValinar (12/18/2023) + Switched method to arrays (stored until applied at the + Character Creation's finale) +*/ +void main() +{ + object oPC = GetPCSpeaker(); + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"BG_Select",5); + string sArr = GetLocalString(oItem, "ARR_LANGUAGES"); + sArr = ArrayPush(sArr, "23"); + SetLocalString(oItem, "ARR_LANGUAGES", sArr); +// SetLocalInt(oItem,23",1); // Alzhedo + int nInt = GetLocalInt(oItem,"nLangSelect") - 1; + SetLocalInt(oItem,"nLangSelect", nInt); +} diff --git a/src/nss/l_alzhedo_chk.nss b/src/nss/l_alzhedo_chk.nss new file mode 100644 index 0000000..267e1e6 --- /dev/null +++ b/src/nss/l_alzhedo_chk.nss @@ -0,0 +1,26 @@ +#include "lv_inc" +/* + Modified by: LordValinar (12/18/2023) + Switched method to arrays (stored until applied at the + Character Creation's finale) +*/ +int StartingConditional() +{ + object oPC = GetPCSpeaker(); + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + string sArr = GetLocalString(oItem, "ARR_LANGUAGES"); + // Make sure the player has the required feats + return ( + GetLocalInt(oItem,"nLangSelect") > 0 && // Points to spend + ArrayLength(sArr) < 3 && // Array not full + ArrayIndex(sArr, "23") == -1 // This lang not already picked + ); +/* -- Original Code -- + if(GetLocalInt(oItem,"23") != 1 && GetLocalInt(oItem,"nLangSelect") >= 1) + { + return TRUE; + } + return FALSE; +*/ +} + diff --git a/src/nss/l_chondathan.nss b/src/nss/l_chondathan.nss new file mode 100644 index 0000000..f2f5397 --- /dev/null +++ b/src/nss/l_chondathan.nss @@ -0,0 +1,18 @@ +#include "lv_inc" +/* + Modified by: LordValinar (12/18/2023) + Switched method to arrays (stored until applied at the + Character Creation's finale) +*/ +void main() +{ + object oPC = GetPCSpeaker(); + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"BG_Select",5); + string sArr = GetLocalString(oItem, "ARR_LANGUAGES"); + sArr = ArrayPush(sArr, "53"); + SetLocalString(oItem, "ARR_LANGUAGES", sArr); +// SetLocalInt(oItem,"53",1); // Chondathan + int nInt = GetLocalInt(oItem,"nLangSelect") - 1; + SetLocalInt(oItem,"nLangSelect", nInt); +} diff --git a/src/nss/l_chondathan_chk.nss b/src/nss/l_chondathan_chk.nss new file mode 100644 index 0000000..ffdc259 --- /dev/null +++ b/src/nss/l_chondathan_chk.nss @@ -0,0 +1,26 @@ +#include "lv_inc" +/* + Modified by: LordValinar (12/18/2023) + Switched method to arrays (stored until applied at the + Character Creation's finale) +*/ +int StartingConditional() +{ + object oPC = GetPCSpeaker(); + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + string sArr = GetLocalString(oItem, "ARR_LANGUAGES"); + // Make sure the player has the required feats + return ( + GetLocalInt(oItem,"nLangSelect") > 0 && // Points to spend + ArrayLength(sArr) < 3 && // Array not full + ArrayIndex(sArr, "53") == -1 // This lang not already picked + ); +/* -- Original Code -- + if(GetLocalInt(oItem,"53") != 1 && GetLocalInt(oItem,"nLangSelect") >= 1) + { + return TRUE; + } + return FALSE; +*/ +} + diff --git a/src/nss/l_damaran.nss b/src/nss/l_damaran.nss new file mode 100644 index 0000000..8d4b28e --- /dev/null +++ b/src/nss/l_damaran.nss @@ -0,0 +1,18 @@ +#include "lv_inc" +/* + Modified by: LordValinar (12/18/2023) + Switched method to arrays (stored until applied at the + Character Creation's finale) +*/ +void main() +{ + object oPC = GetPCSpeaker(); + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"BG_Select",5); + string sArr = GetLocalString(oItem, "ARR_LANGUAGES"); + sArr = ArrayPush(sArr, "56"); + SetLocalString(oItem, "ARR_LANGUAGES", sArr); +// SetLocalInt(oItem,"56",1); // Damaran + int nInt = GetLocalInt(oItem,"nLangSelect") - 1; + SetLocalInt(oItem,"nLangSelect", nInt); +} diff --git a/src/nss/l_damaran_chk.nss b/src/nss/l_damaran_chk.nss new file mode 100644 index 0000000..58908a8 --- /dev/null +++ b/src/nss/l_damaran_chk.nss @@ -0,0 +1,26 @@ +#include "lv_inc" +/* + Modified by: LordValinar (12/18/2023) + Switched method to arrays (stored until applied at the + Character Creation's finale) +*/ +int StartingConditional() +{ + object oPC = GetPCSpeaker(); + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + string sArr = GetLocalString(oItem, "ARR_LANGUAGES"); + // Make sure the player has the required feats + return ( + GetLocalInt(oItem,"nLangSelect") > 0 && // Points to spend + ArrayLength(sArr) < 3 && // Array not full + ArrayIndex(sArr, "56") == -1 // This lang not already picked + ); +/* -- Original Code -- + if(GetLocalInt(oItem,"56") != 1 && GetLocalInt(oItem,"nLangSelect") >= 1) + { + return TRUE; + } + return FALSE; +*/ +} + diff --git a/src/nss/l_duergar.nss b/src/nss/l_duergar.nss new file mode 100644 index 0000000..25ebf12 --- /dev/null +++ b/src/nss/l_duergar.nss @@ -0,0 +1,18 @@ +#include "lv_inc" +/* + Modified by: LordValinar (12/18/2023) + Switched method to arrays (stored until applied at the + Character Creation's finale) +*/ +void main() +{ + object oPC = GetPCSpeaker(); + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"BG_Select",5); + string sArr = GetLocalString(oItem, "ARR_LANGUAGES"); + sArr = ArrayPush(sArr, "64"); + SetLocalString(oItem, "ARR_LANGUAGES", sArr); +// SetLocalInt(oItem,"64",1); // Duergar + int nInt = GetLocalInt(oItem,"nLangSelect") - 1; + SetLocalInt(oItem,"nLangSelect", nInt); +} diff --git a/src/nss/l_duergar_chk.nss b/src/nss/l_duergar_chk.nss new file mode 100644 index 0000000..4817cb9 --- /dev/null +++ b/src/nss/l_duergar_chk.nss @@ -0,0 +1,26 @@ +#include "lv_inc" +/* + Modified by: LordValinar (12/18/2023) + Switched method to arrays (stored until applied at the + Character Creation's finale) +*/ +int StartingConditional() +{ + object oPC = GetPCSpeaker(); + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + string sArr = GetLocalString(oItem, "ARR_LANGUAGES"); + // Make sure the player has the required feats + return ( + GetLocalInt(oItem,"nLangSelect") > 0 && // Points to spend + ArrayLength(sArr) < 3 && // Array not full + ArrayIndex(sArr, "64") == -1 // This lang not already picked + ); +/* -- Original Code -- + if(GetLocalInt(oItem,"64") != 1 && GetLocalInt(oItem,"nLangSelect") >= 1) + { + return TRUE; + } + return FALSE; +*/ +} + diff --git a/src/nss/l_dwarven.nss b/src/nss/l_dwarven.nss new file mode 100644 index 0000000..410eccb --- /dev/null +++ b/src/nss/l_dwarven.nss @@ -0,0 +1,18 @@ +#include "lv_inc" +/* + Modified by: LordValinar (12/18/2023) + Switched method to arrays (stored until applied at the + Character Creation's finale) +*/ +void main() +{ + object oPC = GetPCSpeaker(); + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"BG_Select",5); + string sArr = GetLocalString(oItem, "ARR_LANGUAGES"); + sArr = ArrayPush(sArr, "4"); + SetLocalString(oItem, "ARR_LANGUAGES", sArr); +// SetLocalInt(oItem,"4",1); // Dwarven + int nInt = GetLocalInt(oItem,"nLangSelect") - 1; + SetLocalInt(oItem,"nLangSelect", nInt); +} diff --git a/src/nss/l_dwarven_chk.nss b/src/nss/l_dwarven_chk.nss new file mode 100644 index 0000000..59eb7a3 --- /dev/null +++ b/src/nss/l_dwarven_chk.nss @@ -0,0 +1,26 @@ +#include "lv_inc" +/* + Modified by: LordValinar (12/18/2023) + Switched method to arrays (stored until applied at the + Character Creation's finale) +*/ +int StartingConditional() +{ + object oPC = GetPCSpeaker(); + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + string sArr = GetLocalString(oItem, "ARR_LANGUAGES"); + // Make sure the player has the required feats + return ( + GetLocalInt(oItem,"nLangSelect") > 0 && // Points to spend + ArrayLength(sArr) < 3 && // Array not full + ArrayIndex(sArr, "4") == -1 // This lang not already picked + ); +/* -- Original Code -- + if(GetLocalInt(oItem,"4") != 1 && GetLocalInt(oItem,"nLangSelect") >= 1) + { + return TRUE; + } + return FALSE; +*/ +} + diff --git a/src/nss/l_elven.nss b/src/nss/l_elven.nss new file mode 100644 index 0000000..faab872 --- /dev/null +++ b/src/nss/l_elven.nss @@ -0,0 +1,18 @@ +#include "lv_inc" +/* + Modified by: LordValinar (12/18/2023) + Switched method to arrays (stored until applied at the + Character Creation's finale) +*/ +void main() +{ + object oPC = GetPCSpeaker(); + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"BG_Select",5); + string sArr = GetLocalString(oItem, "ARR_LANGUAGES"); + sArr = ArrayPush(sArr, "1"); + SetLocalString(oItem, "ARR_LANGUAGES", sArr); +// SetLocalInt(oItem,"1",1); // Elven + int nInt = GetLocalInt(oItem,"nLangSelect") - 1; + SetLocalInt(oItem,"nLangSelect", nInt); +} diff --git a/src/nss/l_elven_chk.nss b/src/nss/l_elven_chk.nss new file mode 100644 index 0000000..731b684 --- /dev/null +++ b/src/nss/l_elven_chk.nss @@ -0,0 +1,26 @@ +#include "lv_inc" +/* + Modified by: LordValinar (12/18/2023) + Switched method to arrays (stored until applied at the + Character Creation's finale) +*/ +int StartingConditional() +{ + object oPC = GetPCSpeaker(); + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + string sArr = GetLocalString(oItem, "ARR_LANGUAGES"); + // Make sure the player has the required feats + return ( + GetLocalInt(oItem,"nLangSelect") > 0 && // Points to spend + ArrayLength(sArr) < 3 && // Array not full + ArrayIndex(sArr, "1") == -1 // This lang not already picked + ); +/* -- Original Code -- + if(GetLocalInt(oItem,"1") != 1 && GetLocalInt(oItem,"nLangSelect") >= 1) + { + return TRUE; + } + return FALSE; +*/ +} + diff --git a/src/nss/l_gnomish.nss b/src/nss/l_gnomish.nss new file mode 100644 index 0000000..07772bc --- /dev/null +++ b/src/nss/l_gnomish.nss @@ -0,0 +1,18 @@ +#include "lv_inc" +/* + Modified by: LordValinar (12/18/2023) + Switched method to arrays (stored until applied at the + Character Creation's finale) +*/ +void main() +{ + object oPC = GetPCSpeaker(); + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"BG_Select",5); + string sArr = GetLocalString(oItem, "ARR_LANGUAGES"); + sArr = ArrayPush(sArr, "2"); + SetLocalString(oItem, "ARR_LANGUAGES", sArr); +// SetLocalInt(oItem,"2",1); // Gnomish + int nInt = GetLocalInt(oItem,"nLangSelect") - 1; + SetLocalInt(oItem,"nLangSelect", nInt); +} diff --git a/src/nss/l_gnomish_chk.nss b/src/nss/l_gnomish_chk.nss new file mode 100644 index 0000000..8c7812b --- /dev/null +++ b/src/nss/l_gnomish_chk.nss @@ -0,0 +1,26 @@ +#include "lv_inc" +/* + Modified by: LordValinar (12/18/2023) + Switched method to arrays (stored until applied at the + Character Creation's finale) +*/ +int StartingConditional() +{ + object oPC = GetPCSpeaker(); + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + string sArr = GetLocalString(oItem, "ARR_LANGUAGES"); + // Make sure the player has the required feats + return ( + GetLocalInt(oItem,"nLangSelect") > 0 && // Points to spend + ArrayLength(sArr) < 3 && // Array not full + ArrayIndex(sArr, "2") == -1 // This lang not already picked + ); +/* -- Original Code -- + if(GetLocalInt(oItem,"2") != 1 && GetLocalInt(oItem,"nLangSelect") >= 1) + { + return TRUE; + } + return FALSE; +*/ +} + diff --git a/src/nss/l_halfling.nss b/src/nss/l_halfling.nss new file mode 100644 index 0000000..6a6b3ce --- /dev/null +++ b/src/nss/l_halfling.nss @@ -0,0 +1,18 @@ +#include "lv_inc" +/* + Modified by: LordValinar (12/18/2023) + Switched method to arrays (stored until applied at the + Character Creation's finale) +*/ +void main() +{ + object oPC = GetPCSpeaker(); + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"BG_Select",5); + string sArr = GetLocalString(oItem, "ARR_LANGUAGES"); + sArr = ArrayPush(sArr, "3"); + SetLocalString(oItem, "ARR_LANGUAGES", sArr); +// SetLocalInt(oItem,"3",1); // Halfling + int nInt = GetLocalInt(oItem,"nLangSelect") - 1; + SetLocalInt(oItem,"nLangSelect", nInt); +} diff --git a/src/nss/l_halfling_chk.nss b/src/nss/l_halfling_chk.nss new file mode 100644 index 0000000..3cf5dcf --- /dev/null +++ b/src/nss/l_halfling_chk.nss @@ -0,0 +1,26 @@ +#include "lv_inc" +/* + Modified by: LordValinar (12/18/2023) + Switched method to arrays (stored until applied at the + Character Creation's finale) +*/ +int StartingConditional() +{ + object oPC = GetPCSpeaker(); + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + string sArr = GetLocalString(oItem, "ARR_LANGUAGES"); + // Make sure the player has the required feats + return ( + GetLocalInt(oItem,"nLangSelect") > 0 && // Points to spend + ArrayLength(sArr) < 3 && // Array not full + ArrayIndex(sArr, "3") == -1 // This lang not already picked + ); +/* -- Original Code -- + if(GetLocalInt(oItem,"3") != 1 && GetLocalInt(oItem,"nLangSelect") >= 1) + { + return TRUE; + } + return FALSE; +*/ +} + diff --git a/src/nss/l_illuskan.nss b/src/nss/l_illuskan.nss new file mode 100644 index 0000000..a652d90 --- /dev/null +++ b/src/nss/l_illuskan.nss @@ -0,0 +1,18 @@ +#include "lv_inc" +/* + Modified by: LordValinar (12/18/2023) + Switched method to arrays (stored until applied at the + Character Creation's finale) +*/ +void main() +{ + object oPC = GetPCSpeaker(); + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"BG_Select",5); + string sArr = GetLocalString(oItem, "ARR_LANGUAGES"); + sArr = ArrayPush(sArr, "22"); + SetLocalString(oItem, "ARR_LANGUAGES", sArr); +// SetLocalInt(oItem,"22",1); // Illuskan + int nInt = GetLocalInt(oItem,"nLangSelect") - 1; + SetLocalInt(oItem,"nLangSelect", nInt); +} diff --git a/src/nss/l_illuskan_chk.nss b/src/nss/l_illuskan_chk.nss new file mode 100644 index 0000000..e32054b --- /dev/null +++ b/src/nss/l_illuskan_chk.nss @@ -0,0 +1,26 @@ +#include "lv_inc" +/* + Modified by: LordValinar (12/18/2023) + Switched method to arrays (stored until applied at the + Character Creation's finale) +*/ +int StartingConditional() +{ + object oPC = GetPCSpeaker(); + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + string sArr = GetLocalString(oItem, "ARR_LANGUAGES"); + // Make sure the player has the required feats + return ( + GetLocalInt(oItem,"nLangSelect") > 0 && // Points to spend + ArrayLength(sArr) < 3 && // Array not full + ArrayIndex(sArr, "22") == -1 // This lang not already picked + ); +/* -- Original Code -- + if(GetLocalInt(oItem,"22") != 1 && GetLocalInt(oItem,"nLangSelect") >= 1) + { + return TRUE; + } + return FALSE; +*/ +} + diff --git a/src/nss/l_infernal.nss b/src/nss/l_infernal.nss new file mode 100644 index 0000000..b92448d --- /dev/null +++ b/src/nss/l_infernal.nss @@ -0,0 +1,18 @@ +#include "lv_inc" +/* + Modified by: LordValinar (12/18/2023) + Switched method to arrays (stored until applied at the + Character Creation's finale) +*/ +void main() +{ + object oPC = GetPCSpeaker(); + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"BG_Select",5); + string sArr = GetLocalString(oItem, "ARR_LANGUAGES"); + sArr = ArrayPush(sArr, "12"); + SetLocalString(oItem, "ARR_LANGUAGES", sArr); +// SetLocalInt(oItem,12",1); // Infernal + int nInt = GetLocalInt(oItem,"nLangSelect") - 1; + SetLocalInt(oItem,"nLangSelect", nInt); +} diff --git a/src/nss/l_infernal_chk.nss b/src/nss/l_infernal_chk.nss new file mode 100644 index 0000000..5a9860f --- /dev/null +++ b/src/nss/l_infernal_chk.nss @@ -0,0 +1,26 @@ +#include "lv_inc" +/* + Modified by: LordValinar (12/18/2023) + Switched method to arrays (stored until applied at the + Character Creation's finale) +*/ +int StartingConditional() +{ + object oPC = GetPCSpeaker(); + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + string sArr = GetLocalString(oItem, "ARR_LANGUAGES"); + // Make sure the player has the required feats + return ( + GetLocalInt(oItem,"nLangSelect") > 0 && // Points to spend + ArrayLength(sArr) < 3 && // Array not full + ArrayIndex(sArr, "12") == -1 // This lang not already picked + ); +/* -- Original Code -- + if(GetLocalInt(oItem,"12") != 1 && GetLocalInt(oItem,"nLangSelect") >= 1) + { + return TRUE; + } + return FALSE; +*/ +} + diff --git a/src/nss/l_mulhorandi.nss b/src/nss/l_mulhorandi.nss new file mode 100644 index 0000000..7aa8bd4 --- /dev/null +++ b/src/nss/l_mulhorandi.nss @@ -0,0 +1,18 @@ +#include "lv_inc" +/* + Modified by: LordValinar (12/18/2023) + Switched method to arrays (stored until applied at the + Character Creation's finale) +*/ +void main() +{ + object oPC = GetPCSpeaker(); + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"BG_Select",5); + string sArr = GetLocalString(oItem, "ARR_LANGUAGES"); + sArr = ArrayPush(sArr, "27"); + SetLocalString(oItem, "ARR_LANGUAGES", sArr); +// SetLocalInt(oItem,27",1); // Mulhorandi + int nInt = GetLocalInt(oItem,"nLangSelect") - 1; + SetLocalInt(oItem,"nLangSelect", nInt); +} diff --git a/src/nss/l_mulhorandi_chk.nss b/src/nss/l_mulhorandi_chk.nss new file mode 100644 index 0000000..f155c24 --- /dev/null +++ b/src/nss/l_mulhorandi_chk.nss @@ -0,0 +1,26 @@ +#include "lv_inc" +/* + Modified by: LordValinar (12/18/2023) + Switched method to arrays (stored until applied at the + Character Creation's finale) +*/ +int StartingConditional() +{ + object oPC = GetPCSpeaker(); + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + string sArr = GetLocalString(oItem, "ARR_LANGUAGES"); + // Make sure the player has the required feats + return ( + GetLocalInt(oItem,"nLangSelect") > 0 && // Points to spend + ArrayLength(sArr) < 3 && // Array not full + ArrayIndex(sArr, "27") == -1 // This lang not already picked + ); +/* -- Original Code -- + if(GetLocalInt(oItem,"27") != 1 && GetLocalInt(oItem,"nLangSelect") >= 1) + { + return TRUE; + } + return FALSE; +*/ +} + diff --git a/src/nss/l_nooption.nss b/src/nss/l_nooption.nss new file mode 100644 index 0000000..48b44f0 --- /dev/null +++ b/src/nss/l_nooption.nss @@ -0,0 +1,8 @@ +void main() +{ + object oPC = GetPCSpeaker(); + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"BG_Select",5); + SetLocalInt(oItem,"Prof",3); + ActionStartConversation(oPC,"bg_proficiency",TRUE); +} diff --git a/src/nss/l_nooption_chk.nss b/src/nss/l_nooption_chk.nss new file mode 100644 index 0000000..17c5941 --- /dev/null +++ b/src/nss/l_nooption_chk.nss @@ -0,0 +1,13 @@ +int StartingConditional() +{ + object oPC = GetPCSpeaker(); + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + // Make sure the player has the required feats + if(GetLocalInt(oItem,"nLangSelect") < 1) + { + return TRUE; + } + + return FALSE; +} + diff --git a/src/nss/l_orc.nss b/src/nss/l_orc.nss new file mode 100644 index 0000000..f59a4ef --- /dev/null +++ b/src/nss/l_orc.nss @@ -0,0 +1,18 @@ +#include "lv_inc" +/* + Modified by: LordValinar (12/18/2023) + Switched method to arrays (stored until applied at the + Character Creation's finale) +*/ +void main() +{ + object oPC = GetPCSpeaker(); + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"BG_Select",5); + string sArr = GetLocalString(oItem, "ARR_LANGUAGES"); + sArr = ArrayPush(sArr, "5"); + SetLocalString(oItem, "ARR_LANGUAGES", sArr); +// SetLocalInt(oItem,5",1); // Orc + int nInt = GetLocalInt(oItem,"nLangSelect") - 1; + SetLocalInt(oItem,"nLangSelect", nInt); +} diff --git a/src/nss/l_orc_chk.nss b/src/nss/l_orc_chk.nss new file mode 100644 index 0000000..775a9bb --- /dev/null +++ b/src/nss/l_orc_chk.nss @@ -0,0 +1,26 @@ +#include "lv_inc" +/* + Modified by: LordValinar (12/18/2023) + Switched method to arrays (stored until applied at the + Character Creation's finale) +*/ +int StartingConditional() +{ + object oPC = GetPCSpeaker(); + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + string sArr = GetLocalString(oItem, "ARR_LANGUAGES"); + // Make sure the player has the required feats + return ( + GetLocalInt(oItem,"nLangSelect") > 0 && // Points to spend + ArrayLength(sArr) < 3 && // Array not full + ArrayIndex(sArr, "5") == -1 // This lang not already picked + ); +/* -- Original Code -- + if(GetLocalInt(oItem,"5") != 1 && GetLocalInt(oItem,"nLangSelect") >= 1) + { + return TRUE; + } + return FALSE; +*/ +} + diff --git a/src/nss/l_rashemi.nss b/src/nss/l_rashemi.nss new file mode 100644 index 0000000..bbed1ab --- /dev/null +++ b/src/nss/l_rashemi.nss @@ -0,0 +1,18 @@ +#include "lv_inc" +/* + Modified by: LordValinar (12/18/2023) + Switched method to arrays (stored until applied at the + Character Creation's finale) +*/ +void main() +{ + object oPC = GetPCSpeaker(); + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"BG_Select",5); + string sArr = GetLocalString(oItem, "ARR_LANGUAGES"); + sArr = ArrayPush(sArr, "30"); + SetLocalString(oItem, "ARR_LANGUAGES", sArr); +// SetLocalInt(oItem,30",1); // Rashemi + int nInt = GetLocalInt(oItem,"nLangSelect") - 1; + SetLocalInt(oItem,"nLangSelect", nInt); +} diff --git a/src/nss/l_rashemi_chk.nss b/src/nss/l_rashemi_chk.nss new file mode 100644 index 0000000..edbb3d7 --- /dev/null +++ b/src/nss/l_rashemi_chk.nss @@ -0,0 +1,25 @@ +#include "lv_inc" +/* + Modified by: LordValinar (12/18/2023) + Switched method to arrays (stored until applied at the + Character Creation's finale) +*/ +int StartingConditional() +{ + object oPC = GetPCSpeaker(); + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + string sArr = GetLocalString(oItem, "ARR_LANGUAGES"); + // Make sure the player has the required feats + return ( + GetLocalInt(oItem,"nLangSelect") > 0 && // Points to spend + ArrayLength(sArr) < 3 && // Array not full + ArrayIndex(sArr, "30") == -1 // This lang not already picked + ); +/* -- Original Code -- + if(GetLocalInt(oItem,"30") != 1 && GetLocalInt(oItem,"nLangSelect") >= 1) + { + return TRUE; + } + return FALSE; +*/ +} diff --git a/src/nss/l_undercom_chk.nss b/src/nss/l_undercom_chk.nss new file mode 100644 index 0000000..eadeee9 --- /dev/null +++ b/src/nss/l_undercom_chk.nss @@ -0,0 +1,26 @@ +#include "lv_inc" +/* + Modified by: LordValinar (12/18/2023) + Switched method to arrays (stored until applied at the + Character Creation's finale) +*/ +int StartingConditional() +{ + object oPC = GetPCSpeaker(); + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + string sArr = GetLocalString(oItem, "ARR_LANGUAGES"); + // Make sure the player has the required feats + return ( + GetLocalInt(oItem,"nLangSelect") > 0 && // Points to spend + ArrayLength(sArr) < 3 && // Array not full + ArrayIndex(sArr, "46") == -1 // This lang not already picked + ); +/* -- Original Code -- + if(GetLocalInt(oItem,"46") != 1 && GetLocalInt(oItem,"nLangSelect") >= 1) + { + return TRUE; + } + return FALSE; +*/ +} + diff --git a/src/nss/l_undercommon.nss b/src/nss/l_undercommon.nss new file mode 100644 index 0000000..f48ab57 --- /dev/null +++ b/src/nss/l_undercommon.nss @@ -0,0 +1,21 @@ +#include "lv_inc" +/* + Modified by: LordValinar (12/18/2023) + Switched method to arrays (stored until applied at the + Character Creation's finale) +*/ +void main() +{ + object oPC = GetPCSpeaker(); + object oItem = GetItemPossessedBy(oPC, "PC_Data_Object"); + SetLocalInt(oItem,"BG_Select",5); + + //Undercommon + string sArr = GetLocalString(oItem, "ARR_LANGUAGES"); + sArr = ArrayPush(sArr, "46"); + SetLocalString(oItem, "ARR_LANGUAGES", sArr); +// SetLocalInt(oItem,"46",1); + + int nInt = GetLocalInt(oItem,"nLangSelect") - 1; + SetLocalInt(oItem, "nLangSelect", nInt); +} diff --git a/src/nss/prc_forsake_abil.nss b/src/nss/prc_forsake_abil.nss new file mode 100644 index 0000000..75584b1 --- /dev/null +++ b/src/nss/prc_forsake_abil.nss @@ -0,0 +1,165 @@ +//::////////////////////////////////////////////// +//:: Forsaker Ability Boost Conversation +//:: prc_forsake_abil +//::////////////////////////////////////////////// +/** @file + This allows you to choose ability to boost. + + @author Stratovarius + @date Created - 27.12.2019 + @edited by Stratovarius + @date 24.12.2024 +*/ +//::////////////////////////////////////////////// +//::////////////////////////////////////////////// + +#include "inc_dynconv" +#include "prc_inc_function" + +////////////////////////////////////////////////// +/* Constant defintions */ +////////////////////////////////////////////////// + +const int STAGE_SELECT_ABIL = 0; + +////////////////////////////////////////////////// +/* Function defintions */ +////////////////////////////////////////////////// + +void main() +{ + object oPC = GetPCSpeaker(); + int nValue = GetLocalInt(oPC, DYNCONV_VARIABLE); + int nStage = GetStage(oPC); + int nClass = GetPersistantLocalInt(oPC, "ForsakerBoostCheck"); + + // 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 + { + if(DEBUG) DoDebug("prc_forsake_abil: Aborting due to error."); + return; + } + + if(nValue == DYNCONV_SETUP_STAGE) + { + if(DEBUG) DoDebug("prc_forsake_abil: 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_forsake_abil: Stage was not set up already. nStage: " + IntToString(nStage)); + // Maneuver selection stage + if(nStage == STAGE_SELECT_ABIL) + { + if(DEBUG) DoDebug("prc_forsake_abil: Building maneuver selection"); + SetHeader("Choose which ability to boost for Forsaker level " + IntToString(nClass) + ":"); + AddChoice("Strength", ABILITY_STRENGTH, oPC); + AddChoice("Dexterity", ABILITY_DEXTERITY, oPC); + AddChoice("Constitution", ABILITY_CONSTITUTION, oPC); + AddChoice("Intelligence", ABILITY_INTELLIGENCE, oPC); + AddChoice("Wisdom", ABILITY_WISDOM, oPC); + AddChoice("Charisma", ABILITY_CHARISMA, oPC); + + MarkStageSetUp(STAGE_SELECT_ABIL, oPC); + } + } + + // Do token setup + SetupTokens(); + } + else if(nValue == DYNCONV_EXITED) + { + if(DEBUG) DoDebug("prc_forsake_abil: Running exit handler"); + if(GetLocalInt(oPC, "PRC_Forsaker_Exit_Ran_VoP_Check")) return; + SetLocalInt(oPC, "PRC_Forsaker_Exit_Ran_VoP_Check", TRUE); + DelayCommand(3.0f, DeleteLocalInt(oPC, "PRC_Forsaker_Exit_Ran_VoP_Check")); + + if (GetHasFeat(FEAT_VOWOFPOVERTY, oPC)) + { + int nLevel = GetHitDice(oPC) - GetPersistantLocalInt(oPC, "VoPLevel1") + 1; + int nLevelCheck; + for (nLevelCheck = 1; nLevelCheck <= nLevel; nLevelCheck++) + { + if (!GetPersistantLocalInt(oPC, "VoPBoost"+IntToString(nLevelCheck)) + && (nLevelCheck-(nLevelCheck/4)*4 == 3) && (nLevelCheck >= 7) && (nLevelCheck <= 27)) + { + AssignCommand(oPC, ClearAllActions(TRUE)); + SetPersistantLocalInt(oPC, "VoPBoostCheck", nLevelCheck); + DelayCommand(3.5f, StartDynamicConversation("ft_vowpoverty_ab", oPC, DYNCONV_EXIT_NOT_ALLOWED, FALSE, TRUE, oPC)); + break; + } + if (!GetPersistantLocalInt(oPC, "VoPFeat"+IntToString(nLevelCheck)) && (nLevelCheck-(nLevelCheck/2)*2 == 0)) + { + AssignCommand(oPC, ClearAllActions(TRUE)); + SetPersistantLocalInt(oPC, "VoPFeatCheck", nLevelCheck); + DelayCommand(3.5f, StartDynamicConversation("ft_vowpoverty_ft", oPC, DYNCONV_EXIT_NOT_ALLOWED, FALSE, TRUE, oPC)); + break; + } + } + } + } + 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 + if(DEBUG) DoDebug("prc_forsake_abil: ERROR: Conversation abort section run"); + } + // Handle PC response + else + { + int nChoice = GetChoice(oPC); + if(DEBUG) DoDebug("prc_forsake_abil: Handling PC response, stage = " + IntToString(nStage) + "; nChoice = " + + IntToString(nChoice) + "; choice text = '" + GetChoiceText(oPC) + "'"); + if(nStage == STAGE_SELECT_ABIL) + { + if(DEBUG) DoDebug("prc_forsake_abil: nChoice: " + IntToString(nChoice)); + + if (GetPRCSwitch("PRC_NWNXEE_ENABLED") && GetPRCSwitch("PRC_PRCX_ENABLED")) + { + // Apply intrinsic ability bonus via NWNxEE + PRC_Funcs_ModAbilityScore(oPC, nChoice, 1); + } + else + { + // Fallback to effect-based + effect eAbility = EffectAbilityIncrease(nChoice, 1); + eAbility = UnyieldingEffect(eAbility); + eAbility = TagEffect(eAbility, "ForsakerAbilityBoost"); + ApplyEffectToObject(DURATION_TYPE_PERMANENT, eAbility, oPC); + } + + SetPersistantLocalInt(oPC, "ForsakerBoost"+IntToString(nClass), nChoice+1); + DeletePersistantLocalInt(oPC,"ForsakerBoostCheck"); + AllowExit(DYNCONV_EXIT_FORCE_EXIT); + } + + if(DEBUG) DoDebug("prc_forsake_abil: New stage: " + IntToString(nStage)); + + // Store the stage value. If it has been changed, this clears out the choices + SetStage(nStage, oPC); + } +/* // Handle PC response + else + { + int nChoice = GetChoice(oPC); + if(DEBUG) DoDebug("prc_forsake_abil: Handling PC response, stage = " + IntToString(nStage) + "; nChoice = " + + IntToString(nChoice) + "; choice text = '" + GetChoiceText(oPC) + "'"); + if(nStage == STAGE_SELECT_ABIL) + { + if(DEBUG) DoDebug("prc_forsake_abil: nChoice: " + IntToString(nChoice)); + + ApplyEffectToObject(DURATION_TYPE_PERMANENT,UnyieldingEffect(EffectAbilityIncrease(nChoice,1)),oPC); //Give the boost + SetPersistantLocalInt(oPC, "ForsakerBoost"+IntToString(nClass), nChoice+1); //Register the boost has been given + DeletePersistantLocalInt(oPC,"ForsakerBoostCheck"); + + // And we're all done + AllowExit(DYNCONV_EXIT_FORCE_EXIT); + } + + if(DEBUG) DoDebug("prc_forsake_abil: New stage: " + IntToString(nStage)); + + // Store the stage value. If it has been changed, this clears out the choices + SetStage(nStage, oPC); + } */ +} diff --git a/src/nss/start_cv_age.nss b/src/nss/start_cv_age.nss new file mode 100644 index 0000000..bbdfeeb --- /dev/null +++ b/src/nss/start_cv_age.nss @@ -0,0 +1,17 @@ +#include "inc_dynconv" + +void main() +{ + object oUser = GetLastUsedBy(); + if (!GetIsObjectValid(oUser)) return; + + SpeakString("I was last used by: " + GetName(oUser)); + + if (IsInConversation(oUser)) { + SpeakString("DEBUG: PC already in conversation; aborting dynconv start."); + return; + } + + SpeakString("DEBUG: Starting bg_age_cv for " + GetName(oUser)); + StartDynamicConversation("bg_age_cv", oUser); +} \ No newline at end of file diff --git a/src/nss/start_cv_bg.nss b/src/nss/start_cv_bg.nss new file mode 100644 index 0000000..4988fe2 --- /dev/null +++ b/src/nss/start_cv_bg.nss @@ -0,0 +1,10 @@ +#include "inc_dynconv" + +void main() +{ + + object oPC = OBJECT_SELF; + + StartDynamicConversation("bg_background_cv", oPC); + +} \ No newline at end of file diff --git a/src/nss/start_cv_deity.nss b/src/nss/start_cv_deity.nss new file mode 100644 index 0000000..8551c57 --- /dev/null +++ b/src/nss/start_cv_deity.nss @@ -0,0 +1,17 @@ +#include "inc_dynconv" + +void main() +{ + object oUser = GetLastUsedBy(); + if (!GetIsObjectValid(oUser)) return; + + SpeakString("I was last used by: " + GetName(oUser)); + + if (IsInConversation(oUser)) { + SpeakString("DEBUG: PC already in conversation; aborting dynconv start."); + return; + } + + SpeakString("DEBUG: Starting bg_deity_cv for " + GetName(oUser)); + StartDynamicConversation("bg_deity_cv", oUser); +} \ No newline at end of file diff --git a/src/nss/start_cv_disfig.nss b/src/nss/start_cv_disfig.nss new file mode 100644 index 0000000..b66303a --- /dev/null +++ b/src/nss/start_cv_disfig.nss @@ -0,0 +1,17 @@ +#include "inc_dynconv" + +void main() +{ + object oUser = GetLastUsedBy(); + if (!GetIsObjectValid(oUser)) return; + + SpeakString("I was last used by: " + GetName(oUser)); + + if (IsInConversation(oUser)) { + SpeakString("DEBUG: PC already in conversation; aborting dynconv start."); + return; + } + + SpeakString("DEBUG: Starting bg_disfig_cv for " + GetName(oUser)); + StartDynamicConversation("bg_disfig_cv", oUser); +} \ No newline at end of file diff --git a/src/nss/start_cv_lang.nss b/src/nss/start_cv_lang.nss new file mode 100644 index 0000000..a270fb2 --- /dev/null +++ b/src/nss/start_cv_lang.nss @@ -0,0 +1,17 @@ +#include "inc_dynconv" + +void main() +{ + object oUser = GetLastUsedBy(); + if (!GetIsObjectValid(oUser)) return; + + SpeakString("I was last used by: " + GetName(oUser)); + + if (IsInConversation(oUser)) { + SpeakString("DEBUG: PC already in conversation; aborting dynconv start."); + return; + } + + SpeakString("DEBUG: Starting bg_language_cv for " + GetName(oUser)); + StartDynamicConversation("bg_language_cv", oUser); +} \ No newline at end of file diff --git a/src/nss/start_cv_profs.nss b/src/nss/start_cv_profs.nss new file mode 100644 index 0000000..68c8d67 --- /dev/null +++ b/src/nss/start_cv_profs.nss @@ -0,0 +1,17 @@ +#include "inc_dynconv" + +void main() +{ + object oUser = GetLastUsedBy(); + if (!GetIsObjectValid(oUser)) return; + + SpeakString("I was last used by: " + GetName(oUser)); + + if (IsInConversation(oUser)) { + SpeakString("DEBUG: PC already in conversation; aborting dynconv start."); + return; + } + + SpeakString("DEBUG: Starting bg_profs_cv for " + GetName(oUser)); + StartDynamicConversation("bg_profs_cv", oUser); +} \ No newline at end of file diff --git a/src/nss/start_cv_race.nss b/src/nss/start_cv_race.nss new file mode 100644 index 0000000..df4c4c3 --- /dev/null +++ b/src/nss/start_cv_race.nss @@ -0,0 +1,17 @@ +#include "inc_dynconv" + +void main() +{ + object oUser = GetLastUsedBy(); + if (!GetIsObjectValid(oUser)) return; + + SpeakString("I was last used by: " + GetName(oUser)); + + if (IsInConversation(oUser)) { + SpeakString("DEBUG: PC already in conversation; aborting dynconv start."); + return; + } + + SpeakString("DEBUG: Starting bg_background_cv for " + GetName(oUser)); + StartDynamicConversation("bg_subrace_cv", oUser); +} \ No newline at end of file diff --git a/src/nss/start_cv_soclass.nss b/src/nss/start_cv_soclass.nss new file mode 100644 index 0000000..8e120c6 --- /dev/null +++ b/src/nss/start_cv_soclass.nss @@ -0,0 +1,17 @@ +#include "inc_dynconv" + +void main() +{ + object oUser = GetLastUsedBy(); + if (!GetIsObjectValid(oUser)) return; + + SpeakString("I was last used by: " + GetName(oUser)); + + if (IsInConversation(oUser)) { + SpeakString("DEBUG: PC already in conversation; aborting dynconv start."); + return; + } + + SpeakString("DEBUG: Starting bg_soclass_cv for " + GetName(oUser)); + StartDynamicConversation("bg_soclass_cv", oUser); +} \ No newline at end of file diff --git a/src/nss/te_bg_a_m.nss b/src/nss/te_bg_a_m.nss new file mode 100644 index 0000000..439060c --- /dev/null +++ b/src/nss/te_bg_a_m.nss @@ -0,0 +1,25 @@ +#include "nwnx_creature" + +void main() +{ + object oPC = GetPCSpeaker(); + object oItem = GetItemPossessedBy(oPC,"PC_Data_Object"); + SetLocalInt(oItem,"CC6",1); // middle-aged + SetLocalInt(oItem,"BG_Select",7); + ActionStartConversation(oPC, "bg_disfig", TRUE); +} +/* -- Moved to end of CharCreation: LordValinar (12/18/2023) -- + int iCHA = GetAbilityScore(oPC, ABILITY_CHARISMA, TRUE); + int iCON = GetAbilityScore(oPC, ABILITY_CONSTITUTION, TRUE); + int iDEX = GetAbilityScore(oPC, ABILITY_DEXTERITY, TRUE); + int iINT = GetAbilityScore(oPC, ABILITY_INTELLIGENCE, TRUE); + int iSTR = GetAbilityScore(oPC, ABILITY_STRENGTH, TRUE); + int iWIS = GetAbilityScore(oPC, ABILITY_WISDOM, TRUE); + + NWNX_Creature_SetRawAbilityScore(oPC, ABILITY_STRENGTH, iSTR-1); + NWNX_Creature_SetRawAbilityScore(oPC, ABILITY_CONSTITUTION, iCON-1); + NWNX_Creature_SetRawAbilityScore(oPC, ABILITY_DEXTERITY, iDEX-1); + NWNX_Creature_SetRawAbilityScore(oPC, ABILITY_INTELLIGENCE, iINT+1); + NWNX_Creature_SetRawAbilityScore(oPC, ABILITY_CHARISMA, iCHA+1); + NWNX_Creature_SetRawAbilityScore(oPC, ABILITY_WISDOM, iWIS+1); +*/ diff --git a/src/nss/te_bg_a_n.nss b/src/nss/te_bg_a_n.nss new file mode 100644 index 0000000..d2a0222 --- /dev/null +++ b/src/nss/te_bg_a_n.nss @@ -0,0 +1,9 @@ +#include "nwnx_creature" + +void main() +{ + object oPC = GetPCSpeaker(); + SetLocalInt(GetItemPossessedBy(oPC,"PC_Data_Object"),"BG_Select",7); + + ActionStartConversation(oPC, "bg_disfig", TRUE); +} diff --git a/src/nss/te_bg_a_o.nss b/src/nss/te_bg_a_o.nss new file mode 100644 index 0000000..627a5c0 --- /dev/null +++ b/src/nss/te_bg_a_o.nss @@ -0,0 +1,18 @@ +#include "nwnx_creature" + +void main() +{ + object oPC = GetPCSpeaker(); + object oItem = GetItemPossessedBy(oPC,"PC_Data_Object"); + SetLocalInt(oItem,"CC6",2); // old-aged + SetLocalInt(oItem,"BG_Select",7); + ActionStartConversation(oPC, "bg_disfig", TRUE); +} +/* -- Moved to end of CharCreation: LordValinar (12/18/2023) -- + NWNX_Creature_SetRawAbilityScore(oPC, ABILITY_STRENGTH, iSTR-2); + NWNX_Creature_SetRawAbilityScore(oPC, ABILITY_CONSTITUTION, iCON-2); + NWNX_Creature_SetRawAbilityScore(oPC, ABILITY_DEXTERITY, iDEX-2); + NWNX_Creature_SetRawAbilityScore(oPC, ABILITY_INTELLIGENCE, iINT+2); + NWNX_Creature_SetRawAbilityScore(oPC, ABILITY_CHARISMA, iCHA+2); + NWNX_Creature_SetRawAbilityScore(oPC, ABILITY_WISDOM, iWIS+2); +*/ diff --git a/src/nss/te_bg_a_v.nss b/src/nss/te_bg_a_v.nss new file mode 100644 index 0000000..45492fa --- /dev/null +++ b/src/nss/te_bg_a_v.nss @@ -0,0 +1,18 @@ +#include "nwnx_creature" + +void main() +{ + object oPC = GetPCSpeaker(); + object oItem = GetItemPossessedBy(oPC,"PC_Data_Object"); + SetLocalInt(oItem,"CC6",3); // venerable + SetLocalInt(oItem,"BG_Select",7); + ActionStartConversation(oPC, "bg_disfig", TRUE); +} +/* -- Moved to end of CharCreation: LordValinar (12/18/2023) -- + NWNX_Creature_SetRawAbilityScore(oPC, ABILITY_STRENGTH, iSTR-2); + NWNX_Creature_SetRawAbilityScore(oPC, ABILITY_CONSTITUTION, iCON-3); + NWNX_Creature_SetRawAbilityScore(oPC, ABILITY_DEXTERITY, iDEX-3); + NWNX_Creature_SetRawAbilityScore(oPC, ABILITY_INTELLIGENCE, iINT+3); + NWNX_Creature_SetRawAbilityScore(oPC, ABILITY_CHARISMA, iCHA+3); + NWNX_Creature_SetRawAbilityScore(oPC, ABILITY_WISDOM, iWIS+3); +*/ diff --git a/src/te_includes/te_afflic_func.nss b/src/te_includes/te_afflic_func.nss index d497325..0bf7093 100644 --- a/src/te_includes/te_afflic_func.nss +++ b/src/te_includes/te_afflic_func.nss @@ -47,7 +47,7 @@ const int BACKGROUND_SOLDIER = 1172; const int BACKGROUND_TRAVELER = 1173; const int BACKGROUND_SPELLFIRE = 1174; const int BACKGROUND_NAT_LYCAN = 1175; -const int BACKGROUND_SHADOW = 1176; +const int BACKGROUND_SHADOW = 1176; const int BACKGROUND_COPPER_ELF = 1177; const int BACKGROUND_GREEN_ELF = 1178; const int BACKGROUND_DARK_ELF = 1179; @@ -72,6 +72,58 @@ const int BACKGROUND_TALFIRIAN = 1398; const int BACKGROUND_THEOCRAT = 1399; const int BACKGROUND_WARD_TRIAD = 1400; const int BACKGROUND_ZHENTARIM = 1401; +const int BACKGROUND_ELDRETH_VELUUTHRA = 1460; +const int BACKGROUND_ELMANESSE_TRIBE = 1461; +const int BACKGROUND_SULDUSK_TRIBE = 1462; +const int BACKGROUND_DUKES_WARBAND = 1463; +const int BACKGROUND_CALISHITE_SLAVE = 1464; +const int BACKGROUND_SELDARINE_PRIEST = 1465; +const int BACKGROUND_HIGH_MAGE = 1466; +const int BACKGROUND_UNDERDARK_EXILE = 1467; +const int BACKGROUND_THUNDER_TWIN = 1468; +const int BACKGROUND_HEIR_TO_THRONE = 1469; +const int BACKGROUND_MORDINSAMMAN_PRIEST = 1470; +const int BACKGROUND_WARY_SWORDKNIGHT = 1471; + +const int FEAT_LANGUAGE_ABYSSAL = 1650; +const int FEAT_LANGUAGE_ALZHEDO = 1651; +const int FEAT_LANGUAGE_ANIMAL = 1652; +const int FEAT_LANGUAGE_AQUAN = 1653; +const int FEAT_LANGUAGE_ASSASSINS_CANT = 1654; +const int FEAT_LANGUAGE_AURAN = 1655; +const int FEAT_LANGUAGE_CELESTIAL = 1656; +const int FEAT_LANGUAGE_CHESSENTAN = 1657; +const int FEAT_LANGUAGE_CHONDATHAN = 1658; +const int FEAT_LANGUAGE_CHULTAN = 1659; +const int FEAT_LANGUAGE_DAMARAN = 1660; +const int FEAT_LANGUAGE_DRACONIC = 1661; +const int FEAT_LANGUAGE_DROW = 1662; +const int FEAT_LANGUAGE_DROW_HAND_CANT = 1663; +const int FEAT_LANGUAGE_DRUIDIC = 1664; +const int FEAT_LANGUAGE_DUERGAR = 1665; +const int FEAT_LANGUAGE_DWARVEN = 1666; +const int FEAT_LANGUAGE_ELVEN = 1667; +const int FEAT_LANGUAGE_GIANT = 1668; +const int FEAT_LANGUAGE_GNOMISH = 1669; +const int FEAT_LANGUAGE_GOBLIN = 1670; +const int FEAT_LANGUAGE_HALFLING = 1671; +const int FEAT_LANGUAGE_IGNAN = 1672; +const int FEAT_LANGUAGE_ILLUSKAN = 1673; +const int FEAT_LANGUAGE_IMASKARI = 1674; +const int FEAT_LANGUAGE_INFERNAL = 1675; +const int FEAT_LANGUAGE_KOBOLD = 1676; +const int FEAT_LANGUAGE_LANTANESE = 1677; +const int FEAT_LANGUAGE_MULANESE = 1678; +const int FEAT_LANGUAGE_MULHORANDI = 1679; +const int FEAT_LANGUAGE_ORCISH = 1680; +const int FEAT_LANGUAGE_RASHEMI = 1681; +const int FEAT_LANGUAGE_SYLVAN = 1682; +const int FEAT_LANGUAGE_TALFIRIC = 1683; +const int FEAT_LANGUAGE_TERRAN = 1684; +const int FEAT_LANGUAGE_THIEVES_CANT = 1685; +const int FEAT_LANGUAGE_TROGLODYTE = 1686; +const int FEAT_LANGUAGE_UNDERCOMMON = 1687; + const int CLASS_TYPE_CURSED_BLOOD = 46; const int CLASS_TYPE_WARLOCK = 47; const int CLASS_TYPE_SHADOW_CHANNELER = 48; @@ -154,14 +206,29 @@ const int DEITY_Myrkul = 1369; const int DEITY_Ulutiu = 1370; const int DEITY_Waukeen = 1371; -const int ETHNICITY_CALISHITE = 1381; -const int ETHNICITY_CHONDATHAN = 1382; -const int ETHNICITY_DAMARAN = 1383; -const int ETHNICITY_ILLUSKAN = 1384; -const int ETHNICITY_MULAN = 1385; -const int ETHNICITY_RASHEMI = 1386; -const int ETHNICITY_TETHYRIAN = 1387; -const int ETHNICITY_OTHER = 1388; +const int ETHNICITY_CALISHITE = 1381; +const int ETHNICITY_CHONDATHAN = 1382; +const int ETHNICITY_DAMARAN = 1383; +const int ETHNICITY_ILLUSKAN = 1384; +const int ETHNICITY_MULAN = 1385; +const int ETHNICITY_RASHEMI = 1386; +const int ETHNICITY_TETHYRIAN = 1387; +const int ETHNICITY_OTHER = 1388; +const int ETHNICITY_FFOLK = 1445; +const int ETHNICITY_CHULTAN = 1446; +const int ETHNICITY_IMASKARI = 1447; +const int ETHNICITY_MAZTILAN = 1448; +const int ETHNICITY_SHAARAN = 1450; +const int ETHNICITY_SHOU = 1451; +const int ETHNICITY_DEEP_GNOME = 1452; +const int ETHNICITY_FOREST_GNOME = 1453; +const int ETHNICITY_ROCK_GNOME = 1454; +const int ETHNICITY_GHOSTWISE = 1455; +const int ETHNICITY_LIGHTFOOT = 1456; +const int ETHNICITY_STRONGHEART = 1457; +const int ETHNICITY_FEYRI = 1458; +const int ETHNICITY_ELMANESSE = 1461; + const int PROFICIENCY_HISTORY = 1426; const int PROFICIENCY_ASTROLOGY = 1427;