66 lines
3.3 KiB
Plaintext
66 lines
3.3 KiB
Plaintext
void main()
|
|
{
|
|
ApplyEffectToObject(DURATION_TYPE_INSTANT,EffectDispelMagicAll(60),OBJECT_SELF);
|
|
int nLevel = GetCasterLevel(OBJECT_SELF);
|
|
int nHP, nCnt, nDuration;
|
|
nDuration = GetCasterLevel(OBJECT_SELF);
|
|
for(nCnt; nCnt <= nLevel; nCnt++){nHP += d6(6);}
|
|
effect eAttack = EffectAttackIncrease(nLevel+12,12);
|
|
effect eDamage1 = EffectDamageIncrease(15,DAMAGE_TYPE_SLASHING);
|
|
effect eDamage2 = EffectDamageIncrease(10,DAMAGE_TYPE_BLUDGEONING);
|
|
effect eDamage3 = EffectDamageIncrease(10,DAMAGE_TYPE_PIERCING);
|
|
effect eDamage4 = EffectDamageIncrease(30,DAMAGE_TYPE_FIRE);
|
|
effect eDamage5 = EffectDamageIncrease(10,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(8);
|
|
effect eHP = EffectTemporaryHitpoints(nHP);
|
|
effect eResist1 = EffectDamageResistance(DAMAGE_TYPE_BLUDGEONING,20,0);
|
|
effect eResist2 = EffectDamageResistance(DAMAGE_TYPE_PIERCING,20,0);
|
|
effect eResist3 = EffectDamageResistance(DAMAGE_TYPE_SLASHING,20,0);
|
|
effect eResist4 = EffectDamageResistance(DAMAGE_TYPE_ACID,15,0);
|
|
effect eResist5 = EffectDamageResistance(DAMAGE_TYPE_COLD,15,0);
|
|
effect eResist6 = EffectDamageResistance(DAMAGE_TYPE_ELECTRICAL,15,0);
|
|
effect eResist7 = EffectDamageImmunityIncrease(DAMAGE_TYPE_FIRE,100);
|
|
effect eResist8 = EffectDamageResistance(DAMAGE_TYPE_SONIC,15,0);
|
|
effect eResist9 = EffectDamageResistance(DAMAGE_TYPE_MAGICAL,8,0);
|
|
effect eHaste = EffectHaste();
|
|
effect eTrue = EffectTrueSeeing();
|
|
effect eVis = EffectVisualEffect(VFX_IMP_POLYMORPH);
|
|
effect eSaves = EffectSavingThrowIncrease(0,12,SAVING_THROW_TYPE_ALL);
|
|
effect eRegen = EffectRegenerate(12,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, eHP);
|
|
eLink = EffectLinkEffects(eLink, ePoly);
|
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVis, OBJECT_SELF);
|
|
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eLink, OBJECT_SELF, RoundsToSeconds(nDuration*12));
|
|
}
|