public override void Execute() { var target = TargetSelector2.GetTarget(Q.Range, DamageType.Physical); if (target != null && target.IsValidTarget(Q.Range)) { PassiveManager.CastAutoAttack(target); if (Settings.UseQ && Q.IsReady() && target.IsValidTarget(Q.Range) && !target.IsZombie && Player.Instance.ManaPercent > Settings.Mana) { SpellManager.CastQ(); } if (Settings.UseTiamatHydra) { ItemManager.UseHydra(target); } if (Settings.UseE && E.IsReady() && target.IsValidTarget(E.Range) && !target.IsZombie && Player.Instance.ManaPercent > Settings.Mana) { E.Cast(); } if (Settings.UseR && R.IsReady() && target.IsValidTarget(R.Range) && !target.IsZombie && Player.Instance.ManaPercent > Settings.Mana) { SpellManager.CastR(); } } }
public virtual void InitializeSetup(Point startingGridPosition, TileScript startingTile) { Debug.Log("Calling LivingEntity.InitializeSetup..."); // Get component references mySpriteRenderer = GetComponent <SpriteRenderer>(); myAnimator = GetComponent <Animator>(); defender = GetComponent <Defender>(); enemy = GetComponent <Enemy>(); myPassiveManager = GetComponent <PassiveManager>(); myPassiveManager.InitializeSetup(); mySpellBook = GetComponent <SpellBook>(); mySpellBook.InitializeSetup(); // Set grid position 'Point' GridPosition = startingGridPosition; // Set our current tile TileCurrentlyOn = startingTile; // Set its tile to 'occupied' state //LevelManager.Instance.SetTileAsOccupiedByEntity(startingTile); startingTile.SetTileAsOccupiedByEntity(this); // Place tower in the centre point of the tile transform.position = startingTile.WorldPosition; // Add this to the list of all active enemy and defender characters LivingEntityManager.Instance.allLivingEntities.Add(this); // Face towards the opponents if (defender) { PositionLogic.Instance.SetDirection(this, "Right"); } else if (enemy) { PositionLogic.Instance.SetDirection(this, "Left"); } // Set up all base properties and values (damage, mobility etc) SetBaseProperties(); }
public BattleManager(BattleInterface listener) { this.listener = listener; calculate = new BattleCalculator(); activeManager = ActiveSkillManager.GetInstance(); passiveSkill = new PassiveManager(); active = new ActiveUse(this); enemyAI = new EnemyAI(this); playerList = new List <CharacterModel>(); enemyList = new List <CharacterModel>(); }
internal static void Load() { Me = ObjectManager.Player; SkinID = ObjectManager.Player.SkinId; SpellManager.Init(); MenuManager.Init(); PassiveManager.Init(); Evade.EvadeManager.Init(); Evade.EvadeTargetManager.Init(); Obj_AI_Base.OnSpellCast += DoCastManager.Init; Game.OnUpdate += UpdateManager.Init; Drawing.OnDraw += DrawManager.Init; }
internal static bool CastQ(Obj_AI_Hero target) { if (!Q.IsReady() || !target.IsValidTarget(Q.Range)) { return(false); } if (Q.IsReady()) { if (PassiveManager.PassiveCount(target) > 0) { var pos = PassiveManager.CastQPosition(target); if (Menu.Item("QUnder", true).GetValue <bool>() && pos.UnderTurret(true)) { return(false); } if (Me.Distance(pos) > Q.Range) { return(false); } if (Me.Distance(pos) < 80) { return(false); } return(Q.Cast(pos)); } else { var pos = target.ServerPosition; if (Menu.Item("QUnder", true).GetValue <bool>() && pos.UnderTurret(true)) { return(false); } if (target.IsValidTarget(Q.Range) && Me.Distance(target) >= 100) { Q.Cast(target.ServerPosition); } } } return(false); }
private static void ForcusAttack(Obj_AI_Hero target) { if (Me.Spellbook.IsAutoAttacking || (target.DistanceToPlayer() <= Orbwalking.GetRealAutoAttackRange(Me) && Orbwalking.CanAttack())) { return; } if (Q.IsReady()) { return; } var pos = PassiveManager.OrbwalkerPosition(target); var path = Me.GetPath(pos); Orbwalker.SetOrbwalkingPoint(target.IsMoving ? (path.Length < 3 ? pos : path.Skip(path.Length / 2).FirstOrDefault()): pos); }
public override void Execute() { var target = TargetSelector2.GetTarget(Q.Range, DamageType.Physical); if (target != null && target.IsValidTarget(R.Range)) { PassiveManager.CastAutoAttack(target); if (Settings.UseYomuus) { ItemManager.UseYomu(); } if (Settings.UseQ && Q.IsReady() && target.IsValidTarget(Q.Range) && !target.IsZombie) { SpellManager.CastQ(); } if (Settings.UseCutlassBotrk) { ItemManager.UseCastables(); } if (Settings.UseTiamatHydra) { ItemManager.UseHydra(target); } if (Settings.UseE && E.IsReady() && target.IsValidTarget(E.Range) && !target.IsZombie) { E.Cast(); } if (Settings.UseR && R.IsReady() && target.IsValidTarget(R.Range) && !target.IsZombie && Config.Modes.Combo.UseRonTarget(target.ChampionName) && Player.Instance.HealthPercent <= Config.Modes.Combo.RSliderValue()) { SpellManager.CastR(); } } }
private static float GetComboDamage(AIHeroClient unit, int maxStacks) { var d = 2 * Player.Instance.GetAutoAttackDamage(unit); if (ItemManager.BOTRK.IsReady() && ItemManager.BOTRK.IsOwned()) { d += Player.Instance.GetItemDamage(unit, ItemId.Blade_of_the_Ruined_King); } if (ItemManager.Cutl.IsReady() && ItemManager.Cutl.IsOwned()) { d += Player.Instance.GetItemDamage(unit, ItemId.Bilgewater_Cutlass); } if (ItemManager.RavenousHydra.IsReady() && ItemManager.RavenousHydra.IsOwned()) { d += Player.Instance.GetItemDamage(unit, ItemId.Ravenous_Hydra_Melee_Only); } if (ItemManager.TitanicHydra.IsReady() && ItemManager.TitanicHydra.IsOwned()) { d += Player.Instance.GetItemDamage(unit, ItemId.Titanic_Hydra); } if (ItemManager.Tiamat.IsReady() && ItemManager.Tiamat.IsOwned()) { d += Player.Instance.GetItemDamage(unit, ItemId.Ravenous_Hydra_Melee_Only); } if (ItemManager.Sheen.IsReady() && ItemManager.Sheen.IsOwned()) { d += Player.Instance.GetAutoAttackDamage(unit) + Player.Instance.BaseAttackDamage * 2; } if (ItemManager.TriForce.IsReady() && ItemManager.TriForce.IsOwned()) { d += Player.Instance.GetAutoAttackDamage(unit) + Player.Instance.BaseAttackDamage * 3; } if ((Player.Instance.GetSpellSlotFromName("summonerdot") == SpellSlot.Summoner1 || Player.Instance.GetSpellSlotFromName("summonerdot") == SpellSlot.Summoner2) && Settings.UseIgnite && SpellManager.IG.IsReady()) { d += Player.Instance.GetSummonerSpellDamage(unit, DamageLibrary.SummonerSpells.Ignite); } if (ComboSettings.UseQ && SpellManager.Q.IsReady()) { d += Player.Instance.GetSpellDamage(unit, SpellSlot.Q); } if (ComboSettings.UseE && SpellManager.E.IsReady()) { d += 2 * Player.Instance.GetAutoAttackDamage(unit); } if (maxStacks == 0) { if (SpellManager.R.IsReady()) { d += (float)PassiveManager.GetPassiveDamage(unit, 4); } else { d += (float)PassiveManager.GetPassiveDamage(unit, PassiveManager.GetPassiveCount(unit)); } } else { d += (float)PassiveManager.GetPassiveDamage(unit, maxStacks); } if (SpellManager.R.IsReady()) { d += Player.Instance.GetSpellDamage(unit, SpellSlot.R); } return((float)d); }