GetSecondarySkill() public static méthode

public static GetSecondarySkill ( Mobile m ) : SkillName
m Mobile
Résultat SkillName
Exemple #1
0
        public static void GiveBandage(Mobile m, Mobile targ)
        {
            if (ChanceToRecover > 0)
            {
                if (Utility.Random(100) >= ChanceToRecover - 1)
                {
                    m.AddToBackpack(new BloodyBandage());
                    m.SendMessage("You were able to recover a soiled bandage.");
                }
            }
            else
            {
                double primary   = m.Skills[BandageContext.GetPrimarySkill(targ)].Base;
                double secondary = m.Skills[BandageContext.GetSecondarySkill(targ)].Base;

                double skillz = (primary * (2.0 / 3.0)) + (secondary * (1.0 / 3.0));    // primary and secondary GM should = 100
                double chance = (((double)ScaledChanceToRecover / 100) * skillz);

                // TEST VALUES
                // -----------
                // 100 healing and anatomy = 100 skillz
                // 50 ScaledChanceToRecover = 50 chance
                // -----------
                // 100 healing and 50 anatomy = ~83.3 skillz
                // 50 ScaledChanceToRecover = ~41.6 chance
                // -----------
                // 50 healing and 100 anatomy = ~66.6 skillz
                // 50 ScaledChanceToRecover = ~33.3 chance

                if (chance >= Utility.Random(100))
                {
                    FinishGiveBandage(m);
                }
            }
        }