예제 #1
0
            protected override void OnTarget(Mobile from, object targeted)
            {
                if (targeted is Mobile)
                {
                    Mobile targ = (Mobile)targeted;
                    UltimaOnline.Skills skills = targ.Skills;

                    for (int i = 0; i < skills.Length; ++i)
                    {
                        skills[i].Base = m_Value;
                    }

                    CommandLogging.LogChangeProperty(from, targ, "EverySkill.Base", m_Value.ToString());
                }
                else
                {
                    from.SendMessage("That does not have skills!");
                }
            }
예제 #2
0
        public static string SetDirect(Mobile from, object logObject, object obj, PropertyInfo prop, string givenName, object toSet, bool shouldLog)
        {
            try
            {
                if (toSet is AccessLevel)
                {
                    AccessLevel newLevel = (AccessLevel)toSet;
                    AccessLevel reqLevel = AccessLevel.Administrator;

                    if (newLevel == AccessLevel.Administrator)
                    {
                        reqLevel = AccessLevel.Developer;
                    }
                    else if (newLevel >= AccessLevel.Developer)
                    {
                        reqLevel = AccessLevel.Owner;
                    }

                    if (from.AccessLevel < reqLevel)
                    {
                        return("You do not have access to that level.");
                    }
                }

                if (shouldLog)
                {
                    CommandLogging.LogChangeProperty(from, logObject, givenName, toSet == null ? "(-null-)" : toSet.ToString());
                }

                prop.SetValue(obj, toSet, null);
                return("Property has been set.");
            }
            catch
            {
                return("An exception was caught, the property may not be set.");
            }
        }