コード例 #1
0
 /// <summary>
 /// Sends the quest update add kill, this should actually cover both GameObject interaction
 /// together with killing the objectBase.
 /// </summary>
 /// <param name="quest">The QST.</param>
 /// <param name="chr">The client.</param>
 /// <param name="obj">The unit.</param>
 public static void SendUpdateInteractionCount(Quest quest, ObjectBase obj, QuestInteractionTemplate interaction,
                                               uint currentCount, Character chr)
 {
     using (RealmPacketOut packet = new RealmPacketOut(RealmServerOpCode.SMSG_QUESTUPDATE_ADD_KILL))
     {
         packet.Write(quest.Template.Id);
         packet.Write(interaction.RawId);
         packet.Write(currentCount);
         packet.Write(interaction.Amount);
         packet.Write(obj != null ? obj.EntityId : EntityId.Zero);
         chr.Client.Send(packet, false);
     }
 }
コード例 #2
0
 /// <summary>
 /// Sends the quest update add kill, this should actually cover both GameObject interaction
 /// together with killing the objectBase.
 /// </summary>
 /// <param name="quest">The QST.</param>
 /// <param name="chr">The client.</param>
 /// <param name="obj">The unit.</param>
 public static void SendUpdateInteractionCount(Quest quest,
                                               ObjectBase obj, QuestInteractionTemplate interaction, uint currentCount, Character chr)
 {
     using (var pckt = new RealmPacketOut(RealmServerOpCode.SMSG_QUESTUPDATE_ADD_KILL))
     {
         pckt.Write(quest.Template.Id);
         pckt.Write(interaction.RawId);                                                  // ID of interaction
         pckt.Write(currentCount);                                                       // current count
         pckt.Write(interaction.Amount);                                                 // total count
         pckt.Write(obj != null ? obj.EntityId : EntityId.Zero);                         // guid of object
         chr.Client.Send(pckt);
     }
 }
コード例 #3
0
ファイル: QuestHandler.cs プロジェクト: ebakkedahl/WCell
 /// <summary>
 /// Sends the quest update add kill, this should actually cover both GameObject interaction 
 /// together with killing the objectBase.
 /// </summary>
 /// <param name="quest">The QST.</param>
 /// <param name="chr">The client.</param>
 /// <param name="obj">The unit.</param>
 public static void SendUpdateInteractionCount(Quest quest,
     ObjectBase obj, QuestInteractionTemplate interaction, uint currentCount, Character chr)
 {
     using (var pckt = new RealmPacketOut(RealmServerOpCode.SMSG_QUESTUPDATE_ADD_KILL))
     {
         pckt.Write(quest.Template.Id);
         pckt.Write(interaction.RawId);								// ID of interaction
         pckt.Write(currentCount);									// current count
         pckt.Write(interaction.Amount);								// total count
         pckt.Write(obj != null ? obj.EntityId : EntityId.Zero);		// guid of object
         chr.Client.Send(pckt);
     }
 }
コード例 #4
0
ファイル: QuestLog.cs プロジェクト: remixod/netServer
		void UpdateInteractionCount(Quest quest, QuestInteractionTemplate interaction, WorldObject obj)
		{
			var count = quest.Interactions[interaction.Index];
			if (count < interaction.Amount)
			{
				++quest.Interactions[interaction.Index];
				m_Owner.SetQuestCount(quest.Slot, interaction.Index, (byte)(count+1));
				QuestHandler.SendUpdateInteractionCount(quest, obj, interaction, count+1, m_Owner);
				quest.UpdateStatus();
			}
			//quest.Template.NotifyGOUsed(quest, go);
		}