Beispiel #1
0
        public static void Add(LeagueSharp.GameObject unit)
        {
            var @class = Unit.Class(unit);

            if (@class == "useless")
            {
                return;
            }
            else if (@class == "creep")
            {
                Add(new Creep(unit as LeagueSharp.Obj_AI_Minion));
            }
            else if (@class == "creepSpawn")
            {
                Add(new CreepSpawn(unit as LeagueSharp.NeutralMinionCamp));
            }
            else if (@class == "player")
            {
                Add(new Player(unit as LeagueSharp.Obj_AI_Hero));
            }
            else if (unit is LeagueSharp.Obj_AI_Base)
            {
                Add(new Unit(unit as LeagueSharp.Obj_AI_Base));
            }
            else
            {
                data.Add(unit.Index, new Object(unit));
            }
        }
Beispiel #2
0
        // methods
        public static string Class(LeagueSharp.GameObject unit)
        {
            var type = unit.Type;

            switch (type)
            {
            case LeagueSharp.GameObjectType.obj_GeneralParticleEmitter:
            case LeagueSharp.GameObjectType.obj_AI_Marker:
            case LeagueSharp.GameObjectType.FollowerObject: return("visual");

            case LeagueSharp.GameObjectType.obj_AI_Minion:
                var minion = (unit as LeagueSharp.Obj_AI_Minion);
                var name   = unit.Name.ToLower();
                if (minion.CampNumber != 0)
                {
                    return("creep");                            //L#
                }
                else if (name.Contains("minion"))
                {
                    return("minion");
                }
                else if (name.Contains("ward"))
                {
                    return("ward");
                }
                else if (name.Contains("buffplat") || name == "odinneutralguardian")
                {
                    return("point");
                }
                else if (name.Contains("shrine") || name.Contains("relic"))
                {
                    return("event");
                }
                else if (LeagueSharp.Game.MapId == LeagueSharp.GameMapId.SummonersRift && System.Text.RegularExpressions.Regex.IsMatch(name, @"\d+\.\d+") &&
                         (name.Contains("baron") || name.Contains("dragon") || name.Contains("blue") || name.Contains("red") || name.Contains("crab") ||
                          name.Contains("krug") || name.Contains("gromp") || name.Contains("wolf") || name.Contains("razor")))
                {
                    return("creep");
                }
                else if (LeagueSharp.Game.MapId == LeagueSharp.GameMapId.TwistedTreeline && System.Text.RegularExpressions.Regex.IsMatch(name, @"\d+\.\d+") &&
                         (name.Contains("wraith") || name.Contains("golem") || name.Contains("wolf") || name.Contains("spider")))
                {
                    return("creep");
                }
                else if (!minion.IsTargetable)
                {
                    return("trap");
                }
                else
                {
                    return("error");
                }

            case LeagueSharp.GameObjectType.obj_AI_Turret: return("tower");

            case LeagueSharp.GameObjectType.obj_AI_Hero: return("player");

            case LeagueSharp.GameObjectType.obj_Shop: return("shop");

            case LeagueSharp.GameObjectType.obj_HQ: return("nexus");

            case LeagueSharp.GameObjectType.obj_BarracksDampener: return("inhibotor");

            case LeagueSharp.GameObjectType.obj_SpawnPoint: return("spawn");

            case LeagueSharp.GameObjectType.obj_Barracks: return("minionSpawn");

            case LeagueSharp.GameObjectType.NeutralMinionCamp: return("creepSpawn");

            case LeagueSharp.GameObjectType.obj_InfoPoint: return("event");

            case LeagueSharp.GameObjectType.Missile:
            case LeagueSharp.GameObjectType.MissileClient:
            case LeagueSharp.GameObjectType.obj_SpellMissile:
            case LeagueSharp.GameObjectType.obj_SpellCircleMissile:
            case LeagueSharp.GameObjectType.obj_SpellLineMissile: return("spell");

            case LeagueSharp.GameObjectType.obj_Turret:
            case LeagueSharp.GameObjectType.obj_Levelsizer:
            case LeagueSharp.GameObjectType.obj_NavPoint:
            case LeagueSharp.GameObjectType.LevelPropSpawnerPoint:
            case LeagueSharp.GameObjectType.LevelPropGameObject:
            case LeagueSharp.GameObjectType.GrassObject:
            case LeagueSharp.GameObjectType.obj_Lake:
            case LeagueSharp.GameObjectType.obj_LampBulb:
            case LeagueSharp.GameObjectType.DrawFX: return("useless");
            }
            return("error");
        }
Beispiel #3
0
 public Object(LeagueSharp.GameObject a)
 {
     @ref   = a;
     @class = Class(a);
 }
Beispiel #4
0
 // extension
 public static T Data <T>(this LeagueSharp.GameObject unit) where T : Object
 {
     return((T)data[unit.Index]);
 }
Beispiel #5
0
 public static void Remove(LeagueSharp.GameObject unit)
 {
     data.Remove(unit.Index);
 }
Beispiel #6
0
 public bool Cast(LeagueSharp.SpellSlot spell, LeagueSharp.GameObject target)
 {
     return(spell != LeagueSharp.SpellSlot.Unknown && CanUse(spell) && @ref.Spellbook.CastSpell(spell, target));
 }