XConquer

Read Stats Work 94% TQ!

Nov 14th, 2018
136
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Void LoadItemStats (GameState o GameClient) y buscan @region Give Stats (Guardan el Suyo) y Reemplazan:
  2.  
  3. #region Give Stats.
  4.                 #region Dragon Soul Stats - FIXED
  5.                 if (item.Purification.PurificationItemID != 0)
  6.                 {
  7.                     Database.ConquerItemInformation soulDB = new Database.ConquerItemInformation(item.Purification.PurificationItemID, 0);
  8.                     if (position == ConquerItem.LeftWeapon)
  9.                     {
  10.                         if (Entity.ContainsFlag4(Update.Flags4.FreezingPelter))
  11.                             Entity.BaseMinAttack += (uint)((dbi.BaseInformation.MinAttack / 2) + dbi.BaseInformation.MinAttack * Database.SpellTable.GetSpell(13020, this).SecondDamage / 100);
  12.                         else
  13.                             Entity.BaseMinAttack += (uint)dbi.BaseInformation.MinAttack;
  14.                         Entity.BaseMaxAttack += (uint)(soulDB.BaseInformation.MaxAttack);
  15.                     }
  16.                     else
  17.                     {
  18.                         Entity.BaseMinAttack += soulDB.BaseInformation.MinAttack;
  19.                         Entity.BaseMaxAttack += soulDB.BaseInformation.MaxAttack;
  20.                     }
  21.                     Entity.ItemHP += soulDB.BaseInformation.ItemHP;
  22.                     Entity.BaseDefence += soulDB.BaseInformation.PhysicalDefence;
  23.                     Entity.MagicDefence += soulDB.BaseInformation.MagicDefence;
  24.                     Entity.Dodge += soulDB.BaseInformation.Dodge;
  25.                     Entity.Accuracy += soulDB.BaseInformation.Accuracy;
  26.                     Entity.BaseMagicAttack += soulDB.BaseInformation.MagicAttack;
  27.                     Entity.MetalResistance += soulDB.BaseInformation.MetalResist;
  28.                     Entity.WoodResistance += soulDB.BaseInformation.WoodResist;
  29.                     Entity.FireResistance += soulDB.BaseInformation.FireResist;
  30.                     Entity.WaterResistance += soulDB.BaseInformation.WaterResist;
  31.                     Entity.EarthResistance += soulDB.BaseInformation.EarthResist;
  32.                     Entity.Breaktrough += soulDB.BaseInformation.BreakThrough;
  33.                     Entity.CriticalStrike += soulDB.BaseInformation.CriticalStrike;
  34.                     Entity.Immunity += soulDB.BaseInformation.Immunity;
  35.                     Entity.Penetration += soulDB.BaseInformation.Penetration;
  36.                     Entity.Counteraction += soulDB.BaseInformation.CounterAction;
  37.                     Entity.Block += soulDB.BaseInformation.Block;
  38.                     Entity.Weight += soulDB.BaseInformation.Weight;
  39.                 }
  40.                 #endregion
  41.                 #region Refinery Stats - FIXED
  42.                 Refinery.RefineryItem refine = null;
  43.                 if (item.ExtraEffect.Available)
  44.                 {
  45.                     if (Kernel.DatabaseRefinery.TryGetValue(item.ExtraEffect.EffectID, out refine))
  46.                     {
  47.                         if (refine != null)
  48.                         {
  49.                             switch (refine.Type)
  50.                             {
  51.  
  52.                                 case Refinery.RefineryItem.RefineryType.Block:
  53.                                     Entity.Block += (UInt16)(refine.Percent * 100);
  54.                                     break;
  55.                                 case Refinery.RefineryItem.RefineryType.BreakThrough:
  56.                                     Entity.Breaktrough += (UInt16)((refine.Percent * 10));
  57.                                     break;
  58.                                 case Refinery.RefineryItem.RefineryType.Counteraction:
  59.                                     Entity.Counteraction += (UInt16)(refine.Percent * 10);
  60.                                     break;
  61.                                 case Refinery.RefineryItem.RefineryType.Critical:
  62.                                     Entity.CriticalStrike += (UInt16)((refine.Percent * 100));
  63.                                     break;
  64.                                 case Refinery.RefineryItem.RefineryType.Detoxication:
  65.                                     Entity.Detoxication += (UInt16)(refine.Percent);
  66.                                     break;
  67.                                 case Refinery.RefineryItem.RefineryType.Immunity:
  68.                                     Entity.Immunity += (UInt16)(refine.Percent * 100);
  69.                                     break;
  70.                                 case Refinery.RefineryItem.RefineryType.Penetration:
  71.                                     Entity.Penetration += (UInt16)(refine.Percent * 100);
  72.                                     break;
  73.                                 case Refinery.RefineryItem.RefineryType.SCritical:
  74.                                     Entity.SkillCStrike += (UInt16)(refine.Percent * 100);
  75.                                     break;
  76.                                 case Refinery.RefineryItem.RefineryType.Intensification:
  77.                                     Entity.Intensification += (UInt16)(refine.Percent);
  78.                                     break;
  79.                             }
  80.                         }
  81.                     }
  82.                 }
  83.                 #endregion
  84.                 #region Garment Stats - FIXED
  85.                 if (position == ConquerItem.Garment)
  86.                 {
  87.                     //#None All Stats Read on Item Normal Stats
  88.                 }
  89.                 #endregion
  90.                 #region Cups State
  91.                 if (item.Position == ConquerItem.Bottle)
  92.                 {
  93.  
  94.                     #region Check Stats with Writeline
  95.                     /*
  96.                     Console.WriteLine("CriticalStrike Cup + " + dbi.BaseInformation.CriticalStrike +"");
  97.                     Console.WriteLine("SkillCritical Cup + " + dbi.BaseInformation.SkillCriticalStrike + "");
  98.                     Console.WriteLine("BaseMinAttack Cup + " + dbi.BaseInformation.MinAttack + "");
  99.                     Console.WriteLine("BaseMaxAttack Cup + " + dbi.BaseInformation.MaxAttack + "");
  100.                     Console.WriteLine("Immunity Cup + " + dbi.BaseInformation.Immunity + "");
  101.                     Console.WriteLine("ItemHP Cup + " + dbi.BaseInformation.ItemHP + "");
  102.                     Console.WriteLine("BaseMagicAttack Cup + " + dbi.BaseInformation.MagicAttack + "");
  103.                     Console.WriteLine("ItemMp Cup + " + dbi.BaseInformation.ItemMP + "");
  104.                      * */
  105.                     #endregion
  106.                     if (item.ID == 2100245 && Equipment.TotalPerfectionLevel == 648)
  107.                     {
  108.                         Entity.PerfectionHP += 500;
  109.                     }
  110.                 }
  111.                 #endregion
  112.                 #region MountArmor Stats - FIXED
  113.                 if (position == ConquerItem.SteedArmor)
  114.                 {
  115.                     //#None All Stats Read on Item Normal Stats
  116.                 }
  117.                 #endregion
  118.                 #region Fan - Tower - Wing Stats - FIXED
  119.                 if (position == ConquerItem.Tower)
  120.                 {
  121.                     Entity.PhysicalDamageDecrease += (ushort)dbi.BaseInformation.PhysicalDamageDecrease;
  122.                     Entity.MagicDamageDecrease += (ushort)dbi.BaseInformation.MagicDamageDecrease;
  123.                 }
  124.                 else if (position == ConquerItem.Fan)
  125.                 {
  126.                     Entity.BaseMagicAttack += dbi.BaseInformation.MagicAttack;
  127.                     Entity.BaseMinAttack += dbi.BaseInformation.MinAttack;
  128.                     Entity.BaseMaxAttack += dbi.BaseInformation.MaxAttack;
  129.                     Entity.PhysicalDamageIncrease += (ushort)dbi.BaseInformation.PhysicalDamageIncrease;
  130.                     Entity.MagicDamageIncrease += (ushort)dbi.BaseInformation.MagicDamageIncrease;
  131.                 }
  132.  
  133.                 else if (position == ConquerItem.Wing)
  134.                 {
  135.                     Entity.BaseMagicAttack += dbi.BaseInformation.MagicAttack;
  136.                     Entity.BaseMinAttack += dbi.BaseInformation.MinAttack;
  137.                     Entity.BaseMaxAttack += dbi.BaseInformation.MaxAttack;
  138.                     Entity.PhysicalDamageDecrease += (ushort)dbi.BaseInformation.PhysicalDamageDecrease;
  139.                     Entity.MagicDamageDecrease += (ushort)dbi.BaseInformation.MagicDamageDecrease;
  140.                     Entity.PhysicalDamageIncrease += (ushort)dbi.BaseInformation.PhysicalDamageIncrease;
  141.                     Entity.MagicDamageIncrease += (ushort)dbi.BaseInformation.MagicDamageIncrease;
  142.                 }
  143.                 #endregion
  144.                 #region LeftWeapon & Right Weapon Stats - FIXED
  145.                 else
  146.                 {
  147.                     if (position == ConquerItem.LeftWeapon)//Izquierda
  148.                     {
  149.                        
  150.                         Entity.BaseMagicAttack += (uint)dbi.BaseInformation.MagicAttack;
  151.                         if (Entity.ContainsFlag4(Update.Flags4.FreezingPelter))
  152.                             Entity.BaseMinAttack += (uint)((dbi.BaseInformation.MinAttack) + dbi.BaseInformation.MinAttack * Database.SpellTable.GetSpell(13020, this).SecondDamage / 100);
  153.                         else
  154.                             Entity.BaseMinAttack += (uint)dbi.BaseInformation.MinAttack;
  155.                         Entity.BaseMaxAttack += (uint)dbi.BaseInformation.MaxAttack;
  156.                     }
  157.                     else
  158.                     {
  159.                        
  160.                         if (position == ConquerItem.RightWeapon)//Derecha
  161.                         {
  162.                             Entity.BaseMagicAttack += (uint)(dbi.BaseInformation.MagicAttack / 2);
  163.                             Entity.AttackRange += dbi.BaseInformation.AttackRange;
  164.                             if (Network.PacketHandler.IsTwoHand(dbi.BaseInformation.ID))
  165.                                 Entity.AttackRange += 4;
  166.                             else
  167.                                 Entity.AttackRange += 3;
  168.                         }
  169.                         if (position == ConquerItem.RightWeapon && Entity.ContainsFlag4(Update.Flags4.FreezingPelter))
  170.                             Entity.BaseMinAttack += (uint)(dbi.BaseInformation.MinAttack + (dbi.BaseInformation.MinAttack * Database.SpellTable.GetSpell(13020, this).SecondDamage / 100));
  171.                         else
  172.                         Entity.BaseMinAttack += dbi.BaseInformation.MinAttack;
  173.                         Entity.BaseMaxAttack += dbi.BaseInformation.MaxAttack;
  174.                     }
  175.                     Entity.MagicDefence += dbi.BaseInformation.MagicDefence;
  176.                    
  177.                     Entity.BaseMagicAttack += dbi.BaseInformation.MagicAttack;
  178.                 }
  179.                 #endregion
  180.                 #region Normal Item Stats - FIXED
  181.                 if (item.Position != ConquerItem.Steed)
  182.                 {
  183.                     Entity.BaseDefence += dbi.BaseInformation.PhysicalDefence;
  184.                     Entity.ItemHP += dbi.BaseInformation.ItemHP;
  185.                     Entity.ItemMP += dbi.BaseInformation.ItemMP;
  186.                     Entity.Dodge += dbi.BaseInformation.Dodge;
  187.                     Entity.Dexterity += dbi.BaseInformation.Frequency;
  188.                     Entity.Weight += dbi.BaseInformation.Weight;
  189.                 }
  190.                 #endregion
  191.                 #region Steed & Gems Effect Stats - FIXED
  192.                 if (item.Position == ConquerItem.Steed)
  193.                 {
  194.                     Entity.ItemHP += dbi.BaseInformation.ItemHP;
  195.                     Entity.ItemBless -= ((double)item.Bless / 100);
  196.                 }
  197.                 var gem = (int)item.SocketOne;
  198.                 if (gem != 0 && gem != 255)
  199.                     Entity.Gems[gem / 10] += GemTypes.Effects[gem / 10][gem % 10];
  200.  
  201.                 gem = (int)item.SocketTwo;
  202.                 if (gem != 0 && gem != 255)
  203.                     Entity.Gems[gem / 10] += GemTypes.Effects[gem / 10][gem % 10];
  204.                 #endregion
  205.                 #region Plus +1 to +12 Stats - FIXED
  206.                 if (item.Plus != 0)
  207.                 {
  208.                     if (position == ConquerItem.Steed)
  209.                     {
  210.                         CalculateVigor(item, dbi);
  211.                     }
  212.                 }
  213.                 if (item.Plus > 0)
  214.                 {
  215.                  
  216.                     var add = dbi.PlusInformation;
  217.                     Entity.BaseMinAttack += add.MinAttack;
  218.                     Entity.BaseMaxAttack += add.MaxAttack;
  219.                     Entity.BaseMagicAttack += add.MagicAttack;
  220.                     Entity.BaseDefence += add.PhysicalDefence;
  221.                     Entity.Dodge += add.Dodge;
  222.                     Entity.Dexterity += add.Agility;
  223.                     Entity.MagicDefence += add.MagicDefence;
  224.                     Entity.ItemHP += add.ItemHP;
  225.                 }
  226.                
  227.                 #endregion
  228.                 #region Enchant Stats - FIXED
  229.                 Entity.ItemHP += item.Enchant;
  230.                 #endregion
  231.                 #region Bonuses Stats - FIXED
  232.                 Entity.CriticalStrike += (int)dbi.BaseInformation.CriticalStrike;
  233.                 Entity.SkillCStrike += (int)dbi.BaseInformation.SkillCriticalStrike;
  234.                 Entity.Immunity += (int)dbi.BaseInformation.Immunity;
  235.                 Entity.Penetration += (int)dbi.BaseInformation.Penetration;
  236.                 Entity.Block += (int)dbi.BaseInformation.Block;
  237.                 Entity.Breaktrough += (int)dbi.BaseInformation.BreakThrough;
  238.                 Entity.Counteraction += (int)dbi.BaseInformation.CounterAction;
  239.                 Entity.MetalResistance += dbi.BaseInformation.MetalResist;
  240.                 Entity.WoodResistance += dbi.BaseInformation.WoodResist;
  241.                 Entity.WaterResistance += dbi.BaseInformation.WaterResist;
  242.                 Entity.FireResistance += dbi.BaseInformation.FireResist;
  243.                 Entity.EarthResistance += dbi.BaseInformation.EarthResist;
  244.                 #endregion
  245.                 #endregion
RAW Paste Data