public void ApplyInfluence(Person person, Applier applier, int applierID)
 {
     bool flag = false;
     bool flag2 = false;
     foreach (Influence influence in this.Influences.Values)
     {
         if ((influence.Type != InfluenceType.前提) && (influence.Type != InfluenceType.多选一))
         {
             if (!flag || flag2)
             {
                 influence.ApplyInfluence(person, applier, applierID);
             }
             continue;
         }
         if (!(flag || (influence.Type != InfluenceType.多选一)))
         {
             flag = true;
         }
         if (influence.IsVaild(person))
         {
             if (influence.Type == InfluenceType.多选一)
             {
                 flag2 = true;
                 continue;
             }
         }
         else if (influence.Type == InfluenceType.前提)
         {
             break;
         }
     }
 }
 public void addChildrenBornEntry(GameDate date, Person factionLeader, Person feizi, Person born)
 {
     Faction faction = factionLeader.BelongedFaction;
     if (faction == null)
     {
         if (factionLeader.BelongedArchitecture != null)
         {
             faction = factionLeader.BelongedArchitecture.BelongedFaction;
         }
         else if (factionLeader.BelongedTroop != null)
         {
             faction = factionLeader.BelongedTroop.BelongedFaction;
         }
     }
     if (faction != null)
     {
         this.addTableEntry(date, composeFactionList(faction),
             String.Format(yearTableStrings["childrenBorn"], faction.Name, factionLeader.Name, feizi.Name, (born.Sex ? "女" : "子"), born.Name), false);
     }
     else
     {
         this.addTableEntry(date, composeFactionList(faction),
             String.Format(yearTableStrings["childrenBornNoFaction"], factionLeader.Name, feizi.Name, (born.Sex ? "女" : "子"), born.Name), false);
     }
 }
 public override void ApplyEffectKind(Person person, Event e)
 {
     if (person.BelongedFactionWithPrincess != null)
     {
         person.AddHated(person.BelongedFaction.Leader);
     }
 }
 public override void ApplyInfluenceKind(Person person)
 {
     if (person.LocationTroop != null)
     {
         person.LocationTroop.TempRateOfOffence = this.rate;
     }
 }
 public bool CheckCondition(Person person, Event e)
 {
     if (this.Kind == null) return false;
     this.Kind.InitializeParameter(this.Parameter);
     this.Kind.InitializeParameter2(this.Parameter2);
     return this.Kind.CheckConditionKind(person, e) || this.Kind.CheckConditionKind(person);
 }
 public override void ApplyInfluenceKind(Person person)
 {
     if (person.LocationTroop != null)
     {
         person.LocationTroop.ChanceOfBlockArrowAttack += this.chance;
     }
 }
 public override void PurifyInfluenceKind(Person p)
 {
     if (p.BelongedFaction != null)
     {
         p.BelongedFaction.techniquePointCostRateDecrease.Remove(this.increment);
     }
 }
 public override void ApplyInfluenceKind(Person p)
 {
     if (p.BelongedFaction != null)
     {
         p.BelongedFaction.techniqueFundCostRateDecrease.Add(this.increment);
     }
 }
 public override void PurifyInfluenceKind(Person person)
 {
     if (person.LocationTroop != null)
     {
         person.LocationTroop.StuntDayDecrementOfAttack -= this.chance;
     }
 }
 public override void PurifyInfluenceKind(Person person)
 {
     if (person.LocationTroop != null)
     {
         person.LocationTroop.StuntArchitectureDamageRate = 1f;
     }
 }
 public override void PurifyInfluenceKind(Person person)
 {
     if (person.LocationTroop != null)
     {
         person.LocationTroop.ChanceOfTrippleDamage -= this.chance;
     }
 }
 public override void ApplyInfluenceKind(Person person)
 {
     if (person.LocationTroop != null)
     {
         person.LocationTroop.StuntArchitectureDamageRate = this.rate;
     }
 }
 public override void ApplyEffectKind(Person person, Event e)
 {
     if (person.BelongedFactionWithPrincess != null)
     {
         person.BelongedFactionWithPrincess.Leader.AdjustRelation(person, 0, increment);
     }
 }
 public override void ApplyInfluenceKind(Person person)
 {
     if (person.LocationTroop != null)
     {
         person.LocationTroop.ChanceOfDoubleDamage += this.chance;
     }
 }
 public override void ApplyInfluenceKind(Person person)
 {
     if (this.increment > person.InfluenceIncrementOfCommand)
     {
         person.InfluenceIncrementOfCommand += this.increment;
     }
 }
 public override void ApplyEffectKind(Person person)
 {
     if (person.LocationTroop != null)
     {
         person.ToDeath(null, person.BelongedFaction);
     }
 }
