{
object oPC = GetItemActivator();
object oItem = GetItemActivated();
object oTarget = GetItemActivatedTarget();
location lTarget = GetItemActivatedTargetLocation();
int nCha = GetAbilityScore(oPC,ABILITY_CHARISMA);
int nDC = d6(nCha);
int nDamage = d6(nCha);
vector vTarget = Vector(0.0,0.0,0.0);
nDamage = GetReflexAdjustedDamage(nDamage, oTarget, nDC, SAVING_THROW_REFLEX);
effect eFire = EffectDamage(nDamage,DAMAGE_TYPE_FIRE,DAMAGE_POWER_NORMAL);
effect eIce = EffectDamage(nDamage,DAMAGE_TYPE_COLD,DAMAGE_POWER_NORMAL);
effect eAcid = EffectDamage(nDamage,DAMAGE_TYPE_ACID,DAMAGE_POWER_NORMAL);
effect eElec = EffectDamage(nDamage,DAMAGE_TYPE_ELECTRICAL,DAMAGE_POWER_NORMAL);
effect eBeam = EffectBeam(VFX_BEAM_PRISMATIC_SPRAY, oPC, BODY_NODE_HAND);
effect eHit1 = EffectNWN2SpecialEffectFile("sp_fire_hit.sef", OBJECT_INVALID, vTarget);
effect eHit2 = EffectNWN2SpecialEffectFile("sp_ice_hit.sef", OBJECT_INVALID, vTarget);
effect eHit3 = EffectNWN2SpecialEffectFile("sp_acid_hit.sef", OBJECT_INVALID, vTarget);
effect eHit4 = EffectNWN2SpecialEffectFile("sp_lightning_hit.sef", OBJECT_INVALID, vTarget);
//Your code goes here
if(GetIsReactionTypeHostile(oTarget, oPC))
{
oTarget = GetFirstObjectInShape(SHAPE_CONE, RADIUS_SIZE_HUGE, lTarget, TRUE, OBJECT_TYPE_CREATURE | OBJECT_TYPE_DOOR | OBJECT_TYPE_PLACEABLE, vTarget);
while (GetIsEnemy(oTarget, oPC))
{
SetImmortal(oTarget, FALSE);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eFire, oTarget);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eIce, oTarget);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eAcid, oTarget);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eElec, oTarget);
oTarget = GetNextObjectInShape(SHAPE_CONE, RADIUS_SIZE_HUGE, lTarget, TRUE, OBJECT_TYPE_CREATURE | OBJECT_TYPE_DOOR | OBJECT_TYPE_PLACEABLE, vTarget);
ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eHit1,oTarget, 1.0);
ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eHit2,oTarget, 1.0);
ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eHit3,oTarget, 1.0);
ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eHit4,oTarget, 1.0);
ApplyEffectToObject(DURATION_TYPE_TEMPORARY,eBeam,oTarget, 1.0);
}
}
}[script]
Modifié par lando005, 16 janvier 2011 - 12:54 .





Retour en haut






