case EVENT_TYPE_SPELLSCRIPT_IMPACT:
{
struct EventSpellScriptImpactStruct stEvent = Events_GetEventSpellScriptImpactParameters(ev);
if (CheckSpellResistance(stEvent.oTarget, stEvent.oCaster, stEvent.nAbility) == FALSE)
{
float fDamage = (50.0f + GetCreatureSpellPower(stEvent.oCaster)) * 4.0f;
ApplyEffectDamageOverTime(stEvent.oTarget, stEvent.oCaster, stEvent.nAbility, fDamage, 15.0f, DAMAGE_TYPE_PHYSICAL, Ability_GetImpactObjectVfxId(stEvent.nAbility));
effect eEffect = Effect(EFFECT_TYPE_DUMMY_HOSTILE);
ApplyEffectOnObject(EFFECT_DURATION_TYPE_TEMPORARY, eEffect, stEvent.oTarget, 25.0f, stEvent.oCaster, stEvent.nAbility);
DelayEvent(15.0f, stEvent.oTarget, Event(EVENT_TYPE_SPELLSCRIPT_AFTER_EFFECTS), "spell_infestation.ncs");
} else
{
UI_DisplayMessage(stEvent.oTarget, UI_MESSAGE_RESISTED);
}
break;
}
case EVENT_TYPE_SPELLSCRIPT_AFTER_EFFECTS:
{
struct EventSpellScriptAfterEffectsStruct stEvent = Events_GetEventSpellScriptAfterEffectsParameters(ev);
float fDamage = (50.0f + GetCreatureSpellPower(stEvent.oCaster)) * 4.0f;
ApplyEffectDamageOverTime(stEvent.oTarget, stEvent.oCaster, stEvent.nAbility, fDamage, 10.0f, DAMAGE_TYPE_NATURE);
break;
}
So basically, I made a new event type called EVENT_TYPE_SPELLSCRIPT_AFTER_EFFECTS, and used DelayEvent from within EVENT_TYPE_SPELLSCRIPT_IMPACT to call it. However, the nature damage never takes effect. Any help would be greatly appreciated. Thanks in advance.
Modifié par Anomaly-, 13 janvier 2011 - 09:49 .





Retour en haut






