示例#1
0
        void OnDamageInflicted(FightActor fighter, Damage damage)
        {
            if (fighter.IsAlive())
            {
                return;
            }

            if (!(damage.Source is CharacterFighter))
            {
                return;
            }

            if (damage.Spell == null)
            {
                UpdateStatus(ChallengeStatusEnum.FAILED, damage.Source);
                return;
            }

            if (fighter.IsIndirectSpellCast(damage.Spell) || fighter.IsPoisonSpellCast(damage.Spell))
            {
                return;
            }

            UpdateStatus(ChallengeStatusEnum.FAILED, damage.Source);
        }
示例#2
0
 protected override void OnFighterRemoved(FightTeam team, FightActor actor)
 {
     if (base.State == FightState.Placement && team == this.AttackersTeam && actor is CharacterFighter)
     {
         TaxCollectorHandler.SendGuildFightPlayersEnemyRemoveMessage(this.TaxCollector.TaxCollectorNpc.Guild.Clients, this.TaxCollector.TaxCollectorNpc, (actor as CharacterFighter).Character);
     }
     if (actor is TaxCollectorFighter && actor.IsAlive())
     {
         (actor as TaxCollectorFighter).TaxCollectorNpc.RejoinMap();
     }
     base.OnFighterRemoved(team, actor);
 }