public Single RateTarget()
        {
            if (!_v.Target.CanBeRevived())
            {
                return(0);
            }

            if (_v.Target.IsZombie)
            {
                Single result = BattleScriptStatusEstimate.RateStatus(BattleStatus.Death) * 0.1f;
                if (!_v.Target.IsPlayer)
                {
                    result *= -1;
                }
                return(result);
            }

            if (!_v.Target.IsPlayer)
            {
                return(0);
            }

            BattleStatus playerStatus  = _v.Target.CurrentStatus;
            BattleStatus removeStatus  = _v.Command.ItemStatus;
            BattleStatus removedStatus = playerStatus & removeStatus;
            Int32        rating        = BattleScriptStatusEstimate.RateStatuses(removedStatus);

            return(-1 * rating);
        }
Example #2
0
        public Single RateTarget()
        {
            if (!_v.Target.CanBeRevived())
            {
                return(0);
            }

            if (_v.Target.IsZombie)
            {
                _v.MagicAccuracy();

                Single hitRate = BattleScriptAccuracyEstimate.RatePlayerAttackHit(_v.Context.HitRate);
                Single evaRate = BattleScriptAccuracyEstimate.RatePlayerAttackEvade(_v.Context.Evade);

                Single result = BattleScriptStatusEstimate.RateStatus(BattleStatus.Death) * hitRate * evaRate;
                if (!_v.Target.IsPlayer)
                {
                    result *= -1;
                }
                return(result);
            }

            if (!_v.Target.IsPlayer)
            {
                return(0);
            }

            BattleStatus playerStatus  = _v.Target.CurrentStatus;
            BattleStatus removeStatus  = _v.Command.AbilityStatus;
            BattleStatus removedStatus = playerStatus & removeStatus;
            Int32        rating        = BattleScriptStatusEstimate.RateStatuses(removedStatus);

            return(-1 * rating);
        }
Example #3
0
        public Single RateTarget()
        {
            if (!_v.Target.CanBeAttacked())
            {
                return(0);
            }

            if (_v.Target.IsZombie)
            {
                Int32 rate = BattleScriptStatusEstimate.RateStatus(BattleStatus.Death);
                if (!_v.Target.IsPlayer)
                {
                    rate *= -1;
                }

                return(rate);
            }
            else
            {
                Single rate = 0;

                rate += _v.Target.MaximumHp * BattleScriptDamageEstimate.RateHpMp(_v.Target.CurrentHp, _v.Target.MaximumHp);
                rate += _v.Target.MaximumMp * BattleScriptDamageEstimate.RateHpMp(_v.Target.CurrentMp, _v.Target.MaximumMp);

                if (!_v.Target.IsPlayer)
                {
                    rate *= -1;
                }

                return(rate);
            }
        }
        public Single RateTarget()
        {
            BattleStatus playerStatus  = _v.Target.CurrentStatus;
            BattleStatus removeStatus  = _v.Command.AbilityStatus;
            BattleStatus removedStatus = playerStatus & removeStatus;
            Int32        rating        = BattleScriptStatusEstimate.RateStatuses(removedStatus);

            if (_v.Target.IsPlayer)
            {
                return(-1 * rating);
            }

            return(rating);
        }
        public Single RateTarget()
        {
            if (_v.Target.HasCategory(EnemyCategory.Stone))
            {
                if (_v.Target.CanBeAttacked())
                {
                    return(-1 * BattleScriptStatusEstimate.RateStatus(BattleStatus.Death));
                }

                return(0);
            }

            BattleStatus playerStatus  = _v.Target.CurrentStatus;
            BattleStatus removeStatus  = _v.Command.ItemStatus;
            BattleStatus removedStatus = playerStatus & removeStatus;
            Int32        rating        = BattleScriptStatusEstimate.RateStatuses(removedStatus);

            if (_v.Target.IsPlayer)
            {
                return(-1 * rating);
            }

            return(rating);
        }