Example #1
0
        public override void FightEnd(FightTeam winners, FightTeam loosers)
        {
            if (State == FightState.STARTING)
            {
                Map.Send(FormatFlagDestroy());
            }

            StringBuilder builder = new StringBuilder("GE");

            builder.Append(EndTime).Append('|');
            builder.Append(ID).Append('|');
            builder.Append(Type == FightType.AGRESSION ? 1 : 0);

            foreach (Fighter fighter in GetFighters())
            {
                builder.Append('|').Append(fighter.Team == winners ? 2 : 0).Append(';');
                builder.Append(fighter.ID).Append(';');
                builder.Append(fighter.Name).Append(';');
                builder.Append(fighter.Level).Append(';');
                builder.Append(fighter.Dead ? 1 : 0).Append(';');
                builder.Append(";;;;;;;");
            }

            Send(builder.ToString());

            State = FightState.FINISHED;

            foreach (Fighter fighter in GetFighters().OfType <CharacterFighter>())
            {
                if (fighter.Fight == this)
                {
                    fighter.Buffs.Debuff();

                    fighter.Character.State.InFight = false;
                    fighter.Character.Fight         = null;
                    fighter.Character.Fighter       = null;
                }
            }

            KickSpectator(true);

            Map.RemoveFight(this);
            Map.Send(Map.FormatFightCount());
        }
Example #2
0
 public abstract void FightEnd(FightTeam winners, FightTeam loosers);
Example #3
0
 public string FormatFlagOption(ToggleType type, FightTeam team)
 {
     return(new StringBuilder("Go").Append(team.IsToggle(type) ? '+' : '-').Append(type == ToggleType.LOCK ? 'A' : (char)type).Append(team.ID).ToString());
 }
Example #4
0
 public bool CanJoin(Character player, FightTeam team)
 {
     return(myState == FightState.STARTING && team.CanJoin(player));
 }
Example #5
0
 public FightTeam GetEnnemyTeam(FightTeam team)
 {
     return(team == myTeam1 ? myTeam2 : myTeam1);
 }