示例#1
0
        /// <summary>
        /// Raised when creature collects something, handles gathering conditions.
        /// </summary>
        /// <param name="args"></param>
        private void OnCreatureGathered(CollectEventArgs args)
        {
            var skill = args.Creature.Skills.Get(SkillId.ProductionMastery);

            if (skill == null || !args.Success)
            {
                return;
            }

            skill.Train(1);             // Collect any material without using a skill.

            if (skill.Info.Rank == SkillRank.R9 && args.ItemId == 51101)
            {
                skill.Train(5);                 // Successfully pick a Bloody Herb.
            }
            if (skill.Info.Rank == SkillRank.R8 && args.ItemId == 51103)
            {
                skill.Train(5);                 // Successfully pick a Sunlight Herb
            }
            if (skill.Info.Rank == SkillRank.R7 && args.ItemId == 51102)
            {
                skill.Train(5);                 // Successfully pick a Mana Herb.
            }
            if (skill.Info.Rank == SkillRank.R6 && args.ItemId == 51105)
            {
                skill.Train(5);                 // Successfully pick a Golden Herb.
            }
        }
    private void OnDestroyCollect(object obj, CollectEventArgs e)
    {
        Collect collect = obj as Collect;

        switch (e.collectType)
        {
        case CollectType.石头:
            stoneSum -= 1;
            stoneListPosition.Remove(collect.transform);
            break;

        case CollectType.木头:
            woodSum -= 1;
            woodListPosition.Remove(collect.transform);
            break;

        case CollectType.食物:
            foodSum -= 1;
            foodListPosition.Remove(collect.transform);
            break;

        case CollectType.回复药:
            medicineSum -= 1;
            medicineListPosition.Remove(collect.transform);
            break;

        default:
            break;
        }
    }
示例#3
0
    // 采集完成
    private void Finish(object obj, CollectEventArgs e)
    {
        // 判断一下背包是否有物资
        if (_FSM.NPC_Obj.itemData.number == 0)
        {
            _FSM.SetState(new NPCFindCollect(_FSM));
        }
        else
        {
            // 将篮子换成装好物资的篮子
            switch (_FSM.NPC_Obj.collectType)
            {
            case CollectType.石头:
                _FSM.NPC_Obj.shoulder.sharedMesh = ResourcePath.Single.stoneBasket.GetComponent <MeshFilter>().sharedMesh;
                break;

            case CollectType.木头:
                _FSM.NPC_Obj.shoulder.sharedMesh = ResourcePath.Single.woodBasket.GetComponent <MeshFilter>().sharedMesh;
                break;

            case CollectType.食物:
                _FSM.NPC_Obj.shoulder.sharedMesh = ResourcePath.Single.foodBasket.GetComponent <MeshFilter>().sharedMesh;
                break;

            case CollectType.回复药:
                _FSM.NPC_Obj.shoulder.sharedMesh = ResourcePath.Single.medicineBasket.GetComponent <MeshFilter>().sharedMesh;
                break;

            default:
                break;
            }
            _FSM.SetState(new NPCMoveHome(_FSM));
        }
    }
示例#4
0
		/// <summary>
		/// Raised when creature collects something, handles gathering conditions.
		/// </summary>
		/// <param name="args"></param>
		private void OnCreatureCollected(CollectEventArgs args)
		{
			var skill = args.Creature.Skills.Get(SkillId.ProductionMastery);
			if (skill == null || !args.Success) return;

			skill.Train(1); // Collect any material without using a skill.

			if (skill.Info.Rank == SkillRank.R9 && args.ItemId == 51101)
				skill.Train(5); // Successfully pick a Bloody Herb.

			if (skill.Info.Rank == SkillRank.R8 && args.ItemId == 51103)
				skill.Train(5); // Successfully pick a Sunlight Herb

			if (skill.Info.Rank == SkillRank.R7 && args.ItemId == 51102)
				skill.Train(5); // Successfully pick a Mana Herb.

			if (skill.Info.Rank == SkillRank.R6 && args.ItemId == 51105)
				skill.Train(5); // Successfully pick a Golden Herb.
		}
