using System; using System.Reflection; using DOL.Database; using log4net; using DOL.GS; using DOL.GS.PacketHandler; namespace DOL.GS { public class LootGeneratorArtifact : LootGeneratorBase { //Minimum level mob to drop an artifact. private static int MIN_LEVEL = 50; //%chance for an artifact to drop. private static int DROP_CHANCE = 30; //Toggle scaling of drop % by the relative level of mob to attacker. If the mob is lower level, chance reduced. If mob is higher, chance increased. //Modifier is the rate at which the chance changes by level difference. Mod = 5 means that the drop% changes by 5% per level difference. private static bool CHANCE_SCALE = false; private static int MODIFIER = 1; //Toggle Realm Specific artifacts. Artifacts will only drop of an appropriate realm to the killer, will only be usable by appropriate realms. private static bool REALM_SPECIFIC = true; //Maximum number of artifact drops from a single mob private static int MAX_DROPS = 1; // Defines a logger for this class. private static readonly ILog log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); // Map holding the corresponding lootTemplateName for each Moblevel group // groups are rounded down to 1-5, 5-10, 10-15, 15-20, 20-25, etc... // 1:n Mapping between Moblevel and LootTemplate protected static ItemTemplate[][] m_itemTemplates=null; // Constrcut a new templategenerate and load it's values from database. public LootGeneratorArtifact() { } public override LootList GenerateLoot(GameMob mob, GameObject killer) { LootList loot = new LootList(); if(mob.Level >= MIN_LEVEL) { int NewChance = DROP_CHANCE; if(CHANCE_SCALE) { NewChance += (mob.Level - killer.Level)*MODIFIER; if(NewChance > 100) NewChance = 100; if(NewChance < 0) NewChance = 0; } if (Util.Chance(NewChance)) { int count = 1; if(MAX_DROPS > 1) count = Util.Random(1, MAX_DROPS); for(int i = 0; i < count; i++) loot.AddFixed(GetArtifact(REALM_SPECIFIC, killer.Realm)); } } return loot; } public virtual ItemTemplate GetArtifact(bool rs, byte krealm) { ItemTemplate temp = new ItemTemplate(); /*These properties apply to all artifacts unless otherwise specified*/ temp.Condition = 500000; temp.Durability = 500000; temp.MaxCondition = 500000; temp.MaxDurability = 500000; temp.Quality = 100; temp.MaxQuality = 100; temp.MaxQuality = 100; temp.Bonus = 35; temp.IsPickable = true; temp.IsDropable = true; temp.Weight = 20; temp.SPD_ABS = 0; temp.DPS_AF = 0; byte RandRealm; if(!rs) { temp.Realm = 6; RandRealm = (byte)Util.Random(2); } else { RandRealm = krealm; temp.Realm = RandRealm; RandRealm--; } switch (Util.Random(1, 62)) { case 1: temp.Name = "A Flask"; temp.Level = 50; temp.Weight = 4; temp.Object_Type = 41; temp.Item_Type = 24; temp.Model = 1886; temp.Bonus1 = 15; temp.Bonus1Type = 1; temp.Bonus2 = 15; temp.Bonus2Type = 3; temp.Bonus3 = 15; temp.Bonus3Type = 4; temp.Bonus4 = 5; temp.Bonus4Type = 203; temp.Bonus5 = 5; temp.Bonus5Type = Util.Random(11, 19); //Random 5% resist. temp.ExtraBonus = 40; temp.ExtraBonusType = 10; break; case 2: temp.Name = "Alvarus' Leggings"; temp.Weight = 8; temp.Item_Type = 27; temp.Level = 50; int x = RandRealm; if(!rs || RandRealm == 0) x = Util.Random(4); else x = Util.Random(3); switch(x) { case 0: temp.Object_Type = 32; temp.Model = 2505; temp.SPD_ABS = 0; temp.DPS_AF = 51; break; case 1: temp.Object_Type = 33; temp.Model = 2507; temp.SPD_ABS = 10; temp.DPS_AF = 102; break; case 2: if(RandRealm == 2) temp.Object_Type = 37; else temp.Object_Type = 34; temp.Model = 2509; temp.SPD_ABS = 19; temp.DPS_AF = 102; break; case 3: if(RandRealm == 2) temp.Object_Type = 38; else temp.Object_Type = 35; temp.Model = 1745; temp.SPD_ABS = 27; temp.DPS_AF = 102; break; case 4: temp.Object_Type = 36; temp.Model = 2510; temp.SPD_ABS = 102; temp.DPS_AF = 34; break; } temp.Bonus1 = 36; temp.Bonus1Type = 210; temp.Bonus2 = 5; temp.Bonus2Type = 11; temp.Bonus3 = 5; temp.Bonus3Type = 12; temp.Bonus4 = 5; temp.Bonus4Type = 15; temp.Bonus5 = 5; temp.Bonus5Type = 18; temp.ExtraBonus = 5; temp.ExtraBonusType = 19; break; case 3: temp.Name = "Arms of the Winds"; temp.Weight = 5; temp.Item_Type = 28; if(!rs || RandRealm == 0) x = Util.Random(4); else x = Util.Random(3); switch(x) { case 0: temp.Object_Type = 32; temp.Model = 2500; temp.SPD_ABS = 0; temp.DPS_AF = 51; break; case 1: temp.Object_Type = 33; temp.Model = 2501; temp.SPD_ABS = 10; temp.DPS_AF = 102; break; case 2: if(RandRealm == 2) temp.Object_Type = 37; else temp.Object_Type = 34; temp.Model = 2502; temp.SPD_ABS = 19; temp.DPS_AF = 102; break; case 3: if(RandRealm == 2) temp.Object_Type = 38; else temp.Object_Type = 35; temp.Model = 1733; temp.SPD_ABS = 27; temp.DPS_AF = 102; break; case 4: temp.Object_Type = 36; temp.Model = 2503; temp.SPD_ABS = 102; temp.DPS_AF = 34; break; } temp.Bonus1 = 18; temp.Bonus1Type = 2; temp.Bonus2 = 12; temp.Bonus2Type = 148; temp.Bonus3 = 6; temp.Bonus3Type = 194; temp.Bonus4 = 7; temp.Bonus4Type = 13; temp.Bonus5 = 7; temp.Bonus5Type = 17; temp.ExtraBonus = 7; temp.ExtraBonusType = 19; break; case 4: temp.Name = "Aten's Shield"; temp.Object_Type = 42; temp.Item_Type = 11; temp.Model = 1663; temp.Level = 41; temp.SPD_ABS = 3; temp.DPS_AF = 15; temp.Type_Damage = 1; temp.Bonus1 = 10; temp.Bonus1Type = 148; temp.Bonus2 = 5; temp.Bonus2Type = 202; temp.Bonus3 = 5; temp.Bonus3Type = 203; temp.Bonus4 = 3; temp.Bonus4Type = 15; temp.Bonus5 = 3; temp.Bonus5Type = 12; temp.ExtraBonus = 3; temp.ExtraBonusType = 14; break; case 5: temp.Name = "Tablet of Atlantis"; temp.Object_Type = 41; temp.Item_Type = 24; temp.Model = 1886; temp.Level = 50; temp.Bonus1 = 15; temp.Bonus1Type = 156; temp.Bonus2 = 3; temp.Bonus2Type = 163; temp.Bonus3 = 40; temp.Bonus3Type = 10; temp.Bonus4 = 10; temp.Bonus4Type = 148; temp.Bonus5 = 5; temp.Bonus5Type = 197; break; case 6: temp.Name = "Band of Stars"; temp.Object_Type = 41; temp.Item_Type = 34; temp.Model = 1885; temp.Level = 50; temp.Bonus1 = 40; temp.Bonus1Type = 210; temp.Bonus2 = 5; temp.Bonus2Type = 202; temp.Bonus3 = 5; temp.Bonus3Type = 203; temp.Bonus4 = 5; temp.Bonus4Type = 16; temp.Bonus5 = 5; temp.Bonus5Type = 11; temp.ExtraBonus = 5; temp.ExtraBonusType = 18; break; case 7: temp.Name = "Battler"; switch(Util.Random(1)) { case 0: temp.Model = 1670; temp.SPD_ABS = 56; temp.Hand = 1; temp.Type_Damage = Util.Random(1) + 1; switch(RandRealm) { case 0: temp.Object_Type = 6; break; case 1: if(temp.Type_Damage == 1) temp.Object_Type = 12; else temp.Object_Type = 11; break; case 2: temp.Object_Type = 22; break; } break; case 1: temp.Model = 2112; temp.SPD_ABS = 41; temp.Hand = 0; temp.Type_Damage = Util.Random(1) + 1; switch(RandRealm) { case 0: if(temp.Type_Damage == 1) temp.Object_Type = 2; else temp.Object_Type = 3; break; case 1: if(temp.Type_Damage == 1) temp.Object_Type = 12; else temp.Object_Type = 11; break; case 2: if(temp.Type_Damage == 1) temp.Object_Type = 19; else temp.Object_Type = 20; break; } break; } temp.Level = 50; temp.DPS_AF = 165; temp.Bonus1 = 15; temp.Bonus1Type = 1; temp.Bonus2 = 15; temp.Bonus2Type = 2; temp.Bonus3 = 6; temp.Bonus3Type = 13; temp.Bonus4 = 6; temp.Bonus4Type = 17; temp.Bonus5 = 6; temp.Bonus5Type = 19; temp.ExtraBonus = 5; temp.ExtraBonusType = 155; break; case 8: temp.Name = "Belt of the Moon"; temp.Object_Type = 41; temp.Item_Type = 32; temp.Model = 1884; temp.Level = 50; temp.Bonus1 = 40; temp.Bonus1Type = 210; temp.Bonus2 = 10; temp.Bonus2Type = 156; temp.Bonus3 = 10; temp.Bonus3Type = 2; temp.Bonus4 = 5; temp.Bonus4Type = 13; temp.Bonus5 = 5; temp.Bonus5Type = 14; temp.ExtraBonus = 5; temp.ExtraBonusType = 18; break; case 9: temp.Name = "Belt of the Sun"; temp.Object_Type = 41; temp.Item_Type = 32; temp.Model = 1884; temp.Level = 50; temp.Bonus1 = 40; temp.Bonus1Type = 210; temp.Bonus2 = 10; temp.Bonus2Type = 1; temp.Bonus3 = 10; temp.Bonus3Type = 2; temp.Bonus4 = 5; temp.Bonus4Type = 13; temp.Bonus5 = 5; temp.Bonus5Type = 14; temp.ExtraBonus = 5; temp.ExtraBonusType = 18; break; case 10: temp.Name = "Bracer of Zo'arkat"; temp.Object_Type = 41; temp.Item_Type = 33; temp.Model = 1885; temp.Level = 50; temp.Bonus1 = 18; temp.Bonus1Type = 156; temp.Bonus2 = 5; temp.Bonus2Type = 16; temp.Bonus3 = 5; temp.Bonus3Type = 11; temp.Bonus4 = 5; temp.Bonus4Type = 18; temp.Bonus5 = 6; temp.Bonus5Type = 196; temp.ExtraBonus = 4; temp.ExtraBonusType = 153; break; case 11: temp.Name = "Braggart's Bow"; switch(RandRealm) { case 0: temp.Object_Type = 9; temp.SPD_ABS = 54; break; case 1: temp.Object_Type = 15; temp.SPD_ABS = 48; break; case 2: temp.Object_Type = 18; temp.SPD_ABS = 51; break; } temp.Item_Type = 13; temp.Model = 1667; temp.Level = 50; temp.DPS_AF = 165; temp.Hand = 1; temp.Type_Damage = 3; temp.Bonus1 = 6; temp.Bonus1Type = 202; temp.Bonus2 = 6; temp.Bonus2Type = 204; temp.Bonus3 = 3; temp.Bonus3Type = 168; temp.Bonus4 = 4; temp.Bonus4Type = 154; temp.Bonus5 = 4; temp.Bonus5Type = 174; temp.ExtraBonus = 2; temp.ExtraBonusType = 188; break; case 12: temp.Name = "Bruiser"; switch(Util.Random(1)) { case 0: temp.Model = 1671; temp.SPD_ABS = 56; temp.Hand = 1; switch(RandRealm) { case 0: temp.Object_Type = 6; break; case 1: temp.Object_Type = 11; break; case 2: temp.Object_Type = 22; break; } break; case 1: temp.Model = 2113; temp.SPD_ABS = 41; temp.Hand = 0; switch(RandRealm) { case 0: temp.Object_Type = 3; break; case 1: temp.Object_Type = 11; break; case 2: temp.Object_Type = 20; break; } break; } temp.Type_Damage = 1; temp.Level = 50; temp.DPS_AF = 165; switch(Util.Random(1)) { case 0: temp.Bonus1 = 40; temp.Bonus1Type = 10; temp.Bonus2 = 15; temp.Bonus2Type = 3; break; case 1: temp.Bonus1 = 3; if(RandRealm == 0) temp.Bonus1Type = 25; else if(RandRealm == 1) temp.Bonus1Type = 53; else if(temp.Object_Type == 22) temp.Bonus1Type = 75; else temp.Bonus1Type = 73; temp.Bonus2 = 15; temp.Bonus2Type = 2; break; } temp.Bonus3 = 15; temp.Bonus3Type = 1; temp.Bonus4 = 6; temp.Bonus4Type = 18; temp.Bonus5 = 6; temp.Bonus5Type = 14; temp.ExtraBonus = 4; temp.ExtraBonusType = 155; break; case 13: temp.Name = "Ceremonial Bracer"; temp.Object_Type = 41; temp.Item_Type = 33; temp.Model = 1885; temp.Level = 50; temp.Bonus1 = 18; temp.Bonus2 = 40; temp.Bonus2Type = 10; temp.Bonus3 = 5; temp.Bonus4 = 40; temp.Bonus4Type = 210; temp.Bonus5 = 6; switch(Util.Random(4)) { case 0: temp.Bonus1Type = 1; temp.Bonus3Type = 201; temp.Bonus5Type = 13; break; case 1: temp.Bonus1Type = 2; temp.Bonus3Type = 202; temp.Bonus5Type = 17; break; case 2: temp.Bonus1Type = 3; temp.Bonus3Type = 203; temp.Bonus5Type = 19; break; case 3: temp.Bonus1Type = 4; temp.Bonus3Type = 204; temp.Bonus5Type = 17; break; case 4: temp.Bonus1Type = 156; temp.Bonus3Type = 209; temp.Bonus5Type = 14; break; } break; case 14: temp.Name = "Cloudsong"; temp.Object_Type = 32; temp.Item_Type = 26; temp.Model = 1727; temp.Level = 50; temp.Bonus1 = 5; temp.Bonus1Type = 196; temp.Bonus2 = 12; temp.Bonus2Type = 156; temp.Bonus3 = 5; temp.Bonus3Type = 191; temp.Bonus4 = 5; temp.Bonus4Type = 190; temp.Bonus5 = 8; temp.Bonus5Type = 148; temp.ExtraBonus = 5; temp.ExtraBonusType = 211; break; case 15: temp.Name = "Crocodile's Tears Ring"; temp.Object_Type = 41; temp.Item_Type = 35; temp.Model = 1888; temp.Level = 50; temp.Bonus1 = 4; temp.Bonus1Type = 15; temp.Bonus2 = 4; temp.Bonus2Type = 14; temp.Bonus3 = 4; temp.Bonus3Type = 12; temp.Bonus4 = 4; temp.Bonus4Type = 11; temp.Bonus5 = 4; temp.Bonus5Type = 16; temp.ExtraBonus = 15; temp.ExtraBonusType = 156; break; case 16: temp.Name = "Crocodile's Tooth Dagger"; switch(RandRealm) { case 0: if(Util.Random(1) == 1) { temp.Object_Type = 3; temp.Type_Damage = 2; } else { temp.Object_Type = 4; temp.Type_Damage = 3; } temp.Item_Type = 11; break; case 1: if(Util.Random(1) == 1) { temp.Object_Type = 11; temp.Item_Type = 10; } else { temp.Object_Type = 17; temp.Item_Type = 11; } temp.Type_Damage = 2; break; case 2: if(Util.Random(1) == 1) { temp.Object_Type = 19; temp.Type_Damage = 2; } else { temp.Object_Type = 21; temp.Type_Damage = 3; } temp.Item_Type = 11; break; } temp.Hand = 2; temp.Model = 1669; temp.Level = 50; temp.SPD_ABS = 35; temp.DPS_AF = 165; temp.Bonus1 = 27; temp.Bonus1Type = 1; temp.Bonus2 = 27; temp.Bonus2Type = 2; temp.Bonus3 = 2; temp.Bonus3Type = 155; temp.Bonus4 = 3; temp.Bonus4Type = 200; temp.Bonus5 = 4; temp.Bonus5Type = 173; break; case 17: temp.Name = "Crown of Zahur"; switch(RandRealm) { case 0: switch(Util.Random(4)) { case 0: temp.Object_Type = 32; temp.SPD_ABS = 0; temp.DPS_AF = 51; temp.Bonus1Type = 156; temp.Bonus2Type = 196; temp.ExtraBonusType = 209; break; case 1: temp.Object_Type = 33; temp.SPD_ABS = 10; temp.DPS_AF = 102; temp.Bonus1Type = 2; temp.Bonus2Type = 194; temp.ExtraBonusType = 202; break; case 2: temp.Object_Type = 34; temp.SPD_ABS = 19; temp.DPS_AF = 102; temp.Bonus1Type = 2; temp.Bonus2Type = 194; temp.ExtraBonusType = 202; break; case 3: temp.Object_Type = 35; temp.SPD_ABS = 27; temp.DPS_AF = 102; if(Util.Random(1) == 1) { temp.Bonus1Type = 2; temp.Bonus2Type = 194; temp.ExtraBonusType = 202; } else { temp.Bonus1Type = 1; temp.Bonus2Type = 194; temp.ExtraBonusType = 201; } break; case 4: temp.Object_Type = 36; temp.SPD_ABS = 34; temp.DPS_AF = 102; temp.Bonus1Type = 1; temp.Bonus2Type = 194; temp.ExtraBonusType = 201; break; } break; case 1: switch(Util.Random(3)) { case 0: temp.Object_Type = 32; temp.SPD_ABS = 0; temp.DPS_AF = 51; temp.Bonus1Type = 156; temp.Bonus2Type = 196; temp.ExtraBonusType = 209; break; case 1: temp.Object_Type = 33; temp.SPD_ABS = 10; temp.DPS_AF = 102; temp.Bonus1Type = 2; temp.Bonus2Type = 194; temp.ExtraBonusType = 202; break; case 2: temp.Object_Type = 34; temp.SPD_ABS = 19; temp.DPS_AF = 102; temp.Bonus1Type = 1; temp.Bonus2Type = 194; temp.ExtraBonusType = 201; break; case 3: temp.Object_Type = 35; temp.SPD_ABS = 27; temp.DPS_AF = 102; if(Util.Random(1) == 1) { temp.Bonus1Type = 2; temp.Bonus2Type = 194; temp.ExtraBonusType = 202; } else { temp.Bonus1Type = 1; temp.Bonus2Type = 194; temp.ExtraBonusType = 201; } break; } break; case 2: switch(Util.Random(3)) { case 0: temp.Object_Type = 32; temp.SPD_ABS = 0; temp.DPS_AF = 51; temp.Bonus1Type = 156; temp.Bonus2Type = 196; temp.ExtraBonusType = 209; break; case 1: temp.Object_Type = 33; temp.SPD_ABS = 10; temp.DPS_AF = 102; temp.Bonus1Type = 2; temp.Bonus2Type = 194; temp.ExtraBonusType = 202; break; case 2: temp.Object_Type = 37; temp.SPD_ABS = 19; temp.DPS_AF = 102; if(Util.Random(1) == 1) { temp.Bonus1Type = 2; temp.Bonus2Type = 194; temp.ExtraBonusType = 202; } else { temp.Bonus1Type = 1; temp.Bonus2Type = 194; temp.ExtraBonusType = 201; } break; case 3: temp.Object_Type = 38; temp.SPD_ABS = 27; temp.DPS_AF = 102; if(Util.Random(1) == 1) { temp.Bonus1Type = 2; temp.Bonus2Type = 194; temp.ExtraBonusType = 202; } else { temp.Bonus1Type = 1; temp.Bonus2Type = 194; temp.ExtraBonusType = 201; } break; } break; } temp.Item_Type = 21; temp.Model = 1839; temp.Level = 50; temp.Bonus1 = 18; temp.Bonus2 = 8; temp.Bonus3 = 5; temp.Bonus3Type = 13; temp.Bonus4 = 5; temp.Bonus4Type = 17; temp.Bonus5 = 5; temp.ExtraBonus = 5; break; case 18: temp.Name = "Cyclops Eye Shield"; temp.Object_Type = 42; temp.Item_Type = 11; temp.Type_Damage = Util.Random(1) + 1; temp.Model = 1664; temp.Level = 50; temp.SPD_ABS = 30; temp.DPS_AF = 165; switch(RandRealm) { case 0: temp.Bonus2Type = 12; temp.Bonus3Type = 14; break; case 1: temp.Bonus2Type = 16; temp.Bonus3Type = 14; break; case 2: temp.Bonus2Type = 16; temp.Bonus3Type = 12; break; } temp.Bonus1 = 40; temp.Bonus1Type = 10; temp.Bonus2 = 5; temp.Bonus3 = 5; temp.Bonus4 = 5; temp.Bonus4Type = 11; temp.Bonus5 = 5; temp.Bonus5Type = 15; temp.ExtraBonus = 5; temp.ExtraBonusType = 16; break; case 19: temp.Name = "Dream Sphere"; temp.Object_Type = 41; temp.Item_Type = 24; temp.Model = 1886; temp.Level = 50; temp.Bonus1 = 15; temp.Bonus1Type = 148; temp.Bonus2 = 40; temp.Bonus2Type = 10; temp.Bonus3 = 40; temp.Bonus3Type = 210; temp.Bonus4 = 5; temp.Bonus4Type = 16; temp.Bonus5 = 5; temp.Bonus5Type = 11; temp.ExtraBonus = 5; temp.ExtraBonusType = 18; break; case 20: temp.Name = "Eerie Darkness Stone"; temp.Object_Type = 41; temp.Item_Type = 24; temp.Model = 1886; temp.Level = 50; temp.Bonus1 = 4; temp.Bonus1Type = 13; temp.Bonus2 = 4; temp.Bonus2Type = 17; temp.Bonus3 = 4; temp.Bonus3Type = 19; temp.Bonus4 = 4; temp.Bonus4Type = 18; temp.Bonus5 = 4; temp.Bonus5Type = 11; temp.ExtraBonus = 4; temp.ExtraBonusType = 16; break; case 21: temp.Name = "Egg of Youth"; temp.Object_Type = 41; temp.Item_Type = 24; temp.Model = 1886; temp.Level = 50; temp.Bonus1 = 12; temp.Bonus1Type = 156; temp.Bonus2 = 32; temp.Bonus2Type = 10; temp.Bonus3 = 5; temp.Bonus3Type = 13; temp.Bonus4 = 5; temp.Bonus4Type = 17; temp.Bonus5 = 5; temp.Bonus5Type = 19; temp.ExtraBonus = 40; temp.ExtraBonusType = 210; break; case 22: temp.Name = "Eirene's Hauberk"; switch(RandRealm) { case 0: switch(Util.Random(2)) { case 0: temp.Model = 2226; temp.Object_Type = 36; temp.SPD_ABS = 34; temp.Bonus1Type = 1; temp.Bonus2Type = 201; temp.Bonus5 = 4; temp.Bonus5Type = 173; temp.ExtraBonus = 4; temp.ExtraBonusType = 200; break; case 1: temp.Model = 2511; temp.Object_Type = 35; temp.SPD_ABS = 27; temp.Bonus1Type = 1; temp.Bonus2Type = 201; temp.Bonus5 = 4; temp.Bonus5Type = 173; temp.ExtraBonus = 4; temp.ExtraBonusType = 200; break; case 2: temp.Model = 2511; temp.Object_Type = 35; temp.SPD_ABS = 27; temp.Bonus1Type = 156; temp.Bonus2Type = 209; temp.Bonus5 = 5; temp.Bonus5Type = 190; temp.ExtraBonus = 5; temp.ExtraBonusType = 195; break; } break; case 1: if(Util.Random(1) == 1) { temp.Model = 2511; temp.Object_Type = 35; temp.SPD_ABS = 27; temp.Bonus1Type = 156; temp.Bonus2Type = 209; temp.Bonus5 = 5; temp.Bonus5Type = 190; temp.ExtraBonus = 5; temp.ExtraBonusType = 195; } else { temp.Model = 2511; temp.Object_Type = 35; temp.SPD_ABS = 27; temp.Bonus1Type = 1; temp.Bonus2Type = 201; temp.Bonus5 = 4; temp.Bonus5Type = 173; temp.ExtraBonus = 4; temp.ExtraBonusType = 200; } break; case 2: if(Util.Random(1) == 1) { temp.Model = 2511; temp.Object_Type = 38; temp.SPD_ABS = 27; temp.Bonus1Type = 156; temp.Bonus2Type = 209; temp.Bonus5 = 5; temp.Bonus5Type = 190; temp.ExtraBonus = 5; temp.ExtraBonusType = 195; } else { temp.Model = 2511; temp.Object_Type = 38; temp.SPD_ABS = 27; temp.Bonus1Type = 1; temp.Bonus2Type = 201; temp.Bonus5 = 4; temp.Bonus5Type = 173; temp.ExtraBonus = 4; temp.ExtraBonusType = 200; } break; } temp.Item_Type = 25; temp.Level = 50; temp.DPS_AF = 102; temp.Bonus1 = 15; temp.Bonus2 = 5; temp.Bonus3 = 6; temp.Bonus3Type = 19; temp.Bonus4 = 6; temp.Bonus4Type = 17; break; case 23: temp.Name = "Enyalio's Boots"; switch(RandRealm) { case 0: switch(Util.Random(2)) { case 0: temp.Object_Type = 34; temp.Model = 2488; temp.SPD_ABS = 19; break; case 1: temp.Object_Type = 35; temp.Model = 1729; temp.SPD_ABS = 27; break; case 2: temp.Object_Type = 36; temp.Model = 2487; temp.SPD_ABS = 34; break; } break; case 1: switch(Util.Random(2)) { case 0: temp.Object_Type = 34; temp.Model = 2488; temp.SPD_ABS = 19; break; case 1: temp.Object_Type = 35; temp.Model = 1729; temp.SPD_ABS = 27; break; } break; case 2: switch(Util.Random(2)) { case 0: temp.Object_Type = 34; temp.Model = 2488; temp.SPD_ABS = 19; break; case 1: temp.Object_Type = 35; temp.Model = 1729; temp.SPD_ABS = 27; break; } break; } temp.Item_Type = 23; temp.Level = 50; temp.DPS_AF = 102; temp.Bonus1 = 15; temp.Bonus1Type = 1; temp.Bonus2 = 40; temp.Bonus2Type = 10; temp.Bonus3 = 5; temp.Bonus3Type = 201; temp.Bonus4 = 5; temp.Bonus4Type = 202; temp.Bonus5 = 10; temp.Bonus5Type = 148; temp.ExtraBonus = 40; temp.ExtraBonusType = 210; break; case 24: temp.Name = "Erinys Charm"; temp.Object_Type = 41; temp.Item_Type = 24; temp.Model = 1886; temp.Level = 50; temp.Bonus1 = 40; temp.Bonus1Type = 10; temp.Bonus2 = 15; temp.Bonus2Type = 156; temp.Bonus3 = 15; temp.Bonus3Type = 3; temp.Bonus4 = 5; temp.Bonus4Type = 14; temp.Bonus5 = 5; temp.Bonus5Type = 18; temp.ExtraBonus = 5; temp.ExtraBonusType = 153; break; case 25: temp.Name = "Eternal Plant"; temp.Object_Type = 41; temp.Item_Type = 24; temp.Model = 1886; temp.Level = 50; temp.Bonus1 = 15; temp.Bonus1Type = 156; temp.Bonus2 = 15; temp.Bonus2Type = 3; temp.Bonus3 = 5; temp.Bonus3Type = 14; temp.Bonus4 = 5; temp.Bonus4Type = 12; temp.Bonus5 = 5; temp.Bonus5Type = 15; temp.ExtraBonus = 5; temp.ExtraBonusType = 190; break; case 26: temp.Name = "Flamedancer's Boots"; switch(RandRealm) { case 0: if(Util.Random(1) == 1) { temp.Object_Type = 32; temp.Model = 1730; temp.SPD_ABS = 0; temp.DPS_AF = 51; temp.Bonus1Type = 156; temp.Bonus3Type = 209; temp.Bonus4Type = 202; } else { temp.Object_Type = 33; temp.Model = 2486; temp.SPD_ABS = 10; temp.DPS_AF = 102; temp.Bonus1Type = 3; temp.Bonus3Type = 203; temp.Bonus4Type = 205; } break; case 1: temp.Object_Type = 32; temp.Model = 1730; temp.SPD_ABS = 0; temp.DPS_AF = 51; temp.Bonus1Type = 156; temp.Bonus3Type = 209; temp.Bonus4Type = 202; break; case 2: temp.Object_Type = 32; temp.Model = 1730; temp.SPD_ABS = 0; temp.DPS_AF = 51; temp.Bonus1Type = 156; temp.Bonus3Type = 209; temp.Bonus4Type = 202; break; } temp.Item_Type = 23; temp.Level = 50; temp.Bonus1 = 15; temp.Bonus2 = 40; temp.Bonus2Type = 10; temp.Bonus3 = 5; temp.Bonus4 = 5; temp.Bonus5 = 40; temp.Bonus5Type = 210; temp.ExtraBonus = 10; temp.ExtraBonusType = 148; break; case 27: temp.Name = "Fool's Bow"; switch(RandRealm) { case 0: temp.Object_Type = 9; temp.SPD_ABS = 51; break; case 1: temp.Object_Type = 15; temp.SPD_ABS = 45; break; case 2: temp.Object_Type = 18; temp.SPD_ABS = 49; break; } temp.Item_Type = 13; temp.Model = 1666; temp.Level = 50; temp.DPS_AF = 165; temp.Hand = 1; temp.Type_Damage = 3; temp.Bonus1 = 18; temp.Bonus1Type = 2; temp.Bonus2 = 18; temp.Bonus2Type = 5; temp.Bonus3 = 5; temp.Bonus3Type = 168; temp.Bonus4 = 3; temp.Bonus4Type = 154; temp.Bonus5 = 3; temp.Bonus5Type = 174; temp.ExtraBonus = 3; temp.ExtraBonusType = 188; break; case 28: temp.Name = "Foppish Sleeves"; switch(RandRealm) { case 0: switch(Util.Random(2)) { case 0: temp.Object_Type = 32; temp.Model = 1732; temp.SPD_ABS = 0; temp.DPS_AF = 51; temp.Bonus5Type = 156; temp.ExtraBonusType = 209; break; case 1: temp.Object_Type = 33; temp.Model = 2490; temp.SPD_ABS = 10; temp.DPS_AF = 102; temp.Bonus5Type = 2; temp.ExtraBonusType = 202; break; case 2: temp.Object_Type = 34; temp.Model = 2491; temp.SPD_ABS = 19; temp.DPS_AF = 102; temp.Bonus5Type = 3; temp.ExtraBonusType = 203; break; } break; case 1: switch(Util.Random(2)) { case 0: temp.Object_Type = 32; temp.Model = 1732; temp.SPD_ABS = 0; temp.DPS_AF = 51; temp.Bonus5Type = 156; temp.ExtraBonusType = 209; break; case 1: temp.Object_Type = 33; temp.Model = 2490; temp.SPD_ABS = 10; temp.DPS_AF = 102; temp.Bonus5Type = 2; temp.ExtraBonusType = 202; break; case 2: temp.Object_Type = 34; temp.Model = 2491; temp.SPD_ABS = 19; temp.DPS_AF = 102; temp.Bonus5Type = 3; temp.ExtraBonusType = 203; break; } break; case 2: switch(Util.Random(2)) { case 0: temp.Object_Type = 32; temp.Model = 1732; temp.SPD_ABS = 0; temp.DPS_AF = 51; temp.Bonus5Type = 156; temp.ExtraBonusType = 209; break; case 1: temp.Object_Type = 33; temp.Model = 2490; temp.SPD_ABS = 10; temp.DPS_AF = 102; temp.Bonus5Type = 2; temp.ExtraBonusType = 202; break; case 2: temp.Object_Type = 34; temp.Model = 2491; temp.SPD_ABS = 19; temp.DPS_AF = 102; temp.Bonus5Type = 3; temp.ExtraBonusType = 203; break; } break; } temp.Item_Type = 28; temp.Level = 50; temp.Bonus1 = 15; temp.Bonus1Type = 2; temp.Bonus2 = 5; temp.Bonus2Type = 17; temp.Bonus3 = 5; temp.Bonus3Type = 19; temp.Bonus4 = 5; temp.Bonus4Type = 202; temp.Bonus5 = 15; temp.ExtraBonus = 5; break; case 29: temp.Name = "Gem of Lost Memories"; temp.Object_Type = 41; temp.Item_Type = 24; temp.Model = 1886; temp.Level = 30; temp.Bonus1 = 10; temp.Bonus1Type = 3; temp.Bonus2 = 4; temp.Bonus2Type = 16; temp.Bonus3 = 4; temp.Bonus3Type = 11; temp.Bonus4 = 2; temp.Bonus5 = 2; temp.ExtraBonus = 2; switch(Util.Random(2)) { case 0: temp.Bonus4Type = 163; temp.Bonus5Type = 153; temp.ExtraBonusType = 198; break; case 1: temp.Bonus4Type = 164; temp.Bonus5Type = 173; temp.ExtraBonusType = 200; break; case 2: temp.Bonus4Type = 168; temp.Bonus5Type = 154; temp.ExtraBonusType = 174; break; } break; case 30: temp.Name = "Goddess' Necklace"; temp.Object_Type = 41; temp.Item_Type = 29; temp.Model = 1887; temp.Level = 50; temp.Bonus1 = 9; temp.Bonus1Type = 1; temp.Bonus2 = 9; temp.Bonus2Type = 2; temp.Bonus3 = 9; temp.Bonus3Type = 3; temp.Bonus4 = 3; temp.Bonus4Type = 16; temp.Bonus5 = 3; temp.Bonus5Type = 18; temp.ExtraBonus = 3; temp.ExtraBonusType = 11; break; case 31: temp.Name = "Golden Scarab Vest"; switch(RandRealm) { case 0: case 1: if(Util.Random(1) == 1) { temp.Object_Type = 33; temp.SPD_ABS = 10; temp.Model = 2187; temp.Bonus1Type = 2; temp.Bonus5Type = 200; temp.ExtraBonusType = 173; } else { temp.Object_Type = 34; temp.SPD_ABS = 19; temp.Model = 2497; temp.Bonus1Type = 2; temp.Bonus5Type = 154; temp.ExtraBonusType = 174; } break; case 2: switch(Util.Random(2)) { case 0: temp.Object_Type = 33; temp.SPD_ABS = 10; temp.Model = 2187; temp.Bonus1Type = 2; temp.Bonus5Type = 200; temp.ExtraBonusType = 173; break; case 1: temp.Object_Type = 37; temp.SPD_ABS = 19; temp.Model = 2497; temp.Bonus1Type = 2; temp.Bonus5Type = 154; temp.ExtraBonusType = 174; break; case 2: temp.Object_Type = 37; temp.SPD_ABS = 19; temp.Model = 2497; temp.Bonus1Type = 8; temp.Bonus5Type = 198; temp.ExtraBonusType = 153; break; } break; } temp.Item_Type = 25; temp.Level = 50; temp.DPS_AF = 102; temp.Bonus1 = 15; temp.Bonus2 = 6; temp.Bonus2Type = 13; temp.Bonus3 = 6; temp.Bonus3Type = 17; temp.Bonus4 = 6; temp.Bonus4Type = 19; temp.Bonus5 = 4; temp.ExtraBonus = 4; break; case 32: temp.Name = "Golden Spear"; switch(RandRealm) { case 0: temp.Hand = 0; temp.Object_Type = 4; temp.Type_Damage = 3; temp.Item_Type = 10; temp.Model = 1807; temp.SPD_ABS = 42; break; case 1: if(Util.Random(1) == 1) { temp.Hand = 0; temp.Object_Type = 11; temp.Type_Damage = 2; temp.Item_Type = 10; temp.Model = 1807; temp.SPD_ABS = 42; } else { temp.Hand = 1; temp.Object_Type = 14; temp.Type_Damage = 3; temp.Item_Type = 12; temp.Model = 1662; temp.SPD_ABS = 54; } break; case 2: if(Util.Random(1) == 1) { temp.Hand = 0; temp.Object_Type = 21; temp.Type_Damage = 3; temp.Item_Type = 10; temp.Model = 1807; temp.SPD_ABS = 42; } else { temp.Hand = 1; temp.Object_Type = 23; temp.Type_Damage = 3; temp.Item_Type = 12; temp.Model = 1662; temp.SPD_ABS = 54; } break; } temp.Level = 50; temp.DPS_AF = 165; temp.Bonus1 = 4; temp.Bonus1Type = 155; temp.Bonus2 = 12; temp.Bonus2Type = 1; temp.Bonus3 = 12; temp.Bonus3Type = 2; temp.Bonus4 = 7; temp.Bonus4Type = 13; temp.Bonus5 = 7; temp.Bonus5Type = 17; temp.ExtraBonus = 7; temp.ExtraBonusType = 19; break; case 33: temp.Name = "Guard of Valor"; x = RandRealm; if(!rs || RandRealm == 0) x = Util.Random(4); else x = Util.Random(3); switch(x) { case 0: temp.Object_Type = 32; temp.Model = 2121; temp.SPD_ABS = 0; temp.DPS_AF = 51; temp.Bonus1Type = 156; temp.Bonus2Type = 209; temp.Bonus5Type = 191; temp.ExtraBonusType = 198; break; case 1: temp.Object_Type = 33; temp.Model = 2470; temp.SPD_ABS = 10; temp.DPS_AF = 102; temp.Bonus1Type = 1; temp.Bonus2Type = 201; temp.Bonus5Type = 173; temp.ExtraBonusType = 200; break; case 2: if(RandRealm ==2) { if(Util.Chance(50)) { temp.Object_Type = 37; temp.Model = 2475; temp.SPD_ABS = 10; temp.DPS_AF = 102; temp.Bonus1Type = 156; temp.Bonus2Type = 209; temp.Bonus5Type = 191; temp.ExtraBonusType = 153; break; } } else { if(RandRealm == 2) temp.Object_Type = 37; else temp.Object_Type = 34; temp.Model = 2475; temp.SPD_ABS = 19; temp.DPS_AF = 102; temp.Bonus1Type = 1; temp.Bonus2Type = 201; temp.Bonus5Type = 173; temp.ExtraBonusType = 200; } break; case 3: if(Util.Random(1) == 1) { if(RandRealm == 2) temp.Object_Type = 38; else temp.Object_Type = 35; temp.Model = 2476; temp.SPD_ABS = 27; temp.DPS_AF = 102; temp.Bonus1Type = 1; temp.Bonus2Type = 201; temp.Bonus5Type = 173; temp.ExtraBonusType = 200; } else { if(RandRealm == 2) temp.Object_Type = 38; else temp.Object_Type = 35; temp.Model = 2476; temp.SPD_ABS = 27; temp.DPS_AF = 102; temp.Bonus1Type = 156; temp.Bonus2Type = 209; temp.Bonus5Type = 191; temp.ExtraBonusType = 153; } break; case 4: temp.Object_Type = 35; temp.Model = 2476; temp.SPD_ABS = 27; temp.DPS_AF = 102; temp.Bonus1Type = 1; temp.Bonus2Type = 201; temp.Bonus5Type = 173; temp.ExtraBonusType = 200; break; } temp.Item_Type = 25; temp.Level = 50; temp.Bonus1 = 18; temp.Bonus2 = 5; temp.Bonus3 = 15; temp.Bonus3Type = 2; temp.Bonus4 = 5; temp.Bonus4Type = 202; temp.Bonus5 = 4; temp.ExtraBonus = 4; break; case 34: temp.Name = "Harpy Feather Cloak"; temp.Object_Type = 32; temp.Item_Type = 36; temp.Model = 1721; temp.Level = 50; temp.Bonus1 = 6; temp.Bonus1Type = 13; temp.Bonus2 = 6; temp.Bonus2Type = 17; temp.Bonus3 = 6; temp.Bonus3Type = 19; temp.Bonus4 = 4; temp.Bonus4Type = 40; temp.Bonus5 = 5; temp.Bonus5Type = 155; break; case 35: temp.Name = "Healer's Embrace"; temp.Object_Type = 32; temp.Item_Type = 26; temp.Model = 1723; temp.Level = 50; temp.Bonus1 = 15; temp.Bonus1Type = 156; temp.Bonus2 = 15; temp.Bonus2Type = 2; temp.Bonus3 = 3; temp.Bonus3Type = 12; temp.Bonus4 = 3; temp.Bonus4Type = 14; temp.Bonus5 = 3; temp.Bonus5Type = 15; temp.ExtraBonus = 5; temp.ExtraBonusType = 195; break; case 36: temp.Name = "Jacina's Sash"; temp.Object_Type = 41; temp.Item_Type = 32; temp.Model = 1884; temp.Level = 50; temp.Bonus1 = 6; temp.Bonus1Type = 153; temp.Bonus2 = 6; temp.Bonus2Type = 197; temp.Bonus3 = 5; temp.Bonus3Type = 211; temp.Bonus4 = 5; temp.Bonus4Type = 199; temp.Bonus5 = 5; temp.Bonus5Type = 195; temp.ExtraBonus = 5; temp.ExtraBonusType = 196; break; case 37: temp.Name = "Kalare's Necklace"; temp.Object_Type = 41; temp.Item_Type = 29; temp.Model = 1887; temp.Level = 50; temp.Bonus1 = 5; temp.Bonus1Type = 14; temp.Bonus2 = 5; temp.Bonus2Type = 15; temp.Bonus3 = 5; temp.Bonus3Type = 18; temp.Bonus4 = 5; temp.Bonus4Type = 196; temp.Bonus5 = 5; temp.Bonus5Type = 190; temp.ExtraBonus = 5; temp.ExtraBonusType = 195; break; case 38: temp.Name = "Maddening Scalars"; x = RandRealm; if(!rs || RandRealm == 0) x = Util.Random(4); switch(x) { case 0: temp.Object_Type = 32; temp.Model = 2492; temp.SPD_ABS = 0; temp.DPS_AF = 51; temp.Bonus2Type = 156; temp.Bonus3Type = 2; temp.Bonus4Type = 191; temp.Bonus5Type = 209; temp.ExtraBonusType = 202; break; case 1: temp.Object_Type = 33; temp.Model = 2493; temp.SPD_ABS = 10; temp.DPS_AF = 102; temp.Bonus2Type = 4; temp.Bonus3Type = 2; temp.Bonus4Type = 155; temp.Bonus5Type = 204; temp.ExtraBonusType = 202; break; case 2: if(RandRealm == 2) temp.Object_Type = 37; else temp.Object_Type = 34; temp.Model = 2494; temp.SPD_ABS = 19; temp.DPS_AF = 102; temp.Bonus2Type = 3; temp.Bonus3Type = 2; temp.Bonus4Type = 155; temp.Bonus5Type = 203; temp.ExtraBonusType = 202; break; case 3: if(RandRealm == 2) temp.Object_Type = 38; else temp.Object_Type = 34; temp.Model = 2495; temp.SPD_ABS = 27; temp.DPS_AF = 102; temp.Bonus2Type = 1; temp.Bonus3Type = 3; temp.Bonus4Type = 155; temp.Bonus5Type = 201; temp.ExtraBonusType = 203; break; case 4: temp.Object_Type = 36; temp.Model = 1746; temp.SPD_ABS = 34; temp.DPS_AF = 102; temp.Bonus2Type = 1; temp.Bonus3Type = 3; temp.Bonus4Type = 155; temp.Bonus5Type = 201; temp.ExtraBonusType = 203; break; } temp.Level = 50; temp.Item_Type = 22; temp.Bonus1 = 40; temp.Bonus1Type = 10; temp.Bonus2 = 15; temp.Bonus3 = 15; temp.Bonus4 = 3; temp.Bonus5 = 5; temp.ExtraBonus = 5; break; case 39: temp.Name = "Nailah's Robe"; temp.Object_Type = 32; temp.Item_Type = 22; temp.Model = 2516; temp.Level = 50; temp.SPD_ABS = 0; temp.DPS_AF = 51; temp.Bonus1 = 15; temp.Bonus1Type = 156; temp.Bonus2 = 6; temp.Bonus2Type = 13; temp.Bonus3 = 6; temp.Bonus3Type = 17; temp.Bonus4 = 6; temp.Bonus4Type = 19; temp.Bonus5 = 4; temp.Bonus5Type = 153; temp.ExtraBonus = 4; temp.ExtraBonusType = 198; if(RandRealm == 0) { if(Util.Chance(50)) { temp.Object_Type = 33; temp.DPS_AF = 102; temp.SPD_ABS = 10; temp.Bonus5Type = 195; temp.ExtraBonusType = 173; } } break; case 40: temp.Name = "Night's Shroud Bracelet"; temp.Object_Type = 41; temp.Item_Type = 34; temp.Model = 1885; temp.Level = 45; temp.Bonus1 = 40; temp.Bonus1Type = 10; temp.Bonus2 = 5; temp.Bonus2Type = 13; temp.Bonus3 = 5; temp.Bonus3Type = 17; temp.Bonus4 = 5; temp.Bonus4Type = 19; temp.Bonus5 = 10; temp.Bonus5Type = 148; break; case 41: temp.Name = "Oglidarsh's Belt"; temp.Object_Type = 41; temp.Item_Type = 32; temp.Model = 1884; temp.Level = 44; temp.Bonus1 = 5; temp.Bonus1Type = 201; temp.Bonus2 = 40; temp.Bonus2Type = 10; temp.Bonus3 = 15; temp.Bonus3Type = 1; temp.Bonus4 = 3; temp.Bonus4Type = 19; temp.Bonus5 = 3; temp.Bonus5Type = 13; temp.ExtraBonus = 3; temp.ExtraBonusType = 17; break; case 42: temp.Name = "Orion's Belt"; temp.Object_Type = 41; temp.Item_Type = 32; temp.Model = 1884; temp.Level = 30; temp.Bonus1 = 9; temp.Bonus2 = 20; temp.Bonus2Type = 10; temp.Bonus3 = 7; temp.Bonus4 = 3; temp.Bonus4Type = 11; temp.Bonus5 = 4; temp.ExtraBonus = 3; switch(Util.Random(3)) { case 0: temp.Bonus1Type = 156; temp.Bonus3Type = 2; temp.Bonus5Type = 196; temp.ExtraBonusType = 191; break; case 1: temp.Bonus1Type = 2; temp.Bonus3Type = 4; temp.Bonus5Type = 194; temp.ExtraBonusType = 188; break; case 2: temp.Bonus1Type = 1; temp.Bonus3Type = 3; temp.Bonus5Type = 194; temp.ExtraBonusType = 155; break; case 3: temp.Bonus1Type = 2; temp.Bonus3Type = 3; temp.Bonus5Type = 194; temp.ExtraBonusType = 155; break; } break; case 43: temp.Name = "Phoebus' Harp"; temp.Object_Type = 41; temp.Item_Type = 29; temp.Model = 1887; temp.Level = 50; temp.Bonus1 = 4; temp.Bonus1Type = 13; temp.Bonus2 = 4; temp.Bonus2Type = 17; temp.Bonus3 = 4; temp.Bonus3Type = 19; temp.Bonus4 = 6; temp.Bonus4Type = 199; temp.Bonus5 = 6; temp.Bonus5Type = 196; temp.ExtraBonus = 4; temp.ExtraBonusType = 153; break; case 44: temp.Name = "Ring of Dances"; temp.Object_Type = 41; temp.Item_Type = 35; temp.Model = 1888; temp.Level = 10; if(Util.Random(1) == 1) { temp.Bonus1 = 3; temp.Bonus1Type = 49; temp.Bonus2Type = 1; } else { temp.Bonus1 = 5; temp.Bonus1Type = 196; temp.Bonus2Type = 156; } temp.Bonus2 = 12; temp.Bonus3 = 12; temp.Bonus3Type = 2; temp.Bonus4 = 5; temp.Bonus4Type = 13; temp.Bonus5 = 5; temp.Bonus5Type = 17; temp.ExtraBonus = 10; temp.ExtraBonusType = 148; break; case 45: temp.Name = "Ring of Fire"; temp.Object_Type = 41; temp.Item_Type = 35; temp.Model = 1888; temp.Level = 50; temp.Bonus1 = 15; temp.Bonus1Type = 156; temp.Bonus2 = 40; temp.Bonus2Type = 10; temp.Bonus3 = 6; temp.Bonus3Type = 12; temp.Bonus4 = 6; temp.Bonus4Type = 196; temp.Bonus5 = 5; temp.Bonus5Type = 199; break; case 46: temp.Name = "Ring of Unyielding Will"; temp.Object_Type = 41; temp.Item_Type = 35; temp.Model = 1888; temp.Level = 50; temp.Bonus1 = 28; temp.Bonus1Type = 10; temp.Bonus2 = 10; temp.Bonus2Type = 3; temp.Bonus3 = 4; temp.Bonus3Type = 14; temp.Bonus4 = 4; temp.Bonus4Type = 12; temp.Bonus5 = 4; temp.Bonus5Type = 11; temp.ExtraBonus = 5; temp.ExtraBonusType = 148; break; case 47: temp.Name = "Scepter of the Meritorious"; switch(RandRealm) { case 0: temp.Object_Type = 2; break; case 1: temp.Object_Type = 12; break; case 2: temp.Object_Type = 20; break; } temp.Hand = 0; temp.Type_Damage = 1; temp.Item_Type = 10; temp.Model = 1672; temp.Level = 50; temp.SPD_ABS = 36; temp.DPS_AF = 165; temp.Bonus1 = 12; temp.Bonus1Type = 1; temp.Bonus2 = 12; temp.Bonus2Type = 2; temp.Bonus3 = 4; temp.Bonus3Type = 18; temp.Bonus4 = 4; temp.Bonus4Type = 14; temp.Bonus5 = 40; temp.Bonus5Type = 210; temp.ExtraBonus = 5; temp.ExtraBonusType = 173; break; case 48: temp.Name = "Scorpion's Tail Ring"; temp.Object_Type = 41; temp.Item_Type = 35; temp.Model = 1888; temp.Level = 50; temp.Bonus1 = 7; temp.Bonus1Type = 196; temp.Bonus2 = 4; temp.Bonus2Type = 191; temp.Bonus3 = 8; temp.Bonus3Type = 148; temp.Bonus4 = 6; temp.Bonus4Type = 190; temp.Bonus5 = 6; temp.Bonus5Type = 195; break; case 49: temp.Name = "Shades of Mist"; temp.Object_Type = 32; temp.Item_Type = 26; temp.Model = 1726; temp.Level = 50; temp.Bonus1 = 3; if(Util.Random(1) == 1) temp.Bonus1Type = 49; else temp.Bonus1Type = 40; temp.Bonus2 = 15; temp.Bonus2Type = 1; temp.Bonus3 = 15; temp.Bonus3Type = 4; temp.Bonus4 = 10; temp.Bonus4Type = 148; temp.Bonus5 = 5; temp.Bonus5Type = 155; break; case 50: temp.Name = "Shield of Khaos"; temp.Object_Type = 42; temp.Item_Type = 11; temp.Model = 1665; temp.Level = 50; temp.Hand = 0; temp.Type_Damage = 3; temp.SPD_ABS = 40; temp.DPS_AF = 165; temp.Bonus1 = 40; temp.Bonus1Type = 10; temp.Bonus2 = 3; temp.Bonus2Type = 15; temp.Bonus3 = 3; temp.Bonus3Type = 155; temp.Bonus4 = 3; temp.Bonus4Type = 18; temp.Bonus5 = 3; temp.Bonus5Type = 43; temp.ExtraBonus = 32; temp.ExtraBonusType = 210; break; case 51: switch(RandRealm) { case 0: temp.Name = "Snakecharmer's Whip"; temp.Object_Type = 24; temp.Item_Type = 10; temp.Model = 2119; temp.Level = 50; temp.SPD_ABS = 36; temp.Bonus1Type = 33; temp.Hand = 0; break; case 1: temp.Name = "Snakecharmer's Greave"; temp.Object_Type = 25; temp.Item_Type = 11; temp.Model = 2469; temp.Level = 50; temp.SPD_ABS = 40; temp.Bonus1Type = 92; temp.Hand = 0; break; case 2: temp.Name = "Snakecharmer's Scythe"; temp.Object_Type = 26; temp.Item_Type = 12; temp.Model = 2111; temp.Level = 50; temp.SPD_ABS = 54; temp.Bonus1Type = 90; temp.Hand = 1; break; } temp.Type_Damage = 2; temp.DPS_AF = 165; temp.Bonus1 = 3; temp.Bonus2 = 4; temp.Bonus2Type = 15; temp.Bonus3 = 4; temp.Bonus3Type = 12; temp.Bonus4 = 4; temp.Bonus4Type = 14; temp.Bonus5 = 4; temp.Bonus5Type = 173; temp.ExtraBonus = 3; temp.ExtraBonusType = 155; break; case 52: temp.Name = "Malice's Axe"; switch(RandRealm) { case 0: if(Util.Random(1) == 1) { if(Util.Random(1) == 1) { temp.Object_Type = 6; temp.Item_Type = 12; temp.Model = 2110; temp.SPD_ABS = 56; temp.Hand = 1; temp.Type_Damage = 2; } else { temp.Object_Type = 6; temp.Item_Type = 12; temp.Model = 2110; temp.SPD_ABS = 56; temp.Hand = 1; temp.Type_Damage = 1; } } else { if(Util.Random(1) == 1) { temp.Object_Type = 3; temp.Item_Type = 11; temp.Model = 2109; temp.SPD_ABS = 42; temp.Hand = 2; temp.Type_Damage = 2; } else { temp.Object_Type = 2; temp.Item_Type = 11; temp.Model = 2109; temp.SPD_ABS = 42; temp.Hand = 2; temp.Type_Damage = 1; } } break; case 1: if(Util.Random(1) == 1) { if(Util.Random(1) == 1) { temp.Object_Type = 11; temp.Item_Type = 12; temp.Model = 2110; temp.SPD_ABS = 56; temp.Hand = 1; temp.Type_Damage = 2; } else { temp.Object_Type = 12; temp.Item_Type = 12; temp.Model = 2110; temp.SPD_ABS = 56; temp.Hand = 1; temp.Type_Damage = 1; } } else { if(Util.Random(1) == 1) { temp.Object_Type = 17; temp.Item_Type = 11; temp.Model = 2109; temp.SPD_ABS = 42; temp.Hand = 2; temp.Type_Damage = 2; } else { temp.Object_Type = 12; temp.Item_Type = 11; temp.Model = 2109; temp.SPD_ABS = 42; temp.Hand = 2; temp.Type_Damage = 1; } } break; case 2: if(Util.Random(1) == 1) { if(Util.Random(1) == 1) { temp.Object_Type = 22; temp.Item_Type = 12; temp.Model = 2110; temp.SPD_ABS = 56; temp.Hand = 1; temp.Type_Damage = 2; } else { temp.Object_Type = 22; temp.Item_Type = 12; temp.Model = 2110; temp.SPD_ABS = 56; temp.Hand = 1; temp.Type_Damage = 1; } } else { if(Util.Random(1) == 1) { temp.Object_Type = 19; temp.Item_Type = 11; temp.Model = 2109; temp.SPD_ABS = 42; temp.Hand = 2; temp.Type_Damage = 2; } else { temp.Object_Type = 20; temp.Item_Type = 11; temp.Model = 2109; temp.SPD_ABS = 42; temp.Hand = 2; temp.Type_Damage = 1; } } break; } temp.Level = 50; temp.DPS_AF = 165; temp.Bonus1 = 15; temp.Bonus1Type = 1; temp.Bonus2 = 15; temp.Bonus2Type = 3; temp.Bonus3 = 40; temp.Bonus3Type = 10; temp.Bonus4 = 5; temp.Bonus4Type = 201; temp.Bonus5 = 5; temp.Bonus5Type = 203; temp.ExtraBonus = 5; temp.ExtraBonusType = 200; break; case 53: temp.Name = "Mariasha's Sharkskin Gloves"; if(RandRealm == 2) temp.Object_Type = 37; else temp.Object_Type = 34; temp.Item_Type = 22; temp.Model = 2494; temp.Level = 50; temp.SPD_ABS = 19; temp.DPS_AF = 102; temp.Bonus1 = 3; temp.Bonus1Type = 168; temp.Bonus2 = 3; temp.Bonus2Type = 154; temp.Bonus3 = 4; temp.Bonus3Type = 13; temp.Bonus4 = 4; temp.Bonus4Type = 17; temp.Bonus5 = 4; temp.Bonus5Type = 19; temp.ExtraBonus = 4; temp.ExtraBonusType = 15; break; case 54: temp.Name = "Snatcher's Tale"; temp.Object_Type = 41; temp.Item_Type = 34; temp.Model = 1885; temp.Level = 50; temp.Bonus1 = 40; temp.Bonus1Type = 10; temp.Bonus2 = 5; temp.Bonus2Type = 203; temp.Bonus3 = 5; temp.Bonus3Type = 202; temp.Bonus4 = 4; temp.Bonus4Type = 13; temp.Bonus5 = 4; temp.Bonus5Type = 17; temp.ExtraBonus = 4; temp.ExtraBonusType = 19; break; case 55: temp.Name = "Spear of Kings"; switch(RandRealm) { case 0: if(Util.Random(1) == 1) { switch(Util.Random(2)) { case 0: temp.Object_Type = 6; temp.Item_Type = 11; temp.Model = 1661; temp.SPD_ABS = 56; temp.Hand = 1; temp.Type_Damage = 2; break; case 1: temp.Object_Type = 6; temp.Item_Type = 11; temp.Model = 1661; temp.SPD_ABS = 56; temp.Hand = 1; temp.Type_Damage = 3; break; case 2: temp.Object_Type = 7; temp.Item_Type = 11; temp.Model = 1661; temp.SPD_ABS = 56; temp.Hand = 1; temp.Type_Damage = 2; break; case 3: temp.Object_Type = 7; temp.Item_Type = 11; temp.Model = 1661; temp.SPD_ABS = 56; temp.Hand = 1; temp.Type_Damage = 3; break; } } else { if(Util.Random(1) == 1) { temp.Object_Type = 3; temp.Item_Type = 11; temp.Model = 2468; temp.SPD_ABS = 41; temp.Hand = 0; temp.Type_Damage = 2; } else { temp.Object_Type = 4; temp.Item_Type = 11; temp.Model = 2468; temp.SPD_ABS = 41; temp.Hand = 0; temp.Type_Damage = 3; } } break; case 1: if(Util.Random(1) == 1) { if(Util.Random(1) == 1) { temp.Object_Type = 11; temp.Item_Type = 12; temp.Model = 1661; temp.SPD_ABS = 56; temp.Hand = 1; temp.Type_Damage = 2; } else { temp.Object_Type = 14; temp.Item_Type = 12; temp.Model = 1661; temp.SPD_ABS = 56; temp.Hand = 1; temp.Type_Damage = 3; } } else { temp.Object_Type = 11; temp.Item_Type = 10; temp.Model = 2468; temp.SPD_ABS = 41; temp.Hand = 0; temp.Type_Damage = 2; } break; case 2: if(Util.Random(1) == 1) { if(Util.Random(1) == 1) { temp.Object_Type = 22; temp.Item_Type = 12; temp.Model = 1661; temp.SPD_ABS = 56; temp.Hand = 1; temp.Type_Damage = 2; } else { temp.Object_Type = 23; temp.Item_Type = 12; temp.Model = 1661; temp.SPD_ABS = 56; temp.Hand = 1; temp.Type_Damage = 3; } } else { if(Util.Random(1) == 1) { temp.Object_Type = 19; temp.Item_Type = 10; temp.Model = 2468; temp.SPD_ABS = 41; temp.Hand = 0; temp.Type_Damage = 2; } else { temp.Object_Type = 21; temp.Item_Type = 10; temp.Model = 2468; temp.SPD_ABS = 41; temp.Hand = 0; temp.Type_Damage = 3; } } break; } temp.Level = 50; temp.DPS_AF = 165; temp.Bonus1 = 4; temp.Bonus1Type = 13; temp.Bonus2 = 4; temp.Bonus2Type = 17; temp.Bonus3 = 4; temp.Bonus3Type = 19; temp.Bonus4 = 5; temp.Bonus4Type = 194; temp.Bonus5 = 40; temp.Bonus5Type = 210; temp.ExtraBonus = 5; temp.ExtraBonusType = 155; break; case 56: temp.Name = "Staff of the God"; temp.Object_Type = 8; temp.Item_Type = 12; temp.Model = 1660; temp.Level = 50; temp.Hand = 1; temp.Type_Damage = 1; temp.SPD_ABS = 40; temp.DPS_AF = 165; temp.Bonus1 = 10; temp.Bonus1Type = 148; temp.Bonus2 = 5; temp.Bonus2Type = 156; temp.Bonus3 = 5; temp.Bonus3Type = 202; temp.Bonus4 = 5; temp.Bonus4Type = 14; temp.Bonus5 = 5; temp.Bonus5Type = 153; temp.ExtraBonus = 50; temp.ExtraBonusType = 165; if(RandRealm == 0) { if(Util.Chance(50)) { temp.Bonus5Type = 18; temp.ExtraBonus = 5; temp.ExtraBonusType = 195; } } break; case 57: temp.Name = "Stone of Atlantis"; temp.Object_Type = 41; temp.Item_Type = 24; temp.Model = 1886; temp.Level = 50; temp.Bonus1 = 3; temp.Bonus1Type = 163; temp.Bonus2 = 18; temp.Bonus2Type = 156; temp.Bonus3 = 5; temp.Bonus3Type = 196; temp.Bonus4 = 5; temp.Bonus4Type = 209; temp.Bonus5 = 5; temp.Bonus5Type = 153; break; case 58: temp.Name = "Tartaros Gift"; temp.Object_Type = 8; temp.Item_Type = 12; temp.Model = 1658; temp.Level = 50; temp.SPD_ABS = 56; temp.DPS_AF = 165; temp.Hand = 1; temp.Type_Damage = 1; temp.Bonus1 = 15; temp.Bonus1Type = 156; temp.Bonus2 = 50; temp.Bonus2Type = 165; temp.Bonus3 = 40; temp.Bonus3Type = 10; temp.Bonus4 = 3; temp.Bonus4Type = 163; temp.Bonus5 = 5; temp.Bonus5Type = 196; temp.ExtraBonus = 5; temp.ExtraBonusType = 197; if(RandRealm == 0 && Util.Chance(50)) { temp.Bonus2 = 15; temp.Bonus2Type = 2; temp.Bonus4Type = 48; temp.Bonus5Type = 155; temp.ExtraBonusType = 173; } break; case 59: temp.Name = "Traitor's Dagger"; switch(RandRealm) { case 0: if(Util.Random(1) == 1) { temp.Object_Type = 3; temp.Type_Damage = 2; } else { temp.Object_Type = 4; temp.Type_Damage = 3; } break; case 1: if(Util.Random(1) == 1) { temp.Object_Type = 11; temp.Type_Damage = 2; } else { temp.Object_Type = 17; temp.Type_Damage = 2; } break; case 2: if(Util.Random(1) == 1) { temp.Object_Type = 19; temp.Type_Damage = 2; } else { temp.Object_Type = 21; temp.Type_Damage = 3; } break; } temp.Item_Type = 11; temp.Model = 1668; temp.Level = 50; temp.SPD_ABS = 34; temp.DPS_AF = 165; temp.Hand = 2; temp.Bonus1 = 10; temp.Bonus1Type = 148; temp.Bonus2 = 5; temp.Bonus2Type = 201; temp.Bonus3 = 5; temp.Bonus3Type = 202; temp.Bonus4 = 40; temp.Bonus4Type = 210; temp.Bonus5 = 5; temp.Bonus5Type = 155; break; case 60: temp.Name = "Traldor's Oracle"; temp.Object_Type = 8; temp.Item_Type = 12; temp.Model = 1659; temp.Level = 42; temp.SPD_ABS = 38; temp.DPS_AF = 135; temp.Hand = 1; temp.Type_Damage = 1; temp.Bonus1 = 15; temp.Bonus1Type = 156; temp.Bonus2 = 15; temp.Bonus2Type = 2; temp.Bonus3 = 6; temp.Bonus3Type = 15; temp.Bonus4 = 5; temp.Bonus4Type = 197; temp.Bonus5 = 5; temp.Bonus5Type = 191; temp.ExtraBonus = 50; temp.ExtraBonusType = 165; if(RandRealm == 0 && Util.Chance(50)) { temp.Bonus4Type = 155; temp.Bonus5Type = 200; temp.ExtraBonus = 6; temp.ExtraBonusType = 12; } break; case 61: temp.Name = "Winged Helm"; switch(RandRealm) { case 0: switch(Util.Random(2)) { case 0: temp.Object_Type = 34; temp.SPD_ABS = 19; break; case 1: temp.Object_Type = 35; temp.SPD_ABS = 27; break; case 2: temp.Object_Type = 36; temp.SPD_ABS = 34; break; } break; case 1: if(Util.Random(1) == 1) { temp.Object_Type = 34; temp.SPD_ABS = 19; } else { temp.Object_Type = 35; temp.SPD_ABS = 27; } break; case 2: if(Util.Random(1) == 1) { temp.Object_Type = 37; temp.SPD_ABS = 19; } else { temp.Object_Type = 38; temp.SPD_ABS = 27; } break; } temp.Item_Type = 21; temp.Model = 2223; temp.Level = 50; temp.DPS_AF = 102; temp.Bonus1 = 40; temp.Bonus1Type = 10; temp.Bonus2 = 5; temp.Bonus2Type = 194; temp.Bonus3 = 10; temp.Bonus3Type = 148; temp.Bonus4 = 15; temp.Bonus4Type = 2; temp.Bonus5 = 15; temp.Bonus5Type = 1; temp.ExtraBonus = 5; temp.ExtraBonusType = 18; break; case 62: temp.Name = "Wings Dive"; switch(RandRealm) { case 0: switch(Util.Random(2)) { case 0: temp.Object_Type = 34; temp.SPD_ABS = 19; temp.Model = 1767; break; case 1: temp.Object_Type = 35; temp.SPD_ABS = 27; temp.Model = 2482; break; case 2: temp.Object_Type = 36; temp.SPD_ABS = 34; temp.Model = 2510; break; } temp.Bonus4Type = 11; temp.Bonus5Type = 14; temp.ExtraBonusType = 18; break; case 1: if(Util.Random(1) == 1) { temp.Object_Type = 34; temp.SPD_ABS = 19; temp.Model = 1767; } else { temp.Object_Type = 35; temp.SPD_ABS = 27; temp.Model = 2482; } temp.Bonus4Type = 12; temp.Bonus5Type = 14; temp.ExtraBonusType = 15; break; case 2: if(Util.Random(1) == 1) { temp.Object_Type = 37; temp.SPD_ABS = 19; temp.Model = 1767; } else { temp.Object_Type = 38; temp.SPD_ABS = 27; temp.Model = 2482; } temp.Bonus4Type = 14; temp.Bonus5Type = 12; temp.ExtraBonusType = 18; break; } temp.Item_Type = 27; temp.Level = 50; temp.DPS_AF = 102; temp.Bonus1 = 40; temp.Bonus1Type = 210; temp.Bonus2 = 12; temp.Bonus2Type = 148; temp.Bonus3 = 6; temp.Bonus3Type = 194; temp.Bonus4 = 6; temp.Bonus5 = 6; temp.ExtraBonus = 6; break; } return temp; } } }