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; }
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(); } }
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; }