public static Toon CreateNewToon(string name, int classId, bool isHardcore, ToonFlags flags, byte level, GameAccount gameAccount) { #region LevelConfs Server.conf if (Mooege.Net.GS.Config.Instance.LevelStarter < 1) { level = 1; } else if (Mooege.Net.GS.Config.Instance.LevelStarter > Mooege.Net.GS.Config.Instance.MaxLevel) { level = (byte)Mooege.Net.GS.Config.Instance.MaxLevel; } else { level = (byte)Mooege.Net.GS.Config.Instance.LevelStarter; } #endregion // Create Character var dbGameAccount = DBSessions.AccountSession.Get <DBGameAccount>(gameAccount.PersistentID); var newDBToon = new DBToon { Class = @Toon.GetClassByID(classId), Name = name, /*HashCode = GetUnusedHashCodeForToonName(name),*/ Hardcore = isHardcore, Flags = flags, Level = level, DBGameAccount = DBSessions.AccountSession.Get <DBGameAccount>(gameAccount.PersistentID) }; dbGameAccount.DBToons.Add(newDBToon); //Стандартные Предметы #region Стандартные предметы Barbarian if (newDBToon.Class == ToonClass.Barbarian) { #region Топор //Структура сущности предмета DBItemInstance BARAxeInstance = new DBItemInstance { GbId = 1661412390, // Affixes = "", Attributes = "295,:1|" + "1.401298E-45;91,:0|" + "0;308,:1|" + "1.401298E-45;312,:1371713298|" + "1.045201E+11;157,:1067869798|" + "1.3;159,:1067869798|" + "1.3;161,:1067869798|" + "1.3;412,:1067869798|" + "1.3;414,:1067869798|" + "1.3;420,:1067869798|" + "1.3;164,:1067869798|" + "1.3;326,:0|" + "0;327,:0|" + "0;328,:0|" + "0;329,:0|" + "0;413,:0|" + "0;415,:0|" + "0;183,0:1073741824|" + "2;177,0:1077936128|" + "3;184,0:1073741824|" + "2;178,0:1077936128|" + "3;179,:1077936128|" + "3;185,:1073741824|" + "2;416,0:1073741824|" + "2;421,0:1073741824|" + "2;173,0:1073741824|" + "2;172,0:1073741824|" + "2;172,:0|" + "0;417,0:0|" + "0;175,0:1065353216|" + "1;176,0:1065353216|" + "1;180,0:1065353216|" + "1;181,:1065353216|" + "1;418,0:1065353216|" + "1;422,0:1065353216|" + "1;169,0:1065353216|" + "1;419,0:0|" + "0;89,30592:1|" + "1.401298E-45;90,30592:1|" + "1.401298E-45;297,:1|" + "1.401298E-45" }; // Добавляем сущность в базу DBSessions.AccountSession.SaveOrUpdate(BARAxeInstance); // Структура предмета DBInventory BARAxeFirstWeapon = new DBInventory { DBGameAccount = DBSessions.AccountSession.Get <DBGameAccount>(gameAccount.PersistentID), // Привязка к используемому аккаунту DBItemInstance = BARAxeInstance, // Использовать свеже созданную сущность предмета Hardcore = isHardcore, // Хардкорный или нет персонаж DBToon = newDBToon, // Выдать созданному персонажу EquipmentSlot = 4, // Вооружить в первую руку LocationX = 0, LocationY = 0 }; // Добавляем предмет в базу DBSessions.AccountSession.SaveOrUpdate(BARAxeFirstWeapon); #endregion #region Щиток //Структура сущности предмета DBItemInstance BARBuckInstance = new DBItemInstance { GbId = 1815806857, // Affixes = "", Attributes = "295,:2|2,802597E-45;91,:0|0;308,:1|1,401298E-45;312,:978984494|0,0008320537;48,:1090519040|8;51,:1090519040|8;52,:1090519040|8;53,:1090519040|8;207,:1040522936|0,13;208,:1040522936|0,13;205,:1040522936|0,13;213,:1088421888|7;211,:1088421888|7;212,:1094713344|12;214,:1084227584|5;297,:1|1,401298E-45" }; // Добавляем сущность в базу DBSessions.AccountSession.SaveOrUpdate(BARBuckInstance); // Структура предмета DBInventory BARBuckler = new DBInventory { DBGameAccount = DBSessions.AccountSession.Get <DBGameAccount>(gameAccount.PersistentID), // Привязка к используемому аккаунту DBItemInstance = BARBuckInstance, // Использовать свеже созданную сущность предмета Hardcore = isHardcore, // Хардкорный или нет персонаж DBToon = newDBToon, // Выдать созданному персонажу EquipmentSlot = 3, // Вооружить в первую руку LocationX = 0, LocationY = 0 }; // Добавляем предмет в базу DBSessions.AccountSession.SaveOrUpdate(BARBuckler); #endregion } #endregion #region Стандартные предметы Demon Hunter if (newDBToon.Class == ToonClass.DemonHunter) { #region Арбалет //Структура сущности предмета DBItemInstance DHFWInstance = new DBItemInstance { GbId = -1647832978, // Affixes = "", Attributes = "295,:0 |" + //Item Quality Level " 2,802597E-45; 91,:0 |" + //TeamID " 0; 308,:1 |" + // ItemStackQuantityLo " 1,401298E-45; 312,:1381516818 |" + // Seed " 1,767016E+35; 157,:1070386381 |" + // Attacks_Per_Second_Item " 1,6; 159,:1070386381 |" + // Attacks_Per_Second_Item_Subtotal " 1,6; 161,:1070386381 |" + // Attacks_Per_Second_Item_Total " 1,6; 412,:1070386381 |" + // Attacks_Per_Second_Item_MainHand " 1,6; 414,:1070386381 |" + // Attacks_Per_Second_Item_Total_MainHand " 1,6; 420,:1070386381 |" + // Attacks_Per_Second_Item_CurrentHand " 1,6; 164,:1070386381 |" + // Attacks_Per_Second_Total " 1; 326,:0 |" + // InitialCooldownMinTotal " 0; 327,:0 |" + // InitialCooldownDeltaTotal " 0; 328,:0 |" + // Attack_Cooldown_Min_Total " 0; 329,:0 |" + // Attack_Cooldown_Delta_Total " 0; 413,:0 |" + // Attacks_Per_Second_Item_OffHand " 0; 415,:0 |" + // Attacks_Per_Second_Item_Total_OffHand " 0;183,0:1073741824 |" + // Damage_Weapon_Min " 2;177,0:1096810496 |" + // Damage_Weapon_Max " 14;184,0:1073741824 |" + // Damage_Weapon_Min_Total " 2;178,0:1096810496 |" + // Damage_Weapon_Max_Total " 14;179,:1096810496 |" + // Damage_Weapon_Max_Total_All " 14;185,:1073741824 |" + // Damage_Weapon_Min_Total_All " 2;416,0:1073741824 |" + // Damage_Weapon_Min_Total_MainHand " 2;421,0:1073741824 |" + // Damage_Weapon_Min_Total_CurrentHand " 2;173,0:1073741824 |" + // Damage_Min_Subtotal " 2;172,0:1073741824 |" + // Damage_Min_Total " 2;172,:0 |" + // Damage_Min_Total " 0;417,0:0 |" + // Damage_Weapon_Min_Total_OffHand " 0;175,0:1094713344 |" + // Damage_Weapon_Delta " 12;176,0:1094713344 |" + // Damage_Weapon_Delta_SubTotal " 12;180,0:1094713344 |" + // Damage_Weapon_Delta_Total " 12;181,:1094713344 |" + // Damage_Weapon_Delta_Total_All " 12;418,0:1094713344 |" + // Damage_Weapon_Delta_Total_MainHand " 12;422,0:1094713344 |" + // Damage_Weapon_Delta_Total_CurrentHand " 12;169,0:1094713344 |" + // Damage_Delta_Total " 12;419,0:0|" + // Damage_Weapon_Delta_Total_OffHand " 0; 89,30599:1 |" + // Skill " 1,401298E-45; 90,30599:1 |" + // Skill_Total " 1,401298E-45; 297,:1 |" + // Item_Equipped " 1,401298E-45" }; // Добавляем сущность в базу DBSessions.AccountSession.SaveOrUpdate(DHFWInstance); // Структура предмета DBInventory DHFirstWeapon = new DBInventory { DBGameAccount = DBSessions.AccountSession.Get <DBGameAccount>(gameAccount.PersistentID), // Привязка к используемому аккаунту DBItemInstance = DHFWInstance, // Использовать свеже созданную сущность предмета DBToon = newDBToon, // Выдать созданному персонажу Hardcore = isHardcore, // Хардкорный или нет персонаж EquipmentSlot = 4, // Вооружить в первую руку LocationX = 0, LocationY = 0 }; // Добавляем предмет в базу DBSessions.AccountSession.SaveOrUpdate(DHFirstWeapon); #endregion } #endregion #region Стандартные предметы Monk if (newDBToon.Class == ToonClass.Monk) { #region Перчатки //Структура сущности предмета DBItemInstance MKKnuckInstance = new DBItemInstance { GbId = 1236604967, // Affixes = "", Attributes = "295,:2|2,802597E-45;91,:0|0;308,:1|1,401298E-45;312,:277358000|5,370061E-29;157,:1067030938|1,2;159,:1067030938|1,2;161,:1067030938|1,2;412,:1067030938|1,2;414,:1067030938|1,2;420,:1067030938|1,2;164,:1067030938|1,2;326,:0|0;327,:0|0;328,:0|0;329,:0|0;413,:0|0;415,:0|0;183,0:1073741824|2;177,0:1077936128|3;184,0:1073741824|2;178,0:1077936128|3;179,:1077936128|3;185,:1073741824|2;416,0:1073741824|2;421,0:1073741824|2;173,0:1073741824|2;172,0:1073741824|2;172,:0|0;417,0:0|0;175,0:1065353216|1;176,0:1065353216|1;180,0:1065353216|1;181,:1065353216|1;418,0:1065353216|1;422,0:1065353216|1;169,0:1065353216|1;419,0:0|0;89,30592:1|1,401298E-45;90,30592:1|1,401298E-45;297,:1|1,401298E-45" }; // Добавляем сущность в базу DBSessions.AccountSession.SaveOrUpdate(MKKnuckInstance); // Структура предмета DBInventory MKKnucktWeapon = new DBInventory { DBGameAccount = DBSessions.AccountSession.Get <DBGameAccount>(gameAccount.PersistentID), // Привязка к используемому аккаунту DBItemInstance = MKKnuckInstance, // Использовать свеже созданную сущность предмета DBToon = newDBToon, // Выдать созданному персонажу Hardcore = isHardcore, // Хардкорный или нет персонаж EquipmentSlot = 4, // Вооружить в первую руку LocationX = 0, LocationY = 0 }; // Добавляем предмет в базу DBSessions.AccountSession.SaveOrUpdate(MKKnucktWeapon); #endregion } #endregion #region Стандартные предметы Witch Doctor if (newDBToon.Class == ToonClass.WitchDoctor) { #region Нож //Структура сущности предмета DBItemInstance WDKnifeInstance = new DBItemInstance { GbId = -635269584, // Affixes = "", Attributes = "295,:1|1,401298E-45;91,:0|0;308,:1|1,401298E-45;312,:233363062|1,434973E-30;157,:1067030938|1,2;159,:1067030938|1,2;161,:1067030938|1,2;412,:1067030938|1,2;414,:1067030938|1,2;420,:1067030938|1,2;164,:1067030938|1,2;326,:0|0;327,:0|0;328,:0|0;329,:0|0;413,:0|0;415,:0|0;183,0:1073741824|2;177,0:1077936128|3;184,0:1073741824|2;178,0:1077936128|3;179,:1077936128|3;185,:1073741824|2;416,0:1073741824|2;421,0:1073741824|2;173,0:1073741824|2;172,0:1073741824|2;172,:0|0;417,0:0|0;175,0:1065353216|1;176,0:1065353216|1;180,0:1065353216|1;181,:1065353216|1;418,0:1065353216|1;422,0:1065353216|1;169,0:1065353216|1;419,0:0|0;89,30592:1|1,401298E-45;90,30592:1|1,401298E-45;297,:1|1,401298E-45" }; // Добавляем сущность в базу DBSessions.AccountSession.SaveOrUpdate(WDKnifeInstance); // Структура предмета DBInventory WDKnifeWeapon = new DBInventory { DBGameAccount = DBSessions.AccountSession.Get <DBGameAccount>(gameAccount.PersistentID), // Привязка к используемому аккаунту DBItemInstance = WDKnifeInstance, // Использовать свеже созданную сущность предмета DBToon = newDBToon, // Выдать созданному персонажу Hardcore = isHardcore, // Хардкорный или нет персонаж EquipmentSlot = 4, // Вооружить в первую руку LocationX = 0, LocationY = 0 }; // Добавляем предмет в базу DBSessions.AccountSession.SaveOrUpdate(WDKnifeWeapon); #endregion } #endregion #region Стандартные предметы Wizzard if (newDBToon.Class == ToonClass.Wizard) { #region Палочка //Структура сущности предмета DBItemInstance WWandInstance = new DBItemInstance { GbId = -635269584, // Affixes = "", Attributes = "295,:1|1,401298E-45;91,:0|0;308,:1|1,401298E-45;312,:233363062|1,434973E-30;157,:1067030938|1,2;159,:1067030938|1,2;161,:1067030938|1,2;412,:1067030938|1,2;414,:1067030938|1,2;420,:1067030938|1,2;164,:1067030938|1,2;326,:0|0;327,:0|0;328,:0|0;329,:0|0;413,:0|0;415,:0|0;183,0:1073741824|2;177,0:1077936128|3;184,0:1073741824|2;178,0:1077936128|3;179,:1077936128|3;185,:1073741824|2;416,0:1073741824|2;421,0:1073741824|2;173,0:1073741824|2;172,0:1073741824|2;172,:0|0;417,0:0|0;175,0:1065353216|1;176,0:1065353216|1;180,0:1065353216|1;181,:1065353216|1;418,0:1065353216|1;422,0:1065353216|1;169,0:1065353216|1;419,0:0|0;89,30592:1|1,401298E-45;90,30592:1|1,401298E-45;297,:1|1,401298E-45" }; // Добавляем сущность в базу DBSessions.AccountSession.SaveOrUpdate(WWandInstance); // Структура предмета DBInventory WWandWeapon = new DBInventory { DBGameAccount = DBSessions.AccountSession.Get <DBGameAccount>(gameAccount.PersistentID), // Привязка к используемому аккаунту DBItemInstance = WWandInstance, // Использовать свеже созданную сущность предмета DBToon = newDBToon, // Выдать созданному персонажу Hardcore = isHardcore, // Хардкорный или нет персонаж EquipmentSlot = 4, // Вооружить в первую руку LocationX = 0, LocationY = 0 }; // Добавляем предмет в базу DBSessions.AccountSession.SaveOrUpdate(WWandWeapon); #endregion } #endregion #region Начало прогресса. 1 Акт, Пока не взятый квест. DBProgressToon StartProgress = new DBProgressToon { DBGameAccount = DBSessions.AccountSession.Get <DBGameAccount>(gameAccount.PersistentID), // Привязка к используемому аккаунту DBToon = newDBToon, // Выдать созданному персонажу LastQuest = 0, // Последний выполненный квест StepOfQuest = 0, //Текущий шаг квеста ActiveAct = 1, // Активный акт ActiveQuest = -1 // Активный квест }; DBSessions.AccountSession.SaveOrUpdate(StartProgress); DBPortalOfToon NullPortal = new DBPortalOfToon { DBGameAccount = DBSessions.AccountSession.Get <DBGameAccount>(gameAccount.PersistentID), DBToon = newDBToon, X = 0, Y = 0, Z = 0, WorldDest = 0 }; DBSessions.AccountSession.SaveOrUpdate(NullPortal); #endregion DBSessions.AccountSession.Flush(); DBSessions.AccountSession.Refresh(dbGameAccount); return(GetToonByLowID(newDBToon.Id)); }
public static Toon CreateNewToon(string name, int classId, ToonFlags flags, byte level, GameAccount gameAccount) { #region LevelConfs Server.conf if (NullD.Net.GS.Config.Instance.LevelStarter < 1) { level = 1; } else if (NullD.Net.GS.Config.Instance.LevelStarter > NullD.Net.GS.Config.Instance.MaxLevel) { level = (byte)NullD.Net.GS.Config.Instance.MaxLevel; } else { level = (byte)NullD.Net.GS.Config.Instance.LevelStarter; } #endregion var dbGameAccount = DBSessions.AccountSession.Get <DBGameAccount>(gameAccount.PersistentID); var newDBToon = new DBToon { Class = @Toon.GetClassByID(classId), Name = name, /*HashCode = GetUnusedHashCodeForToonName(name),*/ Flags = flags, Level = level, DBGameAccount = DBSessions.AccountSession.Get <DBGameAccount>(gameAccount.PersistentID) }; dbGameAccount.DBToons.Add(newDBToon); #region Стандартные предметы 1.0.4 //* #region Стандартные предметы Barbarian if (newDBToon.Class == ToonClass.Barbarian) { #region Топор //Структура сущности предмета DBItemInstance BARAxeInstance = new DBItemInstance { GbId = 1661412390, // Affixes = "", Attributes = "312,:1|5,605194E-45;101,:0|0;329,:1|1,401298E-45;196,0:1077936128|3;190,0:1082130432|4;197,0:1077936128|3;191,0:1082130432|4;192,:1082130432|4;198,:1077936128|3;201,:1080033280|3,5;200,0:1080033280|3,5;434,0:1077936128|3;439,0:1077936128|3;186,0:1077936128|3;182,0:1077936128|3;184,:1077936128|3;185,:1080033280|3,5;435,0:0|0;199,0:1080033280|3,5;188,0:1065353216|1;189,0:1065353216|1;193,0:1065353216|1;194,:1065353216|1;436,0:1065353216|1;440,0:1065353216|1;179,0:1065353216|1;183,:1065353216|1;437,0:0|0;326,:1|1,401298E-45;330,:851683752|2,277814E-08;167,:1067869798|1,3;169,:1067869798|1,3;171,:1067869798|1,3;430,:1067869798|1,3;432,:1067869798|1,3;438,:1067869798|1,3;174,:1067869798|1,3;344,:0|0;345,:0|0;346,:0|0;347,:0|0;431,:0|0;433,:0|0;99,30592:1|1,401298E-45;100,30592:1|1,401298E-45;315,:1|1,401298E-45" }; // Добавляем сущность в базу DBSessions.AccountSession.SaveOrUpdate(BARAxeInstance); // Структура предмета DBInventory BARAxeFirstWeapon = new DBInventory { DBGameAccount = DBSessions.AccountSession.Get <DBGameAccount>(gameAccount.PersistentID), // Привязка к используемому аккаунту DBItemInstance = BARAxeInstance, // Использовать свеже созданную сущность предмета //Hardcore = isHardcore, // Хардкорный или нет персонаж DBToon = newDBToon, // Выдать созданному персонажу EquipmentSlot = 4, // Вооружить в первую руку LocationX = 0, LocationY = 0 }; // Добавляем предмет в базу DBSessions.AccountSession.SaveOrUpdate(BARAxeFirstWeapon); #endregion #region Нагрудник //Структура сущности предмета DBItemInstance ChestInstance = new DBItemInstance { GbId = 1612257704, // Affixes = "", Attributes = "312,:1|1,401298E-45;101,:0|0;329,:1|1,401298E-45;48,:1073741824|2;51,:1073741824|2;52,:1073741824|2;53,:1073741824|2;326,:1|1,401298E-45;330,:1425612098|8,559502E+12" }; // Добавляем сущность в базу DBSessions.AccountSession.SaveOrUpdate(ChestInstance); // Структура предмета DBInventory BARChest = new DBInventory { DBGameAccount = DBSessions.AccountSession.Get <DBGameAccount>(gameAccount.PersistentID), // Привязка к используемому аккаунту DBItemInstance = ChestInstance, // Использовать свеже созданную сущность предмета //Hardcore = isHardcore, // Хардкорный или нет персонаж DBToon = newDBToon, // Выдать созданному персонажу EquipmentSlot = 2, // Вооружить в первую руку LocationX = 0, LocationY = 0 }; // Добавляем предмет в базу DBSessions.AccountSession.SaveOrUpdate(BARChest); #endregion #region Штаны //Структура сущности предмета DBItemInstance PantsInstance = new DBItemInstance { GbId = -1512732138, // Affixes = "", Attributes = "312,:1|0;101,:0|0;329,:1|1,401298E-45;48,:1084227584|5;51,:1084227584|5;52,:1084227584|5;53,:1084227584|5;326,:1|1,401298E-45;330,:56548088|6,54913E-37;315,:1|1,401298E-45" }; // Добавляем сущность в базу DBSessions.AccountSession.SaveOrUpdate(PantsInstance); // Структура предмета DBInventory BARPants = new DBInventory { DBGameAccount = DBSessions.AccountSession.Get <DBGameAccount>(gameAccount.PersistentID), // Привязка к используемому аккаунту DBItemInstance = PantsInstance, // Использовать свеже созданную сущность предмета //Hardcore = isHardcore, // Хардкорный или нет персонаж DBToon = newDBToon, // Выдать созданному персонажу EquipmentSlot = 9, // Вооружить в первую руку LocationX = 0, LocationY = 0 }; // Добавляем предмет в базу DBSessions.AccountSession.SaveOrUpdate(BARPants); #endregion } #endregion #region Стандартные предметы DemonHunter else if (newDBToon.Class == ToonClass.DemonHunter) { #region Одноручный арбалет //Структура сущности предмета DBItemInstance DHbowInstance = new DBItemInstance { GbId = -2091504072, // Affixes = "", Attributes = "312,:1|5,605194E-45;101,:0|0;329,:1|1,401298E-45;196,0:1077936128|3;190,0:1082130432|4;197,0:1077936128|3;191,0:1082130432|4;192,:1082130432|4;198,:1077936128|3;201,:1080033280|3,5;200,0:1080033280|3,5;434,0:1077936128|3;439,0:1077936128|3;186,0:1077936128|3;182,0:1077936128|3;184,:1077936128|3;185,:1080033280|3,5;435,0:0|0;199,0:1080033280|3,5;188,0:1065353216|1;189,0:1065353216|1;193,0:1065353216|1;194,:1065353216|1;436,0:1065353216|1;440,0:1065353216|1;179,0:1065353216|1;183,:1065353216|1;437,0:0|0;326,:1|1,401298E-45;330,:851683752|2,277814E-08;167,:1067869798|1,3;169,:1067869798|1,3;171,:1067869798|1,3;430,:1067869798|1,3;432,:1067869798|1,3;438,:1067869798|1,3;174,:1067869798|1,3;344,:0|0;345,:0|0;346,:0|0;347,:0|0;431,:0|0;433,:0|0;99,30592:1|1,401298E-45;100,30592:1|1,401298E-45;315,:1|1,401298E-45" }; // Добавляем сущность в базу DBSessions.AccountSession.SaveOrUpdate(DHbowInstance); // Структура предмета DBInventory DHFirstWeapon = new DBInventory { DBGameAccount = DBSessions.AccountSession.Get <DBGameAccount>(gameAccount.PersistentID), // Привязка к используемому аккаунту DBItemInstance = DHbowInstance, // Использовать свеже созданную сущность предмета //Hardcore = isHardcore, // Хардкорный или нет персонаж DBToon = newDBToon, // Выдать созданному персонажу EquipmentSlot = 4, // Вооружить в первую руку LocationX = 0, LocationY = 0 }; // Добавляем предмет в базу DBSessions.AccountSession.SaveOrUpdate(DHFirstWeapon); #endregion #region Нагрудник //Структура сущности предмета DBItemInstance ChestInstance = new DBItemInstance { GbId = 1612257704, // Affixes = "", Attributes = "312,:1|1,401298E-45;101,:0|0;329,:1|1,401298E-45;48,:1073741824|2;51,:1073741824|2;52,:1073741824|2;53,:1073741824|2;326,:1|1,401298E-45;330,:1425612098|8,559502E+12" }; // Добавляем сущность в базу DBSessions.AccountSession.SaveOrUpdate(ChestInstance); // Структура предмета DBInventory BARChest = new DBInventory { DBGameAccount = DBSessions.AccountSession.Get <DBGameAccount>(gameAccount.PersistentID), // Привязка к используемому аккаунту DBItemInstance = ChestInstance, // Использовать свеже созданную сущность предмета // Hardcore = isHardcore, // Хардкорный или нет персонаж DBToon = newDBToon, // Выдать созданному персонажу EquipmentSlot = 2, // Вооружить в первую руку LocationX = 0, LocationY = 0 }; // Добавляем предмет в базу DBSessions.AccountSession.SaveOrUpdate(BARChest); #endregion #region Штаны //Структура сущности предмета DBItemInstance PantsInstance = new DBItemInstance { GbId = -1512732138, // Affixes = "", Attributes = "312,:1|0;101,:0|0;329,:1|1,401298E-45;48,:1084227584|5;51,:1084227584|5;52,:1084227584|5;53,:1084227584|5;326,:1|1,401298E-45;330,:56548088|6,54913E-37;315,:1|1,401298E-45" }; // Добавляем сущность в базу DBSessions.AccountSession.SaveOrUpdate(PantsInstance); // Структура предмета DBInventory BARPants = new DBInventory { DBGameAccount = DBSessions.AccountSession.Get <DBGameAccount>(gameAccount.PersistentID), // Привязка к используемому аккаунту DBItemInstance = PantsInstance, // Использовать свеже созданную сущность предмета //Hardcore = isHardcore, // Хардкорный или нет персонаж DBToon = newDBToon, // Выдать созданному персонажу EquipmentSlot = 9, // Вооружить в первую руку LocationX = 0, LocationY = 0 }; // Добавляем предмет в базу DBSessions.AccountSession.SaveOrUpdate(BARPants); #endregion } #endregion #region Стандартные предметы Monk else if (newDBToon.Class == ToonClass.Monk) { #region Кастет 1 //Структура сущности предмета DBItemInstance DHbowInstance = new DBItemInstance { GbId = 1236604967, // Affixes = "", Attributes = "312,:1|2,802597E-45;101,:0|0;329,:1|1,401298E-45;196,0:1065353216|1;190,0:1077936128|3;197,0:1065353216|1;191,0:1077936128|3;192,:1077936128|3;198,:1065353216|1;201,:1073741824|2;200,0:1073741824|2;434,0:1065353216|1;439,0:1065353216|1;186,0:1065353216|1;182,0:1065353216|1;184,:1065353216|1;185,:1073741824|2;435,0:0|0;199,0:1073741824|2;188,0:1073741824|2;189,0:1073741824|2;193,0:1073741824|2;194,:1073741824|2;436,0:1073741824|2;440,0:1073741824|2;179,0:1073741824|2;183,:1073741824|2;437,0:0|0;326,:1|1,401298E-45;330,:750642467|5,397142E-12;167,:1067030938|1,2;169,:1067030938|1,2;171,:1067030938|1,2;430,:1067030938|1,2;432,:1067030938|1,2;438,:1067030938|1,2;174,:1067030938|1,2;344,:0|0;345,:0|0;346,:0|0;347,:0|0;431,:0|0;433,:0|0;99,30592:1|1,401298E-45;100,30592:1|1,401298E-45;315,:1|1,401298E-45" }; // Добавляем сущность в базу DBSessions.AccountSession.SaveOrUpdate(DHbowInstance); // Структура предмета DBInventory DHFirstWeapon = new DBInventory { DBGameAccount = DBSessions.AccountSession.Get <DBGameAccount>(gameAccount.PersistentID), // Привязка к используемому аккаунту DBItemInstance = DHbowInstance, // Использовать свеже созданную сущность предмета //Hardcore = isHardcore, // Хардкорный или нет персонаж DBToon = newDBToon, // Выдать созданному персонажу EquipmentSlot = 4, // Вооружить в первую руку LocationX = 0, LocationY = 0 }; // Добавляем предмет в базу DBSessions.AccountSession.SaveOrUpdate(DHFirstWeapon); #endregion #region Кастет 2 //Структура сущности предмета DBItemInstance DHbowInstance2 = new DBItemInstance { GbId = 1236604967, // Affixes = "", Attributes = "312,:1|2,802597E-45;101,:0|0;329,:1|1,401298E-45;196,0:1065353216|1;190,0:1077936128|3;197,0:1065353216|1;191,0:1077936128|3;192,:1077936128|3;198,:1065353216|1;201,:1073741824|2;200,0:1073741824|2;434,0:1065353216|1;439,0:1065353216|1;186,0:1065353216|1;182,0:1065353216|1;184,:1065353216|1;185,:1073741824|2;435,0:0|0;199,0:1073741824|2;188,0:1073741824|2;189,0:1073741824|2;193,0:1073741824|2;194,:1073741824|2;436,0:1073741824|2;440,0:1073741824|2;179,0:1073741824|2;183,:1073741824|2;437,0:0|0;326,:1|1,401298E-45;330,:750642467|5,397142E-12;167,:1067030938|1,2;169,:1067030938|1,2;171,:1067030938|1,2;430,:1067030938|1,2;432,:1067030938|1,2;438,:1067030938|1,2;174,:1067030938|1,2;344,:0|0;345,:0|0;346,:0|0;347,:0|0;431,:0|0;433,:0|0;99,30592:1|1,401298E-45;100,30592:1|1,401298E-45;315,:1|1,401298E-45" }; // Добавляем сущность в базу DBSessions.AccountSession.SaveOrUpdate(DHbowInstance2); // Структура предмета DBInventory DHFirstWeapon2 = new DBInventory { DBGameAccount = DBSessions.AccountSession.Get <DBGameAccount>(gameAccount.PersistentID), // Привязка к используемому аккаунту DBItemInstance = DHbowInstance2, // Использовать свеже созданную сущность предмета //Hardcore = isHardcore, // Хардкорный или нет персонаж DBToon = newDBToon, // Выдать созданному персонажу EquipmentSlot = 3, // Вооружить во вторую руку LocationX = 0, LocationY = 0 }; // Добавляем предмет в базу DBSessions.AccountSession.SaveOrUpdate(DHFirstWeapon2); #endregion #region Нагрудник //Структура сущности предмета DBItemInstance ChestInstance = new DBItemInstance { GbId = 1612257704, // Affixes = "", Attributes = "312,:1|1,401298E-45;101,:0|0;329,:1|1,401298E-45;48,:1073741824|2;51,:1073741824|2;52,:1073741824|2;53,:1073741824|2;326,:1|1,401298E-45;330,:1425612098|8,559502E+12" }; // Добавляем сущность в базу DBSessions.AccountSession.SaveOrUpdate(ChestInstance); // Структура предмета DBInventory BARChest = new DBInventory { DBGameAccount = DBSessions.AccountSession.Get <DBGameAccount>(gameAccount.PersistentID), // Привязка к используемому аккаунту DBItemInstance = ChestInstance, // Использовать свеже созданную сущность предмета //Hardcore = isHardcore, // Хардкорный или нет персонаж DBToon = newDBToon, // Выдать созданному персонажу EquipmentSlot = 2, // Вооружить в первую руку LocationX = 0, LocationY = 0 }; // Добавляем предмет в базу DBSessions.AccountSession.SaveOrUpdate(BARChest); #endregion #region Штаны //Структура сущности предмета DBItemInstance PantsInstance = new DBItemInstance { GbId = -1512732138, // Affixes = "", Attributes = "312,:1|0;101,:0|0;329,:1|1,401298E-45;48,:1084227584|5;51,:1084227584|5;52,:1084227584|5;53,:1084227584|5;326,:1|1,401298E-45;330,:56548088|6,54913E-37;315,:1|1,401298E-45" }; // Добавляем сущность в базу DBSessions.AccountSession.SaveOrUpdate(PantsInstance); // Структура предмета DBInventory BARPants = new DBInventory { DBGameAccount = DBSessions.AccountSession.Get <DBGameAccount>(gameAccount.PersistentID), // Привязка к используемому аккаунту DBItemInstance = PantsInstance, // Использовать свеже созданную сущность предмета //Hardcore = isHardcore, // Хардкорный или нет персонаж DBToon = newDBToon, // Выдать созданному персонажу EquipmentSlot = 9, // Вооружить в первую руку LocationX = 0, LocationY = 0 }; // Добавляем предмет в базу DBSessions.AccountSession.SaveOrUpdate(BARPants); #endregion } #endregion #region Стандартные предметы Witch Doctor else if (newDBToon.Class == ToonClass.WitchDoctor) { #region Кинжал //Структура сущности предмета DBItemInstance DHbowInstance = new DBItemInstance { GbId = -1303415302, // Affixes = "", Attributes = "312,:1|2,802597E-45;101,:0|0;329,:1|1,401298E-45;196,0:1073741824|2;190,0:1088421888|7;197,0:1073741824|2;191,0:1088421888|7;192,:1088421888|7;198,:1073741824|2;201,:1083179008|4,5;200,0:1083179008|4,5;434,0:1073741824|2;439,0:1073741824|2;186,0:1073741824|2;182,0:1073741824|2;184,:1073741824|2;185,:1083179008|4,5;435,0:0|0;199,0:1083179008|4,5;188,0:1084227584|5;189,0:1084227584|5;193,0:1084227584|5;194,:1084227584|5;436,0:1084227584|5;440,0:1084227584|5;179,0:1084227584|5;183,:1084227584|5;437,0:0|0;326,:1|1,401298E-45;330,:432328575|2,034973E-23;167,:1069547520|1,5;169,:1069547520|1,5;171,:1069547520|1,5;430,:1069547520|1,5;432,:1069547520|1,5;438,:1069547520|1,5;174,:1069547520|1,5;344,:0|0;345,:0|0;346,:0|0;347,:0|0;431,:0|0;433,:0|0;99,30592:1|1,401298E-45;100,30592:1|1,401298E-45;315,:1|1,401298E-45" }; // Добавляем сущность в базу DBSessions.AccountSession.SaveOrUpdate(DHbowInstance); // Структура предмета DBInventory DHFirstWeapon = new DBInventory { DBGameAccount = DBSessions.AccountSession.Get <DBGameAccount>(gameAccount.PersistentID), // Привязка к используемому аккаунту DBItemInstance = DHbowInstance, // Использовать свеже созданную сущность предмета // Hardcore = isHardcore, // Хардкорный или нет персонаж DBToon = newDBToon, // Выдать созданному персонажу EquipmentSlot = 4, // Вооружить в первую руку LocationX = 0, LocationY = 0 }; // Добавляем предмет в базу DBSessions.AccountSession.SaveOrUpdate(DHFirstWeapon); #endregion #region Нагрудник //Структура сущности предмета DBItemInstance ChestInstance = new DBItemInstance { GbId = 1612257704, // Affixes = "", Attributes = "312,:1|1,401298E-45;101,:0|0;329,:1|1,401298E-45;48,:1073741824|2;51,:1073741824|2;52,:1073741824|2;53,:1073741824|2;326,:1|1,401298E-45;330,:1425612098|8,559502E+12" }; // Добавляем сущность в базу DBSessions.AccountSession.SaveOrUpdate(ChestInstance); // Структура предмета DBInventory BARChest = new DBInventory { DBGameAccount = DBSessions.AccountSession.Get <DBGameAccount>(gameAccount.PersistentID), // Привязка к используемому аккаунту DBItemInstance = ChestInstance, // Использовать свеже созданную сущность предмета //Hardcore = isHardcore, // Хардкорный или нет персонаж DBToon = newDBToon, // Выдать созданному персонажу EquipmentSlot = 2, // Вооружить в первую руку LocationX = 0, LocationY = 0 }; // Добавляем предмет в базу DBSessions.AccountSession.SaveOrUpdate(BARChest); #endregion #region Штаны //Структура сущности предмета DBItemInstance PantsInstance = new DBItemInstance { GbId = -1512732138, // Affixes = "", Attributes = "312,:1|0;101,:0|0;329,:1|1,401298E-45;48,:1084227584|5;51,:1084227584|5;52,:1084227584|5;53,:1084227584|5;326,:1|1,401298E-45;330,:56548088|6,54913E-37;315,:1|1,401298E-45" }; // Добавляем сущность в базу DBSessions.AccountSession.SaveOrUpdate(PantsInstance); // Структура предмета DBInventory BARPants = new DBInventory { DBGameAccount = DBSessions.AccountSession.Get <DBGameAccount>(gameAccount.PersistentID), // Привязка к используемому аккаунту DBItemInstance = PantsInstance, // Использовать свеже созданную сущность предмета //Hardcore = isHardcore, // Хардкорный или нет персонаж DBToon = newDBToon, // Выдать созданному персонажу EquipmentSlot = 9, // Вооружить в первую руку LocationX = 0, LocationY = 0 }; // Добавляем предмет в базу DBSessions.AccountSession.SaveOrUpdate(BARPants); #endregion } #endregion #region Стандартные предметы Wizard else if (newDBToon.Class == ToonClass.Wizard) { #region Жезл //Структура сущности предмета DBItemInstance DHbowInstance = new DBItemInstance { GbId = 88665049, // Affixes = "", Attributes = "312,:1|7,006492E-45;101,:0|0;329,:1|1,401298E-45;196,0:1077936128|3;190,0:1082130432|4;197,0:1077936128|3;191,0:1082130432|4;192,:1082130432|4;198,:1077936128|3;201,:1080033280|3,5;200,0:1080033280|3,5;434,0:1077936128|3;439,0:1077936128|3;186,0:1077936128|3;182,0:1077936128|3;184,:1077936128|3;185,:1080033280|3,5;435,0:0|0;199,0:1080033280|3,5;188,0:1065353216|1;189,0:1065353216|1;193,0:1065353216|1;194,:1065353216|1;436,0:1065353216|1;440,0:1065353216|1;179,0:1065353216|1;183,:1065353216|1;437,0:0|0;326,:1|1,401298E-45;330,:2081659420|3,065573E+36;167,:1067030938|1,2;169,:1067030938|1,2;171,:1067030938|1,2;430,:1067030938|1,2;432,:1067030938|1,2;438,:1067030938|1,2;174,:1067030938|1,2;344,:0|0;345,:0|0;346,:0|0;347,:0|0;431,:0|0;433,:0|0;99,30601:1|1,401298E-45;100,30601:1|1,401298E-45" }; // Добавляем сущность в базу DBSessions.AccountSession.SaveOrUpdate(DHbowInstance); // Структура предмета DBInventory DHFirstWeapon = new DBInventory { DBGameAccount = DBSessions.AccountSession.Get <DBGameAccount>(gameAccount.PersistentID), // Привязка к используемому аккаунту DBItemInstance = DHbowInstance, // Использовать свеже созданную сущность предмета //Hardcore = isHardcore, // Хардкорный или нет персонаж DBToon = newDBToon, // Выдать созданному персонажу EquipmentSlot = 4, // Вооружить в первую руку LocationX = 0, LocationY = 0 }; // Добавляем предмет в базу DBSessions.AccountSession.SaveOrUpdate(DHFirstWeapon); #endregion #region Нагрудник //Структура сущности предмета DBItemInstance ChestInstance = new DBItemInstance { GbId = 1612257704, // Affixes = "", Attributes = "312,:1|1,401298E-45;101,:0|0;329,:1|1,401298E-45;48,:1073741824|2;51,:1073741824|2;52,:1073741824|2;53,:1073741824|2;326,:1|1,401298E-45;330,:1425612098|8,559502E+12" }; // Добавляем сущность в базу DBSessions.AccountSession.SaveOrUpdate(ChestInstance); // Структура предмета DBInventory BARChest = new DBInventory { DBGameAccount = DBSessions.AccountSession.Get <DBGameAccount>(gameAccount.PersistentID), // Привязка к используемому аккаунту DBItemInstance = ChestInstance, // Использовать свеже созданную сущность предмета //Hardcore = isHardcore, // Хардкорный или нет персонаж DBToon = newDBToon, // Выдать созданному персонажу EquipmentSlot = 2, // Вооружить в первую руку LocationX = 0, LocationY = 0 }; // Добавляем предмет в базу DBSessions.AccountSession.SaveOrUpdate(BARChest); #endregion #region Штаны //Структура сущности предмета DBItemInstance PantsInstance = new DBItemInstance { GbId = -1512732138, // Affixes = "", Attributes = "312,:1|0;101,:0|0;329,:1|1,401298E-45;48,:1084227584|5;51,:1084227584|5;52,:1084227584|5;53,:1084227584|5;326,:1|1,401298E-45;330,:56548088|6,54913E-37;315,:1|1,401298E-45" }; // Добавляем сущность в базу DBSessions.AccountSession.SaveOrUpdate(PantsInstance); // Структура предмета DBInventory BARPants = new DBInventory { DBGameAccount = DBSessions.AccountSession.Get <DBGameAccount>(gameAccount.PersistentID), // Привязка к используемому аккаунту DBItemInstance = PantsInstance, // Использовать свеже созданную сущность предмета // Hardcore = isHardcore, // Хардкорный или нет персонаж DBToon = newDBToon, // Выдать созданному персонажу EquipmentSlot = 9, // Вооружить в первую руку LocationX = 0, LocationY = 0 }; // Добавляем предмет в базу DBSessions.AccountSession.SaveOrUpdate(BARPants); #endregion } #endregion //*/ #endregion #region Начало прогресса. 1 Акт, Пока не взятый квест. DBProgressToon StartProgress = new DBProgressToon { DBGameAccount = DBSessions.AccountSession.Get <DBGameAccount>(gameAccount.PersistentID), // Привязка к используемому аккаунту DBToon = newDBToon, // Выдать созданному персонажу MaximumQuest = 87700, // Максимальный квест MaximumAct = 0, // Максимальный квест StepOfQuest = 0, //Текущий шаг квеста ActiveAct = 0, // Активный акт ActiveQuest = -1, // Активный квест StepIDofQuest = 1, LoreCollected = "", StatusOfWings = 0, LastCheckPoint = -1, LastWorld = -1, WaypointStatus = 1, WaypointStatus2 = 1, WaypointStatus3 = 1, WaypointStatus4 = 1 }; DBSessions.AccountSession.SaveOrUpdate(StartProgress); DBPortalOfToon NullPortal = new DBPortalOfToon { DBGameAccount = DBSessions.AccountSession.Get <DBGameAccount>(gameAccount.PersistentID), DBToon = newDBToon, X = 0, Y = 0, Z = 0, WorldDest = 0 }; DBSessions.AccountSession.SaveOrUpdate(NullPortal); DBArtisansOfToon BaseArtisans = new DBArtisansOfToon { DBGameAccount = DBSessions.AccountSession.Get <DBGameAccount>(gameAccount.PersistentID), DBToon = newDBToon, Blacksmith = 1, Jeweler = 1, Mystic = 1, }; DBSessions.AccountSession.SaveOrUpdate(BaseArtisans); DBHirelingsOfToon BaseInfoOfHirelings = new DBHirelingsOfToon { DBGameAccount = DBSessions.AccountSession.Get <DBGameAccount>(gameAccount.PersistentID), DBToon = newDBToon, Level_Templar = 1, Level_Scoundrel = 1, Level_Enchantress = 1, Experience_Templar = 1200, Experience_Scoundrel = 1200, Experience_Enchantress = 1200, Templar_Skill1 = -1, Templar_Skill2 = -1, Templar_Skill3 = -1, Templar_Skill4 = -1, Scoundrel_Skill1 = -1, Scoundrel_Skill2 = -1, Scoundrel_Skill3 = -1, Scoundrel_Skill4 = -1, Enchantress_Skill1 = -1, Enchantress_Skill2 = -1, Enchantress_Skill3 = -1, Enchantress_Skill4 = -1 }; DBSessions.AccountSession.SaveOrUpdate(BaseInfoOfHirelings); #endregion DBSessions.AccountSession.SaveOrUpdate(dbGameAccount); DBSessions.AccountSession.Flush(); DBSessions.AccountSession.Refresh(dbGameAccount); return(GetToonByLowID(newDBToon.Id)); }