예제 #1
0
        public override void Trigger(FightActor trigger)
        {
            base.NotifyTriggered(trigger, this.GlyphSpell);
            SpellCastHandler spellCastHandler = Singleton <SpellManager> .Instance.GetSpellCastHandler(base.Caster,
                                                                                                       this.GlyphSpell, trigger.Cell, false);

            spellCastHandler.MarkTrigger = this;
            spellCastHandler.Initialize();
            spellCastHandler.Execute();
        }
예제 #2
0
        public override void Trigger(FightActor trigger)
        {
            base.NotifyTriggered(trigger, this.TrapSpell);
            MarkShape[] shapes = base.Shapes;
            for (int i = 0; i < shapes.Length; i++)
            {
                MarkShape        markShape        = shapes[i];
                SpellCastHandler spellCastHandler = Singleton <SpellManager> .Instance.GetSpellCastHandler(base.Caster, this.TrapSpell, markShape.Cell, false);

                spellCastHandler.MarkTrigger = this;
                spellCastHandler.Initialize();
                foreach (SpellEffectHandler current in spellCastHandler.GetEffectHandlers())
                {
                    current.EffectZone = new Zone((markShape.Shape == GameActionMarkCellsTypeEnum.CELLS_CROSS) ? SpellShapeEnum.Q : current.Effect.ZoneShape, markShape.Size);
                }
                spellCastHandler.Execute();
            }
        }