Exemplo n.º 1
0
        /// <summary>
        /// Ebben van a ko papir ollos cucc, 1hez ad 1tol levon
        /// </summary>
        /// <param name="randomMission"></param>
        public override void VisitRandomMission(RandomMission randomMission)
        {
            var missionLevel = _missionInProgress.MissionLevel;

            var rawGrindLevel = _missionDataCache.LookUpGrindAmount(missionLevel);

            var diffmult = randomMission.DifficultyMultiplier;

            var standingValue = 1 / (diffmult * rawGrindLevel);

            standingValue *= _missionInProgress.GetParticipantBonusModifier();

            // 0 -> 0.0   10 - > 1.0
            // 6 -> 0.6 --> 0.5*0.6 => positive x 30%

            //Implementation: Add reputation for all factions equally -- No factional bias!
            IEnumerable <long>           allianceEids = DefaultCorporationDataCache.GetMegaCorporationEids();
            List <MissionStandingChange> standingChangeForSyndicatification = new List <MissionStandingChange>();

            foreach (long id in allianceEids)
            {
                standingChangeForSyndicatification.Add(new MissionStandingChange(id, standingValue));
            }
            _standingChanges = standingChangeForSyndicatification.ToArray();
        }
Exemplo n.º 2
0
 public override void VisitRandomMission(RandomMission randomMission)
 {
     if (_estimation)
     {
         CalculateEstimation();
     }
     else
     {
         CalculateFinalReward();
     }
 }
Exemplo n.º 3
0
        public override void VisitRandomMission(RandomMission randomMission)
        {
            var coinDefinition = _missionInProgress.myLocation.GetRaceSpecificCoinDefinition();

            var level = _missionInProgress.MissionLevel;

            //var coinQuantity = (int)Math.Round(Math.Pow(1.3 + level, 2.5 / 3.0) * randomMission.DifficultyMultiplier);
            var coinQuantity = RandomMission.CoinQuantity(level, randomMission.DifficultyMultiplier);

            var coinItemInfo = new ItemInfo(coinDefinition, coinQuantity);
            var coinReward   = new MissionReward(coinItemInfo);

            var rewardItems = randomMission.RewardItems.ToList();

            rewardItems.Add(coinReward);
            _rewardItems = rewardItems;
        }
Exemplo n.º 4
0
        /// <summary>
        /// Ebben van a ko papir ollos cucc, 1hez ad 1tol levon
        /// </summary>
        /// <param name="randomMission"></param>
        public override void VisitRandomMission(RandomMission randomMission)
        {
            var missionLevel = _missionInProgress.MissionLevel;

            var rawGrindLevel = _missionDataCache.LookUpGrindAmount(missionLevel);

            var diffmult = randomMission.DifficultyMultiplier;

            var standingValue = 1 / (diffmult * rawGrindLevel);

            // 0 -> 0.0   10 - > 1.0
            // 6 -> 0.6 --> 0.5*0.6 => positive x 30%

            var f = _missionInProgress.MissionLevel.Clamp(0, 9) / 9.0;

            var negativeValue = -1 * (standingValue / 2) * f; //20% extension can reduce it to 10%

            var positiveAllianceEid = _missionLocation.Agent.OwnerAlliance.Eid;
            var opposingAllianceEid = DefaultCorporationDataCache.SelectOpposingAlliance(positiveAllianceEid);

            _standingChanges = new[] { new MissionStandingChange(positiveAllianceEid, standingValue), new MissionStandingChange(opposingAllianceEid, negativeValue) };
        }
Exemplo n.º 5
0
 public virtual void VisitRandomMission(RandomMission randomMission)
 {
     VisitMission(randomMission);
 }