Advertisement
Guest User

Untitled

a guest
Feb 19th, 2017
88
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.91 KB | None | 0 0
  1. #region Give Stats.
  2.  
  3. #region soul stats
  4. if (item.Purification.PurificationItemID != 0)
  5. {
  6. Database.ConquerItemInformation soulDB = new Database.ConquerItemInformation(item.Purification.PurificationItemID, 0);
  7. if (position == ConquerItem.LeftWeapon)
  8. {
  9. Entity.BaseMinAttack += (uint)(soulDB.BaseInformation.MinAttack / 2);
  10. Entity.BaseMaxAttack += (uint)(soulDB.BaseInformation.MaxAttack / 2);
  11. }
  12. else
  13. {
  14. Entity.BaseMinAttack += soulDB.BaseInformation.MinAttack;
  15. Entity.BaseMaxAttack += soulDB.BaseInformation.MaxAttack;
  16. }
  17. Entity.ItemHP += soulDB.BaseInformation.ItemHP;
  18. Entity.BaseDefence += soulDB.BaseInformation.PhysicalDefence;
  19. Entity.MagicDefence += soulDB.BaseInformation.MagicDefence;
  20. Entity.Dodge += soulDB.BaseInformation.Dodge;
  21. Entity.Accuracy += soulDB.BaseInformation.Accuracy;
  22. Entity.BaseMagicAttack += soulDB.BaseInformation.MagicAttack;
  23. Entity.MetalResistance += soulDB.BaseInformation.MetalResist;
  24. Entity.WoodResistance += soulDB.BaseInformation.WoodResist;
  25. Entity.FireResistance += soulDB.BaseInformation.FireResist;
  26. Entity.WaterResistance += soulDB.BaseInformation.WaterResist;
  27. Entity.EarthResistance += soulDB.BaseInformation.EarthResist;
  28. Entity.Breaktrough += soulDB.BaseInformation.BreakThrough;
  29. Entity.CriticalStrike += soulDB.BaseInformation.CriticalStrike;
  30. Entity.Immunity += soulDB.BaseInformation.Immunity;
  31. Entity.Penetration += soulDB.BaseInformation.Penetration;
  32. Entity.Counteraction += soulDB.BaseInformation.CounterAction;
  33. Entity.Block += soulDB.BaseInformation.Block;
  34. Entity.Weight += soulDB.BaseInformation.Weight;
  35. }
  36. #endregion
  37. #region Refinery stats
  38. Refinery.RefineryItem refine = null;
  39. if (item.ExtraEffect.Available)
  40. {
  41. if (Kernel.DatabaseRefinery.TryGetValue(item.ExtraEffect.EffectID, out refine))
  42. {
  43. if (refine != null)
  44. {
  45. switch (refine.Type)
  46. {
  47. case Refinery.RefineryItem.RefineryType.Block:
  48. Entity.Block += (UInt16)(refine.Percent * 100);
  49. break;
  50. case Refinery.RefineryItem.RefineryType.BreakThrough:
  51. Entity.Breaktrough += (UInt16)((refine.Percent * 10));
  52. break;
  53. case Refinery.RefineryItem.RefineryType.Counteraction:
  54. Entity.Counteraction += (UInt16)(refine.Percent * 10);
  55. break;
  56. case Refinery.RefineryItem.RefineryType.Critical:
  57. Entity.CriticalStrike += (UInt16)((refine.Percent * 100));
  58. break;
  59. case Refinery.RefineryItem.RefineryType.Detoxication:
  60. Entity.Detoxication += (UInt16)(refine.Percent);
  61. break;
  62. case Refinery.RefineryItem.RefineryType.Immunity:
  63. Entity.Immunity += (UInt16)(refine.Percent * 100);
  64. break;
  65. case Refinery.RefineryItem.RefineryType.Intensification:
  66. Entity.ItemHP += (UInt16)(refine.Percent);
  67. break;
  68. case Refinery.RefineryItem.RefineryType.Penetration:
  69. Entity.Penetration += (UInt16)(refine.Percent * 100);
  70. break;
  71. case Refinery.RefineryItem.RefineryType.SCritical:
  72. Entity.SkillCStrike += (UInt16)(refine.Percent * 100);
  73. break;
  74. }
  75. }
  76. }
  77. }
  78. #endregion
  79.  
  80. if (position == ConquerItem.Tower)
  81. {
  82. Entity.PhysicalDamageDecrease += dbi.BaseInformation.PhysicalDefence;
  83. Entity.MagicDamageDecrease += dbi.BaseInformation.MagicDefence;
  84. }
  85. else if (position == ConquerItem.Fan)
  86. {
  87. Entity.PhysicalDamageIncrease += dbi.BaseInformation.MaxAttack;
  88. Entity.MagicDamageIncrease += dbi.BaseInformation.MagicAttack;
  89. }
  90.  
  91. else if (position == ConquerItem.Wing)
  92. {
  93. Entity.PhysicalDamageIncrease += dbi.BaseInformation.MaxAttack;
  94. Entity.MagicDamageIncrease += dbi.BaseInformation.MagicAttack;
  95. }
  96. else
  97. {
  98. if (position == ConquerItem.LeftWeapon)
  99. {
  100. Entity.BaseMagicAttack += (uint)dbi.BaseInformation.MagicAttack / 2;
  101. if (Entity.ContainsFlag4(Update.Flags4.FreezingPelter))
  102. Entity.BaseMinAttack += (uint)((dbi.BaseInformation.MinAttack / 2) + dbi.BaseInformation.MinAttack * Database.SpellTable.GetSpell(13020, this).SecondDamage / 100);
  103. else
  104. Entity.BaseMinAttack += (uint)dbi.BaseInformation.MinAttack / 2;
  105. Entity.BaseMaxAttack += (uint)dbi.BaseInformation.MaxAttack / 2;
  106.  
  107. }
  108. else
  109. {
  110. if (position == ConquerItem.RightWeapon)
  111. {
  112. Entity.BaseMagicAttack += (uint)(dbi.BaseInformation.MagicAttack);
  113. Entity.AttackRange += dbi.BaseInformation.AttackRange;
  114. if (Network.PacketHandler.IsTwoHand(dbi.BaseInformation.ID))
  115. Entity.AttackRange += 4;
  116. else
  117. Entity.AttackRange += 3;
  118. }
  119. if (position == ConquerItem.RightWeapon && Entity.ContainsFlag4(Update.Flags4.FreezingPelter))
  120. Entity.BaseMinAttack += (uint)(dbi.BaseInformation.MinAttack + (dbi.BaseInformation.MinAttack * Database.SpellTable.GetSpell(13020, this).SecondDamage / 100));
  121. else
  122. Entity.BaseMinAttack += dbi.BaseInformation.MinAttack;
  123. Entity.BaseMaxAttack += dbi.BaseInformation.MaxAttack;
  124. }
  125.  
  126. Entity.BaseDefence += dbi.BaseInformation.PhysicalDefence;
  127. Entity.BaseMagicAttack += dbi.BaseInformation.MagicAttack;
  128. }
  129. Entity.ItemHP += dbi.BaseInformation.ItemHP;
  130. Entity.ItemMP += dbi.BaseInformation.ItemMP;
  131. Entity.Dodge += dbi.BaseInformation.Dodge;
  132. Entity.Dexterity += dbi.BaseInformation.Frequency;
  133. Entity.Weight += dbi.BaseInformation.Weight;
  134. if (item.Position != ConquerItem.Steed)
  135. {
  136.  
  137. Entity.ItemBless -= ((double)item.Bless / 100);
  138. }
  139.  
  140.  
  141. var gem = (int)item.SocketOne;
  142. if (gem != 0 && gem != 255)
  143. Entity.Gems[gem / 10] += GemTypes.Effects[gem / 10][gem % 10];
  144.  
  145. gem = (int)item.SocketTwo;
  146. if (gem != 0 && gem != 255)
  147. Entity.Gems[gem / 10] += GemTypes.Effects[gem / 10][gem % 10];
  148.  
  149. if (item.Plus > 0)
  150. {
  151. var add = dbi.PlusInformation;
  152. Entity.BaseMinAttack += add.MinAttack;
  153. Entity.BaseMaxAttack += add.MaxAttack;
  154. Entity.BaseMagicAttack += add.MagicAttack;
  155. Entity.BaseDefence += add.PhysicalDefence;
  156. Entity.Dodge += add.Dodge;
  157. Entity.Dexterity += add.Agility;
  158. Entity.MagicDefence += add.MagicDefence;
  159. Entity.ItemHP += add.ItemHP;
  160. }
  161. Entity.ItemHP += item.Enchant;
  162. var per = 1;
  163. var per2 = 1;
  164. Entity.CriticalStrike += (int)dbi.BaseInformation.CriticalStrike / per;
  165. Entity.SkillCStrike += (int)dbi.BaseInformation.SkillCriticalStrike / per;
  166. Entity.Immunity += (int)dbi.BaseInformation.Immunity / per;
  167. Entity.Penetration += (int)dbi.BaseInformation.Penetration / per;
  168. Entity.Block += (int)dbi.BaseInformation.Block / per;
  169. Entity.Breaktrough += (int)dbi.BaseInformation.BreakThrough / per2;
  170. Entity.Counteraction += (int)dbi.BaseInformation.CounterAction / per2;
  171. Entity.MetalResistance += dbi.BaseInformation.MetalResist;
  172. Entity.WoodResistance += dbi.BaseInformation.WoodResist;
  173. Entity.WaterResistance += dbi.BaseInformation.WaterResist;
  174. Entity.FireResistance += dbi.BaseInformation.FireResist;
  175. Entity.EarthResistance += dbi.BaseInformation.EarthResist;
  176.  
  177. #endregion
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement