本文整理汇总了C#中Server.Engines.Craft.CraftSystem.GetChanceAtMin方法的典型用法代码示例。如果您正苦于以下问题:C# CraftSystem.GetChanceAtMin方法的具体用法?C# CraftSystem.GetChanceAtMin怎么用?C# CraftSystem.GetChanceAtMin使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Server.Engines.Craft.CraftSystem
的用法示例。
在下文中一共展示了CraftSystem.GetChanceAtMin方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: GetSuccessChance
public double GetSuccessChance( Mobile from, Type typeRes, CraftSystem craftSystem, bool gainSkills, ref bool allRequiredSkills )
{
double minMainSkill = 0.0;
double maxMainSkill = 0.0;
double valMainSkill = 0.0;
allRequiredSkills = true;
for ( int i = 0; i < m_arCraftSkill.Count; i++)
{
CraftSkill craftSkill = m_arCraftSkill.GetAt(i);
double minSkill = craftSkill.MinSkill;
double maxSkill = craftSkill.MaxSkill;
double valSkill = from.Skills[craftSkill.SkillToMake].Value;
if ( valSkill < minSkill )
allRequiredSkills = false;
if ( craftSkill.SkillToMake == craftSystem.MainSkill )
{
minMainSkill = minSkill;
maxMainSkill = maxSkill;
valMainSkill = valSkill;
}
if ( gainSkills ) // This is a passive check. Success chance is entirely dependant on the main skill
from.CheckSkill( craftSkill.SkillToMake, minSkill, maxSkill );
}
double chance;
if ( allRequiredSkills )
chance = craftSystem.GetChanceAtMin( this ) + ((valMainSkill - minMainSkill) / (maxMainSkill - minMainSkill) * (1.0 - craftSystem.GetChanceAtMin( this )));
else
chance = 0.0;
if ( allRequiredSkills && valMainSkill == maxMainSkill )
chance = 1.0;
return chance;
}
示例2: GetSuccessChance
public double GetSuccessChance( Mobile from, Type typeRes, CraftSystem craftSystem, bool gainSkills, ref bool allRequiredSkills )
{
double minMainSkill = 0.0;
double maxMainSkill = 0.0;
double valMainSkill = 0.0;
allRequiredSkills = true;
for ( int i = 0; i < m_arCraftSkill.Count; i++)
{
CraftSkill craftSkill = m_arCraftSkill.GetAt(i);
double minSkill = craftSkill.MinSkill;
double maxSkill = craftSkill.MaxSkill;
double valSkill = from.Skills[craftSkill.SkillToMake].Value;
if ( valSkill < minSkill )
allRequiredSkills = false;
if ( craftSkill.SkillToMake == craftSystem.MainSkill )
{
minMainSkill = minSkill;
maxMainSkill = maxSkill;
valMainSkill = valSkill;
}
if ( gainSkills ) // This is a passive check. Success chance is entirely dependant on the main skill
from.CheckSkill( craftSkill.SkillToMake, minSkill, maxSkill );
}
double chance;
if ( allRequiredSkills )
chance = craftSystem.GetChanceAtMin( this ) + ((valMainSkill - minMainSkill) / (maxMainSkill - minMainSkill) * (1.0 - craftSystem.GetChanceAtMin( this )));
else
chance = 0.0;
// Genova: suporte ao UO:ML.
#region Mondain's Legacy
if ( allRequiredSkills && from.Talisman is BaseTalisman )
{
BaseTalisman talisman = (BaseTalisman) from.Talisman;
if ( talisman.Skill == craftSystem.MainSkill )
chance += talisman.SuccessBonus / (double) 100;
}
#endregion
if ( allRequiredSkills && valMainSkill == maxMainSkill )
chance = 1.0;
return chance;
}