예제 #1
0
        public void UpdateItemCount(ref WS_PlayerData.CharacterObject objCharacter)
        {
            byte i = 0;

            do
            {
                checked
                {
                    if (ObjectivesItem[i] != 0)
                    {
                        ProgressItem[i] = (byte)objCharacter.ItemCOUNT(ObjectivesItem[i]);
                        WorldServiceLocator._WorldServer.Log.WriteLine(LogType.DEBUG, "ITEM COUNT UPDATED TO: {0}", ProgressItem[i]);
                    }
                    i = (byte)unchecked ((uint)(i + 1));
                }
            }while (i <= 3u);
            if ((ObjectiveFlags & 2) == 0)
            {
                Explored = true;
            }
            IsCompleted();
        }
예제 #2
0
        public void Initialize(ref WS_PlayerData.CharacterObject objCharacter)
        {
            if (ObjectivesDeliver > 0)
            {
                ItemObject tmpItem = new(ObjectivesDeliver, objCharacter.GUID);
                if (!objCharacter.ItemADD(ref tmpItem))
                {
                    tmpItem.Delete();
                    Packets.PacketClass response = new(Opcodes.SMSG_QUESTGIVER_QUEST_FAILED);
                    response.AddInt32(ID);
                    response.AddInt32(4);
                    objCharacter.client.Send(ref response);
                    response.Dispose();
                    return;
                }
                objCharacter.LogLootItem(tmpItem, 1, Recieved: true, Created: false);
            }
            byte i = 0;

            do
            {
                checked
                {
                    if (ObjectivesItem[i] != 0)
                    {
                        ProgressItem[i] = (byte)objCharacter.ItemCOUNT(ObjectivesItem[i]);
                    }
                    i = (byte)unchecked ((uint)(i + 1));
                }
            }while (i <= 3u);
            if (((uint)ObjectiveFlags & 2u) != 0)
            {
                Explored = false;
            }
            IsCompleted();
        }