public async Task Handle(IPlayerEntity player, InventoryUseItemEvent e) { if (!player.IsTransformedSp) { return; } if (e.Option != 0) { return; } await player.SendQuestionAsync(new UiPacket { VisualType = VisualType.Character, CharacterId = player.Id, InventoryType = e.Item.Type, InventorySlot = (byte)e.Item.Slot, Unknown2 = 3, Unknown3 = 0 }, "ASK_WINGS_CHANGE"); return; // EmitEvent(new ChangeSpWings) }
public async Task Handle(IPlayerEntity player, InventoryUseItemEvent e) { if (e.Option == 0) { // todo clean await player.SendQuestionAsync(new ClientGuriPacket { Type = 300, Argument = 8023, VisualId = e.Item.Slot }, "ASK_RELEASE_PET"); return; } await player.EmitEventAsync(new AddPetEvent { MonsterVnum = e.Item.Item.EffectValue, MateType = e.Item.Item.ItemSubType == 1 ? MateType.Partner : MateType.Pet }); }
public async Task Handle(IPlayerEntity player, InventoryUseItemEvent e) { if (!player.IsTransformedLocomotion) { if (e.Option == 0) { await player.GenerateDelay(3000, DelayPacketType.Locomotion, $"#u_i^1^{player.Character.Id}^{(byte)e.Item.Type}^{e.Item.Slot}^2"); return; } player.EmitEvent(new LocomotionTransformEvent { Item = e.Item }); return; } player.EmitEvent(new LocomotionUntransformEvent { }); }