Exemplo n.º 1
0
        public static void HandleShapeshift( PlayerMobile m, string choice )
        {
            if( choice == "human" )
            {
                if( m.BodyValue == 400 || m.BodyValue == 401 )
                    m.SendMessage( "You are already in human form." );

                else
                {
                    if( m.Female )
                        m.BodyValue = 401;

                    else
                        m.BodyValue = 400;

                    m.Emote( "*turns back into human form*" );
                    m.HueMod = -1;
                    m.NameMod = null;
                    m.InvalidateProperties();
                }
            }

            else if( choice == "wolf" || choice == "bat" || choice == "rat" || choice == "cat" )
            {
                int cost = 10;

                if( m.Feats.GetFeatLevel( FeatList.Shapeshift ) > 2 )
                    cost = 1;

                else if( m.Feats.GetFeatLevel( FeatList.Shapeshift ) == 2 )
                    cost = 5;

                if( m.BPs < cost )
                    m.SendMessage( "You lack enough blood points to use that ability." );

                else
                {

                    m.Emote( "*turns into a " + choice + "*" );
                    m.HueMod = 2881;
                    m.NameMod = "a black " + choice;

                    int body = 225;

                    if( choice == "cat" )
                        body = 201;
                    else if( choice == "rat" )
                        body = 238;
                    else if( choice == "bat" )
                        body = 317;

                    m.BodyValue = body;
                    m.BPs -= cost;
                    m.InvalidateProperties();
                }
            }

            else
                m.SendMessage( "Invalid option." );
        }
Exemplo n.º 2
0
        public static void WipeAllTraits( PlayerMobile from )
        {
            if( !from.Reforging )
                from.Forging = true;

            from.XPFromKilling = true;
            from.XPFromCrafting = true;
            from.Blessed = true;

            InitialStats( from, false );

            if( !from.Reforging || from.OldMapChar )
            {
                from.Hue = 0;
                from.HairItemID = 0;
                from.FacialHairItemID = 0;
            }

            if( !from.Reforging )
            {
                from.Description = null;
                from.Description2 = null;
                from.Description3 = null;
                from.Height = 100;
                from.Weight = 100;
            }

            from.Class = Class.None;
            from.Advanced = Advanced.None;
            from.Subclass = Subclass.None;

            from.RecreateCP = Math.Max( 0, (from.CPSpent + from.CP - 10000) );
            from.RecreateXP = from.XP;
            from.XP = 0;
            from.CP = 10000;
            from.NextLevel = 1000;
            from.Level = 1;
            from.SkillPoints = 0;
            from.FeatSlots = 0;
            from.CPCapOffset = 0;
            from.CPSpent = 0;
            from.FollowersMax = 5;
            from.XP += from.RecreateXP;
            from.CP += from.RecreateCP;

            if( !from.Reforging || from.OldMapChar )
            {
               	from.Age = 18;
                from.MaxAge = 0;
                from.Nation = Nation.None;
            }

            if( from.Nation != Nation.None )
                from.SendGump( new InitialStatsGump(from) );

            from.ResetObjectProperties();

            from.TitlePrefix = null;
            from.Glassblowing = false; from.Masonry = false; from.SandMining = false; from.StoneMining = false;
            from.LastDonationLife = DateTime.MinValue;
            from.LastOffenseToNature = DateTime.MinValue;
            from.WeaponSpecialization = null;
            from.SecondSpecialization = null;
            from.SpokenLanguage = KnownLanguage.Common;
            from.Stance = null;
            from.CombatManeuver = null;
            from.ChosenDeity = ChosenDeity.None;
            from.CraftingSpecialization = null;
            from.AutoPicking = false; from.BreakLock = false; from.GemHarvesting = false;
            from.InvalidateProperties();

            if( from.Backpack is ArmourBackpack )
            {
                ArmourBackpack pack = from.Backpack as ArmourBackpack;
                pack.BluntBonus = 0;
                pack.PiercingBonus = 0;
                pack.SlashingBonus = 0;
                pack.ColdBonus = 0;
                pack.FireBonus = 0;
                pack.PoisonBonus = 0;
                pack.EnergyBonus = 0;
                pack.Attributes.NightSight = 0;
                pack.Attributes.WeaponDamage = 0;
                pack.Attributes.WeaponSpeed = 0;
                pack.Attributes.AttackChance = 0;
            }

            NullifySkills( from );

            if( from.Reforging && !from.OldMapChar )
            {
                if( from.Nation == Nation.Alyrian )
                    from.Feats.SetFeatLevel(FeatList.AlyrianLanguage, 3);

                else if( from.Nation == Nation.Azhuran )
                    from.Feats.SetFeatLevel(FeatList.AzhuranLanguage, 3);

                else if( from.Nation == Nation.Khemetar )
                    from.Feats.SetFeatLevel(FeatList.KhemetarLanguage, 3);

                else if( from.Nation == Nation.Mhordul )
                    from.Feats.SetFeatLevel(FeatList.MhordulLanguage, 3);

                else if( from.Nation == Nation.Tyrean )
                    from.Feats.SetFeatLevel(FeatList.TyreanLanguage, 3);

                else if( from.Nation == Nation.Vhalurian )
                    from.Feats.SetFeatLevel(FeatList.VhalurianLanguage, 3);
            }
        }
Exemplo n.º 3
0
 public static void RemoveDisguise( PlayerMobile m )
 {
     m.Disguise = new DisguiseContext();
     m.Delta( MobileDelta.Hue );
     m.Delta( MobileDelta.Hair );
     m.Delta( MobileDelta.FacialHair );
     m.InvalidateProperties();
     m.Disguised = false;
 }
Exemplo n.º 4
0
 public void PlayerNoto(PlayerMobile pm)
 {
     pm.Delta(MobileDelta.Noto);
     pm.InvalidateProperties();
 }