예제 #1
0
        public InternalGump(Mobile from, NewPlayerTicket ticket) : base(50, 50)
        {
            m_From   = from;
            m_Ticket = ticket;

            AddBackground(0, 0, 400, 385, 0xA28);

            // Choose the gift you prefer. WARNING: if you cancel, and your partner does not, you will need to find another matching ticket!
            AddHtmlLocalized(30, 45, 340, 70, 1013011, true, true);

            AddButton(46, 128, 0xFA5, 0xFA7, 1);
            AddHtmlLocalized(80, 130, 320, 35, 1013012); // A sextant

            AddButton(46, 163, 0xFA5, 0xFA7, 2);
            AddHtmlLocalized(80, 165, 320, 35, 1013013); // A coupon for a single hair restyling

            AddButton(46, 198, 0xFA5, 0xFA7, 3);
            AddHtmlLocalized(80, 200, 320, 35, 1013014); // A spellbook with all 1st - 4th spells.

            AddButton(46, 233, 0xFA5, 0xFA7, 4);
            AddHtmlLocalized(80, 235, 320, 35, 1013015); // A wand of fireworks

            AddButton(46, 268, 0xFA5, 0xFA7, 5);
            AddHtmlLocalized(80, 270, 320, 35, 1013016); // A spyglass

            AddButton(46, 303, 0xFA5, 0xFA7, 6);
            AddHtmlLocalized(80, 305, 320, 35, 1013017); // Dyes and a dye tub

            AddButton(120, 340, 0xFA5, 0xFA7, 0);
            AddHtmlLocalized(154, 342, 100, 35, 1011012); // CANCEL
        }