Beispiel #17
0
        private string challengePersonString(Person person)
        {
            //武将ID,姓,名,字,性别(0,女、1,男),头像编号,身份(0 盗贼,1 武将,2君主)
            //生命,体力,力量,敏捷,
            //武艺,统御,智谋,政治,魅力,
            //相性,勇猛,冷静,义理,野心,名声,
            //坐骑(1、没有马;300、赤兔马;301、的卢;302、绝影;303、爪黄飞电;304、大宛马),
            //忠诚度,当前所属势力声望,
            //当前效力君主的魅力(没有君主传-1),当前效力君主的相性(没有君主传-1)


            string para;
            para = person.ID.ToString() + "," + person.SurName + "," + person.GivenName + "," + (person.CalledName == "" ? "无" : person.CalledName) + "," + (person.Sex ? "0" : "1") + "," + person.PictureIndex.ToString() + ","+person.Identity().ToString()+",";
            para += person.Strength.ToString() + "," + person.Strength.ToString() + "," + person.Strength.ToString() + "," + person.Strength.ToString() + ",";
            para += person.Strength.ToString() + "," + person.Command.ToString() + "," + person.Intelligence.ToString() + "," + person.Politics.ToString() + "," + person.Glamour.ToString() + ",";
            para += person.Ideal.ToString() + "," + person.Braveness.ToString() + "," + person.Calmness.ToString() + "," + person.PersonalLoyalty.ToString() + "," + person.Ambition.ToString() + "," + person.Reputation.ToString() + ",";
            ///////////////////////////////判断有没有宝物马
            if (person.HasHorse() == -1)  //游戏中用-1表示没有马,而单挑程序中用1表示没有马
            {
                para += "1" + ",";
            }
            else
            {
                para += person.HasHorse().ToString() + ",";
            }
            /////////////////////////////////
            para += person.Loyalty.ToString() + "," + (person.BelongedFaction == null ? 0 : person.BelongedFaction.Reputation).ToString()+",";
            para += (person.BelongedFaction == null ? -1 : person.BelongedFaction.Leader.Glamour).ToString() + "," + (person.BelongedFaction == null ? -1 : person.BelongedFaction.Leader.Ideal).ToString();
            para += "\r\n";
            return para;
        }
 public override void PurifyInfluenceKind(Person person)
 {
     if (person.LocationTroop != null)
     {
         person.LocationTroop.ChanceOfMustCriticalStrike -= this.chance;
     }
 }
 public override void PurifyInfluenceKind(Person person)
 {
     if (person.LocationTroop != null)
     {
         person.LocationTroop.MultipleOfStratagemTechniquePoint -= this.multiple - 1;
     }
 }
 public override void ApplyEffectKind(Person person, Event e)
 {
     if (person.LocationArchitecture != null)
     {
         person.Status = GameObjects.PersonDetail.PersonStatus.Princess;
     }
 }
 public override void PurifyInfluenceKind(Person person)
 {
     if (person.LocationTroop != null)
     {
         person.LocationTroop.ChanceOfBlockAttack -= this.chance;
     }
 }
 public override void ApplyInfluenceKind(Person person)
 {
     if (this.increment > person.InfluenceIncrementOfStrength)
     {
         person.InfluenceIncrementOfStrength += this.increment;
     }
 }
 public override void PurifyInfluenceKind(Person person)
 {
     if (person.LocationTroop != null)
     {
         person.LocationTroop.TempRateOfOffence = 1f;
     }
 }
 public override void ApplyInfluenceKind(Person person)
 {
     if (person.LocationTroop != null)
     {
         person.LocationTroop.StuntAttackRadius = this.radius;
     }
 }
 public override void ApplyEffectKind(Person person)
 {
     if (person.LocationTroop != null)
     {
         person.LocationTroop.DecreaseCombativity(this.increment);
     }
 }
 public override void PurifyInfluenceKind(Person person)
 {
     if (person.LocationTroop != null)
     {
         person.LocationTroop.StuntAttackRadius = 0;
     }
 }
 public override void ApplyInfluenceKind(Person person)
 {
     if (this.increment > person.InfluenceIncrementOfIntelligence)
     {
         person.InfluenceIncrementOfIntelligence += this.increment;
     }
 }
 public override void ApplyInfluenceKind(Person person)
 {
     if (person.LocationTroop != null)
     {
         person.LocationTroop.MultipleOfCombatTechniquePoint += this.multiple - 1;
     }
 }
 public override void ApplyEffectKind(Person person, Event e)
 {
     if (person.BelongedFaction != null)
     {
         person.ClosePersons.Add(person.BelongedFaction.LeaderID);
     }
 }
 public override void ApplyInfluenceKind(Person person)
 {
     if (this.increment > person.IncrementOfChallengeWinningChance)
     {
         person.IncrementOfChallengeWinningChance = this.increment;
     }
 }