32 lines
884 B
Plaintext
32 lines
884 B
Plaintext
void main()
|
|
{
|
|
|
|
object oPC = GetNearestCreature(CREATURE_TYPE_PLAYER_CHAR, PLAYER_CHAR_IS_PC, OBJECT_SELF, 1, CREATURE_TYPE_PERCEPTION, PERCEPTION_SEEN);
|
|
|
|
if (IsInConversation(OBJECT_SELF) || GetIsInCombat()) return;
|
|
|
|
object oCaster;
|
|
oCaster = OBJECT_SELF;
|
|
|
|
object oTarget;
|
|
oTarget = oPC;
|
|
|
|
AssignCommand(oCaster, ActionCastSpellAtObject(SPELL_DELAYED_BLAST_FIREBALL, oTarget, METAMAGIC_ANY, TRUE, 40, PROJECTILE_PATH_TYPE_DEFAULT, TRUE));
|
|
|
|
effect eEffect;
|
|
eEffect = EffectDamage(28, DAMAGE_TYPE_MAGICAL, DAMAGE_POWER_NORMAL);
|
|
|
|
ApplyEffectToObject(DURATION_TYPE_INSTANT, eEffect, oPC);
|
|
|
|
oTarget = oPC;
|
|
|
|
int nInt;
|
|
nInt = GetObjectType(oTarget);
|
|
|
|
if (nInt != OBJECT_TYPE_WAYPOINT) ApplyEffectToObject(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_FIREBALL), oTarget);
|
|
else ApplyEffectAtLocation(DURATION_TYPE_INSTANT, EffectVisualEffect(VFX_FNF_FIREBALL), GetLocation(oTarget));
|
|
|
|
}
|
|
|
|
|