Example #1
0
        public static void On_InterClient_GuildMessageUpdate(WorldConnector pConnector, InterPacket pPacket)
        {
            int      guildID, characterID;
            DateTime createTime;
            ushort   length;
            string   message;

            if (!pPacket.TryReadInt(out guildID) ||
                !pPacket.TryReadInt(out characterID) ||
                !pPacket.TryReadDateTime(out createTime) ||
                !pPacket.TryReadUShort(out length) ||
                !pPacket.TryReadString(out message, length))
            {
                return;
            }


            Guild guild;

            if (GetGuildByID(guildID, out guild))
            {
                //update guild
                guild.Message           = message;
                guild.MessageCreateTime = createTime;
                guild.MessageCreaterID  = characterID;
            }
        }
Example #2
0
        public static void On_WorldClient_AcademyMemberJoined(WorldConnector pConnector, InterPacket pPacket)
        {
            int      guildID, characterID;
            DateTime registerDate;

            if (!pPacket.TryReadInt(out guildID) ||
                !pPacket.TryReadInt(out characterID) ||
                !pPacket.TryReadDateTime(out registerDate))
            {
                return;
            }



            Guild guild;

            if (GuildManager.GetGuildByID(guildID, out guild))
            {
                var member = new GuildAcademyMember(guild.Academy, characterID, GuildAcademyRank.Member, registerDate)
                {
                    IsOnline = true,
                };
                guild.Academy.Members.Add(member);


                ZoneCharacter character;
                if (CharacterManager.GetLoggedInCharacter(characterID, out character))
                {
                    member.Character = character;

                    character.Guild              = guild;
                    character.GuildAcademy       = guild.Academy;
                    character.GuildAcademyMember = member;


                    GuildManager.SetGuildBuff(character);
                }
            }
        }
Example #3
0
        public static void On_WorldClient_AcademyBuffUpdate(WorldConnector pConnector, InterPacket pPacket)
        {
            int      guildID;
            DateTime updateTime;
            double   keepTime;

            if (!pPacket.TryReadInt(out guildID) ||
                !pPacket.TryReadDateTime(out updateTime) ||
                !pPacket.TryReadDouble(out keepTime))
            {
                //Client.Dispose();
                return;
            }


            Guild guild;

            if (GuildManager.GetGuildByID(guildID, out guild))
            {
                guild.Academy.GuildBuffUpdateTime = updateTime;
                guild.Academy.GuildBuffKeepTime   = TimeSpan.FromSeconds(keepTime);
            }
        }