Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //:://////////////////////:://
- //:://////////////////////:://
- //:: Corrupting Touch :://
- //:: Scripted by Bob :://
- //:: 02/13/2016 :://
- //:://////////////////////:://
- //:://////////////////////:://
- //:://////////////////////:://
- //:: Inflicts Damage and :://
- //:: heals the user for :://
- //:: damage dealt, :://
- //:: increasing at later :://
- //:: and lowering target :://
- //:: phystical stats :://
- //:://////////////////////:://
- //:://////////////////////:://
- //:://////////////////////:://
- //::VFX subject to change :://
- //:://////////////////////:://
- //:://////////////////////:://
- //:://////////////////////:://
- void main()
- {
- //Declare Major Variables
- int nLevel = GetLevelByClass ( CLASS_TYPE_BLACKGUARD )
- int nDamage;
- int nCHA = GetAbilityModifier( ABILITY_CHARISMA );
- int nSave = ( 10 + 0.5( nLevel) + nCHA;
- object oTarget = GetSpellTargetObject();
- object oSelf = GetObjectSelf;
- //Roll Touch Attack
- int nTouch = TouchAttackMelee( oTarget, TRUE)
- if ( nTouch>0)
- {
- if ( nLevel == 7 )
- nDamage = 8(4) + nLevel
- effect eDamage = EffectDamage( nDamage, DAMAGE_TYPE_NEGATIVE );
- effect eHeal = EffectHeal ( nDamage );
- effect eVis1 = ( VFX_IMP_AURA_NEGATIVE_ENERGY );
- effect eVis2 = ( VFX_IMP_MIND_EFFECTING_NEGATIVE);
- ApplyEffectToObject( DURATION_TYPE_INSTANT, eDamage, oTarget );
- ApplyEffectToObject( DURATION_TYPE_INSTANT, eHeal, oSelf );
- ApplyEffectToObject( DURATION_TYPE_INSTANT, eVis1, oSelf);
- ApplyEffectToObject( DURATION_TYPE_INSTANT, eVis2, oTarget);
- }
- if (nLevel == 8 )
- {
- nDamage = 8(4) + nLevel
- effect eDamage = EffectDamage ( nDamage, DAMAGE_TYPE_NEGATIVE );
- effect eHeal = EffectHeal ( nDamage );
- effect eVis1 = ( VFX_IMP_AURA_NEGATIVE_ENERGY );
- effect eVis2 = ( VFX_IMP_MIND_EFFECTING_NEGATIVE);
- ApplyEffectToObject( DURATION_TYPE_INSTANT, eDamage, oTarget);
- ApplyEffectToObject( DURATION_TYPE_INSTANT, eHeal, oSelf);
- ApplyEffectToObject( DURATION_TYPE_INSTANT, eVis1, oSelf);
- ApplyEffectToObject( DURATION_TYPE_INSTANT, eVis2, oTarget);
- if(MySavingThrow(SAVING_THROW_FORT, oTarget, 10 + 1/2nLevel + nCHA == 0)
- {
- int nStatloss = 4(1)
- effect eSTRLOSS = EffectAbilityDecrease( int nSTR = GetAbilityScore(ABILITY_SCORE_STRENGTH), nStatloss );
- effect eDEXLOSS = EffectAbilityDecrease( int nDEX = GetAbilityScore(ABILITY_SCORE_DEXTERIT), nStatloss );
- effect eCONLOSS = EffectAbilityDecrease( int nCON = GetAbilityScore(ABILITY_SCORE_CONSTITUTION), nStatloss);
- }
- }
- if (nLevel >8)
- nDamage = 8(5) + nLevel
- effect eDamage = EffectDamage ( nDamage, DAMAGE_TYPE_NEGATIVE );
- effect eHeal = EffectHeal ( nDamage );
- effect eVis1 = ( VFX_IMP_AURA_NEGATIVE_ENERGY );
- effect eVis2 = ( VFX_IMP_MIND_EFFECTING_NEGATIVE);
- ApplyEffectToObject( DURATION_TYPE_INSTANT, eDamage, oTarget);
- ApplyEffectToObject( DURATION_TYPE_INSTANT, eHeal, oSelf);
- ApplyEffectToObject( DURATION_TYPE_INSTANT, eVis1, oSelf);
- ApplyEffectToObject( DURATION_TYPE_INSTANT, eVis2, oTarget);
- if(MySavingThrow(SAVING_THROW_FORT, oTarget, 10 + 1/2nLevel + nCHA == 0)
- {
- int nStatloss = 4(1)
- effect eSTRLOSS = EffectAbilityDecrease( int nSTR = GetAbilityScore(ABILITY_SCORE_STRENGTH), nStatloss );
- effect eDEXLOSS = EffectAbilityDecrease( int nDEX = GetAbilityScore(ABILITY_SCORE_DEXTERIT), nStatloss );
- effect eCONLOSS = EffectAbilityDecrease( int nCON = GetAbilityScore(ABILITY_SCORE_CONSTITUTION), nStatloss);
- }
- }
- effect eLink = EffectLinkEffects(eDamage, eHeal);
- effect eLink = EffectLinkEffects(eLink, eSTRLOSS);
- effect eLink = EffectLinkEffects(eLink, eDEXLOSS);
- effect eLink = EffectLinkEffects(eLink, eDex);
- effect eLink = EffectLinkEffects(eLink, eVis1);
- effect eLink = EffectLinkEffects(eLink, eVis2);
- SignalEvent(OBJECT_TARGET, EventSpellCast(OBJECT_TARGET, 1131, FALSE));
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement