public static void OnNpcDialogTeleport(IPlayerEntity player, NpcDialogEvent args) { if (args.Type < 0) { return; } if (player.Character.Gold <= 1000 * args.Type) { // No Money -> SendMsg(NOMONEY); Log.Info($"[TELEPORT][NO-MONEY] {player.Character.Name}"); return; } player.GoldLess(1000 * args.Type); switch (args.Type) { case 1: // TeleportZapMtKrem player.TeleportTo(20, 10, 91); break; case 2: // TeleportZapPortsAlveus player.TeleportTo(145, 8, 107); break; } }
public static void EnterLod(IPlayerEntity player, NpcDialogEvent args) { if (player.Level <= 55) { //await session.SendPacketAsync(UserInterfaceHelper.GenerateMsg(Language.Instance.GetMessageFromKey("LOD_REQUIERE_LVL"), 0)); return; } if (player?.Family == null) { /* await session.SendPacketAsync( * UserInterfaceHelper.GenerateMsg(Language.Instance.GetMessageFromKey("NEED_FAMILY"), * 0));*/ return; } /* if (player.Family?.LandOfDeath == null) * { * Session.Character.Family.LandOfDeath = * ServerManager.GenerateMapInstance(150, MapInstanceType.LodInstance, * new InstanceBag()); * } * * if (Session.Character?.Family?.LandOfDeath != null) * { * ServerManager.Instance.ChangeMapInstance(Session.Character.CharacterId, Session.Character.Family.LandOfDeath.MapInstanceId, 153, 145); * }*/ player.TeleportTo(150, 153, 145); }
public async Task Execute(IPlayerEntity player, NpcDialogEvent e) { if (player.Family.MaxSize > 70 && player.Family.FamilyLevel <= 5) { return; } if (player.FamilyCharacter.Authority != ChickenAPI.Enums.Game.Families.FamilyAuthority.Head) { await player.SendChatMessageAsync(PlayerMessages.FAMILY_YOU_NEED_TO_BE_LEADER, SayColorType.Yellow); await player.SendModalAsync(PlayerMessages.FAMILY_YOU_NEED_TO_BE_LEADER, ModalPacketType.Default); return; } if (5000000 >= player.Character.Gold) { await player.SendChatMessageAsync(PlayerMessages.YOU_DONT_HAVE_ENOUGH_GOLD, SayColorType.Yellow); return; } await player.GoldLess(5000000); player.Family.MaxSize = 70; /*FamilyDTO fam = Session.Character.Family; * DAOFactory.FamilyDAO.InsertOrUpdate(ref fam); * ServerManager.Instance.FamilyRefresh(Session.Character.Family.FamilyId);*/ }
public static void UpgradeFamilySize2(IPlayerEntity player, NpcDialogEvent args) { if (player.Family.MaxSize > 100 && player.Family.FamilyLevel <= 9) { return; } if (player.FamilyCharacter.Authority != FamilyAuthority.Head) { /* await session.SendPacketAsync(Session.Character.GenerateSay(Language.Instance.GetMessageFromKey("ONLY_HEAD_CAN_BUY"), 10)); * await session.SendPacketAsync(UserInterfaceHelper.GenerateModal(Language.Instance.GetMessageFromKey("ONLY_HEAD_CAN_BUY"), 1)); */ return; } if (5000000 >= player.Character.Gold) { //await session.SendPacketAsync(Session.Character.GenerateSay(Language.Instance.GetMessageFromKey("NOT_ENOUGH_MONEY"), 10)); return; } player.GoldLess(10000000); player.Family.MaxSize = 100; /*FamilyDTO fam = Session.Character.Family; * DAOFactory.FamilyDAO.InsertOrUpdate(ref fam); * ServerManager.Instance.FamilyRefresh(Session.Character.Family.FamilyId);*/ }
public static void UpgradeFromNpc(IPlayerEntity player, NpcDialogEvent args) { player.SendPacketAsync(new WopenPacket { Type = 1, Unknow = 0 }); }
public static void Idk(IPlayerEntity player, NpcDialogEvent args) { player.SendPacketAsync(new WopenPacket { Type = args.Type, Unknow = 0 }); }
public Task Execute(IPlayerEntity player, NpcDialogEvent e) { if (!_handlers.TryGetValue(e.DialogId, out INpcDialogAsyncHandler handler)) { return(Task.CompletedTask); } return(handler.Execute(player, e)); }
public void Handle(IPlayerEntity player, NpcDialogEvent e) { if (e.DialogId != DialogId) { return; } _func.Invoke(player, e); }
public static void TimeCircle(IPlayerEntity player, NpcDialogEvent args) { player.SendPacketAsync(new SentNpcReqPacket { VisualType = ChickenAPI.Enums.Game.Entity.VisualType.Character, VisualId = player.Id, Dialog = 17 }); }
public static void ChangeJobMiMi(IPlayerEntity player, NpcDialogEvent args) { if (player.Character.Class != CharacterClassType.Adventurer) { //await session.SendPacketAsync(UserInterfaceHelper.GenerateMsg(Language.Instance.GetMessageFromKey("NOT_ADVENTURER"), 0)); return; } if (player.Character.Level < 15 || player.Character.JobLevel < 20) { //await session.SendPacketAsync(UserInterfaceHelper.GenerateMsg(Language.Instance.GetMessageFromKey("LOW_LVL"), 0)); return; } if (args.Type == (byte)player.Character.Class) { return; } if (args.Type > 4) { return; } player.ChangeClass((CharacterClassType)args.Type); // TODO : LATER /* if (Session.Character.Inventory.All(i => i.Type == InventoryType.Wear)) * { * await session.SendPacketAsync(UserInterfaceHelper.GenerateMsg(Language.Instance.GetMessageFromKey("EQ_NOT_EMPTY"), 0)); * return; * } * * Session.Character.Inventory.AddNewToInventory((short)(4 + (packet.Type * 14)), type: InventoryType.Wear); * Session.Character.Inventory.AddNewToInventory((short)(81 + (packet.Type * 13)), type: InventoryType.Wear); * switch (packet.Type) * { * case 1: * Session.Character.Inventory.AddNewToInventory(68, type: InventoryType.Wear); * Session.Character.Inventory.AddNewToInventory(2082, 10); * break; * * case 2: * Session.Character.Inventory.AddNewToInventory(78, type: InventoryType.Wear); * Session.Character.Inventory.AddNewToInventory(2083, 10); * break; * * case 3: * Session.Character.Inventory.AddNewToInventory(86, type: InventoryType.Wear); * break; * * default: * return; * } * Session.CurrentMapInstance?.Broadcast(Session.Character.GenerateEq()); * await session.SendPacketAsync(Session.Character.GenerateEquipment());*/ }
public static void TeleportUnknow4(IPlayerEntity player, NpcDialogEvent args) { // Same Here if (args.Type < 0) { return; } //TeleportationHelper.TeleportTo(player, 20, 10, 91); }
public static void TeleportUnknow2(IPlayerEntity player, NpcDialogEvent args) { // Same Here if (args.Type < 0) { return; } if (player.Character.Gold <= 500) { // No Money -> SendMsg(NOMONEY); Log.Info($"[TELEPORT][NO-MONEY] {player.Character.Name}"); return; } player.GoldLess(500); player.TeleportTo(20, 10, 91); }
public static void Recipe(IPlayerEntity player, NpcDialogEvent args) { player.SendPacketAsync(new WopenPacket { Type = 27, Unknow = 0 }); // Recipe /*string recipelist = "m_list 2"; * if (npc != null) * { * List<Recipe> tps = npc.Recipes; * recipelist = tps.Where(s => s.Amount > 0).Aggregate(recipelist, (current, s) => current + $" {s.ItemVNum}"); * recipelist += " -100"; * await session.SendPacketAsync(recipelist); * } */ }
public static void TeleportUnknow(IPlayerEntity player, NpcDialogEvent args) { // Idk Whats is Nrun 26 -> I thinks is For Ships ( Act4 or Act5 ) if (args.Type < 0) { return; } if (player.Character.Gold <= 5000 * args.Type) { // No Money -> SendMsg(NOMONEY); Log.Info($"[TELEPORT][NO-MONEY] {player.Character.Name}"); return; } player.GoldLess(5000 * args.Type); //TeleportationHelper.TeleportTo(player, 20, 10, 91); }
public static void OpenBazzar(IPlayerEntity player, NpcDialogEvent args) { /* * StaticBonusDTO medal = Session.Character.StaticBonusList.Find(s => s.StaticBonusType == StaticBonusType.BazaarMedalGold || s.StaticBonusType == StaticBonusType.BazaarMedalSilver); * byte Medal = 0; * int Time = 0; * if (medal != null) * { * Medal = medal.StaticBonusType == StaticBonusType.BazaarMedalGold ? (byte)MedalType.Gold : (byte)MedalType.Silver; * Time = (int)(medal.DateEnd - DateTime.Now).TotalHours; * } * await session.SendPacketAsync($"wopen 32 {Medal} {Time}"); */ player.SendPacketAsync(new WopenPacket { Type = 32, Unknow = 1 }); }
public static void EnterArenaInstance(IPlayerEntity player, NpcDialogEvent args) { TimeSpan timeSpanSinceLastPortal = DateTime.Now - player.DateLastPortal; if (timeSpanSinceLastPortal <= TimeSpan.FromSeconds(4)) { return; } /* if (!(timeSpanSinceLastPortal >= 4) || !Session.HasCurrentMapInstance || ServerManager.Instance.ChannelId == 51 || * Session.CurrentMapInstance.MapInstanceId == ServerManager.Instance.ArenaInstance.MapInstanceId || * Session.CurrentMapInstance.MapInstanceId == ServerManager.Instance.FamilyArenaInstance.MapInstanceId) * { * await session.SendPacketAsync(Session.Character.GenerateSay(Language.Instance.GetMessageFromKey("CANT_MOVE"), 10)); * return; * }*/ if (args.Type < 0) { return; } if (player.Character.Gold <= 500 * 1 * args.Type) { // No Money -> SendMsg(NOMONEY); Log.Info($"[TELEPORT][NO-MONEY] {player.Character.Name}"); return; } player.GoldLess(500 * 1 * args.Type); // MapCell pos = packet.Type == 0 ? ServerManager.Instance.ArenaInstance.Map.GetRandomPosition() : ServerManager.Instance.FamilyArenaInstance.Map.GetRandomPosition(); // ServerManager.Instance.ChangeMapInstance(Session.Character.CharacterId, packet.Type == 0 ? ServerManager.Instance.ArenaInstance.MapInstanceId : ServerManager.Instance.FamilyArenaInstance.MapInstanceId, pos.X, pos.Y); player.TeleportTo((short)(args.Type == 0 ? 2006 : 2106), (short)(args.Type == 0 ? 38 : 2007), (short)(args.Type == 0 ? 38 : 2007)); player.DateLastPortal = DateTime.Now; }
public static void TpUnknow(IPlayerEntity player, NpcDialogEvent args) { //TeleportationHelper.TeleportTo(player, 170, 127, 46); }
public static void UpgradeFamilySize(IPlayerEntity player, NpcDialogEvent args) { }
public static void UpgradeFamilyWarehouse2(IPlayerEntity player, NpcDialogEvent args) { // = 21 -> 49 }
public static void OpenFamilyWarehouseHist(IPlayerEntity player, NpcDialogEvent args) { //Session.SendPackets(Session.Character.OpenFamilyWarehouseHist()); }
public static void OnpenFamilyWarehouse(IPlayerEntity player, NpcDialogEvent args) { // await session.SendPacketAsync(Session.Character.OpenFamilyWarehouse()); }
public static void CreateFamily(IPlayerEntity player, NpcDialogEvent args) { }
public static void OnGrahamDialogTeleport(IPlayerEntity player, NpcDialogEvent args) { Log.Info($"[TELEPORT][GRAHAM] {player.Character.Name}"); // need to provide implementation }
public static void GoToAct5(IPlayerEntity player, NpcDialogEvent args) { player.TeleportTo(170, 127, 46); }
public static void AlveusFromAct4(IPlayerEntity player, NpcDialogEvent args) { player.TeleportTo(145, 50, 41); }