예제 #2
0
        private static void EventSink_CharacterCreated(CharacterCreatedEventArgs args)
        {
            if (!VerifyProfession(args.Profession))
            {
                args.Profession = 0;
            }

            var state = args.State;

            if (state == null)
            {
                return;
            }

            var newChar = CreateMobile(args.Account as Account);

            if (newChar == null)
            {
                Utility.PushColor(ConsoleColor.Red);
                Console.WriteLine("Login: {0}: Character creation failed, account full", state);
                Utility.PopColor();
                return;
            }

            args.Mobile = newChar;
            m_Mobile    = newChar;

            newChar.Player      = true;
            newChar.AccessLevel = args.Account.AccessLevel;
            newChar.Female      = args.Female;
            //newChar.Body = newChar.Female ? 0x191 : 0x190;

            if (Core.Expansion >= args.Race.RequiredExpansion)
            {
                newChar.Race = args.Race; //Sets body
            }
            else
            {
                newChar.Race = Race.DefaultRace;
            }

            newChar.Hue = args.Hue | 0x8000;

            newChar.Hunger = 20;

            var young = false;

            if (newChar is PlayerMobile)
            {
                var pm = (PlayerMobile)newChar;

                pm.AutoRenewInsurance = true;

                var skillcap = Initialization.Get("PlayerCaps.SkillCap", 1000.0d) / 10;

                if (skillcap != 100.0)
                {
                    for (var i = 0; i < Enum.GetNames(typeof(SkillName)).Length; ++i)
                    {
                        pm.Skills[i].Cap = skillcap;
                    }
                }

                pm.Profession = args.Profession;

                if (pm.IsPlayer() && pm.Account.Young && !Siege.SiegeShard)
                {
                    young = pm.Young = true;
                }
            }

            SetName(newChar, args.Name);

            AddBackpack(newChar);

            SetStats(newChar, state, args.Profession, args.Str, args.Dex, args.Int);
            SetSkills(newChar, args.Skills, args.Profession);

            var race = newChar.Race;

            if (race.ValidateHair(newChar, args.HairID))
            {
                newChar.HairItemID = args.HairID;
                newChar.HairHue    = args.HairHue;
            }

            if (race.ValidateFacialHair(newChar, args.BeardID))
            {
                newChar.FacialHairItemID = args.BeardID;
                newChar.FacialHairHue    = args.BeardHue;
            }

            var faceID = args.FaceID;

            if (faceID > 0 && race.ValidateFace(newChar.Female, faceID))
            {
                newChar.FaceItemID = faceID;
                newChar.FaceHue    = args.FaceHue;
            }
            else
            {
                newChar.FaceItemID = race.RandomFace(newChar.Female);
                newChar.FaceHue    = newChar.Hue;
            }

            if (args.Profession <= 3)
            {
                AddShirt(newChar, args.ShirtHue);
                AddPants(newChar, args.PantsHue);
                AddShoes(newChar);
            }

            if (TestCenter.Enabled)
            {
                TestCenter.FillBankbox(newChar);
            }

            if (young)
            {
                var ticket = new NewPlayerTicket
                {
                    Owner = newChar
                };

                newChar.BankBox.DropItem(ticket);
            }

            var city = args.City;
            var map  = Siege.SiegeShard && city.Map == Map.Trammel ? Map.Felucca : city.Map;

            newChar.MoveToWorld(city.Location, map);

            Utility.PushColor(ConsoleColor.Green);
            Console.WriteLine("Login: {0}: New character being created (account={1})", state, args.Account.Username);
            Utility.PopColor();
            Utility.PushColor(ConsoleColor.DarkGreen);
            Console.WriteLine(" - Character: {0} (serial={1})", newChar.Name, newChar.Serial);
            Console.WriteLine(" - Started: {0} {1} in {2}", city.City, city.Location, city.Map);
            Utility.PopColor();

            new WelcomeTimer(newChar).Start();
        }
        private static void EventSink_CharacterCreated(CharacterCreatedEventArgs args)
        {
            if (!VerifyProfession(args.Profession))
            {
                args.Profession = 0;
            }

            Mobile newChar = CreateMobile(args.Account as Account);

            if (newChar == null)
            {
                log.Error(String.Format("Login: {0}: Character creation failed, account full", args.State));
                return;
            }

            args.Mobile = newChar;
            m_Mobile    = newChar;

            newChar.Player      = true;
            newChar.AccessLevel = ((Account)args.Account).AccessLevel;
            newChar.Female      = args.Female;
            newChar.Body        = newChar.Female ? 0x191 : 0x190;
            newChar.Hue         = Utility.ClipSkinHue(args.Hue & 0x3FFF) | 0x8000;
            newChar.Hunger      = 20;

            bool young = false;

            if (newChar is PlayerMobile)
            {
                PlayerMobile pm = (PlayerMobile)newChar;

                pm.Profession = args.Profession;

                if (pm.AccessLevel == AccessLevel.Player && ((Account)pm.Account).Young)
                {
                    young = pm.Young = true;
                }
            }

            SetName(newChar, args.Name);

            AddBackpack(newChar);

            SetStats(newChar, args.Str, args.Dex, args.Int);
            SetSkills(newChar, args.Skills, args.Profession);

            AddHair(newChar, args.HairID, Utility.ClipHairHue(args.HairHue & 0x3FFF));
            AddBeard(newChar, args.BeardID, Utility.ClipHairHue(args.BeardHue & 0x3FFF));

            if (args.Profession <= 3)
            {
                AddShirt(newChar, args.ShirtHue);
                AddPants(newChar, args.PantsHue);
                AddShoes(newChar);
            }

            if (TestCenter.Enabled)
            {
                FillBankbox(newChar);
            }

            if (young && newChar.BankBox != null)
            {
                NewPlayerTicket ticket = new NewPlayerTicket();
                ticket.Owner = newChar;
                newChar.BankBox.DropItem(ticket);
            }

            CityInfo city = GetStartLocation(args, young);

            //CityInfo city = new CityInfo( "Britain", "Sweet Dreams Inn", 1496, 1628, 10, Map.Felucca );

            newChar.MoveToWorld(city.Location, city.Map);

            log.Info(String.Format("Login: {0}: New character being created (account={1})",
                                   args.State, ((Account)args.Account).Username));
            log.Info(String.Format(" - Character: {0} (serial={1})",
                                   newChar.Name, newChar.Serial));
            log.Info(String.Format(" - Started: {0} {1} in {2}",
                                   city.City, city.Location, city.Map.ToString()));

            new WelcomeTimer(newChar).Start();
        }
