本文整理匯總了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;
}