本文整理汇总了C#中GameObjects.Troop.IncreaseStratagemExperience方法的典型用法代码示例。如果您正苦于以下问题:C# Troop.IncreaseStratagemExperience方法的具体用法?C# Troop.IncreaseStratagemExperience怎么用?C# Troop.IncreaseStratagemExperience使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类GameObjects.Troop
的用法示例。
在下文中一共展示了Troop.IncreaseStratagemExperience方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetCurrentStratagemSuccess
public bool GetCurrentStratagemSuccess(Troop troop, bool inevitableSuccess, bool invincible, bool lowerIntelligenceInvincible)
{
int num = 0;
bool flag = false;
if (!this.CurrentStratagem.Friendly)
{
if (invincible)
{
flag = false;
}
else if (lowerIntelligenceInvincible && (this.TroopIntelligence < troop.TroopIntelligence))
{
flag = false;
}
else if (inevitableSuccess && (this.TroopIntelligence > troop.TroopIntelligence))
{
flag = true;
}
else
{
num = ((((this.TroopIntelligence + this.StratagemChanceIncrement) + this.Leader.Calmness) - troop.TroopIntelligence) - troop.ChanceDecrementOfStratagem) - troop.Leader.Calmness;
int chance = this.CurrentStratagem.Chance + num;
flag = GameObject.Chance(chance);
}
}
else
{
flag = GameObject.Chance(this.TroopIntelligence + this.StratagemChanceIncrement);
}
if (!this.CurrentStratagem.Friendly)
{
if (flag)
{
if (this.OrientationTroop == troop)
{
this.WaitForDeepChaos = !troop.NeverBeIntoChaos && GameObject.Chance(this.ChaosAfterStratagemSuccessChance);
this.WaitForDeepChaosFrameCount = 100;
}
if (this.OnStratagemSuccess != null)
{
this.OnStratagemSuccess(this, troop, this.CurrentStratagem, true);
}
}
else
{
GameObjects.Animations.TileAnimation animation = base.Scenario.GeneratorOfTileAnimation.AddTileAnimation(TileAnimationKind.抵挡, troop.Position, false);
if (animation != null)
{
troop.TryToPlaySound(troop.Position, animation.LinkedAnimation.SoundPath, false);
}
if (this.OnResistStratagem != null)
{
this.OnResistStratagem(this, troop, this.CurrentStratagem, true);
}
}
}
else if (flag)
{
if (((troop != null) && (this.OnStratagemSuccess != null)) && (this != troop))
{
this.OnStratagemSuccess(this, troop, this.CurrentStratagem, false);
}
}
else if ((troop != null) && (this.OnResistStratagem != null))
{
this.OnResistStratagem(this, troop, this.CurrentStratagem, false);
}
int increment = (2 + (flag ? 1 : 0)) + (this.WaitForDeepChaos ? 2 : 0);
this.IncreaseStratagemExperience(increment, true);
if (troop != null)
{
troop.IncreaseStratagemExperience(increment, false);
}
if (this.BelongedFaction != null)
{
if (flag)
{
if (this.BelongedFaction.RateOfCombativityRecoveryAfterStratagemSuccess > 0f)
{
this.IncreaseCombativity(StaticMethods.GetRandomValue((int) ((this.Leader.Calmness * 100) * this.BelongedFaction.RateOfCombativityRecoveryAfterStratagemSuccess), 100));
}
return flag;
}
if (this.BelongedFaction.RateOfCombativityRecoveryAfterStratagemFail > 0f)
{
this.IncreaseCombativity(StaticMethods.GetRandomValue((int) ((this.Leader.Calmness * 100) * this.BelongedFaction.RateOfCombativityRecoveryAfterStratagemFail), 100));
}
}
return flag;
}
示例2: GetCurrentStratagemSuccess
public bool GetCurrentStratagemSuccess(Troop troop, bool inevitableSuccess, bool invincible, bool lowerIntelligenceInvincible)
{
int num = 0;
bool flag = false;
if (!this.CurrentStratagem.Friendly)
{
if (invincible)
{
flag = false;
}
else if (lowerIntelligenceInvincible && (this.TroopIntelligence < troop.TroopIntelligence))
{
flag = false;
}
else if (inevitableSuccess && (this.TroopIntelligence > troop.TroopIntelligence))
{
flag = true;
}
else
{
num = ((((this.TroopIntelligence + this.StratagemChanceIncrement) + this.Leader.Calmness) - troop.TroopIntelligence) - troop.ChanceDecrementOfStratagem) - troop.Leader.Calmness;
int chance = this.CurrentStratagem.Chance + num;
flag = GameObject.Chance(chance);
}
}
else
{
flag = GameObject.Chance(this.TroopIntelligence + this.StratagemChanceIncrement);
}
if (!this.CurrentStratagem.Friendly)
{
if (flag)
{
if (this.OrientationTroop == troop)
{
this.WaitForDeepChaos = !troop.NeverBeIntoChaos && GameObject.Chance(this.ChaosAfterStratagemSuccessChance);
this.WaitForDeepChaosFrameCount = 100;
}
if (this.OnStratagemSuccess != null)
{
this.OnStratagemSuccess(this, troop, this.CurrentStratagem, true);
}
this.Persons.GetMaxIntelligencePerson().StratagemSuccessCount++;
troop.Persons.GetMaxIntelligencePerson().StratagemBeSuccessCount++;
}
else
{
GameObjects.Animations.TileAnimation animation = base.Scenario.GeneratorOfTileAnimation.AddTileAnimation(TileAnimationKind.抵挡, troop.Position, false);
if (animation != null)
{
troop.TryToPlaySound(troop.Position, this.getSoundPath(animation.LinkedAnimation), false);
}
if (this.OnResistStratagem != null)
{
this.OnResistStratagem(this, troop, this.CurrentStratagem, true);
}
this.Persons.GetMaxIntelligencePerson().StratagemFailCount++;
troop.Persons.GetMaxIntelligencePerson().StratagemBeFailCount++;
}
}
else if (flag)
{
if (((troop != null) && (this.OnStratagemSuccess != null)) && (this != troop))
{
this.OnStratagemSuccess(this, troop, this.CurrentStratagem, false);
}
this.Persons.GetMaxIntelligencePerson().StratagemSuccessCount++;
}
else if ((troop != null) && (this.OnResistStratagem != null))
{
this.OnResistStratagem(this, troop, this.CurrentStratagem, false);
this.Persons.GetMaxIntelligencePerson().StratagemFailCount++;
}
int increment = (2 + (flag ? 1 : 0)) + (this.WaitForDeepChaos ? 2 : 0);
this.IncreaseStratagemExperience(increment, true);
if (troop != null)
{
troop.IncreaseStratagemExperience(increment, false);
}
if (this.BelongedFaction != null)
{
if (flag)
{
if (this.BelongedFaction.RateOfCombativityRecoveryAfterStratagemSuccess > 0f)
{
this.IncreaseCombativity(StaticMethods.GetRandomValue((int)((this.Leader.Calmness * 100) * this.BelongedFaction.RateOfCombativityRecoveryAfterStratagemSuccess), 100));
}
if (troop.BelongedFaction != this.BelongedFaction)
{
troop.army.Tiredness += this.stratagemTirednessIncrease;
}
if (this.stratagemStealTroop > 0 && troop.BelongedFaction != this.BelongedFaction)
{
int c = Math.Min(troop.Quantity, this.stratagemStealTroop);
troop.DecreaseQuantity(c);
this.IncreaseQuantity(c);
//.........这里部分代码省略.........