示例#1
0
文件: Push.cs 项目: Mixi59/Stump
 public Push(EffectDice effect, FightActor caster, SpellCastHandler castHandler, Cell targetedCell, bool critical)
     : base(effect, caster, castHandler, targetedCell, critical)
 {
     DamagesDisabled = effect.EffectId == EffectsEnum.Effect_PushBack_1103 ||
                       effect.EffectId == EffectsEnum.Effect_PullForward;
     Pull = effect.EffectId == EffectsEnum.Effect_PullForward;
 }
示例#2
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();
        }
示例#3
0
        internal void NotifySpellCasted(SpellCast cast)
        {
            CastsHistory.AddSpellCast(cast);

            SpellCastHandler handler = SpellCasted;

            if (handler != null)
            {
                handler(this, cast);
            }
        }
示例#4
0
    //public SpellQueue spellQueue;

    private GameCore()
    {
        spellRepository  = new SpellRepository(this);
        itemRepository   = new ItemRepository();
        spellCastHandler = new SpellCastHandler();
        troopsHandler    = new TroopsHandler();
        chosenAccount    = new Account();
        chosenAccount.LoadAccData();
        chosenAdventure = new Adventure(-1);
        espellHandler   = new EnemySpellInfoHandler();
        //spellQueue = new SpellQueue();
    }
示例#5
0
 protected SpellEffectHandler(EffectDice effect, FightActor caster, SpellCastHandler castHandler, Cell targetedCell, bool critical)
     : base(effect)
 {
     Dice                     = effect;
     Caster                   = caster;
     CastHandler              = castHandler;
     TargetedCell             = targetedCell;
     TargetedPoint            = new MapPoint(TargetedCell);
     Critical                 = critical;
     Targets                  = effect.Targets;
     Category                 = SpellIdentifier.GetEffectCategories(effect.EffectId);
     DefaultDispellableStatus = FightDispellableEnum.DISPELLABLE;
 }
示例#6
0
        void OnSpellCasting(FightActor caster, SpellCastHandler spellCastHandler)
        {
            if (spellCastHandler.Informations.Critical == FightSpellCastCriticalEnum.CRITICAL_FAIL)
            {
                return;
            }

            var entries = caster.SpellHistory.GetEntries(x => x.Spell.SpellId == spellCastHandler.Spell.Id);

            if (!entries.Any())
            {
                return;
            }

            UpdateStatus(ChallengeStatusEnum.FAILED);
        }
示例#7
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();
            }
        }
示例#8
0
 public DispelMagicEffects(EffectDice effect, FightActor caster, SpellCastHandler castHandler, Cell targetedCell, bool critical)
     : base(effect, caster, castHandler, targetedCell, critical)
 {
 }
示例#9
0
 public DamageSharing(EffectDice effect, FightActor caster, SpellCastHandler castHandler, Cell targetedCell, bool critical)
     : base(effect, caster, castHandler, targetedCell, critical)
 {
 }
示例#10
0
 public SymetricTeleport(EffectDice effect, FightActor caster, SpellCastHandler castHandler, Cell targetedCell, bool critical)
     : base(effect, caster, castHandler, targetedCell, critical)
 {
 }
示例#11
0
 public SwitchPosition(EffectDice effect, FightActor caster, SpellCastHandler castHandler, Cell targetedCell, bool critical) : base(effect, caster, castHandler, targetedCell, critical)
 {
 }
示例#12
0
        public SpellEffectHandler GetSpellEffectHandler(EffectDice effect, FightActor caster, SpellCastHandler castHandler, Cell targetedCell, bool critical)
        {
            SpellEffectConstructor handler;

            return(m_spellsEffectHandler.TryGetValue(effect.EffectId, out handler) ? handler(effect, caster, castHandler, targetedCell, critical) : new DefaultSpellEffect(effect, caster, castHandler, targetedCell, critical));
        }
示例#13
0
 public VitalityPercent(EffectDice effect, FightActor caster, SpellCastHandler castHandler, Cell targetedCell, bool critical)
     : base(effect, caster, castHandler, targetedCell, critical)
 {
 }
