コード例 #1
0
ファイル: JobSkill.cs プロジェクト: XaferDev/Crystal
        public bool DoSkill(Network.WorldClient client, IO.InteractiveObject io)
        {
            if (!this.IsCraftSkill)
            {
                if (io.State == IO.InteractiveObjectState.FULL)
                {
                    client.Action.RefreshDirection(3);//TODO: From player direction

                    var packet = "GA" + this.ID + ";501;" + client.Character.ID + ";" + io.CellID + "," + this.GetJobTime();
                    client.Character.Map.Engine.Send(packet);
                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            else
            {
                if (client.Action.CurrentJobCraftSkill == null)
                {
                    client.Action.CurrentJobCraftSkill = new JobCraftSkill(this, client);
                    var packet = "ECK3|" + this.GetJobCraftMax() + ";" + this.ID;
                    client.Send(packet);
                    return(false);
                }
                else
                {
                    return(false);
                }
            }
        }
コード例 #2
0
ファイル: JobSkill.cs プロジェクト: XaferDev/Crystal
        public void SkillFinished(Network.WorldClient client, IO.InteractiveObject io)
        {
            try
            {
                if (JobHelper.GetItemBySkill(this.ID) != -1)
                {
                    var quantity = Utilities.Basic.Rand(this.Min, this.GetDesByLevel());
                    Database.Records.WorldItemRecord item = Helper.ItemHelper.GenerateItem(client, JobHelper.GetItemBySkill(this.ID));
                    client.Character.AddItem(item, quantity);

                    client.Send("IQ" + client.Character.ID + "|" + quantity);
                    client.Action.RefreshPods();
                    this.BaseJob.AddExp(this.Exp, client);
                }
            }
            catch (Exception e)
            {
                Utilities.ConsoleStyle.Error("Can't finish job skill : " + e.ToString());
            }

            io.SetEmpty();
            io.StartRespawnTimer();
        }