public static int LuaGetHitPercent(CharacterInstance ch)
        {
            if (ch == null)
            {
                throw new LuaException("Character cannot be null");
            }

            return(ch.GetHitroll());
        }
Exemplo n.º 2
0
        public static void do_worth(CharacterInstance ch, string argument)
        {
            if (ch.IsNpc())
            {
                return;
            }

            ch.SetPagerColor(ATTypes.AT_SCORE);
            ch.PagerPrintf("\r\nWorth for {0}{1}.\r\n", ch.Name, ((PlayerInstance)ch).PlayerData.Title);
            ch.SendToPager(" ----------------------------------------------------------------------------\r\n");

            var buffer = "|Level: {0} |Favor: {1} |Alignment: {2} |Experience: {3}|\r\n";

            buffer = string.Format(buffer, ch.Level.ToString(CultureInfo.InvariantCulture).PadLeft(4),
                                   GetDeityFavor(ch).PadLeft(9),
                                   (ch.Level < 10
                                        ? GetAlignment(ch)
                                        : ch.CurrentAlignment.ToString(CultureInfo.InvariantCulture)).PadLeft(9),
                                   ch.Experience.ToString(CultureInfo.InvariantCulture).PadLeft(9));

            ch.PagerPrintf(buffer);
            ch.SendToPager(" ----------------------------------------------------------------------------\r\n");

            buffer = "|Glory: {0} |Weight: {1} |Style: {2} |Gold: {3} |\r\n";
            buffer = string.Format(buffer, ((PlayerInstance)ch).PlayerData.quest_curr.ToString(CultureInfo.InvariantCulture).PadLeft(4),
                                   ch.CarryWeight.ToString(CultureInfo.InvariantCulture).PadLeft(9),
                                   ch.CurrentStyle.GetName().PadLeft(13), ch.CurrentCoin.ToPunctuation().PadLeft(14));
            ch.PagerPrintf(buffer);
            ch.SendToPager(" ----------------------------------------------------------------------------\r\n");

            if (ch.Level < 15 && !ch.IsPKill())
            {
                ch.PagerPrintf("|            |Hitroll: -------- |Damroll: ----------- |                     |\r\n");
            }
            else
            {
                ch.PagerPrintf("|            |Hitroll: {0} |Damroll: {1} |                     |\r\n",
                               ch.GetHitroll().ToString(CultureInfo.InvariantCulture).PadLeft(8),
                               ch.GetDamroll().ToString(CultureInfo.InvariantCulture).PadLeft(11));
            }
            ch.SendToPager(" ----------------------------------------------------------------------------\r\n");
        }
Exemplo n.º 3
0
        public static int GetExperienceWorth(this CharacterInstance ch)
        {
            var wexp = (int)Math.Pow(ch.Level, 3) * 5 + ch.MaximumHealth;

            wexp -= (ch.ArmorClass - 50) * 2;
            wexp += (ch.BareDice.NumberOf * ch.BareDice.SizeOf + ch.GetDamroll()) * 50;
            wexp += ch.GetHitroll() * ch.Level * 10;
            if (ch.IsAffected(AffectedByTypes.Sanctuary))
            {
                wexp += (int)(wexp * 1.5);
            }
            if (ch.IsAffected(AffectedByTypes.FireShield))
            {
                wexp += (int)(wexp * 1.2);
            }
            if (ch.IsAffected(AffectedByTypes.ShockShield))
            {
                wexp += (int)(wexp * 1.2);
            }
            return(wexp.GetNumberThatIsBetween(GameConstants.MinimumExperienceWorth, GameConstants.MaximumExperienceWorth));
        }