示例#14
0
 public ReduceBuffDuration(EffectDice effect, FightActor caster, SpellCastHandler castHandler, Cell targetedCell, bool critical)
     : base(effect, caster, castHandler, targetedCell, critical)
 {
 }
示例#15
0
 public RandomModifier(EffectDice effect, FightActor caster, SpellCastHandler castHandler, Cell targetedCell, bool critical)
     : base(effect, caster, castHandler, targetedCell, critical)
 {
 }
示例#16
0
 public GiveHpPercentWhenAttack(EffectDice effect, FightActor caster, SpellCastHandler castHandler, Cell targetedCell, bool critical)
     : base(effect, caster, castHandler, targetedCell, critical)
 {
 }
示例#17
0
 public ReviveAndGiveHP(EffectDice effect, FightActor caster, SpellCastHandler castHandler, Cell targetedCell, bool critical)
     : base(effect, caster, castHandler, targetedCell, critical)
 {
 }
示例#18
0
 public HealReceivedDamages(EffectDice effect, FightActor caster, SpellCastHandler castHandler, Cell targetedCell, bool critical)
     : base(effect, caster, castHandler, targetedCell, critical)
 {
 }
示例#19
0
 public RevealsInvisible(EffectDice effect, FightActor caster, SpellCastHandler castHandler, Cell targetedCell, bool critical) : base(effect, caster, castHandler, targetedCell, critical)
 {
 }
示例#20
0
 public KillAndSummon(EffectDice effect, FightActor caster, SpellCastHandler castHandler, Cell targetedCell, bool critical)
     : base(effect, caster, castHandler, targetedCell, critical)
 {
 }
示例#21
0
 public Attract(EffectDice effect, FightActor caster, SpellCastHandler castHandler, Cell targetedCell, bool critical)
     : base(effect, caster, castHandler, targetedCell, critical)
 {
     Pull            = true;
     DamagesDisabled = true;
 }
示例#22
0
 public DirectDamage(EffectDice effect, FightActor caster, SpellCastHandler castHandler, Cell targetedCell, bool critical)
     : base(effect, caster, castHandler, targetedCell, critical)
 {
     BuffTriggerType = BuffTriggerType.Unknown;
 }
示例#23
0
 public DamageIntercept(EffectDice effect, FightActor caster, SpellCastHandler castHandler, Cell targetedCell, bool critical)
     : base(effect, caster, castHandler, targetedCell, critical)
 {
     DefaultDispellableStatus = FightDispellableEnum.DISPELLABLE_BY_DEATH;
 }
示例#24
0
 public TriggerGlyphs(EffectDice effect, FightActor caster, SpellCastHandler castHandler, Cell targetedCell, bool critical) : base(effect, caster, castHandler, targetedCell, critical)
 {
 }
示例#25
0
文件: HPSteal.cs 项目: Mixi59/Stump
 public HPSteal(EffectDice effect, FightActor caster, SpellCastHandler castHandler, Cell targetedCell, bool critical)
     : base(effect, caster, castHandler, targetedCell, critical)
 {
 }
示例#26
0
 public AddState(EffectDice effect, FightActor caster, SpellCastHandler castHandler, Cell targetedCell, bool critical)
     : base(effect, caster, castHandler, targetedCell, critical)
 {
     DefaultDispellableStatus = DISPELABLE_STATES.Contains((SpellStatesEnum)Dice.Value) ? FightDispellableEnum.DISPELLABLE : FightDispellableEnum.DISPELLABLE_BY_DEATH;
 }
示例#27
0
 public TransmitCharacteristic(EffectDice effect, FightActor caster, SpellCastHandler castHandler, Cell targetedCell, bool critical)
     : base(effect, caster, castHandler, targetedCell, critical)
 {
 }
示例#28
0
 public PunishmentDamage(EffectDice effect, FightActor caster, SpellCastHandler castHandler, Cell targetedCell, bool critical)
     : base(effect, caster, castHandler, targetedCell, critical)
 {
 }