예제 #1
0
        public bool OnCommand(Character chr, string args)
        {
            Character character = chr;

            if (chr is PC && (chr as PC).ImpLevel >= Globals.eImpLevel.DEVJR && args != null && args.Length > 0 && args.ToLower() != "ac" && args.ToLower() != "armorclass" && args.ToLower() != "armor class")
            {
                character = GameSystems.Targeting.TargetAquisition.FindTargetInView(chr, args, true, true);

                if (character == null)
                {
                    chr.WriteToDisplay("Unable to find character: " + args);
                    return(true);
                }
            }

            chr.WriteToDisplay("Armor Class Statistics");
            chr.WriteToDisplay("Base Armor Class           : " + character.baseArmorClass + " (Armor Class is NOT Armor Rating. Most humans/humanoids have base AC 10.)");
            chr.WriteToDisplay("Armor Rating               : " + Combat.AC_GetArmorClassRating(character));
            chr.WriteToDisplay("Shield Rating vs. Ranged   : " + Combat.AC_GetShieldingArmorClass(character, true));
            chr.WriteToDisplay("Shield Rating vs. Melee    : " + Combat.AC_GetShieldingArmorClass(character, false));
            chr.WriteToDisplay("Unarmed Armor Class Adj.   : " + Combat.AC_GetUnarmedArmorClassBonus(null, character));
            chr.WriteToDisplay("Dexterity Armor Class Adj. : " + Combat.AC_GetDexterityArmorClassBonus(null, character));
            chr.WriteToDisplay("Right Hand Armor Class     : " + Combat.AC_GetRightHandArmorClass(null, character));
            chr.WriteToDisplay("Left Hand Armor Class      : " + Combat.AC_GetLeftHandArmorClass(null, character));
            chr.WriteToDisplay("Some armor class information is not displayed here. Unarmed, dexterity, right and left hand AC is only applied against targets you are aware of.");

            return(true);
        }