示例#5
0
        /// <summary>
        /// Updates gathering objectives.
        /// </summary>
        /// <param name="args"></param>
        private void OnCreatureGathered(CollectEventArgs args)
        {
            var creature = args.Creature;

            var quests = creature.Quests.GetAllIncomplete(this.Id);

            foreach (var quest in quests)
            {
                if (!this.CanMakeProgress(creature, quest))
                {
                    continue;
                }

                var progress = quest.CurrentObjectiveOrLast;
                if (progress == null)
                {
                    return;
                }

                var objective = this.Objectives[progress.Ident];
                if (objective == null || objective.Type != ObjectiveType.Gather)
                {
                    return;
                }

                var gatherObjective = (objective as QuestObjectiveGather);
                if (!progress.Done && args.Success && args.ItemId == gatherObjective.ItemId)
                {
                    progress.Count++;
                    if (progress.Count == gatherObjective.Amount)
                    {
                        quest.SetDone(progress.Ident);
                    }

                    UpdateQuest(creature, quest);
                }
            }
        }
示例#6
0
文件: QuestScript.cs 项目: Vinna/aura
        /// <summary>
        /// Updates gathering objectives.
        /// </summary>
        /// <param name="args"></param>
        private void OnCreatureGathered(CollectEventArgs args)
        {
            var quest = args.Creature.Quests.Get(this.Id);

            if (quest == null)
            {
                return;
            }

            var progress = quest.CurrentObjectiveOrLast;

            if (progress == null)
            {
                return;
            }

            var objective = this.Objectives[progress.Ident];

            if (objective == null || objective.Type != ObjectiveType.Gather)
            {
                return;
            }

            var gatherObjective = (objective as QuestObjectiveGather);

            if (!progress.Done && args.Success && args.ItemId == gatherObjective.ItemId)
            {
                progress.Count++;
                if (progress.Count == gatherObjective.Amount)
                {
                    quest.SetDone(progress.Ident);
                }

                Send.QuestUpdate(args.Creature, quest);
            }
        }