예제 #4
0
 public InternalTarget(NewPlayerTicket ticket) : base(2, false, TargetFlags.None) => m_Ticket = ticket;
        public static void HandleCharacterCreation(CharacterCreatedEventArgs args)
        {
            if (!VerifyProfession(args.Profession))
            {
                args.Profession = 0;
            }

            Mobile newChar = CreateMobile(args.Account as Account);

            if (newChar == null)
            {
                Console.WriteLine("Login: {0}: Character creation failed, account full", args.State);
                return;
            }

            args.Mobile = newChar;
            m_Mobile    = newChar;

            newChar.Player      = true;
            newChar.AccessLevel = args.Account.AccessLevel;
            newChar.Female      = args.Female;
            //newChar.Body = newChar.Female ? 0x191 : 0x190;

            newChar.Race = Race.DefaultRace;

            //newChar.Hue = Utility.ClipSkinHue( args.Hue & 0x3FFF ) | 0x8000;
            newChar.Hue = newChar.Race.ClipSkinHue(args.Hue & 0x3FFF) | 0x8000;

            newChar.Hunger = 20;

            bool young = false;

            if (newChar is PlayerMobile)
            {
                PlayerMobile pm = (PlayerMobile)newChar;

                pm.Profession = args.Profession;

                if (pm.AccessLevel == AccessLevel.Player && ((Account)pm.Account).Young)
                {
                    young = pm.Young = true;
                }
            }

            SetName(newChar, args.Name);

            AddBackpack(newChar);

            SetStats(newChar, args.State, args.Str, args.Dex, args.Int);
            SetSkills(newChar, args.Skills, args.Profession);

            Race race = newChar.Race;

            if (race.ValidateHair(newChar, args.HairID))
            {
                newChar.HairItemID = args.HairID;
                newChar.HairHue    = race.ClipHairHue(args.HairHue & 0x3FFF);
            }

            if (race.ValidateFacialHair(newChar, args.BeardID))
            {
                newChar.FacialHairItemID = args.BeardID;
                newChar.FacialHairHue    = race.ClipHairHue(args.BeardHue & 0x3FFF);
            }

            if (args.Profession <= 3)
            {
                AddShirt(newChar, args.ShirtHue);
                AddPants(newChar, args.PantsHue);
                AddShoes(newChar);
            }

            if (TestCenter.Enabled)
            {
                FillBankbox(newChar);
            }

            if (young)
            {
                NewPlayerTicket ticket = new NewPlayerTicket {
                    Owner = newChar
                };
                newChar.BankBox.DropItem(ticket);
            }


            CityInfo city = GetStartLocation(args, young);

            newChar.MoveToWorld(city.Location, city.Map);
            if (args.State != null)
            {
                Console.WriteLine("Login: {0}: New character being created (account={1})", args.State,
                                  args.Account.Username);
                Console.WriteLine(" - Character: {0} (serial={1})", newChar.Name, newChar.Serial);
                Console.WriteLine(" - Started: {0} {1} in {2}", city.City, city.Location, newChar.Map);

                new WelcomeTimer(newChar).Start();
            }
        }
