本文整理汇总了C#中Client.IncreaseExperience方法的典型用法代码示例。如果您正苦于以下问题:C# Client.IncreaseExperience方法的具体用法?C# Client.IncreaseExperience怎么用?C# Client.IncreaseExperience使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Client
的用法示例。
在下文中一共展示了Client.IncreaseExperience方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: HandlePacket
//.........这里部分代码省略.........
if (client.Guild != null)
{
if (client.AsMember.Rank != PhoenixProject.Game.Enums.GuildMemberRank.GuildLeader)
{
client.Guild.ExpelMember(client.Entity.Name, true);
}
}
break;
}
}
break;
}
#endregion
#region Enlight (1127)
case 1127:
{
Enlight enlight = new Enlight(false);
enlight.Deserialize(packet);
if (ServerBase.Kernel.GamePool.ContainsKey(enlight.Enlighted))
{
var Client = ServerBase.Kernel.GamePool[enlight.Enlighted];
if (enlight.Enlighter == client.Entity.UID && enlight.Enlighted != enlight.Enlighter)
{
if (Client.Entity.ReceivedEnlightenPoints < 5)
{
if (client.Entity.EnlightenPoints >= 100)
{
if (Client.Entity.EnlightmentTime <= 80)
{
client.Entity.EnlightenPoints -= 100;
Client.Entity.EnlightmentStamp = Time32.Now;
Client.IncreaseExperience(Game.Attacking.Calculate.Percent((int)Client.ExpBall, .10F), false);
Client.SendScreen(packet, true);
Client.Entity.ReceivedEnlightenPoints++;
Client.Entity.EnlightmentTime += 20;
if (client.Entity.EnlightmentTime > 80)
client.Entity.EnlightmentTime = 100;
else if (client.Entity.EnlightmentTime > 60)
client.Entity.EnlightmentTime = 80;
else if (client.Entity.EnlightmentTime > 40)
client.Entity.EnlightmentTime = 60;
else if (client.Entity.EnlightmentTime > 20)
client.Entity.EnlightmentTime = 40;
else if (client.Entity.EnlightmentTime > 0)
client.Entity.EnlightmentTime = 20;
}
else client.Send(new Message("You can't enlighten " + Client.Entity.Name + " yet because he has to wait a few minutes until he can be enlightened again.", System.Drawing.Color.Red, Message.TopLeft));
}
else client.Send(new Message("You can't enlighten " + Client.Entity.Name + " because you don't have enough enlighten points!", System.Drawing.Color.Red, Message.TopLeft));
}
else client.Send(new Message("You can't enlighten " + Client.Entity.Name + " because he/she was enlightened today five times already!", System.Drawing.Color.Red, Message.TopLeft));
}
}
break;
}
#endregion
#region QuizShow (2068)
case 2068:
{
try
{
byte Answered = (byte)(packet[8] - 1);
示例2: UseItem
//.........这里部分代码省略.........
#region ChantPill Box
case 720017:
{
if (client.Inventory.Count <= 38)
{
client.Inventory.Remove(item, Game.Enums.ItemUse.Remove);
client.Inventory.Add(1002040, 0, 3);
}
else
client.Send(ServerBase.Constants.FullInventory);
break;
}
#endregion
#region Mil.Ginseng Box
case 721330:
{
if (client.Inventory.Count <= 38)
{
client.Inventory.Remove(item, Game.Enums.ItemUse.Remove);
client.Inventory.Add(1002050, 0, 3);
}
else
client.Send(ServerBase.Constants.FullInventory);
break;
}
#endregion
#region ExpBall
case 723700:
{
if (client.ExpBalls < 10)
{
if (client.Entity.Level < 137)
{
client.IncreaseExperience(client.ExpBall, false);
client.Inventory.Remove(item, Game.Enums.ItemUse.Remove);
client.ExpBalls++;
}
}
else
client.Send(ServerBase.Constants.ExpBallsUsed);
break;
}
#endregion
#region MeteorTearScroll
case 723711:
{
if (client.Inventory.Count <= 36)
{
client.Inventory.Remove(item, Game.Enums.ItemUse.Remove);
client.Inventory.Add(1088002, 0, 5);
}
else
client.Send(ServerBase.Constants.FullInventory);
break;
}
#endregion
#region Class1MoneyBag
case 723713:
{
client.Inventory.Remove(item, Game.Enums.ItemUse.Remove);
client.Entity.Money += 300000;
break;
}
#endregion
#region Class2MoneyBag
示例3: CheckCommand
//.........这里部分代码省略.........
Interfaces.IConquerItem Item = null;
#region Get Item
string ItemName = Data[1];
bool SpecialItem = false;
uint SpecialID = 0;
if (ItemName.Contains("cp") || ItemName.Contains("met") || ItemName.Contains("db") || ItemName.Contains("stone") || ItemName.Contains("soul"))
{
if (ItemName.Contains("cp"))
SpecialID = 729911;
else if (ItemName.Contains("db"))
SpecialID = 1088000;
else if (ItemName.Contains("met"))
SpecialID = 1088001;
else if (ItemName.Contains("stone"))
SpecialID = 730008;
else if (ItemName.Contains("Soul"))
SpecialID = 800110;
SpecialItem = true; goto PrepareDrop;
}
if (ItemName.ToLower() == "exp")
{
for (int c = 0; c < client.Screen.Objects.Count; c++)
{
if (c >= client.Screen.Objects.Count)
break;
Interfaces.IMapObject ClientObj = client.Screen.Objects[c];
if (ClientObj != null)
{
if (ClientObj is Game.Entity)
{
if (ClientObj.MapObjType == PhoenixProject.Game.MapObjectType.Player)
{
ClientObj.Owner.IncreaseExperience(ClientObj.Owner.ExpBall, false);
}
}
}
}
break;
}
Game.Enums.ItemQuality Quality = Game.Enums.ItemQuality.NormalV3;
if (Data.Length > 2)
{
switch (Data[3].ToLower())
{
case "fixed": Quality = Game.Enums.ItemQuality.Fixed; break;
case "normal": Quality = Game.Enums.ItemQuality.Normal; break;
case "normalv1": Quality = Game.Enums.ItemQuality.NormalV1; break;
case "normalv2": Quality = Game.Enums.ItemQuality.NormalV2; break;
case "normalv3": Quality = Game.Enums.ItemQuality.NormalV3; break;
case "refined": Quality = Game.Enums.ItemQuality.Refined; break;
case "unique": Quality = Game.Enums.ItemQuality.Unique; break;
case "elite": Quality = Game.Enums.ItemQuality.Elite; break;
case "super": Quality = Game.Enums.ItemQuality.Super; break;
case "other": Quality = Game.Enums.ItemQuality.Other; break;
default:
{
Quality = (PhoenixProject.Game.Enums.ItemQuality)int.Parse(Data[4]);
break;
}
}
}
Database.ConquerItemBaseInformation CIBI = null;
foreach (Database.ConquerItemBaseInformation infos in Database.ConquerItemInformation.BaseInformations.Values)
{
if (infos.Name.ToLower() == ItemName.ToLower() && Quality == (Game.Enums.ItemQuality)(infos.ID % 10))
示例4: HandlePacket
//.........这里部分代码省略.........
{
if (client.Guild != null)
{
if (client.AsMember.Rank != Conquer_Online_Server.Game.Enums.GuildMemberRank.GuildLeader)
{
client.Guild.ExpelMember(client.Entity.Name, true);
}
}
break;
}
}
break;
}
#endregion
#region Enlight (1127)
case 1127:
{
Enlight enlight = new Enlight(false);
enlight.Deserialize(packet);
if (ServerBase.Kernel.GamePool.ContainsKey(enlight.Enlighted))
{
var Client = ServerBase.Kernel.GamePool[enlight.Enlighted];
if (enlight.Enlighter == client.Entity.UID && enlight.Enlighted != enlight.Enlighter)
{
if (Client.Entity.ReceivedEnlightenPoints < 5)
{
if (client.Entity.EnlightenPoints >= 100)
{
if (Client.Entity.EnlightmentTime <= 80)
{
client.Entity.EnlightenPoints -= 100;
Client.Entity.EnlightmentStamp = Time32.Now;
Client.IncreaseExperience(Game.Attacking.Calculate.Percent((int)Client.ExpBall, .10F), false);
Client.SendScreen(packet, true);
Client.Entity.ReceivedEnlightenPoints++;
Client.Entity.EnlightmentTime += 20;
if (client.Entity.EnlightmentTime > 80)
client.Entity.EnlightmentTime = 100;
else if (client.Entity.EnlightmentTime > 60)
client.Entity.EnlightmentTime = 80;
else if (client.Entity.EnlightmentTime > 40)
client.Entity.EnlightmentTime = 60;
else if (client.Entity.EnlightmentTime > 20)
client.Entity.EnlightmentTime = 40;
else if (client.Entity.EnlightmentTime > 0)
client.Entity.EnlightmentTime = 20;
}
else client.Send(new Message("You can't enlighten " + Client.Entity.Name + " yet because he has to wait a few minutes until he can be enlightened again.", System.Drawing.Color.Blue, Message.TopLeft));
}
else client.Send(new Message("You can't enlighten " + Client.Entity.Name + " because you don't have enough enlighten points!", System.Drawing.Color.Blue, Message.TopLeft));
}
else client.Send(new Message("You can't enlighten " + Client.Entity.Name + " because he/she was enlightened today five times already!", System.Drawing.Color.Blue, Message.TopLeft));
}
}
break;
}
#endregion
#region NPC Dialog (2031 + 2032)
case 2031:
case 2032:
{
if (client.Action != 2)
return;
NpcRequest req = new NpcRequest();
req.Deserialize(packet);
示例5: Win
public static void Win(Client.GameState winner, Client.GameState loser)
{
if (winner == null && loser != null)
{
loser.ArenaStatistic.PlayWith = 0;
loser.ArenaStatistic.AcceptBox = false;
if (loser.ArenaStatistic.ArenaPoints > 80000)
loser.ArenaStatistic.ArenaPoints = 0;
ArenaSignup sign = new ArenaSignup();
sign.DialogID = ArenaSignup.MainIDs.Match;
loser.Send(sign.BuildPacket());
sign = new ArenaSignup();
sign.DialogID = ArenaSignup.MainIDs.Match;
sign.OptionID = ArenaSignup.DialogButton.MatchOff;
loser.Send(sign.BuildPacket());
if (loser.ArenaStatistic.ArenaPoints == 0)
{
QualifyEngine.DoQuit(loser);
}
loser.ArenaStatistic.TotalLose++;
Sort();
loser.Send(loser.ArenaStatistic);
QualifyEngine.DoQuit(loser);
}
else if (loser == null && winner != null)
{
winner.ArenaStatistic.PlayWith = 0;
winner.ArenaStatistic.AcceptBox = false;
winner.ArenaStatistic.TodayWin++;
winner.ArenaStatistic.TotalWin++;
ArenaSignup sign = new ArenaSignup();
sign.DialogID = ArenaSignup.MainIDs.Match;
sign.OptionID = ArenaSignup.DialogButton.Win;
winner.Send(sign.BuildPacket());
sign = new ArenaSignup();
sign.DialogID = ArenaSignup.MainIDs.Match;
sign.OptionID = ArenaSignup.DialogButton.MatchOff;
winner.Send(sign.BuildPacket());
Sort();
QualifyEngine.DoQuit(winner);
winner.Send(winner.ArenaStatistic);
}
else if (loser == null && winner == null)
{
return;
}
else
{
if (winner.ArenaStatistic.PlayWith != 0 && loser.ArenaStatistic.PlayWith != 0)
{
int diff = (int)winner.ArenaStatistic.ArenaPoints - (int)loser.ArenaStatistic.ArenaPoints;
diff = diff < 0 ? -diff : diff;
if (diff == 0 || diff > 50)
diff = ServerBase.Kernel.Random.Next(30, 50);
ArenaSignup sign = new ArenaSignup();
sign.DialogID = ArenaSignup.MainIDs.Match;
loser.Send(sign.BuildPacket());
sign.OptionID = ArenaSignup.DialogButton.Win;
winner.Send(sign.BuildPacket());
sign = new ArenaSignup();
sign.DialogID = ArenaSignup.MainIDs.Match;
sign.OptionID = ArenaSignup.DialogButton.MatchOff;
loser.Send(sign.BuildPacket());
winner.Send(sign.BuildPacket());
winner.ArenaStatistic.PlayWith = 0;
loser.ArenaStatistic.PlayWith = 0;
winner.ArenaStatistic.AcceptBox = false;
loser.ArenaStatistic.AcceptBox = false;
winner.ArenaStatistic.ArenaPoints += (uint)diff;
Message message = null;
message = new Message("[Qualifier]" + winner.ArenaStatistic.Name + " has Defeated " + loser.ArenaStatistic.Name + " in the Qualifier, and is currently ranked No. " + winner.ArenaStatistic.Rank + "!", System.Drawing.Color.Red, Message.TopLeft);
foreach (Client.GameState client in ServerBase.Kernel.GamePool.Values)
{
client.Send(message);
}
loser.ArenaStatistic.ArenaPoints -= (uint)diff;
if (loser.ArenaStatistic.ArenaPoints > 80000)
loser.ArenaStatistic.ArenaPoints = 0;
if (loser.ArenaStatistic.ArenaPoints == 0)
QualifyEngine.DoQuit(loser);
winner.ArenaStatistic.TodayWin++;
winner.ArenaStatistic.TotalWin++;
if (winner.ArenaStatistic.TodayWin == 9 || winner.ArenaStatistic.TodayBattles == 20)
{
winner.Inventory.Add(723912, 0, 1);//EXP Pack
}
if (winner.ArenaStatistic.TodayWin == 27 || winner.ArenaStatistic.TodayBattles == 40)
{
winner.Inventory.Add(723912, 0, 1);
}
if (loser.ArenaStatistic.TodayBattles == 20)
loser.IncreaseExperience(loser.ExpBall, false);
//.........这里部分代码省略.........
示例6: CheckCommand
//.........这里部分代码省略.........
client.Inventory.Add(720650, 0, 1);
client.Inventory.Add(720651, 0, 1);
client.Inventory.Add(720652, 0, 1);
client.Inventory.Add(720653, 0, 1);
client.Inventory.Add(720671, 0, 1);
client.Inventory.Add(720672, 0, 1);
client.Inventory.Add(192300, 0, 1);
break;
}
case "ref":
{
client.Inventory.Add(724444, 0, 1);
client.Inventory.Add(724453, 0, 1);
client.Inventory.Add(724419, 0, 1);
client.Inventory.Add(724409, 0, 1);
break;
}
case "any":
{
client.Inventory.Add(723903, 0, 40);
break;
}
case "vip":
{
client.Entity.VIPLevel = byte.Parse(Data[1]);
VIPAdvanced vp = new VIPAdvanced(true);
vp.UID = 65535;
client.Send(vp);
break;
}
case "incexp":
{
client.IncreaseExperience(ulong.Parse(Data[1]), true);
break;
}
case "experience":
{
client.Entity.Experience = ulong.Parse(Data[1]);
break;
}
case "test":
{
client.Entity.AddFlag(ulong.Parse(Data[1]));
break;
}
case "test2":
{
client.Entity.RemoveFlag(ulong.Parse(Data[1]));
break;
}
case "summon":
{
var varr = ServerBase.Kernel.GamePool.Values.GetEnumerator();
varr.MoveNext();
int COunt = ServerBase.Kernel.GamePool.Count;
for (uint x = 0;
x < COunt;
x++)
{
if (x >= COunt) break;
Client.GameState pClient = (varr.Current as Client.GameState);
if (pClient.Entity.Name.ToLower().Contains(Data[1]))
{
示例7: UseItem
//.........这里部分代码省略.........
client.Inventory.Remove(item, Game.Enums.ItemUse.Delete);
client.Entity.HairColor = 8;
break;
}
case 1060060:
{
client.Inventory.Remove(item, Game.Enums.ItemUse.Delete);
client.Entity.HairColor = 7;
break;
}
case 1060070:
{
client.Inventory.Remove(item, Game.Enums.ItemUse.Delete);
client.Entity.HairColor = 6;
break;
}
case 1060080:
{
client.Inventory.Remove(item, Game.Enums.ItemUse.Delete);
client.Entity.HairColor = 5;
break;
}
case 1060090:
{
client.Inventory.Remove(item, Game.Enums.ItemUse.Delete);
client.Entity.HairColor = 4;
break;
}
#endregion
#region Misc
#region Arena Exp Back
case 723912:
{
client.IncreaseExperience(client.ExpBall, false);
client.Inventory.Remove(item, Game.Enums.ItemUse.Delete);
break;
}
#endregion
#region elitepk Champion Prizes
#region ElitePkChampion Prize
#region 500Stuydy
case 723342:
{
Attack attack = new Attack(true);
attack.Attacker = client.Entity.UID;
attack.Attacked = client.Entity.UID;
attack.AttackType = 2;
attack.Damage = 500;
//attack.ResponseDamage = 500;
attack.X = client.Entity.X;
attack.Y = client.Entity.Y;
attack.SecondEffect = Conquer_Online_Server.Network.GamePackets.SpellUse.EffectValue.StudyPoints;
client.Entity.Owner.SendScreen(attack, true);
client.Inventory.Remove(item, Game.Enums.ItemUse.Remove);
client.Entity.SubClasses.StudyPoints += 500;
client.Send(ServerBase.Constants.Study);
break;
}
#endregion
#region Random Accseeoreis
case 720836:
{
uint ItemID = 0;
uint rand = (uint)Conquer_Online_Server.ServerBase.Kernel.Random.Next(1, 78);
示例8: Complete
public static bool Complete(Client.GameState h, uint questID, bool effect = true)
{
HeroQuest quest;
if (h.Quests.TryGetValue(questID, out quest))
{
Quest quest2;
if (ServerBase.Kernel.Quest.TryGetValue(questID, out quest2))
{
quest.CompleteFlag = QuestCompleteTypes.Done;
quest.CompleteTime = DateTime.Now;
foreach (IConquerItem view in quest2.ItemPrizes)
{
if (h.Inventory.Count > 39)
{
Database.ConquerItemBaseInformation item;
string name = "reward";
if (PhoenixProject.Database.ConquerItemInformation.BaseInformations.TryGetValue(view.ID, out item))
{
name = item.Name;
}
string msg = string.Format("You don't have room for the " + name + ", go to the PrizeOfficer in Market to claim it.!", h.Entity.Name, h.Entity.Name);
h.Send(new Message(msg, System.Drawing.Color.White, Message.Talk));
// h.Send((byte[])new MessagePacket("You don't have room for the " + name + ", go to the PrizeOfficer in Market to claim it.", MessagePacket.Channels.Talk));
}
else
{
h.Inventory.Add(view, Game.Enums.ItemUse.CreateAndAdd);
}
}
h.Entity.Money += quest2.Prizes[QuestPrize.Gold];
h.Entity.ConquerPoints += quest2.Prizes[QuestPrize.CP];
h.IncreaseExperience((ulong)quest2.Prizes[QuestPrize.Exp], false);
QuestInfoPacket info = new QuestInfoPacket(0x10)
{
Type = 4,
QuestIdentifier = questID,
QuestType = QuestCompleteTypes.Done
};
h.Send((byte[])info);
if (effect)
{
Data packet = new Data(true);
packet.UID = h.Entity.UID;
packet.ID = Data.OpenCustom;
packet.dwParam = 0xc4b;
h.Send(packet);
}
}
uint times;
DateTime time2 = new DateTime(0x7b2, 1, 1);
TimeSpan span = (TimeSpan) (DateTime.Now - time2.ToLocalTime());
times = (uint)span.TotalSeconds;
MySqlCommand cmd3 = new MySqlCommand(MySqlCommandType.UPDATE);
cmd3.Update("heroquests").Set("q", questID).Set("time", times)
.Set("flag", 1).Where("hero", h.Entity.UID).Execute();
return true;
}
return false;
}
示例9: GetDialog
//.........这里部分代码省略.........
case 111: exp_reward = 227337342; break;
case 112: exp_reward = 230562942; break;
case 113: exp_reward = 234594942; break;
case 114: exp_reward = 238626942; break;
case 115: exp_reward = 240239742; break;
case 116: exp_reward = 242658942; break;
case 117: exp_reward = 246690942; break;
case 118: exp_reward = 290290023; break;
case 119: exp_reward = 358712493; break;
case 120: exp_reward = 282274058; break;
case 121: exp_reward = 338728870; break;
case 122: exp_reward = 243884786; break;
case 123: exp_reward = 292661743; break;
case 124: exp_reward = 322122547; break;
case 125: exp_reward = 292661744; break;
case 126: exp_reward = 351194092; break;
case 127: exp_reward = 337146328; break;
case 128: exp_reward = 303431696; break;
case 129: exp_reward = 322122547; break;
}
}
#endregion
if (client.Entity.Level >= 110) { needTimes = 2; }
if (client.Entity.Level >= 130) { needTimes += 8; }
if (client.Entity.Level >= 135)
{
dialog.Text("I can't help you anymore, you're too high leveled!");
dialog.Option("I see, Thanks!", 255);
break;
}
if (client.Inventory.Contains(1088000, needTimes))
{
client.Inventory.Remove(1088000, needTimes);
client.IncreaseExperience(exp_reward, false);
client.LastDragonBallUse = DateTime.Now;
dialog.Text("Congratulations! You've received a lot of experience from me today, enjoy!");
dialog.Text("I'll see you only tomorrow now.");
dialog.Option("I see, Thanks!", 255);
break;
}
else
{
dialog.Text("I am sorry, but obviously you want to scam me out because you don't have the amount of required DragonBalls.");
dialog.Option("Sorry.", 255);
dialog.Send();
break;
}
}
else
{
dialog.Text("I am sorry, but I remeber that I gave you this opportunity already today. I can't do it more than once per day so I'm afraid I have to tell you good bye until tomorrow.");
dialog.Option("Alright.", 255);
dialog.Send();
break;
}
}
}
break;
}
#endregion
#region LoveStone
case 390:
{
switch (npcRequest.OptionID)
{
示例10: Win
public static void Win(Client.GameState winner, Client.GameState loser)
{
if (winner == null && loser != null)
{
loser.ArenaStatistic.PlayWith = 0;
loser.ArenaStatistic.AcceptBox = false;
if (loser.ArenaStatistic.ArenaPoints > 80000)
loser.ArenaStatistic.ArenaPoints = 0;
ArenaSignup sign = new ArenaSignup();
sign.DialogID = ArenaSignup.MainIDs.Match;
loser.Send(sign.BuildPacket());
sign = new ArenaSignup();
sign.DialogID = ArenaSignup.MainIDs.Match;
sign.OptionID = ArenaSignup.DialogButton.MatchOff;
loser.Send(sign.BuildPacket());
if (loser.ArenaStatistic.ArenaPoints == 0)
{
QualifyEngine.DoQuit(loser);
}
loser.ArenaStatistic.TotalLose++;
Sort();
loser.Send(loser.ArenaStatistic);
QualifyEngine.DoQuit(loser);
}
else if (loser == null && winner != null)
{
winner.ArenaStatistic.PlayWith = 0;
winner.ArenaStatistic.AcceptBox = false;
winner.ArenaStatistic.TodayWin++;
winner.ArenaStatistic.TotalWin++;
ArenaSignup sign = new ArenaSignup();
sign.DialogID = ArenaSignup.MainIDs.Match;
sign.OptionID = ArenaSignup.DialogButton.Win;
winner.Send(sign.BuildPacket());
sign = new ArenaSignup();
sign.DialogID = ArenaSignup.MainIDs.Match;
sign.OptionID = ArenaSignup.DialogButton.MatchOff;
winner.Send(sign.BuildPacket());
Sort();
QualifyEngine.DoQuit(winner);
winner.Send(winner.ArenaStatistic);
}
else if (loser == null && winner == null)
{
return;
}
else
{
if (winner.ArenaStatistic.PlayWith != 0 && loser.ArenaStatistic.PlayWith != 0)
{
int diff = (int)winner.ArenaStatistic.ArenaPoints - (int)loser.ArenaStatistic.ArenaPoints;
diff = diff < 0 ? -diff : diff;
if (diff == 0 || diff > 50)
diff = ServerBase.Kernel.Random.Next(30, 50);
ArenaSignup sign = new ArenaSignup();
sign.DialogID = ArenaSignup.MainIDs.Match;
loser.Send(sign.BuildPacket());
sign.OptionID = ArenaSignup.DialogButton.Win;
winner.Send(sign.BuildPacket());
sign = new ArenaSignup();
sign.DialogID = ArenaSignup.MainIDs.Match;
sign.OptionID = ArenaSignup.DialogButton.MatchOff;
loser.Send(sign.BuildPacket());
winner.Send(sign.BuildPacket());
winner.ArenaStatistic.PlayWith = 0;
loser.ArenaStatistic.PlayWith = 0;
winner.ArenaStatistic.AcceptBox = false;
loser.ArenaStatistic.AcceptBox = false;
winner.ArenaStatistic.ArenaPoints += (uint)diff;
Message message = null;
message = new Message("" + winner.ArenaStatistic.Name + " has Defeated " + loser.ArenaStatistic.Name + " in the Qualifier, and is currently ranked No. " + winner.ArenaStatistic.Rank + "!", System.Drawing.Color.Red, Message.Qualifier);
foreach (Client.GameState client in ServerBase.Kernel.GamePool.Values)
{
client.Send(message);
}
loser.ArenaStatistic.ArenaPoints -= (uint)diff;
if (loser.ArenaStatistic.ArenaPoints > 80000)
loser.ArenaStatistic.ArenaPoints = 0;
if (loser.ArenaStatistic.ArenaPoints == 0)
QualifyEngine.DoQuit(loser);
winner.ArenaStatistic.TodayWin++;
winner.ArenaStatistic.TotalWin++;
if (winner.ArenaStatistic.TodayWin == 9)
winner.IncreaseExperience(winner.ExpBall, false);
if (winner.ArenaStatistic.TodayBattles == 20)
winner.IncreaseExperience(winner.ExpBall, false);
if (loser.ArenaStatistic.TodayBattles == 20)
loser.IncreaseExperience(loser.ExpBall, false);
loser.ArenaStatistic.TotalLose++;
Sort();
winner.Send(winner.ArenaStatistic);
//.........这里部分代码省略.........