示例#7
0
文件: Herbalism.cs 项目: Vinna/aura
		/// <summary>
		/// Raised when creature collects something, handles gathering conditions.
		/// </summary>
		/// <param name="args"></param>
		private void OnCreatureGathered(CollectEventArgs args)
		{
			var skill = args.Creature.Skills.Get(SkillId.Herbalism);
			if (skill == null) return;

			if (skill.Info.Rank == SkillRank.Novice)
			{
				if (args.CollectData.Target.Contains("/baseherb"))
					skill.Train(1); // Try to pick a Base Herb.

				if (args.ItemId == 51104)
				{
					if (args.Success)
						skill.Train(2); // Succeed at picking a Base Herb.
				}
			}
			else if (skill.Info.Rank == SkillRank.RF)
			{
				if (args.CollectData.Target.Contains("/baseherb"))
					skill.Train(1); // Try to pick a Base Herb.
				else if (args.CollectData.Target.Contains("/bloodyherb"))
					skill.Train(3); // Try to pick a Bloody Herb.
				else if (args.CollectData.Target.Contains("/sunlightherb"))
					skill.Train(5); // Try to pick a Sunlight Herb.

				if (args.Success)
				{
					if (args.ItemId == 51104)
						skill.Train(2); // Succeed at picking a Base Herb.
					else if (args.ItemId == 51101)
						skill.Train(4); // Succeed at picking a Bloody Herb.
					else if (args.ItemId == 51103)
						skill.Train(6); // Succeed at picking a Sunlight Herb.
				}
			}
			else if (skill.Info.Rank == SkillRank.RE || skill.Info.Rank == SkillRank.RD)
			{
				if (args.CollectData.Target.Contains("/bloodyherb"))
					skill.Train(2); // Try to pick a Bloody Herb.
				else if (args.CollectData.Target.Contains("/sunlightherb"))
					skill.Train(4); // Try to pick a Sunlight Herb.
				else if (args.CollectData.Target.Contains("/manaherb"))
					skill.Train(6); // Try to pick a Mana Herb.
				else if (args.CollectData.Target.Contains("/goldherb") && skill.Info.Rank == SkillRank.RD)
					skill.Train(8); // Try to pick a Golden Herb.

				if (args.Success)
				{
					if (args.ItemId == 51104)
						skill.Train(1); // Succeed at picking a Base Herb.
					else if (args.ItemId == 51101)
						skill.Train(3); // Succeed at picking a Bloody Herb.
					else if (args.ItemId == 51103)
						skill.Train(5); // Succeed at picking a Sunlight Herb.
					else if (args.ItemId == 51102)
						skill.Train(7); // Succeed at picking a Mana Herb.
				}
			}
			else if (skill.Info.Rank == SkillRank.RC)
			{
				if (args.Success)
				{
					if (args.ItemId == 51104)
						skill.Train(1); // Succeed at picking a Base Herb.
					else if (args.ItemId == 51101)
						skill.Train(2); // Succeed at picking a Bloody Herb.
					else if (args.ItemId == 51103)
						skill.Train(3); // Succeed at picking a Sunlight Herb.
					else if (args.ItemId == 51102)
						skill.Train(4); // Succeed at picking a Mana Herb.
					else if (args.ItemId == 51105)
						skill.Train(5); // Succeed at picking a Golden Herb.
					else if (args.ItemId == 51107)
						skill.Train(6); // Succeed at picking a White Herb.
				}
			}
			else if (skill.Info.Rank == SkillRank.RB)
			{
				if (args.CollectData.Target.Contains("/sunlightherb"))
					skill.Train(1); // Try to pick a Sunlight Herb.
				else if (args.CollectData.Target.Contains("/manaherb"))
					skill.Train(3); // Try to pick a Mana Herb.
				else if (args.CollectData.Target.Contains("/goldherb"))
					skill.Train(5); // Try to pick a Golden Herb.

				if (args.Success)
				{
					if (args.ItemId == 51103)
						skill.Train(2); // Succeed at picking a Sunlight Herb.
					else if (args.ItemId == 51102)
						skill.Train(4); // Succeed at picking a Mana Herb.
					else if (args.ItemId == 51105)
						skill.Train(6); // Succeed at picking a Golden Herb.
					else if (args.ItemId == 51107)
						skill.Train(7); // Succeed at picking a White Herb.
				}
			}
			else if (skill.Info.Rank == SkillRank.RA)
			{
				if (args.CollectData.Target.Contains("/manaherb"))
					skill.Train(2); // Try to pick a Mana Herb.
				else if (args.CollectData.Target.Contains("/goldherb"))
					skill.Train(4); // Try to pick a Golden Herb.

				if (args.Success)
				{
					if (args.ItemId == 51103)
						skill.Train(1); // Succeed at picking a Sunlight Herb.
					else if (args.ItemId == 51102)
						skill.Train(3); // Succeed at picking a Mana Herb.
					else if (args.ItemId == 51105)
						skill.Train(5); // Succeed at picking a Golden Herb.
					else if (args.ItemId == 51107)
						skill.Train(6); // Succeed at picking a White Herb.
				}
			}
			else if (skill.Info.Rank >= SkillRank.R9 && skill.Info.Rank <= SkillRank.R6)
			{
				if (args.CollectData.Target.Contains("/orangeherb"))
					skill.Train(5); // Try to pick a Mandrake.

				if (args.Success)
				{
					if (args.ItemId == 51103)
						skill.Train(1); // Succeed at picking a Sunlight Herb.
					else if (args.ItemId == 51102)
						skill.Train(2); // Succeed at picking a Mana Herb.
					else if (args.ItemId == 51105)
						skill.Train(3); // Succeed at picking a Golden Herb.
					else if (args.ItemId == 51107)
						skill.Train(4); // Succeed at picking a White Herb.
					else if (args.ItemId == 51110)
						skill.Train(6); // Succeed at picking a Mandrake.
				}
			}
			else if (skill.Info.Rank == SkillRank.R5 || skill.Info.Rank == SkillRank.R4)
			{
				if (args.CollectData.Target.Contains("/ivoryherb"))
					skill.Train(4); // Try to pick an Antidote Herb.

				if (args.Success)
				{
					if (args.ItemId == 51102)
						skill.Train(1); // Succeed at picking a Mana Herb.
					else if (args.ItemId == 51105)
						skill.Train(2); // Succeed at picking a Golden Herb.
					else if (args.ItemId == 51110)
						skill.Train(3); // Succeed at picking a Mandrake.
					else if (args.ItemId == 51108)
						skill.Train(5); // Succeed at picking an Antidote Herb.
				}
			}
			else if (skill.Info.Rank >= SkillRank.R3 && skill.Info.Rank <= SkillRank.R1)
			{
				if (args.CollectData.Target.Contains("/purpleherb"))
					skill.Train(3); // Try to pick a Poison Herb.

				if (args.Success)
				{
					if (args.ItemId == 51105)
						skill.Train(1); // Succeed at picking a Golden Herb.
					else if (args.ItemId == 51110)
						skill.Train(2); // Succeed at picking a Mandrake.
					else if (args.ItemId == 51109)
						skill.Train(4); // Succeed at picking a Poison Herb.
				}
			}
		}
示例#8
0
		/// <summary>
		/// Updates gathering objectives.
		/// </summary>
		/// <param name="args"></param>
		private void OnCreatureGathered(CollectEventArgs args)
		{
			var quests = args.Creature.Quests.GetAllIncomplete(this.Id);
			foreach (var quest in quests)
			{
				var progress = quest.CurrentObjectiveOrLast;
				if (progress == null) return;

				var objective = this.Objectives[progress.Ident];
				if (objective == null || objective.Type != ObjectiveType.Gather) return;

				var gatherObjective = (objective as QuestObjectiveGather);
				if (!progress.Done && args.Success && args.ItemId == gatherObjective.ItemId)
				{
					progress.Count++;
					if (progress.Count == gatherObjective.Amount)
						quest.SetDone(progress.Ident);

					Send.QuestUpdate(args.Creature, quest);
				}
			}
		}
