Esempio n. 1
0
        /// <summary>
        /// Sends DeadMenuR to creature's client.
        /// </summary>
        /// <param name="creature"></param>
        /// <param name="menu">Negative answer if null</param>
        public static void DeadMenuR(Creature creature, CreatureDeadMenu menu)
        {
            var packet = new Packet(Op.DeadMenuR, creature.EntityId);

            packet.PutByte(menu != null);
            if (menu != null)
            {
                packet.PutString(menu.ToString());
                packet.PutInt(creature.Inventory.Count("/notTransServer/nao_coupon/"));  // Beginner Nao Stone count
                packet.PutInt(creature.Inventory.Count("/nao_coupon/"));                 // Nao Stone Count
            }

            creature.Client.Send(packet);
        }
        /// <summary>
        /// Sends DeadMenuR to creature's client.
        /// </summary>
        /// <param name="creature"></param>
        /// <param name="menu">Negative answer if null</param>
        public static void DeadMenuR(Creature creature, CreatureDeadMenu menu)
        {
            var packet = new Packet(Op.DeadMenuR, creature.EntityId);

            packet.PutByte(menu != null);
            if (menu != null)
            {
                packet.PutString(menu.ToString());
                packet.PutInt(0);                 // Beginner Nao Stone count
                packet.PutInt(0);                 // Nao Stone Count
            }

            creature.Client.Send(packet);
        }
Esempio n. 3
0
        public void DeadMenu(ChannelClient client, Packet packet)
        {
            var creature = client.GetCreatureSafe(packet.Id);

            if (!creature.IsDead)
            {
                Send.DeadMenuR(creature, null);
                return;
            }

            // ...

            var menu = new CreatureDeadMenu();

            menu.Add(ReviveOptions.HereNoPenalty);

            Send.DeadMenuR(creature, menu);
        }