예제 #6
0
        private static void EventSink_CharacterCreated(CharacterCreatedEventArgs args)
        {
            if (!VerifyProfession(args.Profession))
            {
                args.Profession = 0;
            }

            NetState state = args.State;
            Account  acct  = args.Account as Account;

            Mobile newChar = CreateMobile(acct);

            if (newChar == null)
            {
                Console.WriteLine("Login: {0}: Character creation failed, account full", args.State);
                return;
            }

            args.Mobile = newChar;
            m_Mobile    = newChar;

            newChar.Player      = true;
            newChar.AccessLevel = args.Account.AccessLevel;
            newChar.Female      = args.Female;
            //newChar.Body = newChar.Female ? 0x191 : 0x190;

            if (Core.Expansion >= args.Race.RequiredExpansion)
            {
                newChar.Race = args.Race;                       //Sets body
            }
            else
            {
                newChar.Race = Race.DefaultRace;
            }

            //newChar.Hue = Utility.ClipSkinHue( args.Hue & 0x3FFF ) | 0x8000;
            newChar.Hue = newChar.Race.ClipSkinHue(args.Hue & 0x3FFF) | 0x8000;

            newChar.Hunger = 20;
            newChar.Thirst = 20;

            bool young = false;

            if (newChar is PlayerMobile)
            {
                PlayerMobile pm = (PlayerMobile)newChar;

                pm.Profession = args.Profession;

                if (pm.AccessLevel == AccessLevel.Player && ((Account)pm.Account).Young)
                {
                    young = pm.Young = true;
                }
            }

            /*NameResultMessage result =*/ SetName(newChar, args.Name);
            AddBackpack(newChar);

            SetStats(newChar, state, args.Str, args.Dex, args.Int);
            SetSkills(newChar, args.Skills, args.Profession);

            Race race = newChar.Race;

            if (race.ValidateHair(newChar, args.HairID))
            {
                newChar.HairItemID = args.HairID;
                newChar.HairHue    = race.ClipHairHue(args.HairHue & 0x3FFF);
            }

            if (race.ValidateFacialHair(newChar, args.BeardID))
            {
                newChar.FacialHairItemID = args.BeardID;
                newChar.FacialHairHue    = race.ClipHairHue(args.BeardHue & 0x3FFF);
            }

            if (args.Profession <= 3)
            {
                AddShirt(newChar, args.ShirtHue);
                AddPants(newChar, args.PantsHue);
                AddShoes(newChar);
            }

            BankBox bank = newChar.BankBox;

            bool needstartpack = acct != null && String.IsNullOrEmpty(acct.GetTag("startpack"));

            if (needstartpack /*|| TestCenter.Enabled*/)
            {
                Container startpack = new StarterPack();
                bank.DropItem(startpack);

/*
 *                              if ( needstartpack )
 *                              {
 *                                      Item housedeed = new SmallBrickHouseDeed();
 *                                      housedeed.Name = "a beta tester's small brick house deed";
 *                                      startpack.DropItem( housedeed );
 *                                      housedeed.X = 23;
 *                                      housedeed.Y = 53;
 *
 *                                      Item startercheck = new BankCheck( 10000 );
 *                                      startpack.DropItem( startercheck );
 *                                      startercheck.X = 52;
 *                                      startercheck.Y = 36;
 *                              }
 */
                acct.SetTag("startpack", "true");
            }

            if (young)
            {
                NewPlayerTicket ticket = new NewPlayerTicket();
                ticket.Owner = newChar;
                bank.DropItem(ticket);
            }

            CityInfo city = GetStartLocation(args, young);

            //CityInfo city = new CityInfo( "Britain", "Sweet Dreams Inn", 1496, 1628, 10, Map.Felucca );

            newChar.MoveToWorld(city.Location, city.Map);

            Console.WriteLine("Login: {0}: New character being created (account={1})", args.State, args.Account.Username);
            Console.WriteLine(" - Character: {0} (serial={1})", newChar.Name, newChar.Serial);
            Console.WriteLine(" - Started: {0} {1} in {2}", city.City, city.Location, city.Map.ToString());

            new WelcomeTimer(newChar).Start();

            //if ( result != NameResultMessage.Allowed )
            //	newChar.SendGump( new NameChangeGump( newChar, result, args.Name ) );
        }
예제 #7
0
        private static void EventSink_CharacterCreated(CharacterCreatedEventArgs args)
        {
            if (!VerifyProfession(args.Profession))
            {
                args.Profession = 0;
            }

            NetState state = args.State;

            if (state == null)
            {
                return;
            }

            Mobile newChar = CreateMobile(args.Account as Account);

            if (newChar == null)
            {
                Utility.PushColor(ConsoleColor.Red);
                Console.WriteLine("Login: {0}: Character creation failed, account full", state);
                Utility.PopColor();
                return;
            }

            args.Mobile = newChar;
            m_Mobile    = newChar;

            newChar.Player      = true;
            newChar.AccessLevel = args.Account.AccessLevel;
            newChar.Female      = args.Female;
            //newChar.Body = newChar.Female ? 0x191 : 0x190;

            if (Core.Expansion >= args.Race.RequiredExpansion)
            {
                newChar.Race = args.Race;       //Sets body
            }
            else
            {
                newChar.Race = Race.DefaultRace;
            }

            //newChar.Hue = Utility.ClipSkinHue( args.Hue & 0x3FFF ) | 0x8000;
            newChar.Hue = newChar.Race.ClipSkinHue(args.Hue & 0x3FFF) | 0x8000;

            newChar.Hunger = 20;

            bool young = false;

            if (newChar is PlayerMobile)
            {
                PlayerMobile pm       = (PlayerMobile)newChar;
                double       skillcap = Config.Player.SkillCap / 10;
                if (skillcap != 100.0)
                {
                    for (int i = 0; i < Enum.GetNames(typeof(SkillName)).Length; ++i)
                    {
                        pm.Skills[i].Cap = skillcap;
                    }
                }
                pm.Profession = args.Profession;

                if (pm.IsPlayer() && ((Account)pm.Account).Young)
                {
                    young = pm.Young = true;
                }
            }

            SetName(newChar, args.Name);

            AddBackpack(newChar);

            SetStats(newChar, state, args.Str, args.Dex, args.Int);
            SetSkills(newChar, args.Skills, args.Profession);

            Race race = newChar.Race;

            if (race.ValidateHair(newChar, args.HairID))
            {
                newChar.HairItemID = args.HairID;
                newChar.HairHue    = race.ClipHairHue(args.HairHue & 0x3FFF);
            }

            if (race.ValidateFacialHair(newChar, args.BeardID))
            {
                newChar.FacialHairItemID = args.BeardID;
                newChar.FacialHairHue    = race.ClipHairHue(args.BeardHue & 0x3FFF);
            }

            if (args.Profession <= 3)
            {
                AddShirt(newChar, args.ShirtHue);
                AddPants(newChar, args.PantsHue);
                AddShoes(newChar);
            }

            if (TestCenter.Enabled)
            {
                TestCenter.FillBankbox(newChar);
            }

            if (young)
            {
                NewPlayerTicket ticket = new NewPlayerTicket();
                ticket.Owner = newChar;
                newChar.BankBox.DropItem(ticket);
            }

            CityInfo city = GetStartLocation(args, young);

            if (Core.bEnforceExpansionClient && Core.LBR)
            {
                if (city == null)
                {
                    city = new CityInfo("Britain", "Sweet Dreams Inn", 1496, 1628, 10, Map.Felucca);
                }
            }

            newChar.MoveToWorld(city.Location, city.Map);

            Utility.PushColor(ConsoleColor.Green);
            Console.WriteLine("Login: {0}: New character being created (account={1})", state, args.Account.Username);
            Utility.PopColor();
            Utility.PushColor(ConsoleColor.DarkGreen);
            Console.WriteLine(" - Character: {0} (serial={1})", newChar.Name, newChar.Serial);
            Console.WriteLine(" - Started: {0} {1} in {2}", city.City, city.Location, city.Map.ToString());
            Utility.PopColor();

            new WelcomeTimer(newChar).Start();
        }
