public Eclipse(Ability ability) : base(ability) { DisablePathfinder = true; BlinkAbilities.AddRange(BlinkAbilityNames); DisableAbilities.AddRange(DisableAbilityNames); CounterAbilities.Add(PhaseShift); CounterAbilities.Add(Eul); CounterAbilities.Add(Manta); CounterAbilities.Add(TricksOfTheTrade); CounterAbilities.AddRange(VsDamage); CounterAbilities.AddRange(Invul); CounterAbilities.Add(SnowBall); CounterAbilities.Add(Armlet); CounterAbilities.Add(Bloodstone); CounterAbilities.AddRange(Invis); for (var i = 0u; i < duration.Length; i++) { duration[i] = ability.AbilitySpecialData.First(x => x.Name == "duration_tooltip").GetValue(i); durationAghanim[i] = ability.AbilitySpecialData.First(x => x.Name == "duration_tooltip_scepter").GetValue(i); } }
public Player() { AllAbilities = new Ability[20]; EquippedAbilities = new Ability[GameConstants.Ranges.STANDARD_ABILITY_SIZE]; EquippedFinishers = new Ability[GameConstants.Ranges.FINISHER_ABILITY_SIZE]; }
public static void AddAllBuffs(Ability[] spells, Item[] myItems1) { buffsToggler = new Dictionary<string, bool>(); foreach (var spell in from spell in spells let data = AbilityDatabase.Find(spell.Name) where data != null && data.IsBuff select spell) { AddBuff(spell); RangeDrawing.AddRange(spell); } foreach (var spell in from spell in myItems1 let data = AbilityDatabase.Find(spell.Name) where data != null && data.IsBuff select spell) { AddBuff(spell); RangeDrawing.AddRange(spell); } if (BuffsTogglerCreated) { MainMenu.Menu.AddItem(new MenuItem("buffsToggler", "Buffs:").SetValue(new AbilityToggler(buffsToggler))); } }
public IcePath(Ability ability) : base(ability) { Modifier = new EvadableModifier(HeroTeam, EvadableModifier.GetHeroType.LowestHealth); CounterAbilities.Add(PhaseShift); CounterAbilities.Add(BallLightning); CounterAbilities.Add(Eul); CounterAbilities.AddRange(VsDisable); CounterAbilities.Add(SnowBall); CounterAbilities.Add(Armlet); CounterAbilities.Add(Bloodstone); CounterAbilities.Remove("bane_nightmare"); CounterAbilities.Remove("abaddon_aphotic_shield"); Modifier.AllyCounterAbilities.AddRange(AllyShields); Modifier.AllyCounterAbilities.AddRange(Invul); Modifier.AllyCounterAbilities.AddRange(VsMagic); AdditionalDelay = ability.AbilitySpecialData.First(x => x.Name == "path_delay").Value; for (var i = 0u; i < duration.Length; i++) { duration[i] = ability.AbilitySpecialData.First(x => x.Name == "duration").GetValue(i); } talent = AbilityOwner.FindSpell("special_bonus_unique_jakiro"); if (talent != null) { bonusDuration = talent.AbilitySpecialData.First(x => x.Name == "value").Value; } ObstacleStays = true; }
public void AddActive(Ability ab, int slot) { if(!allAbilities.Contains(ab)) allAbilities.Add(ab); if(slot >= 0) SetActive(allAbilities.IndexOf(ab),slot); }
public BloodRite(Ability ability) : base(ability) { DisablePathfinder = true; Modifier = new EvadableModifier(HeroTeam, EvadableModifier.GetHeroType.LowestHealth); CounterAbilities.Add(PhaseShift); CounterAbilities.Add(BallLightning); CounterAbilities.Add(SleightOfFist); CounterAbilities.Add(Manta); CounterAbilities.Add(Eul); CounterAbilities.Add(TricksOfTheTrade); CounterAbilities.AddRange(VsDisable); CounterAbilities.AddRange(VsDamage); CounterAbilities.AddRange(VsMagic); CounterAbilities.AddRange(Invis); CounterAbilities.Add(SnowBall); CounterAbilities.Add(Armlet); CounterAbilities.Add(Bloodstone); CounterAbilities.Remove("abaddon_aphotic_shield"); Modifier.AllyCounterAbilities.Add(Lotus); Modifier.AllyCounterAbilities.Add(Eul); Modifier.AllyCounterAbilities.Add(Manta); Modifier.AllyCounterAbilities.AddRange(AllyShields); AdditionalDelay = Ability.AbilitySpecialData.First(x => x.Name == "delay").Value; }
public Tower(Texture2D texture, Vector2 position, int range, Ability attack) : base(texture, position) { Range = range; TowerAbility = attack; CanAttack = true; }
public LightStrikeArray(Ability ability) : base(ability) { Modifier = new EvadableModifier(HeroTeam, EvadableModifier.GetHeroType.LowestHealth); CounterAbilities.Add(PhaseShift); CounterAbilities.Add(BallLightning); CounterAbilities.Add(SleightOfFist); CounterAbilities.Add(Manta); CounterAbilities.Add(Eul); CounterAbilities.AddRange(VsDisable); CounterAbilities.AddRange(VsDamage); CounterAbilities.AddRange(VsMagic); CounterAbilities.AddRange(Invis); CounterAbilities.Add(SnowBall); CounterAbilities.Add(Armlet); CounterAbilities.Add(Bloodstone); CounterAbilities.Remove("abaddon_aphotic_shield"); Modifier.AllyCounterAbilities.AddRange(AllyShields); Modifier.AllyCounterAbilities.AddRange(Invul); Modifier.AllyCounterAbilities.AddRange(VsMagic); AdditionalDelay = Ability.AbilitySpecialData.First(x => x.Name == "light_strike_array_delay_time").Value + 0.05f; }
public Mjollnir(Ability ability) : base(ability) { Modifier = new EvadableModifier(EnemyTeam, EvadableModifier.GetHeroType.ModifierSource); Modifier.EnemyCounterAbilities.Add(FortunesEnd); }
public static bool Cast(Ability ability, Unit target, string name) { if (name == "razor_static_link" && target.Distance2D(AbilityMain.Me) > (ability.GetCastRange(name) * 0.75)) { return false; } if (ability.IsAbilityBehavior(AbilityBehavior.UnitTarget, name)) { Game.ExecuteCommand("dota_player_units_auto_attack_after_spell 0"); ManageAutoAttack.AutoAttackDisabled = true; SoulRing.Cast(ability); ability.UseAbility(target); return true; } if ((ability.IsAbilityBehavior(AbilityBehavior.AreaOfEffect, name) || ability.IsAbilityBehavior(AbilityBehavior.Point, name)) && (Prediction.StraightTime(target) > 1000 || target.MovementSpeed < 200)) { Game.ExecuteCommand("dota_player_units_auto_attack_after_spell 0"); ManageAutoAttack.AutoAttackDisabled = true; return ability.CastSkillShot(target, name, SoulRing.Check(ability) ? MyAbilities.SoulRing : null); } if (ability.IsAbilityBehavior(AbilityBehavior.NoTarget, name)) { Game.ExecuteCommand("dota_player_units_auto_attack_after_spell 0"); ManageAutoAttack.AutoAttackDisabled = true; SoulRing.Cast(ability); ability.UseAbility(); return true; } return false; }
public static void Init() { Game.OnUpdate += Game_OnUpdate; loaded = false; me = null; target = null; earthshock = null; overpower = null; enrage = null; abyssalBlade = null; scytheOfVyse = null; blink = null; text = new Font( Drawing.Direct3DDevice9, new FontDescription { FaceName = "Tahoma", Height = 13, OutputPrecision = FontPrecision.Default, Quality = FontQuality.Default }); Drawing.OnPreReset += Drawing_OnPreReset; Drawing.OnPostReset += Drawing_OnPostReset; Drawing.OnEndScene += Drawing_OnEndScene; AppDomain.CurrentDomain.DomainUnload += CurrentDomainDomainUnload; Game.OnWndProc += Game_OnWndProc; Orbwalking.Load(); }
public Snowball(Ability ability) : base(ability) { IsDisjointable = false; Modifier = new EvadableModifier(HeroTeam, EvadableModifier.GetHeroType.LowestHealth); CounterAbilities.Add(PhaseShift); CounterAbilities.Add(BallLightning); CounterAbilities.Add(Eul); CounterAbilities.AddRange(VsDisable); CounterAbilities.AddRange(VsDamage); CounterAbilities.AddRange(VsPhys); CounterAbilities.AddRange(Invul); CounterAbilities.AddRange(Invis); CounterAbilities.Add(SnowBall); CounterAbilities.Add(Armlet); CounterAbilities.Add(Bloodstone); CounterAbilities.Add(Lotus); CounterAbilities.Remove("abaddon_aphotic_shield"); Modifier.AllyCounterAbilities.AddRange(AllyShields); Modifier.AllyCounterAbilities.AddRange(Invul); AdditionalDelay = Ability.AbilitySpecialData.First(x => x.Name == "snowball_windup").Value; }
protected Projectile(Ability ability) : base(ability) { IsDisjointable = true; radius = 75; DisablePathfinder = true; }
public void Execute(Ability ab, GamePlayer player) { SureShotEffect sureShot = player.EffectList.GetOfType<SureShotEffect>(); if (sureShot != null) { sureShot.Cancel(false); return; } if (!player.IsAlive) { player.Out.SendMessage(LanguageMgr.GetTranslation(player.Client.Account.Language, "Skill.Ability.SureShot.CannotUseDead"), eChatType.CT_System, eChatLoc.CL_SystemWindow); return; } RapidFireEffect rapidFire = player.EffectList.GetOfType<RapidFireEffect>(); if (rapidFire != null) rapidFire.Cancel(false); TrueshotEffect trueshot = player.EffectList.GetOfType<TrueshotEffect>(); if (trueshot != null) trueshot.Cancel(false); new SureShotEffect().Start(player); }
public static float DamageAmpValue(Ability ability) { var multi = !MultiplierDictionary.ContainsKey(ability.Name) ? 0 : Math.Abs(MultiplierDictionary[ability.Name]); return multi; }
public void LimitedGainTest() { Ability ability = new Ability(0, AbilityType.General, "TestAbility"); CharacterAbility charAbility = new CharacterAbility(ability); charAbility.AddExperience(10, 1); Assert.AreEqual(1, charAbility.Value); }
public void AbilityValueSetsModifier(int value, int modifier) { var a = new Ability("TestAbility-BaDumBum"); a.Value = value; Assert.AreEqual(modifier, a.Modifier); }
public static void Main(string[] args) { Game.OnUpdate += Game_OnUpdate; Orbwalking.Load(); if (rangeDisplay == null) { return; } rangeDisplay = null; Urn = null; Abyssal = null; Blademail = null; Mjollnir = null; Orchid = null; Halberd = null; Satanic = null; Hex = null; SolarCrest = null; Medallion = null; Blink = null; Armlet = null; loaded = false; spellQ = null; spellR = null; //Aghs = null; }
public Dismember(Ability ability) : base(ability) { Modifier = new EvadableModifier(HeroTeam, EvadableModifier.GetHeroType.ModifierSource); CounterAbilities.Add(Lotus); CounterAbilities.Add(PhaseShift); CounterAbilities.Add(BallLightning); CounterAbilities.Add(Eul); CounterAbilities.Add(Manta); CounterAbilities.Add(SleightOfFist); CounterAbilities.Add(TricksOfTheTrade); CounterAbilities.AddRange(VsDisable); CounterAbilities.AddRange(VsDamage); CounterAbilities.AddRange(VsMagic); CounterAbilities.AddRange(Invul); CounterAbilities.Add(SnowBall); CounterAbilities.Add(Armlet); CounterAbilities.Add(Bloodstone); CounterAbilities.AddRange(Invis); Modifier.AllyCounterAbilities.AddRange(AllyShields); Modifier.AllyCounterAbilities.AddRange(Invul); Modifier.AllyCounterAbilities.AddRange(VsMagic); }
public Torrent(Ability ability) { Ability = ability; CastPoint = (float)ability.FindCastPoint(); AdditionalDelay = AbilityDatabase.Find(ability.Name).AdditionalDelay; Radius = ability.GetRadius() + 25; }
private void FillMageAbilitys() { allMageAbilitys = new Dictionary<int, List<Ability>>(); //LEVEL 1 Ability abFrostbolt = new Ability() { Name = "Icebolt", Damage = 15, ManaCost = 20, StaticID = 101, Range = 50, Cooldown = 3 }; abFrostbolt.Description = string.Format("Simple bolt made of ice that does {0} damage", abFrostbolt.Damage); Ability abFirebolt = new Ability() { Name = "Firebolt", Damage = 25, ManaCost = 25, StaticID = 102, Range = 50, Cooldown = 2 }; abFirebolt.Description = string.Format("Firebolt that does {0} damage", abFirebolt.Damage); Ability abMindslash = new Ability() { Name = "Mindeslah", Damage = 20, ManaCost = 35, StaticID = 103, Range = 25, Cooldown = 6 }; abMindslash.Description = string.Format("Slash the foes mind for {0} damage", abMindslash.Damage); Ability abShoot = new Ability() { Name = "Shoot", Damage = 20, ManaCost = 10, StaticID = 104, Range = 75, Cooldown = 10 }; abShoot.Description = string.Format("Shoot enemy with your wand for {0} damage", abShoot.Damage); allMageAbilitys.Add(1, new List<Ability>() { abFrostbolt, abFirebolt, abMindslash, abShoot }); //LEVEL 2 Ability abIceSpike = new Ability() { Name = "Ice Spike", Damage = 50, ManaCost = 70, StaticID = 105, Range = 25, Cooldown = 10 }; abIceSpike.Description = string.Format("Impale enemy for {0} damage", abIceSpike.Damage); allMageAbilitys.Add(2, new List<Ability>(){abIceSpike}); }
public void Execute(Ability ab, GamePlayer player) { RapidFireEffect rapidFire = player.EffectList.GetOfType<RapidFireEffect>(); if (rapidFire!=null) { rapidFire.Cancel(false); return; } if(!player.IsAlive) { player.Out.SendMessage("You can't switch to rapid fire when dead!", eChatType.CT_System, eChatLoc.CL_SystemWindow); return; } SureShotEffect sureShot = player.EffectList.GetOfType<SureShotEffect>(); if (sureShot != null) sureShot.Cancel(false); TrueshotEffect trueshot = player.EffectList.GetOfType<TrueshotEffect>(); if (trueshot != null) trueshot.Cancel(false); new RapidFireEffect().Start(player); }
public override void Enter() { base.Enter(); hoverInactiveSpell = null; hoverActiveSpell = null; }
public static bool Check(Ability ability) { return MyAbilities.SoulRing.CanBeCasted() && ability.ManaCost > 0 && Utils.SleepCheck("Ability.SoulRing") && Heals.HealsMenuDictionary["item_soul_ring"].Item("item_soul_ringuseBeforeCast").GetValue<bool>() && Heals.HealsMenuDictionary["item_soul_ring"].Item("item_soul_ringminHp").GetValue<Slider>().Value < AbilityMain.Me.Health; }
public static Menu Create(string name, Ability ability) { var menu = new Menu(name, name, textureName: name); if (name == "rubick_spell_steal") { return menu; } menu.AddItem(Togglers.OnSight(name)); var data = AbilityDatabase.Find(name); var defaultValue = ability.AbilityType != AbilityType.Ultimate; if (data != null) { if (data.TrueSight) { menu.AddItem(Togglers.OnInvisible(name, defaultValue)); } if (data.IsPurge) { menu.AddItem(Togglers.OnPurgable(name, defaultValue)); } if (data.WeakensEnemy) { menu.AddItem(Togglers.OnAttack(name, defaultValue)); } } menu.AddItem(Sliders.MinManaCheck(name)); menu.AddItem(Sliders.MinManaCheck(name, true)); return menu; }
public void add(Ability ability) { if ( !_abilities.Contains( ability ) ) _abilities.Add( ability ); //ability.initData( caster , this ); Debug.Log( "Added " + ability.name + " to " + caster.name + "'s abilitycontainer" ); }
public AbilityDisplay(Ability ability, int exp) { _ability = ability; _exp = exp; InitializeComponent(); }
public Torrent(Ability ability) : base(ability) { Modifier = new EvadableModifier(HeroTeam, EvadableModifier.GetHeroType.LowestHealth); CounterAbilities.Add(PhaseShift); CounterAbilities.Add(BallLightning); CounterAbilities.Add(SleightOfFist); CounterAbilities.Add(Manta); CounterAbilities.Add(Eul); CounterAbilities.AddRange(VsDisable); CounterAbilities.AddRange(VsDamage); CounterAbilities.AddRange(VsMagic); CounterAbilities.AddRange(Invis); CounterAbilities.Add(SnowBall); CounterAbilities.Add(Armlet); CounterAbilities.Add(Bloodstone); Modifier.AllyCounterAbilities.AddRange(AllyShields); Modifier.AllyCounterAbilities.AddRange(Invul); Modifier.AllyCounterAbilities.AddRange(VsMagic); AdditionalDelay = Ability.AbilitySpecialData.First(x => x.Name == "delay").Value; talent = AbilityOwner.FindSpell("special_bonus_unique_kunkka"); if (talent != null) { bonusRadius = talent.AbilitySpecialData.First(x => x.Name == "value").Value; } }
/// <summary> /// Execute dirtytricks ability /// </summary> /// <param name="ab">The used ability</param> /// <param name="player">The player that used the ability</param> public void Execute(Ability ab, GamePlayer player) { if (player == null) { if (log.IsWarnEnabled) log.Warn("Could not retrieve player in DirtyTricksAbilityHandler."); return; } if (!player.IsAlive) { player.Out.SendMessage("You are dead and can't use that ability!", eChatType.CT_YouHit, eChatLoc.CL_SystemWindow); return; } if (player.IsMezzed) { player.Out.SendMessage("You cannot use this while Mezzed!", eChatType.CT_System, eChatLoc.CL_SystemWindow); return; } if (player.IsStunned) { player.Out.SendMessage("You cannot use this while Stunned!", eChatType.CT_System, eChatLoc.CL_SystemWindow); return; } if (player.IsSitting) { player.Out.SendMessage("You must be standing to use this ability!", eChatType.CT_System, eChatLoc.CL_SystemWindow); return; } player.DisableSkill(ab, REUSE_TIMER); DirtyTricksEffect dt = new DirtyTricksEffect(DURATION * 1000); dt.Start(player); }
public Supernova(Ability ability) : base(ability) { DisablePathfinder = true; Modifier = new EvadableModifier(HeroTeam, EvadableModifier.GetHeroType.LowestHealth); CounterAbilities.Add(PhaseShift); CounterAbilities.Add(BallLightning); CounterAbilities.Add(Eul); CounterAbilities.Add(Manta); CounterAbilities.Add(SleightOfFist); CounterAbilities.AddRange(VsDisable); CounterAbilities.AddRange(VsDamage); CounterAbilities.AddRange(VsMagic); CounterAbilities.AddRange(Invis); CounterAbilities.Add(Armlet); Modifier.AllyCounterAbilities.AddRange(AllyShields); Modifier.AllyCounterAbilities.AddRange(Invul); Modifier.AllyCounterAbilities.AddRange(VsMagic); AdditionalDelay = Ability.AbilitySpecialData.First(x => x.Name == "tooltip_duration").Value; radius = Ability.AbilitySpecialData.First(x => x.Name == "aura_radius").Value; }
public bounty_hunter_jinada(Ability ability) : base(ability) { }
public phantom_assassin_coup_de_grace(Ability ability) : base(ability) { }
public EyeOfSkadi(Ability baseAbility) : base(baseAbility) { }
public dazzle_weave(Ability ability) : base(ability) { }
public InvokerGhostWalk(Ability ability) : base(ability) { _invokeHelper = new InvokeHelper <InvokerGhostWalk>(this); }
public DustOfAppearance(Ability baseAbility) : base(baseAbility) { this.RadiusData = new SpecialData(baseAbility, "radius"); }
// Token: 0x060006E7 RID: 1767 RVA: 0x00006530 File Offset: 0x00004730 public Maelstrom(Ability baseAbility) : base(baseAbility) { }
private void ResolveSelection(Ability selected) { completionSource.SetResult(selected); }
public RealityRift(Ability baseAbility) : base(baseAbility) { }
public MirrorImage(Ability baseAbility) : base(baseAbility) { }
public void ForceSetAbility(Ability newAbility) { currentAbility = newAbility; characterAnimator.SetAnimationClipSet(newAbility.GetAbilityAnimations(), newAbility.GetAbilityAnimationTime()); }
public void addItem(Ability ability) { abilities.Add(ability); }
protected abstract TU AbilityInfoElement(Ability ability);
public MortalStrike(Ability baseAbility) : base(baseAbility) { }
public Mekansm(Ability baseAbility) : base(baseAbility) { this.RadiusData = new SpecialData(baseAbility, "heal_radius"); this.healthRestoreData = new SpecialData(baseAbility, "heal_amount"); }
public HurricanePike(Ability ability, Manager manager) : base(ability, manager) { castRange = ability.AbilitySpecialData.First(x => x.Name == "cast_range_enemy").Value + 100; }
public void LoadForm(Ability objAbility) { this.txtName.Text = objAbility.AbilityName; //this.txtDescription.Text = objAbility. this.txtSortOrder.Text = Common.PascalNoteString(objAbility.SortOrder.ToString()); }
public WhirlingAxesMelee(Ability baseAbility) : base(baseAbility) { this.RadiusData = new SpecialData(baseAbility, "max_range"); this.DamageData = new SpecialData(baseAbility, "damage"); }
private static List <EncounterSlot> calcAbility(List <EncounterSlot> slots, Ability ability, Version version, byte intimidate) { int slotCount = slots.Count; switch (ability) { case Ability.Static: // counts the number of electrics int nbElec = 0; foreach (EncounterSlot e in slots) { if (e.Species.Type1 == Type.Electric || e.Species.Type2 == Type.Electric) { nbElec++; } } // Do nothing if no electric-types if (nbElec == 0) { break; } // Half electric, half regular slots for (int i = 0; i < slotCount; i++) { if (slots[i].Species.Type1 == Type.Electric || slots[i].Species.Type2 == Type.Electric) { slots.Add(new EncounterSlot(slots[i].Species, slots[i].MinLevel, slots[i].MaxLevel, 50m / nbElec)); } slots[i].Percentage /= 2; } break; case Ability.MagnetPull: // counts the number of steels int nbSteels = 0; foreach (EncounterSlot e in slots) { if (e.Species.Type1 == Type.Steel || e.Species.Type2 == Type.Steel) { nbSteels++; } } // Do nothing if no steel-types if (nbSteels == 0) { break; } // Half steel, half regular slots for (int i = 0; i < slotCount; i++) { if (slots[i].Species.Type1 == Type.Steel || slots[i].Species.Type2 == Type.Steel) { slots.Add(new EncounterSlot(slots[i].Species, slots[i].MinLevel, slots[i].MaxLevel, 50m / nbSteels)); } slots[i].Percentage /= 2; } break; case Ability.Pressure: // Three cases. 1: Each slot has a single Level. 2: At least one slot has MinLevel != MaxLevel (before Gen 5). 3: At least one slot has MinLevel != MaxLevel (Gen 5 onwards) // Cases 2 and 3. if (slots.Any(e => e.MinLevel != e.MaxLevel)) { // Case 3 -> Gen 5 onwards: if (version >= Version.Black) { for (int i = 0; i < slotCount; i++) { slots[i].Percentage /= 2; byte MaxLv = 0; int capped = 0; int lvRange = slots[i].MaxLevel - slots[i].MinLevel + 1; foreach (EncounterSlot e in slots) { if (slots[i].Species.NatID == e.Species.NatID) { MaxLv = Math.Max(MaxLv, e.MaxLevel); } } capped = Math.Max(Math.Min((5 - (MaxLv - slots[i].MaxLevel)), lvRange), 0); slots.Add(new EncounterSlot(slots[i].Species, Math.Min((byte)(slots[i].MinLevel + 5), MaxLv), Math.Min(slots[i].MaxLevel, MaxLv), slots[i].Percentage * (lvRange - capped) / lvRange)); slots.Add(new EncounterSlot(slots[i].Species, MaxLv, MaxLv, slots[i].Percentage * capped / lvRange)); } } // Case 2 -> Before Gen 5: else { for (int i = 0; i < slotCount; i++) { slots[i].Percentage /= 2; slots.Add(new EncounterSlot(slots[i].Species, slots[i].MaxLevel, slots[i].MaxLevel, slots[i].Percentage)); } } } else { // case 1. for (int i = 0; i < slotCount; i++) { // Get Max Level of the species: byte maxLv = 0; foreach (EncounterSlot e in slots) { if (slots[i].Species.NatID == e.Species.NatID) { maxLv = Math.Max(maxLv, e.MaxLevel); } } // Copy slot and replace levels. slots.Add(new EncounterSlot(slots[i].Species, maxLv, maxLv, slots[i].Percentage / 2)); // Half percentage of slot i: slots[i].Percentage /= 2; } } break; case Ability.CuteCharm: // Genderless and fixed-gendered Pokémon are more likely to be found shiny. foreach (EncounterSlot s in slots) { if (new[] { 0, 254, 255 }.Contains(s.Species.GenderRatio)) { s.EffectivePercentage *= 3; } } decimal sum = slots.Sum(s => s.EffectivePercentage); if (sum == 0) { break; // Repel level is too high. Prevents DivisionByZero exception when recalculating effective percentages. } foreach (EncounterSlot s in slots) { s.EffectivePercentage *= (100 / sum); } break; case Ability.Intimidate: // Repels half of Pokémon with level below or equals intimidator's Level - 5 (strictly below Intimidator's Lv - 4) intimidate -= 4; int nbSlots = slots.Count; if (intimidate < 1) { break; } for (int i = 0; i < nbSlots; i++) { EncounterSlot s = slots[i]; decimal lvRange = Math.Max(0, Math.Min(1, (decimal)(s.MaxLevel - intimidate + 1) / (s.MaxLevel - s.MinLevel + 1))); s.Percentage /= 2; slots.Add(new EncounterSlot(s.Species, intimidate, s.MaxLevel, s.Percentage * lvRange)); } //decimal sumPercent = slots.Sum(s => s.Percentage); //foreach (EncounterSlot s in slots) // s.Percentage *= (100 / sumPercent); slots.RemoveAll(s => s.Percentage == 0m); break; default: break; } return(slots); }
public ReturnToBase(Ability baseAbility) : base(baseAbility) { }
public void Combo() { if (!Game.IsInGame || Game.IsPaused || Game.IsWatchingGame) { return; } Active = Game.IsKeyDown(Menu.Item("Combo Key").GetValue <KeyBind>().Key) && !Game.IsChatOpen; if (Active && me.IsAlive) { e = Toolset.ClosestToMouse(me); if (e == null) { return; } Q = me.Spellbook.SpellQ; W = me.Spellbook.SpellW; R = me.Spellbook.SpellR; // item sheep = e.ClassId == ClassId.CDOTA_Unit_Hero_Tidehunter ? null : me.FindItem("item_sheepstick"); satanic = me.FindItem("item_satanic"); shiva = me.FindItem("item_shivas_guard"); dagon = me.Inventory.Items.FirstOrDefault(item => item.Name.Contains("item_dagon")); arcane = me.FindItem("item_arcane_boots"); orchid = me.FindItem("item_orchid") ?? me.FindItem("item_bloodthorn"); mom = me.FindItem("item_mask_of_madness"); vail = me.FindItem("item_veil_of_discord"); medall = me.FindItem("item_medallion_of_courage") ?? me.FindItem("item_solar_crest"); ethereal = me.FindItem("item_ethereal_blade"); blink = me.FindItem("item_blink"); soul = me.FindItem("item_soul_ring"); cheese = me.FindItem("item_cheese"); halberd = me.FindItem("item_heavens_halberd"); abyssal = me.FindItem("item_abyssal_blade"); mjollnir = me.FindItem("item_mjollnir"); var stoneModif = e.HasModifier("modifier_medusa_stone_gaze_stone"); var linkens = e.IsLinkensProtected(); var noBlade = e.HasModifier("modifier_item_blade_mail_reflect"); if (e.IsVisible && me.Distance2D(e) <= 2300 && !noBlade) { if (Menu.Item("orbwalk").GetValue <bool>() && me.Distance2D(e) <= 1900) { Orbwalking.Orbwalk(e, 0, 1600, true, true); } if ( R != null && R.CanBeCasted() && !me.HasModifier("modifier_nyx_assassin_vendetta") && me.Distance2D(e) <= 1400 && Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(R.Name) && Utils.SleepCheck("R") ) { R.UseAbility(); Utils.Sleep(200, "R"); } if (R != null && (R.IsInAbilityPhase || me.HasModifier("modifier_nyx_assassin_vendetta") || R.IsChanneling)) { return; } if (R == null || !R.CanBeCasted() && !me.HasModifier("modifier_nyx_assassin_vendetta") || !Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(R.Name)) { if (stoneModif) { return; } float angle = me.FindAngleBetween(e.Position, true); Vector3 pos = new Vector3((float)(e.Position.X - 100 * Math.Cos(angle)), (float)(e.Position.Y - 100 * Math.Sin(angle)), 0); if ( blink != null && Q.CanBeCasted() && me.CanCast() && blink.CanBeCasted() && me.Distance2D(e) >= 300 && me.Distance2D(pos) <= 1180 && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(blink.Name) && Utils.SleepCheck("blink") ) { blink.UseAbility(pos); Utils.Sleep(250, "blink"); } if ( // orchid orchid != null && orchid.CanBeCasted() && me.CanCast() && !e.IsLinkensProtected() && !e.IsMagicImmune() && me.Distance2D(e) <= me.AttackRange + me.HullRadius + 50 && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(orchid.Name) && Utils.SleepCheck("orchid") ) { orchid.UseAbility(e); Utils.Sleep(250, "orchid"); } // orchid Item end if ( // vail vail != null && vail.CanBeCasted() && me.CanCast() && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(vail.Name) && !e.IsMagicImmune() && Utils.SleepCheck("vail") && me.Distance2D(e) <= 1500 ) { vail.UseAbility(e.Position); Utils.Sleep(250, "vail"); } if ( // ethereal ethereal != null && ethereal.CanBeCasted() && (!vail.CanBeCasted() || vail == null) && me.CanCast() && !linkens && !e.IsMagicImmune() && Utils.SleepCheck("ethereal") ) { ethereal.UseAbility(e); Utils.Sleep(150, "ethereal"); } if ((vail == null || !vail.CanBeCasted() || !Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(vail.Name)) && (ethereal == null || !ethereal.CanBeCasted() || !Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(ethereal.Name))) { if ( // sheep sheep != null && sheep.CanBeCasted() && me.CanCast() && !e.IsLinkensProtected() && !e.IsMagicImmune() && !e.IsStunned() && !e.IsHexed() && me.Distance2D(e) <= 1400 && !stoneModif && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(sheep.Name) && Utils.SleepCheck("sheep") ) { sheep.UseAbility(e); Utils.Sleep(250, "sheep"); } // sheep Item end if ( Q != null && Q.CanBeCasted() && Q.Cooldown <= 0 && me.Mana >= Q.ManaCost && !e.IsStunned() && !e.IsHexed() && me.Distance2D(e) <= Q.GetCastRange() + me.HullRadius && !e.IsMagicImmune() && Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(Q.Name) && Utils.SleepCheck("Q")) { Q.CastSkillShot(e); Utils.Sleep(100, "Q"); } if ( W != null && W.CanBeCasted() && Menu.Item("Skills").GetValue <AbilityToggler>().IsEnabled(W.Name) && e.Mana >= (e.MaximumMana * 0.2) && me.Position.Distance2D(e.Position) < W.GetCastRange() && Utils.SleepCheck("W")) { W.UseAbility(e); Utils.Sleep(100, "W"); } if ( // SoulRing Item soul != null && me.Health >= (me.MaximumHealth * 0.5) && me.Mana <= R.ManaCost && soul.CanBeCasted() && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(soul.Name) && Utils.SleepCheck("soul")) { soul.UseAbility(); Utils.Sleep(100, "soul"); } // SoulRing Item end if ( // Arcane Boots Item arcane != null && me.Mana <= Q.ManaCost && arcane.CanBeCasted() && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(arcane.Name) && Utils.SleepCheck("arcane")) { arcane.UseAbility(); Utils.Sleep(100, "arcane"); } // Arcane Boots Item end if ( // Shiva Item shiva != null && shiva.CanBeCasted() && me.CanCast() && !e.IsMagicImmune() && Utils.SleepCheck("shiva") && me.Distance2D(e) <= 600 && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(shiva.Name) ) { shiva.UseAbility(); Utils.Sleep(250, "shiva"); } // Shiva Item end if ( // Medall medall != null && medall.CanBeCasted() && me.CanCast() && !e.IsMagicImmune() && Utils.SleepCheck("Medall") && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(medall.Name) && me.Distance2D(e) <= 500 ) { medall.UseAbility(e); Utils.Sleep(250, "Medall"); } // Medall Item end if ( // MOM mom != null && mom.CanBeCasted() && me.CanCast() && Utils.SleepCheck("mom") && me.Distance2D(e) <= 700 && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(mom.Name) ) { mom.UseAbility(); Utils.Sleep(250, "mom"); } // MOM Item end if ( // cheese cheese != null && cheese.CanBeCasted() && me.Health <= (me.MaximumHealth * 0.3) && me.Distance2D(e) <= 700 && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(cheese.Name) && Utils.SleepCheck("cheese") ) { cheese.UseAbility(); Utils.Sleep(200, "cheese"); } // cheese Item end if ( // Abyssal Blade abyssal != null && abyssal.CanBeCasted() && me.CanCast() && !e.IsMagicImmune() && Utils.SleepCheck("abyssal") && me.Distance2D(e) <= 400 && !e.IsStunned() && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(abyssal.Name) ) { abyssal.UseAbility(e); Utils.Sleep(250, "abyssal"); } // Abyssal Item end if ( // Hellbard halberd != null && halberd.CanBeCasted() && me.CanCast() && !e.IsMagicImmune() && Utils.SleepCheck("halberd") && me.Distance2D(e) <= 700 && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(halberd.Name) ) { halberd.UseAbility(e); Utils.Sleep(250, "halberd"); } // Hellbard Item end if ( // Dagon me.CanCast() && dagon != null && (ethereal == null || (e.HasModifier("modifier_item_ethereal_blade_slow") || ethereal.Cooldown < 18)) && !e.IsLinkensProtected() && dagon.CanBeCasted() && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled("item_dagon") && !e.IsMagicImmune() && !stoneModif && Utils.SleepCheck("dagon") ) { dagon.UseAbility(e); Utils.Sleep(200, "dagon"); } // Dagon Item end if ( // Mjollnir mjollnir != null && mjollnir.CanBeCasted() && me.CanCast() && !e.IsMagicImmune() && Utils.SleepCheck("mjollnir") && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(mjollnir.Name) && me.Distance2D(e) <= 900 ) { mjollnir.UseAbility(me); Utils.Sleep(250, "mjollnir"); } // Mjollnir Item end if ( // Satanic satanic != null && me.Health <= (me.MaximumHealth * 0.3) && satanic.CanBeCasted() && me.Distance2D(e) <= 700 && Utils.SleepCheck("Satanic") && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(satanic.Name) ) { satanic.UseAbility(); Utils.Sleep(350, "Satanic"); } // Satanic Item end } } } } if (Menu.Item("Kill").GetValue <bool>() && me.IsAlive && (me.IsVisibleToEnemies || !me.IsInvisible())) { var enemies = ObjectManager.GetEntities <Hero>() .Where(x => x.IsVisible && x.IsAlive && x.Team != me.Team && !x.IsIllusion).ToList(); double[] penitence = { 0, 1.15, 1.2, 1.25, 1.3 }; double[] bloodrage = { 0, 1.15, 1.2, 1.25, 1.3 }; double[] soul = { 0, 1.2, 1.3, 1.4, 1.5 }; if (enemies.Count <= 0) { return; } foreach (var v in enemies) { if (v == null) { return; } var wM = new[] { 3.5, 4, 4.5, 5 }; var wDmg = me.TotalIntelligence * wM[W.Level - 1]; var damageW = Math.Floor(wDmg * (1 - v.MagicDamageResist)); var lens = me.HasModifier("modifier_item_aether_lens"); var spellamplymult = 1 + (me.TotalIntelligence / 16 / 100); if (v.NetworkName == "CDOTA_Unit_Hero_Spectre" && v.Spellbook.Spell3.Level > 0) { damageW = Math.Floor(wDmg * (1 - (0.10 + v.Spellbook.Spell3.Level * 0.04)) * (1 - v.MagicDamageResist)); } if (lens) { damageW = damageW * 1.08; } if (v.HasModifier("modifier_kunkka_ghost_ship_damage_absorb")) { damageW = damageW * 0.5; } if (v.HasModifier("modifier_item_mask_of_madness_berserk")) { damageW = damageW * 1.3; } if (v.HasModifier("modifier_bloodseeker_bloodrage")) { var blood = ObjectManager.GetEntities <Hero>() .FirstOrDefault(x => x.ClassId == ClassId.CDOTA_Unit_Hero_Bloodseeker); if (blood != null) { damageW = damageW * bloodrage[blood.Spellbook.Spell1.Level]; } else { damageW = damageW * 1.4; } } if (v.HasModifier("modifier_chen_penitence")) { var chen = ObjectManager.GetEntities <Hero>() .FirstOrDefault(x => x.Team == me.Team && x.ClassId == ClassId.CDOTA_Unit_Hero_Chen); if (chen != null) { damageW = damageW * penitence[chen.Spellbook.Spell1.Level]; } } if (v.HasModifier("modifier_shadow_demon_soul_catcher")) { var demon = ObjectManager.GetEntities <Hero>() .FirstOrDefault(x => x.Team == me.Team && x.ClassId == ClassId.CDOTA_Unit_Hero_Shadow_Demon); if (demon != null) { damageW = damageW * soul[demon.Spellbook.Spell2.Level]; } } damageW = damageW * spellamplymult; if (damageW > v.Mana) { damageW = v.Mana; } if ( // vail vail != null && vail.CanBeCasted() && W.CanBeCasted() && v.Health <= damageW * 1.25 && v.Health >= damageW && me.CanCast() && !v.HasModifier("modifier_item_veil_of_discord_debuff") && !v.IsMagicImmune() && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(vail.Name) && me.Distance2D(v) <= W.GetCastRange() && Utils.SleepCheck("vail") ) { vail.UseAbility(v.Position); Utils.Sleep(250, "vail"); } int etherealdamage = (int)(((me.TotalIntelligence * 2) + 75)); if ( // vail ethereal != null && ethereal.CanBeCasted() && W != null && W.CanBeCasted() && v.Health <= etherealdamage + damageW * 1.4 && v.Health >= damageW && me.CanCast() && !v.HasModifier("modifier_item_ethereal_blade_slow") && !v.IsMagicImmune() && Menu.Item("Items").GetValue <AbilityToggler>().IsEnabled(ethereal.Name) && me.Distance2D(v) <= ethereal.GetCastRange() + 50 && Utils.SleepCheck("ethereal") ) { ethereal.UseAbility(v); Utils.Sleep(250, "ethereal"); } if (W != null && v != null && W.CanBeCasted() && me.AghanimState() ? me.Distance2D(v) <= 1050 : me.Distance2D(v) <= W.GetCastRange() + 50 && !v.HasModifier("modifier_tusk_snowball_movement") && !v.HasModifier("modifier_snowball_movement_friendly") && !v.HasModifier("modifier_templar_assassin_refraction_absorb") && !v.HasModifier("modifier_ember_spirit_flame_guard") && !v.HasModifier("modifier_ember_spirit_sleight_of_fist_caster_invulnerability") && !v.HasModifier("modifier_obsidian_destroyer_astral_imprisonment_prison") && !v.HasModifier("modifier_puck_phase_shift") && !v.HasModifier("modifier_eul_cyclone") && !v.HasModifier("modifier_dazzle_shallow_grave") && !v.HasModifier("modifier_shadow_demon_disruption") && !v.HasModifier("modifier_necrolyte_reapers_scythe") && !v.HasModifier("modifier_necrolyte_reapers_scythe") && !v.HasModifier("modifier_storm_spirit_ball_lightning") && !v.HasModifier("modifier_ember_spirit_fire_remnant") && !v.HasModifier("modifier_nyx_assassin_spiked_carapace") && !v.HasModifier("modifier_phantom_lancer_doppelwalk_phase") && !v.FindSpell("abaddon_borrowed_time").CanBeCasted() && !v.HasModifier("modifier_abaddon_borrowed_time_damage_redirect") && !v.IsMagicImmune() && v.Health < damageW && Utils.SleepCheck(v.Handle.ToString())) { W.UseAbility(v); Utils.Sleep(150, v.Handle.ToString()); return; } } } }
public frmAbilityDisplay(Ability objAbility) { InitializeComponent(); LoadForm(objAbility); }
public SpellSavingThrowQueueEntry(string spellName, Ability savingThrowAbility) : this() { SpellName = spellName; SavingThrowAbility = savingThrowAbility; }
// // Encounter rates calculation // internal static List <EncounterSlot> calcEncounterRate(EncounterSlot[] slots, Version version, Ability ability = Ability.None, byte repel = 0, byte intimidate = 0) { List <EncounterSlot> result = new List <EncounterSlot>(); for (int i = 0; i < slots.Length; i++) { result.Add(new EncounterSlot(slots[i])); } result = calcAbility(result, ability, version, intimidate); result = calcRepel(result, repel); return(result); }
// Token: 0x06000723 RID: 1827 RVA: 0x00006530 File Offset: 0x00004730 public SkullBasher(Ability baseAbility) : base(baseAbility) { }
public Fireblast(Ability baseAbility) : base(baseAbility) { this.DamageData = new SpecialData(baseAbility, "fireblast_damage"); }
public TalismanOfEvasion(Ability baseAbility) : base(baseAbility) { }
// Token: 0x0600070D RID: 1805 RVA: 0x00006530 File Offset: 0x00004730 public RingOfTarrasque(Ability baseAbility) : base(baseAbility) { }
public brewmaster_cinder_brew(Ability ability) : base(ability) { }
public override void BuyItems() { var enabledItems = Variables.ItemsToBuyNearDeath.OrderByDescending(x => Menu.GetNearDeathItemPriority(x.Key)) .Where(x => Menu.IsNearDeathItemActive(x.Key)) .Select(x => x.Value) .ToList(); if (enabledItems.Contains(0)) { enabledItems.InsertRange(enabledItems.FindIndex(x => x == 0), Player.QuickBuyItems); enabledItems.Remove(0); } var itemsToBuy = new List <Tuple <Unit, uint> >(); var unreliableGold = UnreliableGold; var reliableGold = ReliableGold; if (ShouldSaveForBuyback(Menu.NearDeathSaveBuybackTime)) { SaveBuyBackGold(out reliableGold, out unreliableGold); } var courier = ObjectManager.GetEntities <Courier>().FirstOrDefault(x => x.Team != enemyTeam && x.IsAlive); foreach (var itemID in enabledItems) { Unit unit; if (ItemsData.IsPurchasable(itemID, Hero.ActiveShop)) { unit = Hero; } else if (courier != null && ItemsData.IsPurchasable(itemID, courier.ActiveShop)) { unit = courier; } else { continue; } switch (itemID) { case 40: // dust if (GetItemCount(itemID) >= 2) { continue; } break; case 42: // observer case 43: // sentry if (GetWardsCount(itemID) >= 2) { continue; } break; case 46: // teleport scroll if (GetItemCount(itemID) >= 2 || Hero.FindItem("item_travel_boots", true) != null || Hero.FindItem("item_travel_boots_2", true) != null) { continue; } break; case 59: // energy booster if (Hero.FindItem("item_arcane_boots") != null) { continue; } break; case 188: // smoke if (GetItemCount(itemID) >= 1) { continue; } break; } var cost = Ability.GetAbilityDataByID(itemID).Cost; if (unreliableGold >= cost) { itemsToBuy.Add(Tuple.Create(unit, itemID)); unreliableGold -= (int)cost; } else if (reliableGold + unreliableGold >= cost) { itemsToBuy.Add(Tuple.Create(unit, itemID)); break; } } if (!Hero.IsAlive) { return; } itemsToBuy.ForEach(x => Player.BuyItem(x.Item1, x.Item2)); if (itemsToBuy.Any()) { Sleeper.Sleep(20000); } }