Пример #1
0
        internal override void CaptureSpy(DiplomaticTie diplomaticTie, EspionageAction espionageAction, bool espionageCompleted, City city)
        {
            base.CaptureSpy(diplomaticTie, espionageAction, espionageCompleted, city);

            //find the associated diplomaticTie
            Country       enemy = diplomaticTie.ParentCountry;
            DiplomaticTie tie   = GetDiplomaticTie(enemy);

            tie.Attitude = Attitude.Furious;

            //we may want to declare war here.
            double us   = Convert.ToDouble(this.PowerFactor);
            double them = Convert.ToDouble(enemy.PowerFactor);

            if (them == 0.0d)
            {
                DeclareWar(enemy);
                return;
            }

            double ratio = us / them;

            if (ratio >= .75d)
            {
                DeclareWar(enemy);
            }
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="SpyCapturedEventArgs"/> class.
 /// </summary>
 /// <param name="diplomaticTie"></param>
 /// <param name="espionageAction"></param>
 /// <param name="espionageCompleted"></param>
 /// <param name="city"></param>
 public SpyCapturedEventArgs(DiplomaticTie diplomaticTie, EspionageAction espionageAction, bool espionageCompleted, City city)
 {
     this.diplomaticTie      = diplomaticTie;
     this.espionageCompleted = espionageCompleted;
     this.espionageAction    = espionageAction;
     this.city = city;
 }