private static void OnAction(object sender, OrbwalkingActionArgs args) { try { var ComboQ = Menu["Q"]["ComboQ"].GetValue <MenuBool>(); var HarassQ = Menu["Q"]["HarassQ"].GetValue <MenuBool>(); var ADQ = Menu["Q"]["ADQ"].GetValue <MenuBool>(); var CheckQA = Menu["Q"]["CheckAA"].GetValue <MenuBool>(); if (args.Type == OrbwalkingType.AfterAttack) { var QTarget = GetTarget(680, Q.DamageType); var Attack = GetAttackRange(QTarget); if (QTarget != null && Combo && ComboQ) { if (CheckQA) { if (ADQ && Marksman.Contains(QTarget.CharData.BaseSkinName) && Q.IsReady() && Q.IsInRange(QTarget, -170)) { Q.Cast(QTarget); } else if (Q.IsReady() && Q.IsInRange(QTarget, -100)) { Q.Cast(QTarget); } } else if (ADQ && Marksman.Contains(QTarget.CharData.BaseSkinName) && Q.IsReady() && Q.IsInRange(QTarget)) { Q.Cast(QTarget); } else if (ADQ && Q.IsReady() && Q.IsInRange(QTarget)) { Q.Cast(QTarget); } } if (QTarget != null && Harass && HarassQ) { if (CheckQA) { if (Q.IsReady() && Q.IsInRange(QTarget, -70)) { Q.Cast(QTarget); } } else if (Q.IsReady() && Q.IsReady() && Q.IsInRange(QTarget)) { Q.Cast(QTarget); } } } } catch (Exception ex) { Console.WriteLine("Error In OnAction" + ex); } }
public override bool OnEquip(Mobile from) { if (from is Player) { Marksman mm = Perk.GetByType <Marksman>((Player)from); if (mm != null && mm.LongShot() == true) { this.MaxRange += 3; mm.BowConverted = true; } } return(base.OnEquip(from)); }
public override void Orbwalking_BeforeAttack(Marksman.Utils.Orbwalking.BeforeAttackEventArgs args) { if (GetValue<bool>("Misc.UseQ.Inhibitor") && args.Target is Obj_BarracksDampener && Q.IsReady()) { if (((Obj_BarracksDampener) args.Target).Health >= Player.TotalAttackDamage*3) { Q.Cast(); } } if (GetValue<bool>("Misc.UseQ.Nexus") && args.Target is Obj_HQ && Q.IsReady()) { Q.Cast(); } var unit = args.Target as Obj_AI_Turret; if (unit != null) { if (GetValue<bool>("UseEM") && E.IsReady()) { if (((Obj_AI_Turret) args.Target).Health >= Player.TotalAttackDamage*3) { E.CastOnUnit(unit); } } if (GetValue<bool>("Misc.UseQ.Turret") && Q.IsReady()) { if (((Obj_AI_Turret) args.Target).Health >= Player.TotalAttackDamage*3) { Q.Cast(); } } } if (args.Target is Obj_AI_Hero) { var t = args.Target as Obj_AI_Hero; if (t.IsValidTarget(Marksman.Utils.Orbwalking.GetRealAutoAttackRange(null)) && ComboActive) { var useQ = Q.IsReady() && GetValue<bool>("UseQC"); if (useQ) Q.CastOnUnit(Player); } } }
public override void OnRemoved(IEntity parent) { if (parent is Player) { Marksman mm = Perk.GetByType <Marksman>((Player)parent); if (mm != null && mm.LongShot() == true) { if (mm.BowConverted) { this.MaxRange -= 3; mm.BowConverted = false; } } } base.OnRemoved(parent); }
public override void OnHit(Mobile attacker, Mobile defender, double damageBonus) { if (attacker.Player && !defender.Player && (defender.Body.IsAnimal || defender.Body.IsMonster) && 0.4 >= Utility.RandomDouble()) { defender.AddToBackpack(Ammo); } if (attacker.Player) { Marksman mm = Perk.GetByType <Marksman>((Player)attacker); if (mm != null) { mm.WoundingShot(attacker, defender); } } base.OnHit(attacker, defender, damageBonus); }
private static void OnAction(object sender, OrbwalkingActionArgs args) { if (args.Type == OrbwalkingType.AfterAttack) { var Target = GetTarget(Q.Range, Q.DamageType); if (Variables.Orbwalker.ActiveMode == OrbwalkingMode.Combo) { if (Target != null && Menu["R"]["RAD"].GetValue <MenuBool>()) { if (Marksman.Contains(Target.CharData.BaseSkinName) && Q.IsReady() && R.IsReady() && R.IsInRange(Target)) { R.Cast(Target); Q.Cast(Target); } } } } }
public static Obj_AI_Base GetCondemnTarget(Vector3 fromPosition) { switch (MenuExtensions.GetItemValue <StringList>("dz191.vhr.misc.condemn.condemnmethod").SelectedIndex) { case 0: //VH Revolution return(VHRevolution.GetTarget(fromPosition)); case 1: //VH Reborn return(VHReborn.GetTarget(fromPosition)); case 2: //Marksman / Gosu return(Marksman.GetTarget(fromPosition)); case 3: //Shine# return(Shine.GetTarget(fromPosition)); } return(null); }
public override void Orbwalking_BeforeAttack(Marksman.Utils.Orbwalking.BeforeAttackEventArgs args) { if (!W.IsReady()) { return; } if (GetValue<bool>("Misc.UseW.Inhibitor") && args.Target is Obj_BarracksDampener) { W.Cast(); } if (GetValue<bool>("Misc.UseW.Nexus") && args.Target is Obj_HQ) { W.Cast(); } if (GetValue<bool>("Misc.UseW.Turret") && args.Target is Obj_AI_Turret) { W.Cast(); } }
public static Obj_AI_Base GetCondemnTarget(Vector3 fromPosition) { switch (MenuGenerator.miscMenu["dz191.vhr.misc.condemn.condemnmethod"].Cast <ComboBox>().CurrentValue) { case 0: //VH Revolution return(VHRevolution.GetTarget(fromPosition)); case 1: //VH Reborn return(VHReborn.GetTarget(fromPosition)); case 2: //Marksman / Gosu return(Marksman.GetTarget(fromPosition)); case 3: //Shine# return(Shine.GetTarget(fromPosition)); } return(null); }
public override TimeSpan OnSwing(Mobile attacker, Mobile defender) { WeaponAbility a = WeaponAbility.GetCurrentAbility(attacker); if (this.Parent is Player) { Marksman mm = Perk.GetByType <Marksman>((Player)this.Parent); if (mm != null && mm.RunAndGun()) { bool canSwing = true; if (Core.AOS) { canSwing = (!attacker.Paralyzed && !attacker.Frozen); if (canSwing) { Spell sp = attacker.Spell as Spell; canSwing = (sp == null || !sp.IsCasting || !sp.BlocksMovement); } } if (canSwing && attacker.HarmfulCheck(defender)) { attacker.DisruptiveAction(); attacker.Send(new Swing(0, attacker, defender)); Item weapon = this as BaseRanged; if (weapon != null) { if (((Player)this.Parent).Stam < (int)(((weapon.Weight + 2) / 2) + 3)) { canSwing = false; ((Player)this.Parent).SendMessage("You do not have the stamina to draw your bow."); } else { ((Player)this.Parent).Stam -= (int)(((weapon.Weight + 2) / 2) + 3); } } if (OnFired(attacker, defender)) { if (CheckHit(attacker, defender)) { OnHit(attacker, defender); } else { OnMiss(attacker, defender); } } } attacker.RevealingAction(); return(GetDelay(attacker)); } } // Make sure we've been standing still for .25/.5/1 second depending on Era if (DateTime.Now > (attacker.LastMoveTime + TimeSpan.FromSeconds(Core.SE ? 0.25 : (Core.AOS ? 0.5 : 1.0))) || (Core.AOS && WeaponAbility.GetCurrentAbility(attacker) is MovingShot)) { bool canSwing = true; if (Core.AOS) { canSwing = (!attacker.Paralyzed && !attacker.Frozen); if (canSwing) { Spell sp = attacker.Spell as Spell; canSwing = (sp == null || !sp.IsCasting || !sp.BlocksMovement); } } if (canSwing && attacker.HarmfulCheck(defender)) { attacker.DisruptiveAction(); attacker.Send(new Swing(0, attacker, defender)); Item weapon = this as BaseRanged; if (Parent is Player) { if (weapon != null) { if (((Player)this.Parent).Stam < (int)(((weapon.Weight + 2) / 2) + 3)) { canSwing = false; ((Player)this.Parent).SendMessage("You do not have the stamina to draw your bow."); } else { ((Player)this.Parent).Stam -= (int)(((weapon.Weight + 2) / 2) + 3); } } } if (OnFired(attacker, defender)) { if (CheckHit(attacker, defender)) { OnHit(attacker, defender); } else { OnMiss(attacker, defender); } } } attacker.RevealingAction(); return(GetDelay(attacker)); } else { attacker.RevealingAction(); return(TimeSpan.FromSeconds(0.25)); } }
public override void Orbwalking_BeforeAttack(Marksman.Utils.Orbwalking.BeforeAttackEventArgs args) { args.Process = !Q.IsCharging; }
public override void Orbwalking_BeforeAttack(Marksman.Utils.Orbwalking.BeforeAttackEventArgs args) { foreach ( var target in HeroManager.Enemies.Where( e => e.IsValid && e.Distance(ObjectManager.Player) < Marksman.Utils.Orbwalking.GetRealAutoAttackRange(null) + 65 && e.IsVisible).Where(target => target.HasBuff("kindredcharge"))) { Orbwalker.ForceTarget(target); } }