Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #region Give Stats.
- #region soul stats
- if (item.Purification.PurificationItemID != 0)
- {
- Database.ConquerItemInformation soulDB = new Database.ConquerItemInformation(item.Purification.PurificationItemID, 0);
- if (position == ConquerItem.LeftWeapon)
- {
- Entity.BaseMinAttack += (uint)(soulDB.BaseInformation.MinAttack / 2);
- Entity.BaseMaxAttack += (uint)(soulDB.BaseInformation.MaxAttack / 2);
- }
- 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
- 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.Intensification:
- Entity.ItemHP += (UInt16)(refine.Percent);
- 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;
- }
- }
- }
- }
- #endregion
- if (position == ConquerItem.Tower)
- {
- Entity.PhysicalDamageDecrease += dbi.BaseInformation.PhysicalDefence;
- Entity.MagicDamageDecrease += dbi.BaseInformation.MagicDefence;
- }
- else if (position == ConquerItem.Fan)
- {
- Entity.PhysicalDamageIncrease += dbi.BaseInformation.MaxAttack;
- Entity.MagicDamageIncrease += dbi.BaseInformation.MagicAttack;
- }
- else if (position == ConquerItem.Wing)
- {
- Entity.PhysicalDamageIncrease += dbi.BaseInformation.MaxAttack;
- Entity.MagicDamageIncrease += dbi.BaseInformation.MagicAttack;
- }
- else
- {
- if (position == ConquerItem.LeftWeapon)
- {
- Entity.BaseMagicAttack += (uint)dbi.BaseInformation.MagicAttack / 2;
- 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 / 2;
- Entity.BaseMaxAttack += (uint)dbi.BaseInformation.MaxAttack / 2;
- }
- else
- {
- if (position == ConquerItem.RightWeapon)
- {
- Entity.BaseMagicAttack += (uint)(dbi.BaseInformation.MagicAttack);
- 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.BaseDefence += dbi.BaseInformation.PhysicalDefence;
- Entity.BaseMagicAttack += dbi.BaseInformation.MagicAttack;
- }
- 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;
- if (item.Position != ConquerItem.Steed)
- {
- 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];
- 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;
- }
- Entity.ItemHP += item.Enchant;
- var per = 1;
- var per2 = 1;
- Entity.CriticalStrike += (int)dbi.BaseInformation.CriticalStrike / per;
- Entity.SkillCStrike += (int)dbi.BaseInformation.SkillCriticalStrike / per;
- Entity.Immunity += (int)dbi.BaseInformation.Immunity / per;
- Entity.Penetration += (int)dbi.BaseInformation.Penetration / per;
- Entity.Block += (int)dbi.BaseInformation.Block / per;
- Entity.Breaktrough += (int)dbi.BaseInformation.BreakThrough / per2;
- Entity.Counteraction += (int)dbi.BaseInformation.CounterAction / per2;
- 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
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement