Aura.Channel.Scripting.Scripts.QuestScript.OnCreatureKilledByPlayer C# (CSharp) Метод

OnCreatureKilledByPlayer() приватный Метод

Updates kill objectives.
private OnCreatureKilledByPlayer ( Creature creature, Creature killer ) : void
creature Aura.Channel.World.Entities.Creature
killer Aura.Channel.World.Entities.Creature
Результат void
		private void OnCreatureKilledByPlayer(Creature creature, Creature killer)
		{
			if (creature == null || killer == null) return;

			var quests = killer.Quests.GetAllIncomplete(this.Id);
			foreach (var quest in quests)
			{
				if (!this.CanMakeProgress(killer, quest))
					continue;

				var progress = quest.CurrentObjective;
				if (progress == null) return;

				var objective = this.Objectives[progress.Ident] as QuestObjectiveKill;
				if (objective == null || objective.Type != ObjectiveType.Kill || !objective.Check(creature)) return;

				if (progress.Count >= objective.Amount) return;

				progress.Count++;

				if (progress.Count >= objective.Amount)
					quest.SetDone(progress.Ident);

				UpdateQuest(killer, quest);
			}
		}