PRC8/nwn/nwnprc/trunk/scripts/prc_henshin.nss
Jaysyn904 9c7b452b9a 2025/08/15 Update
Added Verdant Lord PrC.
Added Create Infusion feat & crafting system.
Added Magical Artisan: Create Infusion feat.
Added Plant Defiance feat.
Added Plant Control feat.
Added Control Plants spell.
Added Forestfold spell.
Added Immunity from Elements spell.
Added Creeping Cold & Greater Creeping Cold spells.
Added Adrenaline Surge spell.
Added Mundane & Infused Herb baseitem types.
Added Mundane & Enchanted Scepter baseitem types.
Added EffectGazeImmunity() effect.
Added Botanical material type.
Created json library for summoning support.
Updated Plant Domain spells.
Fixed bug w/ Regen Circle.
Fixed weapon size bug with Enlarge & Reduce Person.
Fixed TMI bug in Swarm of Arrows (hopefully)
Fixed Blood in the Water.
Fixed Iron Soul / Master of Nine prereq bug.
Fixed Happo Zanshin to work more like PnP.
Fixed targeting bug w/ Ultrablast.
Fixed Ubiquitous Vision.
Fixed Magic Staves for small creatures.
Gave the summoned "treant" from Treebrother a Barkskin vfx.
Radial spells can now be scribed w/ Scribe Scroll.
Fixed Martial Stances not counting bug w/ levelup NUI (@Rakiov)
2025-08-15 13:42:37 -04:00

61 lines
1.8 KiB
Plaintext

/*
Henshin Mystic class functions.
These are all the funstions that the Henshin Mystic pr class
uses.
Jeremiah Teague
Rewritten by Stratovarius to use CompositeBonus
*/
#include "prc_inc_unarmed"
void main ()
{
object oPC = OBJECT_SELF;
object oSkin = GetPCSkin(oPC);
int nLvl = GetLevelByClass(CLASS_TYPE_HENSHIN_MYSTIC, oPC);
//UnarmedFeats(oPC);
//UnarmedFists(oPC);
SetLocalInt(oPC, CALL_UNARMED_FEATS, TRUE);
SetLocalInt(oPC, CALL_UNARMED_FISTS, TRUE);
// HappoZanshin - Immune to Sneak Attacks
if(nLvl > 2)
{
if(GetLocalInt(oSkin, "Happo"))
return;
effect eHappo = EffectBonusFeat(FEAT_PRESTIGE_DEFENSIVE_AWARENESS_2);
effect eLink = EffectLinkEffects(eLink, eHappo);
eLink = ExtraordinaryEffect(eLink);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eLink, oPC);
//AddItemProperty(DURATION_TYPE_PERMANENT, ItemPropertyImmunityMisc(IP_CONST_IMMUNITYMISC_BACKSTAB), oSkin);
//SetLocalInt(oSkin, "Happo", TRUE);
}
// Interaction - +4 to Taunt, Persuade, Bluff, and Intimidate
if(nLvl > 3)
{
if(GetLocalInt(oSkin, "InterP") == 4)
return;
SetCompositeBonus(oSkin, "InterP", 4, ITEM_PROPERTY_SKILL_BONUS,SKILL_PERSUADE);
SetCompositeBonus(oSkin, "InterS", 4, ITEM_PROPERTY_SKILL_BONUS,SKILL_SENSE_MOTIVE);
SetCompositeBonus(oSkin, "InterB", 4, ITEM_PROPERTY_SKILL_BONUS,SKILL_BLUFF);
SetCompositeBonus(oSkin, "InterI", 4, ITEM_PROPERTY_SKILL_BONUS,SKILL_INTIMIDATE);
}
// Invulerability
if(nLvl > 9)
{
if(GetLocalInt(oSkin, "HMInvul"))
return;
AddItemProperty(DURATION_TYPE_PERMANENT, ItemPropertyDamageReduction(IP_CONST_DAMAGEREDUCTION_1, IP_CONST_DAMAGESOAK_20_HP), oSkin);
SetLocalInt(oSkin, "HMInvul", TRUE);
}
}