Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public static bool SwitchEquipment(GameState client, bool toAlternative)
- {
- if (client.Player.ContainsFlag((ulong)MsgUpdate.Flags.Fly))
- {
- client.Send("You cannot switch equipment during flight.");
- return false;
- }
- if (client.Equipment.Free(MsgItemInfo.AlternateRightWeapon) && !client.Equipment.Free(MsgItemInfo.AlternateLeftWeapon))
- {
- client.Send("Invalid weapons! Missing the important weapons? Unequip the alternative left weapon.");
- return false;
- }
- foreach (var eq in client.Equipment.Objects)
- {
- if (eq != null)
- {
- if (!Database.ConquerItemInformation.BaseInformations.ContainsKey(eq.ID))
- {
- client.Send("You cannot switch equipment because " + ((Enums.ItemPositionName)eq.Position).ToString().Replace("_", "~") + "'" + ((eq.Position % 20) == MsgItemInfo.Boots ? "" : "s") + " stats are not compatible with you (level or profession).");
- return false;
- }
- var itemInfo = Database.ConquerItemInformation.BaseInformations[eq.ID];
- if (!((ItemHandler.EquipPassLvlReq(itemInfo, client) || ItemHandler.EquipPassRbReq(itemInfo, client)) && ItemHandler.EquipPassJobReq(itemInfo, client)))
- {
- client.Send("You cannot switch equipment because " + ((Enums.ItemPositionName)eq.Position).ToString().Replace("_", "~") + "'" + ((eq.Position % 20) == MsgItemInfo.Boots ? "" : "s") + " stats are not compatible with you (level or profession).");
- return false;
- }
- }
- }
- client.Player.AttackPacket = null;
- if (client.Player.ContainsFlag3((ulong)MsgUpdate.Flags3.PathOfShadow))
- client.Player.RemoveFlag3((ulong)MsgUpdate.Flags3.PathOfShadow);
- if (client.Player.ContainsFlag((ulong)MsgUpdate.Flags.Fly))
- client.Player.RemoveFlag((ulong)MsgUpdate.Flags.Fly);
- client.AlternateEquipment = toAlternative;
- client.LoadItemStats();
- client.Equipment.UpdateEntityPacket();
- MsgPlayerAttriInfo Stats = new MsgPlayerAttriInfo(client);
- client.Send(Stats.ToArray());
- return true;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement