public override void Execute() { if (!this.m_initialized) { this.Initialize(); } SpellEffectHandler[] handlers = this.Handlers; for (int i = 0; i < handlers.Length; i++) { SpellEffectHandler spellEffectHandler = handlers[i]; if (spellEffectHandler is DefaultSpellEffect && (int)spellEffectHandler.Effect.EffectId != 1160) { string dump = string.Format("{0}[{1}] : EffectId = {2} ; Target = {3} ; AffectedCells = {4} \n", this.Spell.Template.Name, i, spellEffectHandler.Effect.EffectId, spellEffectHandler.Targets.ToString(), string.Join("/", spellEffectHandler.AffectedCells.Select(x => x.Id))); System.IO.File.AppendAllText("spell_effects.txt", dump); } spellEffectHandler.Apply(); } }
private void ChakraConcentrationBuffTrigger(TriggerBuff buff, BuffTriggerType trigger, object token) { Damage damage = token as Damage; if (damage != null && damage.MarkTrigger is Trap) { Trap trap = damage.MarkTrigger as Trap; SpellEffectHandler[] handlers = base.Handlers; for (int i = 0; i < handlers.Length; i++) { SpellEffectHandler spellEffectHandler = handlers[i]; spellEffectHandler.SetAffectedActors( from x in this.m_affectedActors where trap.ContainsCell(x.Cell) select x); spellEffectHandler.Apply(); } } }