예제 #8
0
        private static void EventSink_CharacterCreated(CharacterCreatedEventArgs args)
        {
            NetState state = args.State;

            if (state == null)
            {
                return;
            }

            Mobile newChar = CreateMobile(args.Account as Account);

            if (newChar == null)
            {
                Console.WriteLine("Login: {0}: Character creation failed, account full", state);
                return;
            }

            args.Mobile = newChar;
            m_Mobile    = newChar;

            newChar.Player      = true;
            newChar.AccessLevel = args.Account.AccessLevel;
            newChar.Female      = args.Female;

            if (Core.Expansion >= args.Race.RequiredExpansion)
            {
                newChar.Race = args.Race;       //Sets body
            }
            else
            {
                newChar.Race = Race.DefaultRace;
            }

            newChar.Hue = newChar.Race.ClipSkinHue(args.Hue & 0x3FFF) | 0x8000;

            newChar.Hunger = Food.CharacterCreationHunger;

            bool young = true;

            if (newChar is PlayerMobile)
            {
                PlayerMobile pm = (PlayerMobile)newChar;

                pm.Profession = args.Profession;

                Account account = pm.Account as Account;

                if (pm.AccessLevel == AccessLevel.Player && account.Young)
                {
                    young = pm.Young = true;
                }
            }

            SetName(newChar, args.Name);

            AddBackpack(newChar);

            SetStats(newChar, state, args.Str, args.Dex, args.Int);
            SetSkills(newChar, args.Skills, args.Profession);

            Race race = newChar.Race;

            if (race.ValidateHair(newChar, args.HairID))
            {
                newChar.HairItemID = args.HairID;
                newChar.HairHue    = race.ClipHairHue(args.HairHue & 0x3FFF);
            }

            if (race.ValidateFacialHair(newChar, args.BeardID))
            {
                newChar.FacialHairItemID = args.BeardID;
                newChar.FacialHairHue    = race.ClipHairHue(args.BeardHue & 0x3FFF);
            }

            AddShirt(newChar, args.ShirtHue);
            AddPants(newChar, args.PantsHue);
            AddShoes(newChar);

            if (young)
            {
                NewPlayerTicket ticket = new NewPlayerTicket();
                ticket.Owner = newChar;
                newChar.BankBox.DropItem(ticket);
            }

            CityInfo[] ci = new CityInfo[12];

            ci[0]  = new CityInfo("", "", 1503, 1621, 21, Map.Felucca);
            ci[1]  = new CityInfo("", "", 1503, 1613, 21, Map.Felucca);
            ci[2]  = new CityInfo("", "", 1431, 1720, 20, Map.Felucca);
            ci[3]  = new CityInfo("", "", 1495, 1623, 20, Map.Felucca);
            ci[4]  = new CityInfo("", "", 1587, 1596, 20, Map.Felucca);
            ci[5]  = new CityInfo("", "", 1587, 1586, 20, Map.Felucca);
            ci[6]  = new CityInfo("", "", 1579, 1596, 20, Map.Felucca);
            ci[7]  = new CityInfo("", "", 1579, 1586, 20, Map.Felucca);
            ci[8]  = new CityInfo("", "", 1495, 1687, 20, Map.Felucca);
            ci[9]  = new CityInfo("", "", 1503, 1620, 21, Map.Felucca);
            ci[10] = new CityInfo("", "", 1503, 1614, 21, Map.Felucca);
            ci[11] = new CityInfo("", "", 1494, 1608, 21, Map.Felucca);

            Random rand      = new Random();
            int    cityIndex = rand.Next(0, 11);

            CityInfo city = ci[cityIndex];

            newChar.MoveToWorld(city.Location, city.Map);

            new WelcomeTimer(newChar).Start();
        }
