Пример #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();
        }
Пример #2
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) };
        }