Fixed Thrall of Grazzt not getting a marker feat
Fixed Thrall of Grazzt not getting a marker feat. Fixed TLK error with Elemental Savant marker feat. Added grey elf to Racial IP list for Elves. Updated release archive. All @Barmlot: Added Empty Vessel race. Fixed Necropolitian name/tlk. Fixed Incarnum Blade meldshaping. Fixed Hybsil's Pass Without Trace. Fixed Kalashtar's Skill Affinity: Persuade. Fixed missing Marrutact Howl. Added Immunity to Sleep to Mongrelfolk & removed Charm Animal. (thanks @barmlot!)
This commit is contained in:
parent
50f3cd7c0a
commit
53149108fe
1
.gitignore
vendored
1
.gitignore
vendored
@ -160,3 +160,4 @@ nwn/nwnprc/trunk/makefile.temp
|
||||
*.temp
|
||||
nwn/nwnprc/trunk/makefile.temp
|
||||
nwn/nwnprc/trunk/makefile.temp
|
||||
nwn/nwnprc/trunk/makefile.temp
|
||||
|
BIN
Release/PRC8_20241022.7z
Normal file
BIN
Release/PRC8_20241022.7z
Normal file
Binary file not shown.
@ -155,7 +155,7 @@
|
||||
151 Arctic_Dwarf 2 **** **** ****
|
||||
152 Gold_Dwarf 0 **** **** ****
|
||||
153 Gray_Dwarf 1 **** **** ****
|
||||
154 **** 0 **** **** ****
|
||||
154 EmptyVessel 1 **** **** ****
|
||||
155 Urdunnir 4 **** **** ****
|
||||
156 Wild_Dwarf 0 **** **** ****
|
||||
157 **** 0 **** **** ****
|
||||
|
@ -1,7 +1,7 @@
|
||||
2DA V2.0
|
||||
|
||||
Bonus
|
||||
0 0
|
||||
0 1
|
||||
1 0
|
||||
2 0
|
||||
3 0
|
||||
|
@ -106,5 +106,5 @@
|
||||
102 DemiLich 3087 16847651 8 2 tmp_t_lichd **** tmp_m_lich
|
||||
103 Vampire **** **** 8 **** **** **** ****
|
||||
104 VampireSpawn **** **** **** **** **** **** ****
|
||||
105 Necropolitan **** 16847638 **** 2 tmp_t_necropol **** tmp_m_necropol
|
||||
105 Necropolitan 16847637 16847638 **** 2 tmp_t_necropol **** tmp_m_necropol
|
||||
106 Alhoon 16822362 16822363 4 2 tmp_t_alhoon **** tmp_m_alhoon
|
||||
|
@ -35,6 +35,7 @@ const int RACIAL_TYPE_CHANGELING = 147;
|
||||
const int RACIAL_TYPE_KALASHTAR = 148;
|
||||
const int RACIAL_TYPE_WARFORGED = 149;
|
||||
const int RACIAL_TYPE_ZAKYA_RAKSHASA = 150;
|
||||
const int RACIAL_TYPE_EMPTY_VESSEL = 154;
|
||||
|
||||
//Planescape Races
|
||||
const int RACIAL_TYPE_BARIAUR = 207;
|
||||
|
@ -165,6 +165,9 @@ int _GetFeatBonusPP(object oChar){
|
||||
if(GetRacialType(oChar) == RACIAL_TYPE_KALASHTAR)
|
||||
nBonusPP += GetHitDice(oChar);
|
||||
|
||||
if(GetRacialType(oChar) == RACIAL_TYPE_EMPTY_VESSEL)
|
||||
nBonusPP += GetHitDice(oChar);
|
||||
|
||||
if(GetHasFeat(FEAT_ABERRANT_WARPED_MIND, oChar))
|
||||
nBonusPP += GetAberrantFeatCount(oChar);
|
||||
|
||||
|
@ -23901,6 +23901,7 @@ race2das\race_feat_dusklg.2da \
|
||||
race2das\race_feat_dwarf.2da \
|
||||
race2das\race_feat_egen.2da \
|
||||
race2das\race_feat_elan.2da \
|
||||
race2das\race_feat_emptyv.2da \
|
||||
race2das\race_feat_extam.2da \
|
||||
race2das\race_feat_feyri.2da \
|
||||
race2das\race_feat_fgen.2da \
|
||||
|
@ -378,6 +378,13 @@ void main()
|
||||
nStage = STAGE_SELECT_MELD; // We've got another class to go
|
||||
else // We've finished everything
|
||||
{
|
||||
// And we're all done
|
||||
if (GetLevelByClass(CLASS_TYPE_INCARNUM_BLADE, oMeldshaper))
|
||||
{
|
||||
DelayCommand(0.5, AssignCommand(oMeldshaper, ClearAllActions(TRUE)));
|
||||
StartDynamicConversation("moi_iblade_bind", oMeldshaper, DYNCONV_EXIT_NOT_ALLOWED, FALSE, TRUE, oMeldshaper);
|
||||
}
|
||||
|
||||
DeleteLocalInt(oMeldshaper, "FirstMeldDone");
|
||||
DeleteLocalInt(oMeldshaper, "SecondMeldDone");
|
||||
DeleteLocalInt(oMeldshaper, "ThirdMeldDone");
|
||||
|
@ -68,8 +68,11 @@ void main()
|
||||
}
|
||||
}
|
||||
else if(nEvent == EVENT_ONPLAYERREST_FINISHED)
|
||||
{
|
||||
if(GetHighestMeldshaperLevel(oMeldshaper) == 0)
|
||||
{
|
||||
AssignCommand(oMeldshaper, ClearAllActions(TRUE));
|
||||
StartDynamicConversation("moi_iblade_bind", oMeldshaper, DYNCONV_EXIT_NOT_ALLOWED, FALSE, TRUE, oMeldshaper);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
9
nwn/nwnprc/trunk/race2das/race_feat_emptyv.2da
Normal file
9
nwn/nwnprc/trunk/race2das/race_feat_emptyv.2da
Normal file
@ -0,0 +1,9 @@
|
||||
2DA V2.0
|
||||
|
||||
FeatLabel FeatIndex
|
||||
1 Race_Human 4715
|
||||
2 SkillAff_Bluff 4753
|
||||
3 NaturallyPsionic 5205
|
||||
4 SA_Intimidate 4547
|
||||
5 SA_Persuade 4528
|
||||
6 Psionic_Focus 4818
|
@ -8,7 +8,7 @@
|
||||
4 Natural_Armor_2 4761
|
||||
5 Race_Fey 4718
|
||||
6 SkillAFFSearch 238
|
||||
7 FEAT_HYBSIL_PASS_WO_TRACE ****
|
||||
7 FEAT_HYBSIL_PASS_WO_TRACE 5381
|
||||
8 FEAT_HYBSIL_MIRROR_IMAGE 5382
|
||||
9 FEAT_HYBSIL_DANCLIGHTS 5383
|
||||
10 FEAT_HYBSIL_JUMP 5384
|
||||
|
@ -6,5 +6,5 @@
|
||||
2 SkillAff_Bluff 4753
|
||||
3 NaturallyPsionic 5205
|
||||
4 SA_Intimidate 4547
|
||||
5 SA_Persuade 4527
|
||||
5 SA_Persuade 4528
|
||||
6 Psionic_Focus 4818
|
||||
|
@ -6,4 +6,5 @@
|
||||
2 Listen4 4581
|
||||
3 LowLightVision 354
|
||||
4 ResistFire5 4743
|
||||
5 WeapProfSim 46
|
||||
5 Marrutact_Howl 3311
|
||||
6 WeapProfSim 46
|
||||
|
@ -3,4 +3,4 @@
|
||||
FeatLabel FeatIndex
|
||||
0 Race_Human 4715
|
||||
1 LowLightVision 354
|
||||
2 CharmAnimal 5379
|
||||
2 ImmunitySleep 235
|
||||
|
@ -155,7 +155,7 @@
|
||||
151 Arctic_Dwarf 2 **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
152 Gold_Dwarf 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
153 Gray_Dwarf 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
154 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
154 EmptyVessel 6 **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
155 Urdunnir 0 **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
156 Wild_Dwarf 2 **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
157 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** ****
|
||||
|
@ -155,7 +155,7 @@
|
||||
151 Arctic_Dwarf Ad 16826721 16826722 16826723 16826724 16826725 **** 2 4 -2 0 -2 0 2 20 7 RACE_FEAT_ARCDW 8157 1 RACIAL_TYPE_ARC_DWARF 50 7 1 dwarf **** **** **** 4 30 3 1 INT 261
|
||||
152 Gold_Dwarf Gd 16826726 16826727 16826728 16826729 16826730 **** 0 0 -2 0 0 0 2 20 4 RACE_FEAT_GDWA 8157 1 RACIAL_TYPE_GOLD_DWARF 50 4 1 dwarf **** **** **** 4 30 3 1 INT 261
|
||||
153 Gray_Dwarf Du 16826731 16826731 16826732 16826731 16826734 **** 0 0 0 0 -4 0 2 20 4 RACE_FEAT_DUERG 16826910 1 RACIAL_TYPE_DUERGAR 40 4 1 duergar **** **** **** 4 30 3 1 INT 261
|
||||
154 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 4 30 3 1 INT ****
|
||||
154 EmptyVessel Ev 16852282 16852282 16852283 16852284 16852285 **** 6 0 0 0 0 0 0 30 145 RACE_FEAT_EMPTYV 8163 1 RACIAL_TYPE_EMPTY_VESSEL 40 145 1 empty_vessel **** 1 1 4 30 3 1 INT 261
|
||||
155 Urdunnir Ud 16826740 16826740 16826741 16826742 16826743 **** 0 0 0 0 -2 0 2 20 4 RACE_FEAT_URDIN 16826911 1 RACIAL_TYPE_URDINNIR 50 4 1 dwarf **** **** **** 4 30 3 1 INT 261
|
||||
156 Wild_Dwarf Wd 16826744 16826745 16826746 16826747 16826748 **** 2 0 0 0 -2 0 2 20 0 RACE_FEAT_WDWARF 16826911 1 RACIAL_TYPE_WILD_DWARF 50 0 1 dwarf **** **** **** 4 30 3 1 INT 261
|
||||
157 **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** **** 4 30 3 1 INT ****
|
||||
|
@ -65,6 +65,7 @@ void AddRacialRestrictions(object oItem)
|
||||
AddRaceIP(oItem, RACIAL_TYPE_SUN_ELF);
|
||||
AddRaceIP(oItem, RACIAL_TYPE_WILD_ELF);
|
||||
AddRaceIP(oItem, RACIAL_TYPE_WOOD_ELF);
|
||||
AddRaceIP(oItem, RACIAL_TYPE_GREY_ELF);
|
||||
}
|
||||
if(array_get_string(oItem, ARRAY_NAME, RACIAL_TYPE_FEY) != "")
|
||||
{
|
||||
@ -129,6 +130,7 @@ void AddRacialRestrictions(object oItem)
|
||||
AddRaceIP(oItem, RACIAL_TYPE_GITHYANKI);
|
||||
AddRaceIP(oItem, RACIAL_TYPE_GITHZERAI);
|
||||
AddRaceIP(oItem, RACIAL_TYPE_KALASHTAR);
|
||||
AddRaceIP(oItem, RACIAL_TYPE_EMPTY_VESSEL);
|
||||
AddRaceIP(oItem, RACIAL_TYPE_MAENADS);
|
||||
AddRaceIP(oItem, RACIAL_TYPE_SILVERBROW_HUMAN);
|
||||
AddRaceIP(oItem, RACIAL_TYPE_KRINTH);
|
||||
|
@ -35,6 +35,90 @@ void DisablePowerAttack(object oPC)
|
||||
}
|
||||
|
||||
void PRCFeat_Equip(object oPC, object oSkin, int iEquip)
|
||||
{
|
||||
object oItem;
|
||||
int nType;
|
||||
|
||||
// Unequip event (iEquip == 1)
|
||||
if(iEquip == 1)
|
||||
{
|
||||
oItem = GetItemLastUnequipped();
|
||||
nType = GetBaseItemType(oItem);
|
||||
|
||||
// Bow Mastery - Reset bonus on unequip
|
||||
if(GetHasFeat(FEAT_BOWMASTERY, oPC))
|
||||
{
|
||||
if(nType == BASE_ITEM_LONGBOW || nType == BASE_ITEM_SHORTBOW)
|
||||
SetCompositeAttackBonus(oPC, "WeaponMasteryBow", 0);
|
||||
}
|
||||
|
||||
// Crossbow Mastery - Reset bonus on unequip
|
||||
if(GetHasFeat(FEAT_XBOWMASTERY, oPC))
|
||||
{
|
||||
if(nType == BASE_ITEM_LIGHTCROSSBOW || nType == BASE_ITEM_HEAVYCROSSBOW)
|
||||
SetCompositeAttackBonus(oPC, "WeaponMasteryXBow", 0);
|
||||
}
|
||||
|
||||
// Shuriken Mastery - Reset bonus on unequip
|
||||
if(GetHasFeat(FEAT_SHURIKENMASTERY, oPC))
|
||||
{
|
||||
if(nType == BASE_ITEM_SHURIKEN)
|
||||
SetCompositeAttackBonus(oPC, "WeaponMasteryShur", 0);
|
||||
}
|
||||
|
||||
// Brutal Throw - Reset bonus on unequip for throwing weapons
|
||||
if(GetHasFeat(FEAT_BRUTAL_THROW, oPC))
|
||||
{
|
||||
if(nType == BASE_ITEM_THROWINGAXE || nType == BASE_ITEM_SHURIKEN || nType == BASE_ITEM_DART)
|
||||
SetCompositeAttackBonus(oPC, "BrutalThrow", 0);
|
||||
}
|
||||
}
|
||||
// Equip event (iEquip == 2)
|
||||
else if(iEquip == 2)
|
||||
{
|
||||
oItem = GetItemLastEquipped();
|
||||
nType = GetBaseItemType(oItem);
|
||||
|
||||
// Bow Mastery - Apply bonus on equip
|
||||
if(GetHasFeat(FEAT_BOWMASTERY, oPC))
|
||||
{
|
||||
if(nType == BASE_ITEM_LONGBOW || nType == BASE_ITEM_SHORTBOW)
|
||||
SetCompositeAttackBonus(oPC, "WeaponMasteryBow", 1);
|
||||
}
|
||||
|
||||
// Crossbow Mastery - Apply bonus on equip
|
||||
if(GetHasFeat(FEAT_XBOWMASTERY, oPC))
|
||||
{
|
||||
if(nType == BASE_ITEM_LIGHTCROSSBOW || nType == BASE_ITEM_HEAVYCROSSBOW)
|
||||
SetCompositeAttackBonus(oPC, "WeaponMasteryXBow", 1);
|
||||
}
|
||||
|
||||
// Shuriken Mastery - Apply bonus on equip
|
||||
if(GetHasFeat(FEAT_SHURIKENMASTERY, oPC))
|
||||
{
|
||||
if(nType == BASE_ITEM_SHURIKEN)
|
||||
SetCompositeAttackBonus(oPC, "WeaponMasteryShur", 1);
|
||||
}
|
||||
|
||||
// Brutal Throw - Apply bonus if Strength > Dexterity for throwing weapons
|
||||
if(GetHasFeat(FEAT_BRUTAL_THROW, oPC))
|
||||
{
|
||||
if(nType == BASE_ITEM_THROWINGAXE || nType == BASE_ITEM_SHURIKEN || nType == BASE_ITEM_DART)
|
||||
{
|
||||
int nStrMod = GetAbilityModifier(ABILITY_STRENGTH, oPC);
|
||||
int nDexMod = GetAbilityModifier(ABILITY_DEXTERITY, oPC);
|
||||
|
||||
if (nStrMod > nDexMod)
|
||||
SetCompositeAttackBonus(oPC, "BrutalThrow", (nStrMod - nDexMod));
|
||||
else
|
||||
SetCompositeAttackBonus(oPC, "BrutalThrow", 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* void PRCFeat_Equip(object oPC, object oSkin, int iEquip)
|
||||
{
|
||||
//on unequip
|
||||
if(iEquip == 1)
|
||||
@ -104,7 +188,8 @@ void PRCFeat_Equip(object oPC, object oSkin, int iEquip)
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} */
|
||||
|
||||
/*
|
||||
/// +2 on Intimidate and Persuade /////////
|
||||
void BrandApply(object oPC ,object oSkin ,int iLevel)
|
||||
@ -128,13 +213,6 @@ void EvilBrand(object oPC, object oSkin, int iEquip)
|
||||
|| (GetHasFeat(FEAT_EB_NECK, oPC) && GetItemInSlot(INVENTORY_SLOT_CLOAK, oPC) == OBJECT_INVALID)
|
||||
|| (GetHasFeat(FEAT_EB_ARM, oPC)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
else
|
||||
BrandApply(oPC, oSkin, 0);
|
||||
}
|
||||
|
Binary file not shown.
@ -51021,7 +51021,7 @@ Prerequisite: Killoren
|
||||
Benefit: When you are manifesting the aspect of the hunter, you can take a free action to detect all living creatures within 30 feet, even if you cannot see the creature in question. Any opponent that you cannot see still has total concealment.
|
||||
Use: Selected</entry>
|
||||
<entry id="58816" lang="en" sex="m">Type of Feat: Racial
|
||||
Prerequisite: Kalashtar
|
||||
Prerequisite: Kalashtar or Empty Vessel
|
||||
Specifics: You gain one extra power point per character level.
|
||||
Use: Automatic.</entry>
|
||||
<entry id="58817" lang="en" sex="m">Tome of Battle Feats</entry>
|
||||
@ -71371,7 +71371,23 @@ Use: Activated</entry>
|
||||
<entry id="75063" lang="en" sex="m">Face-Changer Quickselect 1</entry>
|
||||
<entry id="75064" lang="en" sex="m">Face-Changer Quickselect 2</entry>
|
||||
<entry id="75065" lang="en" sex="m">Face-Changer Quickselect 3</entry>
|
||||
<entry id="75069" lang="en" sex="m">##START NWN .35 CLASS ABBREVIATIONS ##</entry>
|
||||
<entry id="75066" lang="en" sex="m">Empty Vessel</entry>
|
||||
<entry id="75067" lang="en" sex="m">empty vessel</entry>
|
||||
<entry id="75068" lang="en" sex="m">Empty Vessels</entry>
|
||||
<entry id="75069" lang="en" sex="m">Unpossessed quori hosts, known as empty vessels, train hard for the day they receive their quori spirits. An empty vessel is taller than the average human, but lightly built, with large, almond-shaped eyes that vary in color. Common colors are black, viridian, or violet, although the eyes change color with the mood of the individual. All empty vessels have pale skin and straight hair that ranges in color from jet black to deep blue or green. By human standards, most empty vessels are strikingly handsome or beautiful, and they possess an unnatural charm and a commanding aura that helps them influence others. Most wear their hair long, and they favor ornate clothing and decorations. Humans born and raised on Sarlona to become vessels receive special training and education, and they are remarkable individuals in their own right.
|
||||
|
||||
Empty Vessel Ability Adjustments: None.
|
||||
Favored Class (Psion): A multiclass empty vessel's psion class does not count when determining whether he suffers an XP penalty for multiclassing.
|
||||
|
||||
Special Abilities:
|
||||
|
||||
- Base movement of 30.
|
||||
- Naturally Psionic (Ex): Empty vessels gain 1 extra power point per character level, regardless of whether they choose a psionic class.
|
||||
- Skills: An empty vessel receives 4 extra skill points at 1st level and 1 extra skill point at each additional level.
|
||||
- +2 racial bonus on Bluff, Diplomacy, and Intimidate checks. Empty vessels are masters of social interaction, influencing others through their commanding presence and subtle psychic powers.
|
||||
- Bonus Feat: Empty vessels gain 1 extra feat at 1st level.
|
||||
- Human: Kalashtar are considered Human for the purpose of spells.
|
||||
- Level Adjustment: +1</entry>
|
||||
<entry id="75070" lang="en" sex="m">UrP</entry>
|
||||
<entry id="75071" lang="en" sex="m">Bnd</entry>
|
||||
<entry id="75072" lang="en" sex="m">AnM</entry>
|
||||
@ -72579,8 +72595,8 @@ Use: Activated</entry>
|
||||
<entry id="76546" lang="en" sex="m">Dragonsong Lyrist Spellcasting (Wizard)</entry>
|
||||
<entry id="76547" lang="en" sex="m">Eldritch Knight Spellcasting (Wizard)</entry>
|
||||
<entry id="76548" lang="en" sex="m">Enlightened Fist Spellcasting (Wizard)</entry>
|
||||
<entry id="76549" lang="en" sex="m">Eldritch Theurge Spellcasting (Wizard)</entry>
|
||||
<entry id="76550" lang="en" sex="m">Elemental Savant Spellcasting (Wizard)</entry>
|
||||
<entry id="76549" lang="en" sex="m">Elemental Savant Spellcasting (Wizard)</entry>
|
||||
<entry id="76550" lang="en" sex="m">Eldritch Theurge Spellcasting (Wizard)</entry>
|
||||
<entry id="76551" lang="en" sex="m">Force Missile Mage Spellcasting (Wizard)</entry>
|
||||
<entry id="76552" lang="en" sex="m">Fochlucan Lyrist Spellcasting (Wizard)</entry>
|
||||
<entry id="76553" lang="en" sex="m">Frost Mage Spellcasting (Wizard)</entry>
|
||||
|
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user