RoT2_PRC8/_module/nss/aw_c_shifter_beh.nss
Jaysyn904 499aba4eb3 Initial upload
Initial upload
2023-09-25 18:13:22 -04:00

69 lines
3.3 KiB
Plaintext

void main()
{
if(GetLevelByClass(CLASS_TYPE_SHIFTER, OBJECT_SELF) >= 14)
{
int nLevel = GetCasterLevel(OBJECT_SELF);
int nDuration;
nDuration = GetCasterLevel(OBJECT_SELF);
effect eAttack = EffectAttackIncrease(nLevel+8,12);
effect eDamage1 = EffectDamageIncrease(30,DAMAGE_TYPE_SLASHING);
effect eDamage2 = EffectDamageIncrease(15,DAMAGE_TYPE_BLUDGEONING);
effect eDamage3 = EffectDamageIncrease(15,DAMAGE_TYPE_PIERCING);
effect eDamage4 = EffectDamageIncrease(14,DAMAGE_TYPE_FIRE);
effect eDamage5 = EffectDamageIncrease(30,DAMAGE_TYPE_MAGICAL);
effect eSTR = EffectAbilityIncrease(ABILITY_STRENGTH,12);
effect eDEX = EffectAbilityIncrease(ABILITY_DEXTERITY,12);
effect eCON = EffectAbilityIncrease(ABILITY_CONSTITUTION,12);
effect eSwing = EffectModifyAttacks(5);
effect ePoly = EffectPolymorph(63);
//effect eHP = EffectTemporaryHitpoints(nHP);
effect eResist1 = EffectDamageImmunityDecrease(DAMAGE_TYPE_POSITIVE,75);
effect eResist2 = EffectDamageResistance(DAMAGE_TYPE_PIERCING,35,0);
effect eResist3 = EffectDamageResistance(DAMAGE_TYPE_SLASHING,35,0);
effect eResist4 = EffectDamageImmunityIncrease(DAMAGE_TYPE_BLUDGEONING,15);
effect eResist5 = EffectDamageImmunityIncrease(DAMAGE_TYPE_PIERCING,15);
effect eResist6 = EffectDamageImmunityIncrease(DAMAGE_TYPE_SLASHING,15);
effect eResist7 = EffectDamageImmunityIncrease(DAMAGE_TYPE_FIRE,50);
effect eResist8 = EffectDamageImmunityIncrease(DAMAGE_TYPE_NEGATIVE,100);
effect eResist9 = EffectDamageImmunityIncrease(DAMAGE_TYPE_MAGICAL,100);
effect eHaste = EffectHaste();
effect eTrue = EffectTrueSeeing();
effect eVis = EffectVisualEffect(VFX_IMP_POLYMORPH);
effect eSaves = EffectSavingThrowIncrease(0,12,SAVING_THROW_TYPE_ALL);
effect eRegen = EffectRegenerate(20,6.0);
effect eDis = EffectSkillIncrease(SKILL_DISCIPLINE,60);
effect eLink = EffectLinkEffects(eAttack, ePoly);
eLink = EffectLinkEffects(eLink, eDis);
eLink = EffectLinkEffects(eLink, eDamage1);
eLink = EffectLinkEffects(eLink, eDamage2);
eLink = EffectLinkEffects(eLink, eDamage3);
eLink = EffectLinkEffects(eLink, eDamage4);
eLink = EffectLinkEffects(eLink, eDamage5);
eLink = EffectLinkEffects(eLink, eCON);
eLink = EffectLinkEffects(eLink, eDEX);
eLink = EffectLinkEffects(eLink, eSTR);
eLink = EffectLinkEffects(eLink, eSwing);
eLink = EffectLinkEffects(eLink, eResist1);
eLink = EffectLinkEffects(eLink, eResist2);
eLink = EffectLinkEffects(eLink, eResist3);
eLink = EffectLinkEffects(eLink, eResist4);
eLink = EffectLinkEffects(eLink, eResist5);
eLink = EffectLinkEffects(eLink, eResist6);
eLink = EffectLinkEffects(eLink, eResist7);
eLink = EffectLinkEffects(eLink, eResist8);
eLink = EffectLinkEffects(eLink, eResist9);
eLink = EffectLinkEffects(eLink, eHaste);
eLink = EffectLinkEffects(eLink, eTrue);
eLink = EffectLinkEffects(eLink, eSaves);
eLink = EffectLinkEffects(eLink, eRegen);
eLink = EffectLinkEffects(eLink, ePoly);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, OBJECT_SELF);
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, OBJECT_SELF, RoundsToSeconds(nDuration*12));
}
if(GetLevelByClass(CLASS_TYPE_SHIFTER, OBJECT_SELF) <= 14)
SpeakString( "You need Shifter Level 15 to use this.");
}