示例#9
0
        /// <summary>
        /// Raised when creature collects something, handles gathering conditions.
        /// </summary>
        /// <param name="args"></param>
        private void OnCreatureCollected(CollectEventArgs args)
        {
            var skill = args.Creature.Skills.Get(SkillId.Herbalism);

            if (skill == null)
            {
                return;
            }

            if (skill.Info.Rank == SkillRank.Novice)
            {
                if (args.CollectData.Target.Contains("/baseherb"))
                {
                    skill.Train(1);                     // Try to pick a Base Herb.
                }
                if (args.ItemId == 51104)
                {
                    if (args.Success)
                    {
                        skill.Train(2);                         // Succeed at picking a Base Herb.
                    }
                }
            }
            else if (skill.Info.Rank == SkillRank.RF)
            {
                if (args.CollectData.Target.Contains("/baseherb"))
                {
                    skill.Train(1);                     // Try to pick a Base Herb.
                }
                else if (args.CollectData.Target.Contains("/bloodyherb"))
                {
                    skill.Train(3);                     // Try to pick a Bloody Herb.
                }
                else if (args.CollectData.Target.Contains("/sunlightherb"))
                {
                    skill.Train(5);                     // Try to pick a Sunlight Herb.
                }
                if (args.Success)
                {
                    if (args.ItemId == 51104)
                    {
                        skill.Train(2);                         // Succeed at picking a Base Herb.
                    }
                    else if (args.ItemId == 51101)
                    {
                        skill.Train(4);                         // Succeed at picking a Bloody Herb.
                    }
                    else if (args.ItemId == 51103)
                    {
                        skill.Train(6);                         // Succeed at picking a Sunlight Herb.
                    }
                }
            }
            else if (skill.Info.Rank == SkillRank.RE || skill.Info.Rank == SkillRank.RD)
            {
                if (args.CollectData.Target.Contains("/bloodyherb"))
                {
                    skill.Train(2);                     // Try to pick a Bloody Herb.
                }
                else if (args.CollectData.Target.Contains("/sunlightherb"))
                {
                    skill.Train(4);                     // Try to pick a Sunlight Herb.
                }
                else if (args.CollectData.Target.Contains("/manaherb"))
                {
                    skill.Train(6);                     // Try to pick a Mana Herb.
                }
                else if (args.CollectData.Target.Contains("/goldherb") && skill.Info.Rank == SkillRank.RD)
                {
                    skill.Train(8);                     // Try to pick a Golden Herb.
                }
                if (args.Success)
                {
                    if (args.ItemId == 51104)
                    {
                        skill.Train(1);                         // Succeed at picking a Base Herb.
                    }
                    else if (args.ItemId == 51101)
                    {
                        skill.Train(3);                         // Succeed at picking a Bloody Herb.
                    }
                    else if (args.ItemId == 51103)
                    {
                        skill.Train(5);                         // Succeed at picking a Sunlight Herb.
                    }
                    else if (args.ItemId == 51102)
                    {
                        skill.Train(7);                         // Succeed at picking a Mana Herb.
                    }
                }
            }
            else if (skill.Info.Rank == SkillRank.RC)
            {
                if (args.Success)
                {
                    if (args.ItemId == 51104)
                    {
                        skill.Train(1);                         // Succeed at picking a Base Herb.
                    }
                    else if (args.ItemId == 51101)
                    {
                        skill.Train(2);                         // Succeed at picking a Bloody Herb.
                    }
                    else if (args.ItemId == 51103)
                    {
                        skill.Train(3);                         // Succeed at picking a Sunlight Herb.
                    }
                    else if (args.ItemId == 51102)
                    {
                        skill.Train(4);                         // Succeed at picking a Mana Herb.
                    }
                    else if (args.ItemId == 51105)
                    {
                        skill.Train(5);                         // Succeed at picking a Golden Herb.
                    }
                    else if (args.ItemId == 51107)
                    {
                        skill.Train(6);                         // Succeed at picking a White Herb.
                    }
                }
            }
            else if (skill.Info.Rank == SkillRank.RB)
            {
                if (args.CollectData.Target.Contains("/sunlightherb"))
                {
                    skill.Train(1);                     // Try to pick a Sunlight Herb.
                }
                else if (args.CollectData.Target.Contains("/manaherb"))
                {
                    skill.Train(3);                     // Try to pick a Mana Herb.
                }
                else if (args.CollectData.Target.Contains("/goldherb"))
                {
                    skill.Train(5);                     // Try to pick a Golden Herb.
                }
                if (args.Success)
                {
                    if (args.ItemId == 51103)
                    {
                        skill.Train(2);                         // Succeed at picking a Sunlight Herb.
                    }
                    else if (args.ItemId == 51102)
                    {
                        skill.Train(4);                         // Succeed at picking a Mana Herb.
                    }
                    else if (args.ItemId == 51105)
                    {
                        skill.Train(6);                         // Succeed at picking a Golden Herb.
                    }
                    else if (args.ItemId == 51107)
                    {
                        skill.Train(7);                         // Succeed at picking a White Herb.
                    }
                }
            }
            else if (skill.Info.Rank == SkillRank.RA)
            {
                if (args.CollectData.Target.Contains("/manaherb"))
                {
                    skill.Train(2);                     // Try to pick a Mana Herb.
                }
                else if (args.CollectData.Target.Contains("/goldherb"))
                {
                    skill.Train(4);                     // Try to pick a Golden Herb.
                }
                if (args.Success)
                {
                    if (args.ItemId == 51103)
                    {
                        skill.Train(1);                         // Succeed at picking a Sunlight Herb.
                    }
                    else if (args.ItemId == 51102)
                    {
                        skill.Train(3);                         // Succeed at picking a Mana Herb.
                    }
                    else if (args.ItemId == 51105)
                    {
                        skill.Train(5);                         // Succeed at picking a Golden Herb.
                    }
                    else if (args.ItemId == 51107)
                    {
                        skill.Train(6);                         // Succeed at picking a White Herb.
                    }
                }
            }
            else if (skill.Info.Rank >= SkillRank.R9 && skill.Info.Rank <= SkillRank.R6)
            {
                if (args.CollectData.Target.Contains("/orangeherb"))
                {
                    skill.Train(5);                     // Try to pick a Mandrake.
                }
                if (args.Success)
                {
                    if (args.ItemId == 51103)
                    {
                        skill.Train(1);                         // Succeed at picking a Sunlight Herb.
                    }
                    else if (args.ItemId == 51102)
                    {
                        skill.Train(2);                         // Succeed at picking a Mana Herb.
                    }
                    else if (args.ItemId == 51105)
                    {
                        skill.Train(3);                         // Succeed at picking a Golden Herb.
                    }
                    else if (args.ItemId == 51107)
                    {
                        skill.Train(4);                         // Succeed at picking a White Herb.
                    }
                    else if (args.ItemId == 51110)
                    {
                        skill.Train(6);                         // Succeed at picking a Mandrake.
                    }
                }
            }
            else if (skill.Info.Rank == SkillRank.R5 || skill.Info.Rank == SkillRank.R4)
            {
                if (args.CollectData.Target.Contains("/ivoryherb"))
                {
                    skill.Train(4);                     // Try to pick an Antidote Herb.
                }
                if (args.Success)
                {
                    if (args.ItemId == 51102)
                    {
                        skill.Train(1);                         // Succeed at picking a Mana Herb.
                    }
                    else if (args.ItemId == 51105)
                    {
                        skill.Train(2);                         // Succeed at picking a Golden Herb.
                    }
                    else if (args.ItemId == 51110)
                    {
                        skill.Train(3);                         // Succeed at picking a Mandrake.
                    }
                    else if (args.ItemId == 51108)
                    {
                        skill.Train(5);                         // Succeed at picking an Antidote Herb.
                    }
                }
            }
            else if (skill.Info.Rank >= SkillRank.R3 && skill.Info.Rank <= SkillRank.R1)
            {
                if (args.CollectData.Target.Contains("/purpleherb"))
                {
                    skill.Train(3);                     // Try to pick a Poison Herb.
                }
                if (args.Success)
                {
                    if (args.ItemId == 51105)
                    {
                        skill.Train(1);                         // Succeed at picking a Golden Herb.
                    }
                    else if (args.ItemId == 51110)
                    {
                        skill.Train(2);                         // Succeed at picking a Mandrake.
                    }
                    else if (args.ItemId == 51109)
                    {
                        skill.Train(4);                         // Succeed at picking a Poison Herb.
                    }
                }
            }
        }
示例#10
0
 // 当物资被别人采集完后
 private void Finish(object obj, CollectEventArgs e)
 {
     _FSM.SetState(new NPCFindCollect(_FSM));
 }