public static void RegisterVeicheRequest(IRealmClient client, RealmPacketIn packet) { packet.ReadInt32(); int num = (int)packet.ReadByte(); short slotInq = packet.ReadInt16(); Asda2Item shopShopItem = client.ActiveCharacter.Asda2Inventory.GetShopShopItem(slotInq); if (shopShopItem == null) { Asda2MountHandler.SendVeicheRegisteredResponse(client.ActiveCharacter, (Asda2Item)null, Asda2MountHandler.RegisterMountStatus.Fail, -1); client.ActiveCharacter.SendInfoMsg("Mount item not fount. Restart client please."); } else { MountTemplate mount = (MountTemplate)null; if (Asda2MountMgr.TemplatesByItemIDs.ContainsKey(shopShopItem.ItemId)) { mount = Asda2MountMgr.TemplatesByItemIDs[shopShopItem.ItemId]; } if (mount == null) { Asda2MountHandler.SendVeicheRegisteredResponse(client.ActiveCharacter, (Asda2Item)null, Asda2MountHandler.RegisterMountStatus.Fail, -1); client.ActiveCharacter.SendInfoMsg("Selected item is not mount."); } else if (client.ActiveCharacter.OwnedMounts.ContainsKey(mount.Id)) { Asda2MountHandler.SendVeicheRegisteredResponse(client.ActiveCharacter, (Asda2Item)null, Asda2MountHandler.RegisterMountStatus.Fail, -1); client.ActiveCharacter.SendInfoMsg("Selected mount already registered."); } else if ((int)client.ActiveCharacter.MountBoxSize <= client.ActiveCharacter.OwnedMounts.Count) { Asda2MountHandler.SendVeicheRegisteredResponse(client.ActiveCharacter, (Asda2Item)null, Asda2MountHandler.RegisterMountStatus.Fail, -1); client.ActiveCharacter.SendInfoMsg("Not enoght space in mount inventory."); } else { if (client.ActiveCharacter.OwnedMounts.ContainsKey(mount.Id)) { return; } Asda2MountRecord asda2MountRecord = new Asda2MountRecord(mount, client.ActiveCharacter); client.ActiveCharacter.OwnedMounts.Add(mount.Id, asda2MountRecord); asda2MountRecord.Create(); shopShopItem.Amount = 0; Asda2MountHandler.SendVeicheRegisteredResponse(client.ActiveCharacter, shopShopItem, Asda2MountHandler.RegisterMountStatus.Ok, mount.Id); } } }
public static void GetOnMountRequest(IRealmClient client, RealmPacketIn packet) { int key = packet.ReadInt32(); if (client.ActiveCharacter.OwnedMounts.ContainsKey(key)) { client.ActiveCharacter.MountId = key; } else { Asda2MountHandler.SendCharacterOnMountStatusChangedResponse(client.ActiveCharacter, Asda2MountHandler.UseMountStatus.Fail); client.ActiveCharacter.YouAreFuckingCheater("Trying to use not owned Mount.", 30); } }
public static void SummonMountRequest(IRealmClient client, RealmPacketIn packet) { if (packet.ReadBoolean()) { if (client.ActiveCharacter.LastTransportUsedTime.AddSeconds(30.0) > DateTime.Now) { client.ActiveCharacter.SendInfoMsg("Mount is on cooldown."); } else { Asda2MountHandler.SendVeicheStatusChangedResponse(client.ActiveCharacter, Asda2MountHandler.MountStatusChanged.Summonig); Asda2MountHandler.SendMountSummoningResponse(client.ActiveCharacter); } } else { client.ActiveCharacter.MountId = -1; } }