Beispiel #1
0
 protected MarkTrigger(short id, FightActor caster, Spell castedSpell, EffectDice originEffect, Cell centerCell, MarkShape shape)
 {
     Id           = id;
     Caster       = caster;
     CastedSpell  = castedSpell;
     OriginEffect = originEffect;
     CenterCell   = centerCell;
     Shape        = shape;
 }
Beispiel #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();
            }
        }
Beispiel #3
0
 public Wall(short id, FightActor caster, Spell castedSpell, EffectDice originEffect, Cell centerCell, WallsBinding binding, MarkShape shape)
     : base(id, caster, castedSpell, originEffect, centerCell, shape)
 {
     WallBinding = binding;
 }