private void Drawing_OnDraw(EventArgs args) { RenderPositions.DrawPositions(); foreach (var spell in SpellDetector.drawSpells.Values) { Vector2 spellPos = spell.currentSpellPosition; if (spell.heroID == myHero.NetworkId) { if (spell.spellType == SpellType.Line) { if (spellPos.Distance(myHero) <= myHero.BoundingRadius + spell.radius && EvadeUtils.TickCount - spell.startTime > spell.info.spellDelay) { RenderPositions.Add(spellPos, 1000, (int)spell.radius, 10); DelayAction.Add(1, () => SpellDetector.DeleteSpell(spell.spellID)); } else { Render.Circle.DrawCircle(new Vector3(spellPos.X, spellPos.Y, myHero.Position.Z), (int)spell.radius, Color.White, 5); } } else if (spell.spellType == SpellType.Circular) { if (myHero.ServerPosition.To2D().InSkillShot(spell, myHero.BoundingRadius)) { } } } } }
private void OnSpellStartChange(object sender, OnValueChangeEventArgs e) { e.Process = false; spellStartPosition = myHero.ServerPosition; RenderPositions.Add(spellStartPosition.To2D(), 1000, 100, 20); }