EvdData


SUBMITTED BY: Alerand

DATE: May 7, 2016, 11:05 a.m.

FORMAT: Text only

SIZE: 4.7 kB

HITS: 9653

  1. #region
  2. using LeagueSharp;
  3. using LeagueSharp.Common;
  4. #endregion
  5. namespace Marksman.Evade
  6. {
  7. public enum SpellValidTargets
  8. {
  9. AllyMinions,
  10. EnemyMinions,
  11. AllyWards,
  12. EnemyWards,
  13. AllyChampions,
  14. EnemyChampions,
  15. }
  16. /// <summary>
  17. /// Class containing the needed info about the evading spells.
  18. /// </summary>
  19. internal class EvadeSpellData
  20. {
  21. public delegate float MoveSpeedAmount();
  22. public bool CanShieldAllies;
  23. public string CheckSpellName = "";
  24. public int Delay;
  25. public bool FixedRange;
  26. public bool Invert;
  27. public bool IsBlink;
  28. public bool IsDash;
  29. public bool IsInvulnerability;
  30. public bool IsMovementSpeedBuff;
  31. public bool IsShield;
  32. public bool IsSpellShield;
  33. public bool IsSummonerSpell;
  34. public float MaxRange;
  35. public MoveSpeedAmount MoveSpeedTotalAmount;
  36. public string Name;
  37. public bool RequiresPreMove;
  38. public bool SelfCast;
  39. public SpellSlot Slot;
  40. public int Speed;
  41. public SpellValidTargets[] ValidTargets;
  42. public int _dangerLevel;
  43. public EvadeSpellData() { }
  44. public EvadeSpellData(string name, int dangerLevel)
  45. {
  46. Name = name;
  47. _dangerLevel = dangerLevel;
  48. }
  49. public bool IsTargetted
  50. {
  51. get { return ValidTargets != null; }
  52. }
  53. public bool Enabled
  54. {
  55. get
  56. {
  57. if (Config.Menu.Item("Enabled" + Name) != null)
  58. {
  59. return Config.Menu.Item("Enabled" + Name).GetValue<bool>();
  60. }
  61. return true;
  62. }
  63. }
  64. public bool IsDangerous
  65. {
  66. get
  67. {
  68. if (Config.Menu.Item("OnlyDangerous" + Name) != null)
  69. {
  70. return Config.Menu.Item("OnlyDangerous" + Name).GetValue<bool>();
  71. }
  72. return true;
  73. }
  74. }
  75. public bool IsReady()
  76. {
  77. return ((CheckSpellName == "" || ObjectManager.Player.Spellbook.GetSpell(Slot).Name == CheckSpellName) &&
  78. ((IsSummonerSpell && ObjectManager.Player.Spellbook.CanUseSpell(Slot) == SpellState.Ready) ||
  79. (!IsSummonerSpell && ObjectManager.Player.Spellbook.CanUseSpell(Slot) == SpellState.Ready)));
  80. }
  81. }
  82. internal class DashData : EvadeSpellData
  83. {
  84. public DashData(string name, SpellSlot slot, float range, bool fixedRange, int delay, int speed, int dangerLevel)
  85. {
  86. Name = name;
  87. MaxRange = range;
  88. Slot = slot;
  89. FixedRange = fixedRange;
  90. Delay = delay;
  91. Speed = speed;
  92. _dangerLevel = dangerLevel;
  93. IsDash = true;
  94. }
  95. }
  96. internal class BlinkData : EvadeSpellData
  97. {
  98. public BlinkData(string name,
  99. SpellSlot slot,
  100. float range,
  101. int delay,
  102. int dangerLevel,
  103. bool isSummonerSpell = false)
  104. {
  105. Name = name;
  106. MaxRange = range;
  107. Slot = slot;
  108. Delay = delay;
  109. _dangerLevel = dangerLevel;
  110. IsSummonerSpell = isSummonerSpell;
  111. IsBlink = true;
  112. }
  113. }
  114. internal class InvulnerabilityData : EvadeSpellData
  115. {
  116. public InvulnerabilityData(string name, SpellSlot slot, int delay, int dangerLevel)
  117. {
  118. Name = name;
  119. Slot = slot;
  120. Delay = delay;
  121. _dangerLevel = dangerLevel;
  122. IsInvulnerability = true;
  123. }
  124. }
  125. internal class ShieldData : EvadeSpellData
  126. {
  127. public ShieldData(string name, SpellSlot slot, int delay, int dangerLevel, bool isSpellShield = false)
  128. {
  129. Name = name;
  130. Slot = slot;
  131. Delay = delay;
  132. _dangerLevel = dangerLevel;
  133. IsSpellShield = isSpellShield;
  134. IsShield = !IsSpellShield;
  135. }
  136. }
  137. internal class MoveBuffData : EvadeSpellData
  138. {
  139. public MoveBuffData(string name, SpellSlot slot, int delay, int dangerLevel, MoveSpeedAmount amount)
  140. {
  141. Name = name;
  142. Slot = slot;
  143. Delay = delay;
  144. _dangerLevel = dangerLevel;
  145. MoveSpeedTotalAmount = amount;
  146. IsMovementSpeedBuff = true;
  147. }
  148. }
  149. }

comments powered by Disqus