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 }
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(); }
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(); } }
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 ) ); }
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(); }
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(); }
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(); }