예제 #1
0
        public List <FighterRoundCompare> CompareDamageToCalculated()
        {
            FighterStats stats1 = Fight.Fighter1.AdjustAll(Fighter1Round.StartEndurance, Fighter1Round.Cuts_StartRound, Resources.FatigueBeforeCut);
            FighterStats stats2 = Fight.Fighter2.AdjustAll(Fighter2Round.StartEndurance, Fighter2Round.Cuts_StartRound, Resources.FatigueBeforeCut);
            RoundDamage  d1     = RoundDamage.CalculateRoundDamage(stats1,
                                                                   Fighter1Round.Tactics,
                                                                   stats2,
                                                                   Fighter2Round.Tactics,
                                                                   Fighter1Round.Tactics.TargetArea);

            RoundDamage d2 = RoundDamage.CalculateRoundDamage(stats2,
                                                              Fighter2Round.Tactics,
                                                              stats1,
                                                              Fighter1Round.Tactics,
                                                              Fighter2Round.Tactics.TargetArea);

            RoundDamage.AdjustForStun(d1, d2);
            List <FighterRoundCompare> ret = new List <Model.FighterRoundCompare>()
            {
                new Model.FighterRoundCompare(Fighter1Round, d2),
                new Model.FighterRoundCompare(Fighter2Round, d1)
            };

            return(ret);
        }
예제 #2
0
        public FighterRound BeginFighting(FighterFight other, Round round)
        {
            FighterRound ret = new FighterRound(round);

            ret.Tactics               = FighterRoundPlan.Adjusted(this.RoundStats.Plan, this.RoundStats.AdjustedTactics);
            ret.StartEndurance        = this.EndurancePoints;
            ret.StartEndurancePercent = this.EndurancePercent;
            ret.CheckFighterWarning(this);
            this.RoundStats.AdjustDirty(ret.IsWarned);
            if (ret.IsWarned)
            {
                this.Warnings++;
                if (this.Warnings > 1)
                {
                    ret.DeductPointWarning = true;
                }
            }
            ret.DamageDealt = RoundDamage.CalculateRoundDamage(this.RoundStats.AdjustedStats, this.RoundStats.AdjustedTactics,
                                                               other.RoundStats.AdjustedStats, other.RoundStats.AdjustedTactics, this.RoundStats.Plan.TargetArea, this.RoundStats.DamageAdjustment);
            this.RoundStats.SetPunchAccuracy(other.RoundStats);
            return(ret);
        }