コード例 #1
0
        private void HandleEffectSummonMount(UnitEntity target, SpellTargetInfo.SpellTargetEffectInfo info)
        {
            // TODO: handle NPC mounting?
            if (!(target is Player player))
            {
                return;
            }

            if (player.VehicleGuid != 0u)
            {
                return;
            }

            var mount = new Mount(player, parameters.SpellInfo.Entry.Id, info.Entry.DataBits00, info.Entry.DataBits01, info.Entry.DataBits04);

            mount.EnqueuePassengerAdd(player, VehicleSeatType.Pilot, 0);

            // usually for hover boards

            /*if (info.Entry.DataBits04 > 0u)
             * {
             *  mount.SetAppearance(new ItemVisual
             *  {
             *      Slot      = ItemSlot.Mount,
             *      DisplayId = (ushort)info.Entry.DataBits04
             *  });
             * }*/

            player.Map.EnqueueAdd(mount, player.Position);

            // FIXME: also cast 52539,Riding License - Riding Skill 1 - SWC - Tier 1,34464
            // FIXME: also cast 80530,Mount Sprint  - Tier 2,36122
        }