Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Void LoadItemStats (GameState o GameClient) y buscan @region Give Stats (Guardan el Suyo) y Reemplazan:
- #region Give Stats.
- #region Dragon Soul Stats - FIXED
- if (item.Purification.PurificationItemID != 0)
- {
- Database.ConquerItemInformation soulDB = new Database.ConquerItemInformation(item.Purification.PurificationItemID, 0);
- if (position == ConquerItem.LeftWeapon)
- {
- if (Entity.ContainsFlag4(Update.Flags4.FreezingPelter))
- Entity.BaseMinAttack += (uint)((dbi.BaseInformation.MinAttack / 2) + dbi.BaseInformation.MinAttack * Database.SpellTable.GetSpell(13020, this).SecondDamage / 100);
- else
- Entity.BaseMinAttack += (uint)dbi.BaseInformation.MinAttack;
- Entity.BaseMaxAttack += (uint)(soulDB.BaseInformation.MaxAttack);
- }
- else
- {
- Entity.BaseMinAttack += soulDB.BaseInformation.MinAttack;
- Entity.BaseMaxAttack += soulDB.BaseInformation.MaxAttack;
- }
- Entity.ItemHP += soulDB.BaseInformation.ItemHP;
- Entity.BaseDefence += soulDB.BaseInformation.PhysicalDefence;
- Entity.MagicDefence += soulDB.BaseInformation.MagicDefence;
- Entity.Dodge += soulDB.BaseInformation.Dodge;
- Entity.Accuracy += soulDB.BaseInformation.Accuracy;
- Entity.BaseMagicAttack += soulDB.BaseInformation.MagicAttack;
- Entity.MetalResistance += soulDB.BaseInformation.MetalResist;
- Entity.WoodResistance += soulDB.BaseInformation.WoodResist;
- Entity.FireResistance += soulDB.BaseInformation.FireResist;
- Entity.WaterResistance += soulDB.BaseInformation.WaterResist;
- Entity.EarthResistance += soulDB.BaseInformation.EarthResist;
- Entity.Breaktrough += soulDB.BaseInformation.BreakThrough;
- Entity.CriticalStrike += soulDB.BaseInformation.CriticalStrike;
- Entity.Immunity += soulDB.BaseInformation.Immunity;
- Entity.Penetration += soulDB.BaseInformation.Penetration;
- Entity.Counteraction += soulDB.BaseInformation.CounterAction;
- Entity.Block += soulDB.BaseInformation.Block;
- Entity.Weight += soulDB.BaseInformation.Weight;
- }
- #endregion
- #region Refinery Stats - FIXED
- Refinery.RefineryItem refine = null;
- if (item.ExtraEffect.Available)
- {
- if (Kernel.DatabaseRefinery.TryGetValue(item.ExtraEffect.EffectID, out refine))
- {
- if (refine != null)
- {
- switch (refine.Type)
- {
- case Refinery.RefineryItem.RefineryType.Block:
- Entity.Block += (UInt16)(refine.Percent * 100);
- break;
- case Refinery.RefineryItem.RefineryType.BreakThrough:
- Entity.Breaktrough += (UInt16)((refine.Percent * 10));
- break;
- case Refinery.RefineryItem.RefineryType.Counteraction:
- Entity.Counteraction += (UInt16)(refine.Percent * 10);
- break;
- case Refinery.RefineryItem.RefineryType.Critical:
- Entity.CriticalStrike += (UInt16)((refine.Percent * 100));
- break;
- case Refinery.RefineryItem.RefineryType.Detoxication:
- Entity.Detoxication += (UInt16)(refine.Percent);
- break;
- case Refinery.RefineryItem.RefineryType.Immunity:
- Entity.Immunity += (UInt16)(refine.Percent * 100);
- break;
- case Refinery.RefineryItem.RefineryType.Penetration:
- Entity.Penetration += (UInt16)(refine.Percent * 100);
- break;
- case Refinery.RefineryItem.RefineryType.SCritical:
- Entity.SkillCStrike += (UInt16)(refine.Percent * 100);
- break;
- case Refinery.RefineryItem.RefineryType.Intensification:
- Entity.Intensification += (UInt16)(refine.Percent);
- break;
- }
- }
- }
- }
- #endregion
- #region Garment Stats - FIXED
- if (position == ConquerItem.Garment)
- {
- //#None All Stats Read on Item Normal Stats
- }
- #endregion
- #region Cups State
- if (item.Position == ConquerItem.Bottle)
- {
- #region Check Stats with Writeline
- /*
- Console.WriteLine("CriticalStrike Cup + " + dbi.BaseInformation.CriticalStrike +"");
- Console.WriteLine("SkillCritical Cup + " + dbi.BaseInformation.SkillCriticalStrike + "");
- Console.WriteLine("BaseMinAttack Cup + " + dbi.BaseInformation.MinAttack + "");
- Console.WriteLine("BaseMaxAttack Cup + " + dbi.BaseInformation.MaxAttack + "");
- Console.WriteLine("Immunity Cup + " + dbi.BaseInformation.Immunity + "");
- Console.WriteLine("ItemHP Cup + " + dbi.BaseInformation.ItemHP + "");
- Console.WriteLine("BaseMagicAttack Cup + " + dbi.BaseInformation.MagicAttack + "");
- Console.WriteLine("ItemMp Cup + " + dbi.BaseInformation.ItemMP + "");
- * */
- #endregion
- if (item.ID == 2100245 && Equipment.TotalPerfectionLevel == 648)
- {
- Entity.PerfectionHP += 500;
- }
- }
- #endregion
- #region MountArmor Stats - FIXED
- if (position == ConquerItem.SteedArmor)
- {
- //#None All Stats Read on Item Normal Stats
- }
- #endregion
- #region Fan - Tower - Wing Stats - FIXED
- if (position == ConquerItem.Tower)
- {
- Entity.PhysicalDamageDecrease += (ushort)dbi.BaseInformation.PhysicalDamageDecrease;
- Entity.MagicDamageDecrease += (ushort)dbi.BaseInformation.MagicDamageDecrease;
- }
- else if (position == ConquerItem.Fan)
- {
- Entity.BaseMagicAttack += dbi.BaseInformation.MagicAttack;
- Entity.BaseMinAttack += dbi.BaseInformation.MinAttack;
- Entity.BaseMaxAttack += dbi.BaseInformation.MaxAttack;
- Entity.PhysicalDamageIncrease += (ushort)dbi.BaseInformation.PhysicalDamageIncrease;
- Entity.MagicDamageIncrease += (ushort)dbi.BaseInformation.MagicDamageIncrease;
- }
- else if (position == ConquerItem.Wing)
- {
- Entity.BaseMagicAttack += dbi.BaseInformation.MagicAttack;
- Entity.BaseMinAttack += dbi.BaseInformation.MinAttack;
- Entity.BaseMaxAttack += dbi.BaseInformation.MaxAttack;
- Entity.PhysicalDamageDecrease += (ushort)dbi.BaseInformation.PhysicalDamageDecrease;
- Entity.MagicDamageDecrease += (ushort)dbi.BaseInformation.MagicDamageDecrease;
- Entity.PhysicalDamageIncrease += (ushort)dbi.BaseInformation.PhysicalDamageIncrease;
- Entity.MagicDamageIncrease += (ushort)dbi.BaseInformation.MagicDamageIncrease;
- }
- #endregion
- #region LeftWeapon & Right Weapon Stats - FIXED
- else
- {
- if (position == ConquerItem.LeftWeapon)//Izquierda
- {
- Entity.BaseMagicAttack += (uint)dbi.BaseInformation.MagicAttack;
- if (Entity.ContainsFlag4(Update.Flags4.FreezingPelter))
- Entity.BaseMinAttack += (uint)((dbi.BaseInformation.MinAttack) + dbi.BaseInformation.MinAttack * Database.SpellTable.GetSpell(13020, this).SecondDamage / 100);
- else
- Entity.BaseMinAttack += (uint)dbi.BaseInformation.MinAttack;
- Entity.BaseMaxAttack += (uint)dbi.BaseInformation.MaxAttack;
- }
- else
- {
- if (position == ConquerItem.RightWeapon)//Derecha
- {
- Entity.BaseMagicAttack += (uint)(dbi.BaseInformation.MagicAttack / 2);
- Entity.AttackRange += dbi.BaseInformation.AttackRange;
- if (Network.PacketHandler.IsTwoHand(dbi.BaseInformation.ID))
- Entity.AttackRange += 4;
- else
- Entity.AttackRange += 3;
- }
- if (position == ConquerItem.RightWeapon && Entity.ContainsFlag4(Update.Flags4.FreezingPelter))
- Entity.BaseMinAttack += (uint)(dbi.BaseInformation.MinAttack + (dbi.BaseInformation.MinAttack * Database.SpellTable.GetSpell(13020, this).SecondDamage / 100));
- else
- Entity.BaseMinAttack += dbi.BaseInformation.MinAttack;
- Entity.BaseMaxAttack += dbi.BaseInformation.MaxAttack;
- }
- Entity.MagicDefence += dbi.BaseInformation.MagicDefence;
- Entity.BaseMagicAttack += dbi.BaseInformation.MagicAttack;
- }
- #endregion
- #region Normal Item Stats - FIXED
- if (item.Position != ConquerItem.Steed)
- {
- Entity.BaseDefence += dbi.BaseInformation.PhysicalDefence;
- Entity.ItemHP += dbi.BaseInformation.ItemHP;
- Entity.ItemMP += dbi.BaseInformation.ItemMP;
- Entity.Dodge += dbi.BaseInformation.Dodge;
- Entity.Dexterity += dbi.BaseInformation.Frequency;
- Entity.Weight += dbi.BaseInformation.Weight;
- }
- #endregion
- #region Steed & Gems Effect Stats - FIXED
- if (item.Position == ConquerItem.Steed)
- {
- Entity.ItemHP += dbi.BaseInformation.ItemHP;
- Entity.ItemBless -= ((double)item.Bless / 100);
- }
- var gem = (int)item.SocketOne;
- if (gem != 0 && gem != 255)
- Entity.Gems[gem / 10] += GemTypes.Effects[gem / 10][gem % 10];
- gem = (int)item.SocketTwo;
- if (gem != 0 && gem != 255)
- Entity.Gems[gem / 10] += GemTypes.Effects[gem / 10][gem % 10];
- #endregion
- #region Plus +1 to +12 Stats - FIXED
- if (item.Plus != 0)
- {
- if (position == ConquerItem.Steed)
- {
- CalculateVigor(item, dbi);
- }
- }
- if (item.Plus > 0)
- {
- var add = dbi.PlusInformation;
- Entity.BaseMinAttack += add.MinAttack;
- Entity.BaseMaxAttack += add.MaxAttack;
- Entity.BaseMagicAttack += add.MagicAttack;
- Entity.BaseDefence += add.PhysicalDefence;
- Entity.Dodge += add.Dodge;
- Entity.Dexterity += add.Agility;
- Entity.MagicDefence += add.MagicDefence;
- Entity.ItemHP += add.ItemHP;
- }
- #endregion
- #region Enchant Stats - FIXED
- Entity.ItemHP += item.Enchant;
- #endregion
- #region Bonuses Stats - FIXED
- Entity.CriticalStrike += (int)dbi.BaseInformation.CriticalStrike;
- Entity.SkillCStrike += (int)dbi.BaseInformation.SkillCriticalStrike;
- Entity.Immunity += (int)dbi.BaseInformation.Immunity;
- Entity.Penetration += (int)dbi.BaseInformation.Penetration;
- Entity.Block += (int)dbi.BaseInformation.Block;
- Entity.Breaktrough += (int)dbi.BaseInformation.BreakThrough;
- Entity.Counteraction += (int)dbi.BaseInformation.CounterAction;
- Entity.MetalResistance += dbi.BaseInformation.MetalResist;
- Entity.WoodResistance += dbi.BaseInformation.WoodResist;
- Entity.WaterResistance += dbi.BaseInformation.WaterResist;
- Entity.FireResistance += dbi.BaseInformation.FireResist;
- Entity.EarthResistance += dbi.BaseInformation.EarthResist;
- #endregion
- #endregion
Add Comment
Please, Sign In to add comment