예제 #9
0
        private static void EventSink_CharacterCreated(CharacterCreatedEventArgs args)
        {
            if (!VerifyProfession(args.Profession))
            {
                args.Profession = 0;
            }

            Mobile newChar = CreateMobile(args.Account as Account);

            if (newChar == null)
            {
                Console.WriteLine("Login: {0}: Character creation failed, account full", args.State);
                return;
            }

            args.Mobile = newChar;
            m_Mobile    = newChar;

            newChar.Player      = true;
            newChar.AccessLevel = ((Account)args.Account).AccessLevel;
            newChar.Female      = args.Female;
            newChar.Body        = newChar.Female ? 0x191 : 0x190;
            newChar.Hue         = Utility.ClipSkinHue(args.Hue & 0x3FFF) | 0x8000;
            newChar.Hunger      = 20;

            bool young = false;

            /*
             * if ( newChar is PlayerMobile )
             * {
             *      PlayerMobile pm = (PlayerMobile) newChar;
             *
             *      pm.Profession = args.Profession;
             *
             *      if ( pm.AccessLevel == AccessLevel.Player && ((Account)pm.Account).Young )
             *              young = pm.Young = true;
             * }
             */
            if (newChar is TeiravonMobile)
            {
                PlayerMobile pm = (PlayerMobile)newChar;

                if (pm.AccessLevel == AccessLevel.Player && ((Account)pm.Account).Young)
                {
                    young = pm.Young = true;
                }

                ((TeiravonMobile)newChar).Profession = args.Profession;

                ((TeiravonMobile)newChar).MaxHits = 20;
                ((TeiravonMobile)newChar).Hits    = 20;
                ((TeiravonMobile)newChar).MaxStam = 20;
                ((TeiravonMobile)newChar).Stam    = 20;
                ((TeiravonMobile)newChar).MaxMana = 20;
                ((TeiravonMobile)newChar).Mana    = 20;
            }

            SetName(newChar, args.Name);

            AddBackpack(newChar);

            SetStats(newChar, args.Str, args.Dex, args.Int);
            //SetSkills( newChar, args.Skills, args.Profession );

            AddHair(newChar, args.HairID, Utility.ClipHairHue(args.HairHue & 0x3FFF));
            AddBeard(newChar, args.BeardID, Utility.ClipHairHue(args.BeardHue & 0x3FFF));

            /*
             * if ( args.Profession <= 3 )
             * {
             *      AddShirt( newChar, args.ShirtHue );
             *      AddPants( newChar, args.PantsHue );
             *      AddShoes( newChar );
             * }
             *
             *
             * if( TestCenter.Enabled )
             *      FillBankbox( newChar );
             */

            if (young && newChar.BankBox != null)
            {
                NewPlayerTicket ticket = new NewPlayerTicket();
                ticket.Owner = newChar;
                newChar.BankBox.DropItem(ticket);
            }

            //CityInfo city = GetStartLocation( args, young );
            //CityInfo city = new CityInfo( "Britain", "Sweet Dreams Inn", 1496, 1628, 10, Map.Felucca );

            Point3D loc = new Point3D(989, 520, -50);

            newChar.MoveToWorld(loc, Map.Malas);

            Console.WriteLine("Login: {0}: New character being created (account={1})", args.State, ((Account)args.Account).Username);
            Console.WriteLine(" - Character: {0} (serial={1})", newChar.Name, newChar.Serial);
            //Console.WriteLine( " - Started: {0} {1} in {2}", city.City, city.Location, city.Map.ToString() );

            new WelcomeTimer(newChar).Start();
        }