예제 #1
0
        public void AddEvasion(bool IsSourceNameMember, bool IsSkill, DateTime Time, ActionData Data)
        {
            // 回避した攻撃
            if (IsSourceNameMember)
            {
                this.UpdateEvadeAttackNumber();
            }
            // 回避された攻撃
            else
            {
                if (!this.IsStart())
                {
                    this.StartTime = Time;
                }
                this.EndTime = Time;

                this.UpdateSeconds();
                this.UpdateAttackNumber(IsSkill);
                this.UpdateDamageParSecond();
                this.UpdateDamageParAttackNumber();
                this.UpdateAttackNumberParSecond();
                this.UpdateEvadedAttackNumber();

                if (!IsSkill)
                {
                    this.PreviousAttackSimpleFlag = true;
                    this.PreviousAttackSimpleTime = Time;
                }
                else
                {
                    if (this.PreviousAttackSimpleFlag)
                    {
                        double MCTime = ((double)Time.Ticks - (double)this.PreviousAttackSimpleTime.Ticks) / 10000000;
                        this.UpdateMC(MCTime, Data);
                    }

                    this.PreviousAttackSimpleFlag = false;
                    this.PreviousAttackSimpleTime = new DateTime(0);
                }

                if (!this.IsStart())
                {
                    this.StartFlag = true;
                }
            }
        }
예제 #2
0
        public void AddHeal(ActionData Data)
        {
            if (!this.IsStart())
            {
                this.StartTime = Data.Time;
            }
            this.EndTime = Data.Time;

            this.HealingAmount          += Data.HealingAmount;
            this.HealingAmountLabel.Text = this.HealingAmount.ToString("#,0");
            this.HealingNumber          += 1;

            this.UpdateSeconds();
            this.UpdateDamageParSecond();
            this.UpdateDamageParAttackNumber();
            this.UpdateAttackNumberParSecond();

            this.PreviousAttackSimpleFlag = false;
            this.PreviousAttackSimpleTime = new DateTime(0);

            if (this.HealSkillList != null)
            {
                if (!this.HealSkillList.ContainsKey(Data.SkillName))
                {
                    AION.HealSkill _Skill = new AION.HealSkill(Data.SkillName, this.GetJob(), AION.HealSkillType.Others);
                    this.HealSkillList.Add(Data.SkillName, _Skill);
                }

                this.HealSkillList[Data.SkillName].AddHeal(Data.HealingAmount);
            }

            if (!this.IsStart())
            {
                this.StartFlag = true;
            }
        }
예제 #3
0
 private void UpdateMC(double MCTime, ActionData Data)
 {
     this.MCTotalTime += MCTime;
     this.MCNumber    += 1;
     this.MCSecondParNumberLabel.Text = (this.MCTotalTime / this.MCNumber).ToString("F3");
 }