Цепляй:
Код:
#include "k_inc_debug"
void main()
{
int nDamage=90;
int nDC=20;
int iAnim = 536;
object oSelf=GetSpellTargetObject();
object oTarget = GetFirstObjectInShape(SHAPE_SPHERE, 20.0, GetLocation(oSelf), FALSE, OBJECT_TYPE_CREATURE | OBJECT_TYPE_PLACEABLE);
while (GetIsObjectValid(oTarget)) {
if (GetIsEnemy(oTarget)) {
break;
}
oTarget = GetNextObjectInShape(SHAPE_SPHERE, 20.0, GetLocation(oSelf), FALSE, OBJECT_TYPE_CREATURE | OBJECT_TYPE_PLACEABLE);
}
vector vTarget = GetPosition(oTarget);
SetFacingPoint(vTarget);
PlayAnimation(10000 + iAnim, 1.0, 0.0);
if (GetIsObjectValid(oTarget)) {
effect eBeam = EffectBeam(2053, OBJECT_SELF, BODY_NODE_HAND_RIGHT);
effect eVFX = EffectVisualEffect(1039);
effect eBump = EffectVisualEffect(2062);
effect eHorror = EffectHorrified();
effect eDam;
eHorror = SetEffectIcon(eHorror, 57);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eVFX, oTarget);
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eBeam, oTarget, 1.0);
if(GetHitDice(oTarget) < 7 || FortitudeSave(oTarget, 20) == FALSE)
{
ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eHorror, oTarget, 5.0);
}
DelayCommand(0.33, ApplyEffectToObject(DURATION_TYPE_TEMPORARY, eBump, oTarget, 1.5));
if(ReflexSave(oTarget, nDC, SAVING_THROW_TYPE_FIRE))
{
nDamage /= 2;
}
eDam = EffectDamage(nDamage, DAMAGE_TYPE_FIRE);
ApplyEffectToObject(DURATION_TYPE_INSTANT, eDam, oTarget);
}
}
Это твой скрипт, я туда всего 4 новых строчки внес. А вот что Тассадар там наворотил - не знаю.