예제 #1
0
        /// <summary>
        /// Broadcasts PartySetActiveQuest in party.
        /// </summary>
        /// <param name="party"></param>
        /// <param name="uniqueQuestId"></param>
        public static void PartySetActiveQuest(Party party, long uniqueQuestId)
        {
            var packet = new Packet(Op.PartySetActiveQuest, 0);

            packet.PutLong(uniqueQuestId);

            party.Broadcast(packet, true);
        }
예제 #2
0
        /// <summary>
        /// Broadcasts QuestUpdate in party.
        /// </summary>
        /// <param name="creature"></param>
        /// <param name="quest"></param>
        public static void QuestUpdate(Party party, Quest quest)
        {
            var packet = new Packet(Op.QuestUpdate, 0);

            packet.AddQuestUpdate(quest);

            party.Broadcast(packet, true);
        }
예제 #3
0
        /// <summary>
        /// Sends new finish rule setting to all clients in the party
        /// </summary>
        /// <param name="party"></param>
        public static void PartyFinishUpdate(Party party)
        {
            var packet = new Packet(Op.PartyFinishUpdate, 0);

            packet.PutInt((int)party.Finish);

            party.Broadcast(packet, true);
        }
예제 #4
0
        /// <summary>
        /// Updates clients on new party EXP distribution settings.
        /// </summary>
        /// <param name="party"></param>
        public static void PartyExpUpdate(Party party)
        {
            var packet = new Packet(Op.PartyExpUpdate, 0);

            packet.PutInt((int)party.ExpRule);

            party.Broadcast(packet, true);
        }
예제 #5
0
        /// <summary>
        /// Informs all members of a change in leadership.
        /// </summary>
        /// <param name="party"></param>
        public static void PartyChangeLeader(Party party)
        {
            var packet = new Packet(Op.PartyChangeLeaderUpdate, 0);

            packet.PutLong(party.Leader.EntityId);

            party.Broadcast(packet, true);
        }
예제 #6
0
        /// <summary>
        /// Updates members on changes to the party settings
        /// </summary>
        /// <remarks>
        /// Apparently they only get to know about name changes?
        /// </remarks>
        /// <param name="party"></param>
        public static void PartySettingUpdate(Party party)
        {
            var packet = new Packet(Op.PartySettingUpdate, 0);

            packet.PutString(party.Name);

            party.Broadcast(packet, true);
        }
예제 #7
0
        /// <summary>
        /// Updates remaining party members of a member who has left the party.
        /// </summary>
        /// <param name="creature"></param>
        /// <param name="party"></param>
        public static void PartyLeaveUpdate(Creature creature, Party party)
        {
            var packet = new Packet(Op.PartyLeaveUpdate, 0);

            packet.PutLong(creature.EntityId);

            party.Broadcast(packet, true);
        }
예제 #8
0
        /// <summary>
        /// I THINK this one is for actually updating the UI element of the party (with leader controls).
        /// </summary>
        /// <param name="creature"></param>
        /// <param name="party"></param>
        public static void PartyWindowUpdate(Creature creature, Party party)
        {
            var packet = new Packet(Op.PartyWindowUpdate, 0);

            packet.PutLong(creature.EntityId);

            // TODO: Find out what these actually mean.
            packet.PutByte(1);
            packet.PutByte(1);
            packet.PutByte(0);
            packet.PutByte(0);

            party.Broadcast(packet, true);
        }
예제 #9
0
        /// <summary>
        /// Closes the party's Member Wanted window.
        /// </summary>
        /// <param name="party"></param>
        public static void PartyWantedClosed(Party party)
        {
            var packet = new Packet(Op.PartyWantedClosed, 0);

            party.Broadcast(packet, true);
        }