Reborn code
` public unsafe void Reborn(Role.Player player, uint RebornClass, ServerSockets.Packet stream)
{
if (player.Class / 1000 != RebornClass / 1000 && player.Owner.Rune.WornObjects.Count(i => Role.Instance.Rune.GetSkillForRune(i) != null) > 0)
{
player.Owner.SendSysMesage("Please unequip red/blue runes before changing your class.", MsgMessage.ChatMode.SystemWhisper);
player.Owner.CreateBoxDialog("Please unequip red/blue/Yellow runes before changing your class.");
return;
}
#region Save Promotion
if (Database.AtributesStatus.IsThunderStriker(player.Class))
{
player.Class -= 1;
player.SavePromote = player.Class;
}
if (Database.AtributesStatus.IsArcher(player.Class))
{
player.Class -= 1;
player.SavePromote1 = player.Class;
}
if (Database.AtributesStatus.IsFire(player.Class))
{
player.Class -= 1;
player.SavePromote2 = player.Class;
}
if (Database.AtributesStatus.IsLee(player.Class))
{
player.Class -= 1;
player.SavePromote3 = player.Class;
}
if (Database.AtributesStatus.IsMonk(player.Class))
{
player.Class -= 1;
player.SavePromote4 = player.Class;
}
if (Database.AtributesStatus.IsNinja(player.Class))
{
player.Class -= 1;
player.SavePromote5 = player.Class;
}
if (Database.AtributesStatus.IsPirate(player.Class))
{
player.Class -= 1;
player.SavePromote6 = player.Class;
}
if (Database.AtributesStatus.IsTaoist(player.Class))
{
player.Class -= 1;
player.SavePromote7 = player.Class;
}
if (Database.AtributesStatus.IsTrojan(player.Class))
{
player.Class -= 1;
player.SavePromote8 = player.Class;
}
if (Database.AtributesStatus.IsWarrior(player.Class))
{
player.Class -= 1;
player.SavePromote9 = player.Class;
}
if (Database.AtributesStatus.IsWater(player.Class))
{
player.Class -= 1;
player.SavePromote10 = player.Class;
}
if (Database.AtributesStatus.IsWindWalker(player.Class))
{
player.Class -= 1;
player.SavePromote11 = player.Class;
}
#endregion
if (Database.AtributesStatus.IsTrojan(player.Class)) player.Class = 1005;
if (Database.AtributesStatus.IsWarrior(player.Class)) player.Class = 2005;
if (Database.AtributesStatus.IsArcher(player.Class)) player.Class = 4005;
if (Database.AtributesStatus.IsNinja(player.Class)) player.Class = 5005;
if (Database.AtributesStatus.IsMonk(player.Class)) player.Class = 6005;
if (Database.AtributesStatus.IsPirate(player.Class)) player.Class = 7005;
if (Database.AtributesStatus.IsThunderStriker(player.Class)) player.Class = 9005;
if (Database.AtributesStatus.IsWater(player.Class)) player.Class = 13005;
if (Database.AtributesStatus.IsFire(player.Class)) player.Class = 14005;
if (Database.AtributesStatus.IsWindWalker(player.Class)) player.Class = 16005;
if (Database.AtributesStatus.IsLee(player.Class)) player.Class = 8005;
if (RebornClass < 1000)
{
switch (RebornClass)
{
case 11:
{
RebornClass = 1001;
break;
}
case 21:
{
RebornClass = 2001;
break;
}
case 41:
{
RebornClass = 4001;
break;
}
case 51:
{
RebornClass = 5001;
break;
}
case 61:
{
RebornClass = 6001;
break;
}
case 71:
{
RebornClass = 7001;
break;
}
case 81:
{
RebornClass = 8001;
break;
}
case 91:
{
RebornClass = 9001;
break;
}
case 132:
{
RebornClass = 13002;
break;
}
case 142:
{
RebornClass = 14002;
break;
}
case 162:
{
RebornClass = 16002; //Added to see if it helps, doesn't seem to help
break;
}
}
}
if (RebornClass % 10 == 1 || RebornClass == 13002 || RebornClass == 14002)
{
switch (player.Reborn)
{
case 0:
{
foreach (var info in this)
{
if (info.Item1 == 1 && info.Item2 == player.Class && info.Item3 == RebornClass)
{
switch (info.Item4)
{
case Action.AddRebornSpells:
case Action.Add:
{
foreach (var spellid in info.Item5)
player.Owner.MySpells.Add(stream, spellid);
break;
}
case Action.Delete:
{
foreach (var spellid in info.Item5)
{
player.Owner.MySpells.Remove(spellid, stream);
}
break;
}
case Action.Downgrade:
{
foreach (var spellid in info.Item5)
player.Owner.MySpells.RebornSpell(stream, spellid);
break;
}
}
}
}
player.FirstRebornLevel = (byte)player.Level;
player.FirstClass = player.Class;
player.Class = RebornClass;
player.Reborn = 1;
player.SendUpdate(stream, player.Reborn, Game.MsgServer.MsgUpdate.DataType.Reborn);
Server.SendGlobalPacket(new Game.MsgServer.MsgMessage("Congratulations! " + player.Name + " has got " + player.Reborn + " reborns.", Game.MsgServer.MsgMessage.MsgColor.white, Game.MsgServer.MsgMessage.ChatMode.Center).GetArray(stream));
break;
}
case 1:
{
foreach (var info in this)
{
if (info.Item1 == 2 && info.Item2 == player.Class && info.Item3 == RebornClass)
{
switch (info.Item4)
{
case Action.AddRebornSpells:
case Action.Add:
{
foreach (var spellid in info.Item5)
player.Owner.MySpells.Add(stream, spellid);
break;
}
case Action.Delete:
{
foreach (var spellid in info.Item5)
{
player.Owner.MySpells.Remove(spellid, stream);
}
break;
}
case Action.Downgrade:
{
foreach (var spellid in info.Item5)
{
player.Owner.MySpells.RebornSpell(stream, spellid);
}
break;
}
}
}
}
player.SecondRebornLevel = (byte)player.Level;
player.SecondClass = player.Class;
player.Class = RebornClass;
player.Reborn = 2;
player.SendUpdate(stream, player.Reborn, Game.MsgServer.MsgUpdate.DataType.Reborn);
Server.SendGlobalPacket(new Game.MsgServer.MsgMessage("Congratulations! " + player.Name + " has got " + player.Reborn + "nd reborn.", Game.MsgServer.MsgMessage.MsgColor.white, Game.MsgServer.MsgMessage.ChatMode.Center).GetArray(stream));
break;
}
case 2:
{
//Monk
if (player.Owner.MySpells.ClientSpells.ContainsKey((ushort)Role.Flags.SpellID.InfernalEcho))
player.Owner.Inventory.Add(stream, 3007568);
if (player.Owner.MySpells.ClientSpells.ContainsKey((ushort)Role.Flags.SpellID.GraceofHeaven))
player.Owner.Inventory.Add(stream, 3007567);
if (player.Owner.MySpells.ClientSpells.ContainsKey((ushort)Role.Flags.SpellID.WrathoftheEmperor))
player.Owner.Inventory.Add(stream, 3007566);
//Pirate
if (player.Owner.MySpells.ClientSpells.ContainsKey((ushort)Role.Flags.SpellID.SeaBurial))
player.Owner.Inventory.Add(stream, 3307432);
if (player.Owner.MySpells.ClientSpells.ContainsKey((ushort)Role.Flags.SpellID.BloomofDeath))
player.Owner.Inventory.Add(stream, 3307433);
if (player.Owner.MySpells.ClientSpells.ContainsKey((ushort)Role.Flags.SpellID.BloomofDeath))
player.Owner.Inventory.Add(stream, 3307434);
//Taoist
if (player.Owner.MySpells.ClientSpells.ContainsKey((ushort)Role.Flags.SpellID.AuroraLotus))
player.Owner.Inventory.Add(stream, 3006018);
if (player.Owner.MySpells.ClientSpells.ContainsKey((ushort)Role.Flags.SpellID.BlessingTouch))
player.Owner.Inventory.Add(stream, 3006020);
if (player.Owner.MySpells.ClientSpells.ContainsKey((ushort)Role.Flags.SpellID.FlameLotus))
player.Owner.Inventory.Add(stream, 3006017);
if (player.Owner.MySpells.ClientSpells.ContainsKey((ushort)Role.Flags.SpellID.SearingTouch))
player.Owner.Inventory.Add(stream, 3006019);
//Ninja
if (player.Owner.MySpells.ClientSpells.ContainsKey((ushort)Role.Flags.SpellID.TwilightDance))
player.Owner.Inventory.Add(stream, 3004460);
if (player.Owner.MySpells.ClientSpells.ContainsKey((ushort)Role.Flags.SpellID.ShadowClone))
player.Owner.Inventory.Add(stream, 3004459);
if (player.Owner.MySpells.ClientSpells.ContainsKey((ushort)Role.Flags.SpellID.FatalSpin))
player.Owner.Inventory.Add(stream, 3004461);
player.Owner.MySpells.ClearSpells(StaticSpells, stream);
uint RClass = 0;
if (player.SecondClass == 13005)
RClass = 13002;
else if (player.SecondClass == 14005)
RClass = 14002;
else
RClass = (uint)(player.SecondClass - 4);
uint Twoclass = 0;
if (player.Class == 13005)
Twoclass = 13002;
else if (player.Class == 14005)
Twoclass = 14002;
else
Twoclass = (uint)(player.Class - 4);
foreach (var info in this)
{
if (info.Item1 == 0 && info.Item2 == 0 && info.Item3 == RClass)
{
switch (info.Item4)
{
case Action.AllClassSpells:
{
foreach (var spellid in info.Item5)
{
if (!StaticSpells.Contains(spellid))
player.Owner.MySpells.Add(stream, spellid);
}
break;
}
}
}
}
foreach (var info in this)
{
if (info.Item1 == 1 && info.Item2 == player.SecondClass && info.Item3 == Twoclass)
{
switch (info.Item4)
{
case Action.AddRebornSpells:
case Action.Add:
{
foreach (var spellid in info.Item5)
player.Owner.MySpells.Add(stream, spellid);
break;
}
case Action.Delete:
{
foreach (var spellid in info.Item5)
{
player.Owner.MySpells.Remove(spellid, stream);
}
break;
}
case Action.Downgrade:
{
foreach (var spellid in info.Item5)
{
player.Owner.MySpells.RebornSpell(stream, spellid);
}
break;
}
}
}
}
foreach (var info in this)
{
if (info.Item1 == 0 && info.Item2 == 0 && info.Item3 == Twoclass)
{
switch (info.Item4)
{
case Action.AllClassSpells:
{
foreach (var spellid in info.Item5)
{
if (!StaticSpells.Contains(spellid))
player.Owner.MySpells.Add(stream, spellid);
}
break;
}
}
}
}
foreach (var info in this)
{
if (info.Item1 == 2 && info.Item2 == player.Class && info.Item3 == RebornClass)
{
switch (info.Item4)
{
case Action.AddRebornSpells:
case Action.Add:
{
foreach (var spellid in info.Item5)
player.Owner.MySpells.Add(stream, spellid);
break;
}
case Action.Delete:
{
foreach (var spellid in info.Item5)
{
player.Owner.MySpells.Remove(spellid, stream);
}
break;
}
case Action.Downgrade:
{
foreach (var spellid in info.Item5)
{
player.Owner.MySpells.RebornSpell(stream, spellid);
}
break;
}
}
}
}
player.FirstRebornLevel = player.SecondRebornLevel;
player.SecondRebornLevel = (byte)player.Level;
player.FirstClass = player.SecondClass;
player.SecondClass = player.Class;
player.Class = RebornClass;
Server.SendGlobalPacket(new Game.MsgServer.MsgMessage("Congratulations! " + player.Name + " has got reincarnation.", Game.MsgServer.MsgMessage.MsgColor.white, Game.MsgServer.MsgMessage.ChatMode.System).GetArray(stream));
player.Reincarnation = true;
break;
}
}
try
{
foreach (var item in player.Owner.Equipment.ClientItems.Values)
{
if (item != null)
{
try
{
if (item.Position != (ushort)Role.Flags.ConquerItem.AleternanteBottle
&& item.Position != (ushort)Role.Flags.ConquerItem.AleternanteGarment
&& item.Position != (ushort)Role.Flags.ConquerItem.Bottle
&& item.Position != (ushort)Role.Flags.ConquerItem.Fan
&& item.Position != (ushort)Role.Flags.ConquerItem.Garment
&& item.Position != (ushort)Role.Flags.ConquerItem.LeftWeaponAccessory
&& item.Position != (ushort)Role.Flags.ConquerItem.RidingCrop
&& item.Position != (ushort)Role.Flags.ConquerItem.RightWeaponAccessory
&& item.Position != (ushort)Role.Flags.ConquerItem.Steed
&& item.Position != (ushort)Role.Flags.ConquerItem.SteedMount
&& item.Position != (ushort)Role.Flags.ConquerItem.Tower)
{
item.ITEM_ID = Pool.ItemsBase.DowngradeItem(item.ITEM_ID);
item.Mode = Role.Flags.ItemMode.Update;
item.Send(player.Owner, stream);
}
}
catch (Exception e) { MyConsole.WriteLine(e.ToString()); }
}
}
}
catch (Exception e) { MyConsole.WriteLine(e.ToString()); }
player.Owner.Equipment.Remove(Role.Flags.ConquerItem.LeftWeapon, stream);
player.Owner.Equipment.Remove(Role.Flags.ConquerItem.AleternanteLeftWeapon, stream);
player.Level = 15;
player.Experience = Pool.LevelInfo[Database.DBLevExp.Sort.User][(byte)(player.Level - 1)].Experience;
player.SendUpdate(stream, (long)player.Experience, Game.MsgServer.MsgUpdate.DataType.Experience);
ActionQuery action = new ActionQuery()
{
ObjId = player.UID,
Type = ActionType.Leveled,
dwParam = player.Level
};
player.Owner.Send(stream.ActionCreate(action));
player.SendUpdate(stream, player.Level, Game.MsgServer.MsgUpdate.DataType.Level);
// Database.DataCore.AtributeStatus.GetStatus(player, true);
player.Strength = player.Agility = player.Spirit = 0;
player.Vitality = 1;
if (player.Reborn == 1)
{
player.Atributes = (ushort)(Pool.RebornInfo.ExtraAtributePoints(player.FirstRebornLevel, player.FirstClass)
+ 52 + 3 * (player.Level - 15) + player.ExtraAtributes);
}
else
{
player.Atributes = (ushort)(Pool.RebornInfo.ExtraAtributePoints(player.FirstRebornLevel, player.FirstClass) +
Pool.RebornInfo.ExtraAtributePoints(player.SecondRebornLevel, player.SecondClass) + 52 + 3 * (player.Level - 15) + player.ExtraAtributes);
}
player.SendUpdate(stream, player.Strength, Game.MsgServer.MsgUpdate.DataType.Strength);
player.SendUpdate(stream, player.Agility, Game.MsgServer.MsgUpdate.DataType.Agility);
player.SendUpdate(stream, player.Spirit, Game.MsgServer.MsgUpdate.DataType.Spirit);
player.SendUpdate(stream, player.Vitality, Game.MsgServer.MsgUpdate.DataType.Vitality);
player.SendUpdate(stream, player.Atributes, Game.MsgServer.MsgUpdate.DataType.Atributes);
player.SendUpdate(stream, player.FirstClass, Game.MsgServer.MsgUpdate.DataType.FirstRebornClass);
player.SendUpdate(stream, player.SecondClass, Game.MsgServer.MsgUpdate.DataType.SecondRebornClass);
player.Owner.Equipment.QueryEquipment(player.Owner.Equipment.Alternante, true);
Database.PrestigeRanking.CheckReborn(player.Owner);
var client = player.Owner;
client.HundredWeapons.UpdateRank();
client.Player.RemoveFlag(MsgUpdate.Flags.ChillingSnow);
client.Player.RemoveFlag(MsgUpdate.Flags.HealingSnow);
client.Player.ClearFlags();
client.MySpells.Remove((ushort)Role.Flags.SpellID.Pitching, stream);
client.MySpells.Remove((ushort)Role.Flags.SpellID.Comprehension, stream);
client.MySpells.Remove((ushort)Role.Flags.SpellID.Comprehension, stream);
client.MySpells.Remove((ushort)Role.Flags.SpellID.Pitching, stream);
client.MySpells.Remove((ushort)Role.Flags.SpellID.Rampage, stream);
client.MySpells.Remove((ushort)Role.Flags.SpellID.FrostArrows, stream);
client.MySpells.Remove((ushort)Role.Flags.SpellID.Sacrifice, stream);
client.MySpells.Remove((ushort)Role.Flags.SpellID.Infinity, stream);
client.MySpells.Remove((ushort)Role.Flags.SpellID.Absolution, stream);
client.MySpells.Remove((ushort)Role.Flags.SpellID.IronShield, stream);
client.MySpells.Remove((ushort)Role.Flags.SpellID.TideTrap, stream);
client.MySpells.Remove((ushort)Role.Flags.SpellID.Slayer, stream);
client.MySpells.Remove((ushort)Role.Flags.SpellID.CounterPunch, stream);
client.MySpells.Remove((ushort)Role.Flags.SpellID.FineRain, stream);
client.MySpells.Remove((ushort)Role.Flags.SpellID.FireCurse, stream);
client.MySpells.Remove((ushort)Role.Flags.SpellID.Wildwind, stream);
client.MySpells.Remove((ushort)Role.Flags.SpellID.BloomofDeath, stream);
client.MySpells.Remove((ushort)Role.Flags.SpellID.SkyFall, stream);
client.MySpells.Remove((ushort)Role.Flags.SpellID.SpaceLeap, stream);
client.MySpells.Remove((ushort)Role.Flags.SpellID.Duel, stream);
if (Database.AtributesStatus.IsTrojan(client.Player.Class))
{
if (!client.MySpells.ClientSpells.ContainsKey((ushort)Role.Flags.SpellID.FastBlader))
client.MySpells.Add(stream, (ushort)Role.Flags.SpellID.FastBlader);
if (!client.MySpells.ClientSpells.ContainsKey((ushort)Role.Flags.SpellID.ScrenSword))
client.MySpells.Add(stream, (ushort)Role.Flags.SpellID.ScrenSword);
if (!client.MySpells.ClientSpells.ContainsKey((ushort)Role.Flags.SpellID.Cyclone))
client.MySpells.Add(stream, (ushort)Role.Flags.SpellID.Cyclone);
if (!client.MySpells.ClientSpells.ContainsKey((ushort)Role.Flags.SpellID.MonsterHunter))
client.MySpells.Add(stream, (ushort)Role.Flags.SpellID.MonsterHunter);
if (!client.MySpells.ClientSpells.ContainsKey((ushort)Role.Flags.SpellID.UndyingWill))
client.MySpells.Add(stream, (ushort)Role.Flags.SpellID.UndyingWill);
}
else if (Database.AtributesStatus.IsWindWalker(client.Player.Class))
{
if (!client.MySpells.ClientSpells.ContainsKey((ushort)Role.Flags.SpellID.AngerofStomper))
client.MySpells.Add(stream, (ushort)Role.Flags.SpellID.AngerofStomper);
if (!client.MySpells.ClientSpells.ContainsKey((ushort)Role.Flags.SpellID.JusticeChant))
client.MySpells.Add(stream, (ushort)Role.Flags.SpellID.JusticeChant);
if (!client.MySpells.ClientSpells.ContainsKey((ushort)Role.Flags.SpellID.Circle))
client.MySpells.Add(stream, (ushort)Role.Flags.SpellID.Circle);
if (!client.MySpells.ClientSpells.ContainsKey((ushort)Role.Flags.SpellID.Rectangle))
client.MySpells.Add(stream, (ushort)Role.Flags.SpellID.Rectangle);
if (!client.MySpells.ClientSpells.ContainsKey((ushort)Role.Flags.SpellID.Sector))
client.MySpells.Add(stream, (ushort)Role.Flags.SpellID.Sector);
}
else if (Database.AtributesStatus.IsWarrior(client.Player.Class))
{
if (!client.MySpells.ClientSpells.ContainsKey((ushort)Role.Flags.SpellID.Superman))
client.MySpells.Add(stream, (ushort)Role.Flags.SpellID.Superman);
if (!client.MySpells.ClientSpells.ContainsKey((ushort)Role.Flags.SpellID.FastBlader))
client.MySpells.Add(stream, (ushort)Role.Flags.SpellID.FastBlader);
if (!client.MySpells.ClientSpells.ContainsKey((ushort)Role.Flags.SpellID.ScrenSword))
client.MySpells.Add(stream, (ushort)Role.Flags.SpellID.ScrenSword);
if (!client.MySpells.ClientSpells.ContainsKey((ushort)Role.Flags.SpellID.Shield))
client.MySpells.Add(stream, (ushort)Role.Flags.SpellID.Shield);
if (!client.MySpells.ClientSpells.ContainsKey((ushort)Role.Flags.SpellID.Accuracy))
client.MySpells.Add(stream, (ushort)Role.Flags.SpellID.Accuracy);
if (!client.MySpells.ClientSpells.ContainsKey((ushort)Role.Flags.SpellID.Roar))
client.MySpells.Add(stream, (ushort)Role.Flags.SpellID.Roar);
}
else if (Database.AtributesStatus.IsArcher(client.Player.Class))
{
client.MySpells.Add(stream, (ushort)Role.Flags.SpellID.XpFly);
}
else if (Database.AtributesStatus.IsNinja(client.Player.Class))
{
if (!client.MySpells.ClientSpells.ContainsKey((ushort)Role.Flags.SpellID.FatalStrike))
client.MySpells.Add(stream, (ushort)Role.Flags.SpellID.FatalStrike);
if (!client.MySpells.ClientSpells.ContainsKey((ushort)Role.Flags.SpellID.ToxicFog))
client.MySpells.Add(stream, (ushort)Role.Flags.SpellID.ToxicFog);
}
else if (Database.AtributesStatus.IsMonk(client.Player.Class))
{
if (!client.MySpells.ClientSpells.ContainsKey((ushort)Role.Flags.SpellID.WhirlwindKick))
client.MySpells.Add(stream, (ushort)Role.Flags.SpellID.WhirlwindKick);
if (!client.MySpells.ClientSpells.ContainsKey((ushort)Role.Flags.SpellID.TripleAttack))
client.MySpells.Add(stream, (ushort)Role.Flags.SpellID.TripleAttack);
if (!client.MySpells.ClientSpells.ContainsKey((ushort)Role.Flags.SpellID.Oblivion))
client.MySpells.Add(stream, (ushort)Role.Flags.SpellID.Oblivion);
}
else if (Database.AtributesStatus.IsPirate(client.Player.Class))
{
if (!client.MySpells.ClientSpells.ContainsKey((ushort)Role.Flags.SpellID.CannonBarrage))
client.MySpells.Add(stream, (ushort)Role.Flags.SpellID.CannonBarrage);
if (!client.MySpells.ClientSpells.ContainsKey((ushort)Role.Flags.SpellID.BladeTempest))
client.MySpells.Add(stream, (ushort)Role.Flags.SpellID.BladeTempest);
}
else if (Database.AtributesStatus.IsLee(client.Player.Class))
{
if (!client.MySpells.ClientSpells.ContainsKey((ushort)Role.Flags.SpellID.DragonPunch))
client.MySpells.Add(stream, (ushort)Role.Flags.SpellID.DragonPunch);
if (!client.MySpells.ClientSpells.ContainsKey((ushort)Role.Flags.SpellID.DragonCyclone))
client.MySpells.Add(stream, (ushort)Role.Flags.SpellID.DragonCyclone);
if (!client.MySpells.ClientSpells.ContainsKey((ushort)Role.Flags.SpellID.DragonFlow))
client.MySpells.Add(stream, (ushort)Role.Flags.SpellID.DragonFlow);
if (!client.MySpells.ClientSpells.ContainsKey((ushort)Role.Flags.SpellID.AirRaid))
client.MySpells.Add(stream, (ushort)Role.Flags.SpellID.AirRaid);
if (!client.MySpells.ClientSpells.ContainsKey((ushort)Role.Flags.SpellID.AirSweep))
client.MySpells.Add(stream, (ushort)Role.Flags.SpellID.AirSweep);
if (!client.MySpells.ClientSpells.ContainsKey((ushort)Role.Flags.SpellID.AirKick))
client.MySpells.Add(stream, (ushort)Role.Flags.SpellID.AirKick);
if (!client.MySpells.ClientSpells.ContainsKey((ushort)Role.Flags.SpellID.AirStrike))
client.MySpells.Add(stream, (ushort)Role.Flags.SpellID.AirStrike);
if (!client.MySpells.ClientSpells.ContainsKey((ushort)Role.Flags.SpellID.EarthSweep))
client.MySpells.Add(stream, (ushort)Role.Flags.SpellID.EarthSweep);
if (!client.MySpells.ClientSpells.ContainsKey((ushort)Role.Flags.SpellID.Kick))
client.MySpells.Add(stream, (ushort)Role.Flags.SpellID.Kick);
}
else if (Database.AtributesStatus.IsTaoist(client.Player.Class))
{
if (!client.MySpells.ClientSpells.ContainsKey((ushort)Role.Flags.SpellID.ChainBolt))
client.MySpells.Add(stream, (ushort)Role.Flags.SpellID.ChainBolt);
if (!client.MySpells.ClientSpells.ContainsKey((ushort)Role.Flags.SpellID.Lightning))
client.MySpells.Add(stream, (ushort)Role.Flags.SpellID.Lightning);
if (!client.MySpells.ClientSpells.ContainsKey((ushort)Role.Flags.SpellID.Thunder))
client.MySpells.Add(stream, (ushort)Role.Flags.SpellID.Thunder);
if (!client.MySpells.ClientSpells.ContainsKey((ushort)Role.Flags.SpellID.Cure))
client.MySpells.Add(stream, (ushort)Role.Flags.SpellID.Cure);
}
}
}`