Advertisement
zjqyf

ItemStatListExtensions.cs

Jul 2nd, 2019
410
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.18 KB | None | 0 0
  1. namespace Turbo.Plugins.Jack.Extensions{
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5.  
  6. public static class ItemStatListExtensions
  7. {
  8. public static int WeaponDamageBaseMin(this IEnumerable<IItemStat> stats)
  9. {
  10. return Convert.ToInt32(stats.Where(s => s.Id == "Damage_Weapon_Min#0").Select(s => s.DoubleValue).FirstOrDefault());
  11. }
  12.  
  13. public static int WeaponDamageBaseMax(this IEnumerable<IItemStat> stats)
  14. {
  15. return Convert.ToInt32(stats.Where(s => s.Id == "Damage_Weapon_Max#0").Select(s => s.DoubleValue).FirstOrDefault());
  16. }
  17.  
  18. public static double WeaponDamageBonusMin(this IEnumerable<IItemStat> stats)
  19. {
  20. var result = stats.Where(s => s.Id != "Damage_Weapon_Min#0" && s.Id.StartsWith("Damage_Weapon_Min#") && s.DoubleValue != 0).Select(s => s.DoubleValue).FirstOrDefault();
  21. return result != 0
  22. ? result
  23. : stats.Where(s => s.Id == "Damage_Weapon_Bonus_Min_X1#0").Select(s => s.DoubleValue).FirstOrDefault();
  24. }
  25.  
  26. public static double WeaponDamageBonusMax(this IEnumerable<IItemStat> stats)
  27. {
  28. var result = stats.Where(s => s.Id != "Damage_Weapon_Max#0" && s.Id.StartsWith("Damage_Weapon_Max#") && s.DoubleValue != 0).Select(s => s.DoubleValue).FirstOrDefault();
  29. if (result != 0)
  30. return result;
  31.  
  32. result = stats.Where(s => s.Id == "Damage_Weapon_Bonus_Min_X1#0").Select(s => s.DoubleValue).FirstOrDefault();
  33. result += stats.Where(s => s.Id == "Damage_Weapon_Bonus_Delta_X1#0").Select(s => s.DoubleValue).FirstOrDefault();
  34. return result;
  35. }
  36.  
  37. public static double WeaponDamageBonusDamagePercent(this IEnumerable<IItemStat> stats)
  38. {
  39. return stats.Where(s => s.Id == "dmg_pbonus").Select(s => s.DoubleValue).FirstOrDefault() / 100f;
  40. }
  41.  
  42. public static double WeaponDamageBonusAttackSpeedPercent(this IEnumerable<IItemStat> stats)
  43. {
  44. return stats.Where(s => s.Id == "as_extr").Select(s => s.DoubleValue).FirstOrDefault() / 100f;
  45. }
  46. }
  47. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement