7 | 8 | ||
---|---|---|---|
14 | : base(FightType.TYPE_CHALLENGE, Map) | 14 | : base(FightType.TYPE_CHALLENGE, Map) |
15 | { | 15 | { |
16 | // Init du combat | 16 | // Init du combat |
17 | var AttFighter = new CharacterFighter(Attacker, this); | 17 | var AttFighter = new CharacterFighter(this, Attacker); |
18 | var DefFighter = new CharacterFighter(Defender, this); | 18 | var DefFighter = new CharacterFighter(this, Defender); |
19 | 19 | ||
20 | Attacker.AddGameAction(new GameFight(AttFighter, this)); | 20 | Attacker.AddGameAction(new GameFight(AttFighter, this)); |
21 | Defender.AddGameAction(new GameFight(DefFighter, this)); | 21 | Defender.AddGameAction(new GameFight(DefFighter, this)); |
... | ... | ||
33 | return 30000; | 33 | return 30000; |
34 | } | 34 | } |
35 | 35 | ||
36 | public override void EndFight(FightTeam Winners) | 36 | StringBuilder mySerializedString; |
37 | public override void SerializeAs_FlagDisplayInformations(StringBuilder Packet) | ||
37 | { | 38 | { |
38 | switch (this.FightState) | 39 | if (this.mySerializedString == null) |
39 | { | 40 | { |
40 | case FightState.STATE_PLACEMENT: | 41 | this.mySerializedString = new StringBuilder(); |
41 | this.Map.SendToMap(new GameFightFlagDestroyMessage(this.FightId)); | 42 | this.mySerializedString.Append(this.FightId).Append(';'); |
42 | break; | 43 | this.mySerializedString.Append((int)this.FightType).Append('|'); |
43 | 44 | this.mySerializedString.Append(this.myTeam1.LeaderId).Append(';'); | |
44 | case Fights.FightState.STATE_ENDED: | 45 | this.mySerializedString.Append(this.myTeam1.Leader.MapCell).Append(';'); |
45 | return; | 46 | this.mySerializedString.Append('0').Append(';'); |
47 | this.mySerializedString.Append("-1").Append('|'); | ||
48 | this.mySerializedString.Append(this.myTeam2.LeaderId).Append(';'); | ||
49 | this.mySerializedString.Append(this.myTeam2.Leader.MapCell).Append(';'); | ||
50 | this.mySerializedString.Append('0').Append(';'); | ||
51 | this.mySerializedString.Append("-1"); | ||
46 | } | 52 | } |
47 | | ||
48 | this.FightState = Fights.FightState.STATE_ENDED; | ||
49 | this.FightLoopState = FightLoopState.STATE_END_FIGHT; | ||
50 | 53 | ||
51 | var Loosers = (Winners == this.myTeam1 ? this.myTeam2 : this.myTeam1); | 54 | Packet.Append(this.mySerializedString.ToString()); |
55 | } | ||
52 | 56 | ||
57 | public override void EndFight(FightTeam Winners, FightTeam Loosers) | ||
58 | { | ||
53 | foreach (var Fighter in Loosers.GetFighters()) | 59 | foreach (var Fighter in Loosers.GetFighters()) |
54 | this.myResult.AddResult(Fighter, false); | 60 | this.myResult.AddResult(Fighter, false); |
55 | 61 | ||
... | ... | ||
57 | this.myResult.AddResult(Fighter, true); | 63 | this.myResult.AddResult(Fighter, true); |
58 | 64 | ||
59 | base.EndFight(); | 65 | base.EndFight(); |
60 | } | 66 | } |
61 | } | 67 | } |
62 | } | 68 | } |