Example #1
0
 public Minion(
     MinionSpawnType type,
     MinionSpawnPosition position,
     uint netId = 0
     ) : this(type, position, new List <Vector2>(), netId)
 {
 }
Example #2
0
 public Minion(
     Game game,
     MinionSpawnType spawnType,
     MinionSpawnPosition position,
     uint netId = 0
     ) : this(game, spawnType, position, new List <Vector2>(), netId)
 {
 }
Example #3
0
        public Minion(Game game, uint id, MinionSpawnType type, MinionSpawnPosition position, List <Vector2> mainWaypoints) : base(game, id, "", new MinionStats(), 40, 0, 0, 1100)
        {
            this.minionType      = type;
            this.spawnPosition   = position;
            this.mainWaypoints   = mainWaypoints;
            this.curMainWaypoint = 0;

            var spawnSpecifics = _game.GetMap().GetMinionSpawnPosition(spawnPosition);

            setTeam(spawnSpecifics.Item1);
            setPosition(spawnSpecifics.Item2.X, spawnSpecifics.Item2.Y);

            _game.GetMap().SetMinionStats(this); // Let the map decide how strong this minion has to be.

            string minionModel = "";

            if (spawnSpecifics.Item1 == 0)     // If we're the blue side
            {
                minionModel += "Blue_Minion_"; // make it a blue minion
            }
            else
            {
                minionModel += "Red_Minion_"; // otherwise make it a red minion
            }
            // Finish model name with type
            if (type == MinionSpawnType.MINION_TYPE_MELEE)
            {
                minionModel += "Basic";
            }
            else if (type == MinionSpawnType.MINION_TYPE_CASTER)
            {
                minionModel += "Wizard";
            }
            else
            {
                minionModel += "MechCannon";
            }

            // Set model
            setModel(minionModel);



            if (mainWaypoints.Count > 0)                                                      // If we have lane path instructions from the map
            {
                setWaypoints(new List <Vector2> {
                    mainWaypoints[0], mainWaypoints[1]
                });                                                                           // Follow these instructions
            }
            else
            {
                setWaypoints(new List <Vector2> {
                    new Vector2(x, y), new Vector2(x, y)
                });                                                                           // Otherwise path to own position. (Stand still)
            }
            setMoveOrder(MoveOrder.MOVE_ORDER_ATTACKMOVE);
        }
Example #4
0
        public void SpawnMinion(List <MinionSpawnType> list, int minionNo, MinionSpawnPosition pos, List <Vector2> waypoints)
        {
            if (list.Count <= minionNo)
            {
                return;
            }

            var m = new Minion(_game, list[minionNo], pos, waypoints);

            _game.ObjectManager.AddObject(m);
        }
Example #5
0
        public override Tuple <TeamId, Vector2> GetMinionSpawnPosition(MinionSpawnPosition spawnPosition)
        {
            switch (spawnPosition)
            {
            case MinionSpawnPosition.SPAWN_BLUE_MID:
                return(new Tuple <TeamId, Vector2>(TeamId.TEAM_BLUE, new Vector2(1996, 2324)));

            case MinionSpawnPosition.SPAWN_RED_MID:
                return(new Tuple <TeamId, Vector2>(TeamId.TEAM_PURPLE, new Vector2(10835, 10376)));
            }

            return(new Tuple <TeamId, Vector2>(0, new Vector2()));
        }
Example #6
0
        public Minion(
            Game game,
            MinionSpawnType spawnType,
            MinionSpawnPosition position,
            List <Vector2> mainWaypoints,
            uint netId = 0
            ) : base(game, "", new Stats.Stats(), 40, 0, 0, 1100, netId)
        {
            MinionSpawnType  = spawnType;
            SpawnPosition    = position;
            _mainWaypoints   = mainWaypoints;
            _curMainWaypoint = 0;
            _aiPaused        = false;

            var spawnSpecifics = _game.Map.MapGameScript.GetMinionSpawnPosition(SpawnPosition);

            SetTeam(spawnSpecifics.Item1);
            SetPosition(spawnSpecifics.Item2.X, spawnSpecifics.Item2.Y);

            _game.Map.MapGameScript.SetMinionStats(this); // Let the map decide how strong this minion has to be.

            // Set model
            Model = _game.Map.MapGameScript.GetMinionModel(spawnSpecifics.Item1, spawnType);

            // Fix issues induced by having an empty model string
            CollisionRadius = _game.Config.ContentManager.GetCharData(Model).PathfindingCollisionRadius;

            // If we have lane path instructions from the map
            if (mainWaypoints.Count > 0)
            {
                // Follow these instructions
                SetWaypoints(new List <Vector2> {
                    mainWaypoints[0], mainWaypoints[1]
                });
            }
            else
            {
                // Otherwise path to own position. (Stand still)
                SetWaypoints(new List <Vector2> {
                    new Vector2(X, Y), new Vector2(X, Y)
                });
            }

            MoveOrder   = MoveOrder.MOVE_ORDER_ATTACKMOVE;
            Replication = new ReplicationMinion(this);
        }
Example #7
0
        public override Tuple <TeamId, Vector2> GetMinionSpawnPosition(MinionSpawnPosition spawnPosition)
        {
            switch (spawnPosition)
            {
            case MinionSpawnPosition.SPAWN_BLUE_TOP:
                return(new Tuple <TeamId, Vector2>(TeamId.TEAM_BLUE, new Vector2(2604, 7930)));

            case MinionSpawnPosition.SPAWN_BLUE_BOT:
                return(new Tuple <TeamId, Vector2>(TeamId.TEAM_BLUE, new Vector2(2600, 6633)));

            case MinionSpawnPosition.SPAWN_RED_TOP:
                return(new Tuple <TeamId, Vector2>(TeamId.TEAM_PURPLE, new Vector2(12712, 7900)));

            case MinionSpawnPosition.SPAWN_RED_BOT:
                return(new Tuple <TeamId, Vector2>(TeamId.TEAM_PURPLE, new Vector2(12721, 6602)));
            }
            return(new Tuple <TeamId, Vector2>(0, new Vector2()));
        }
        public override Tuple <TeamId, Vector2> GetMinionSpawnPosition(MinionSpawnPosition spawnPosition)
        {
            switch (spawnPosition)
            {
            case MinionSpawnPosition.SPAWN_BLUE_TOP:
                return(new Tuple <TeamId, Vector2>(TeamId.TEAM_BLUE, new Vector2(1960, 6684)));

            case MinionSpawnPosition.SPAWN_BLUE_BOT:
                return(new Tuple <TeamId, Vector2>(TeamId.TEAM_BLUE, new Vector2(1960, 5977)));

            case MinionSpawnPosition.SPAWN_RED_TOP:
                return(new Tuple <TeamId, Vector2>(TeamId.TEAM_PURPLE, new Vector2(11420, 6617)));

            case MinionSpawnPosition.SPAWN_RED_BOT:
                return(new Tuple <TeamId, Vector2>(TeamId.TEAM_PURPLE, new Vector2(11420, 6024)));
            }
            return(new Tuple <TeamId, Vector2>(0, new Vector2()));
        }
Example #9
0
        public Minion(Map map, int id, MinionSpawnType type, MinionSpawnPosition position, List<Vector2> mainWaypoints) : base(map, id, "", new MinionStats(), 40, 0, 0, 1100)
        {
            this.type = type;
            this.spawnPosition = position;
            this.mainWaypoints = mainWaypoints;
            this.curMainWaypoint = 0;

            var spawnSpecifics = map.getMinionSpawnPosition(spawnPosition);
            setTeam(Convert.toTeamId(spawnSpecifics.Item1));
            setPosition(spawnSpecifics.Item2.X, spawnSpecifics.Item2.Y);

            map.setMinionStats(this); // Let the map decide how strong this minion has to be.

            string minionModel = "";
            if (spawnSpecifics.Item1 == 0) // If we're the blue side
                minionModel += "Blue_Minion_"; // make it a blue minion
            else
                minionModel += "Red_Minion_"; // otherwise make it a red minion

            // Finish model name with type
            if (type == MinionSpawnType.MINION_TYPE_MELEE)
                minionModel += "Basic";
            else if (type == MinionSpawnType.MINION_TYPE_CASTER)
                minionModel += "Wizard";
            else
                minionModel += "MechCannon";

            // Set model
            setModel(minionModel);


            if (mainWaypoints.Count > 0)                                                      // If we have lane path instructions from the map
                setWaypoints(new List<Vector2> { mainWaypoints[0], mainWaypoints[1] });       // Follow these instructions
            else
                setWaypoints(new List<Vector2> { new Vector2(x, y), new Vector2(x, y) });     // Otherwise path to own position. (Stand still)

            setMoveOrder(MoveOrder.MOVE_ORDER_ATTACKMOVE);
        }
Example #10
0
        public Tuple <TeamId, Vector2> GetMinionSpawnPosition(MinionSpawnPosition spawnPosition)
        {
            switch (spawnPosition)
            {
            case MinionSpawnPosition.SPAWN_BLUE_TOP:
                return(new Tuple <TeamId, Vector2>(TeamId.TEAM_BLUE, new Vector2(907, 1715)));

            case MinionSpawnPosition.SPAWN_BLUE_BOT:
                return(new Tuple <TeamId, Vector2>(TeamId.TEAM_BLUE, new Vector2(1533, 1321)));

            case MinionSpawnPosition.SPAWN_BLUE_MID:
                return(new Tuple <TeamId, Vector2>(TeamId.TEAM_BLUE, new Vector2(1443, 1663)));

            case MinionSpawnPosition.SPAWN_RED_TOP:
                return(new Tuple <TeamId, Vector2>(TeamId.TEAM_PURPLE, new Vector2(14455, 13159)));

            case MinionSpawnPosition.SPAWN_RED_BOT:
                return(new Tuple <TeamId, Vector2>(TeamId.TEAM_PURPLE, new Vector2(12967, 12695)));

            case MinionSpawnPosition.SPAWN_RED_MID:
                return(new Tuple <TeamId, Vector2>(TeamId.TEAM_PURPLE, new Vector2(12433, 12623)));
            }
            return(new Tuple <TeamId, Vector2>(0, new Vector2()));
        }
Example #11
0
        public override Tuple <int, Vector2> getMinionSpawnPosition(MinionSpawnPosition spawnPosition)
        {
            switch (spawnPosition)
            {
            case MinionSpawnPosition.SPAWN_BLUE_TOP:
                return(new Tuple <int, Vector2>(0, new Vector2(907, 1715)));

            case MinionSpawnPosition.SPAWN_BLUE_BOT:
                return(new Tuple <int, Vector2>(0, new Vector2(1533, 1321)));

            case MinionSpawnPosition.SPAWN_BLUE_MID:
                return(new Tuple <int, Vector2>(0, new Vector2(1443, 1663)));

            case MinionSpawnPosition.SPAWN_RED_TOP:
                return(new Tuple <int, Vector2>(1, new Vector2(14455, 13159)));

            case MinionSpawnPosition.SPAWN_RED_BOT:
                return(new Tuple <int, Vector2>(1, new Vector2(12967, 12695)));

            case MinionSpawnPosition.SPAWN_RED_MID:
                return(new Tuple <int, Vector2>(1, new Vector2(12433, 12623)));
            }
            return(new Tuple <int, Vector2>(0, new Vector2()));
        }
Example #12
0
 public virtual Tuple<int, Vector2> getMinionSpawnPosition(MinionSpawnPosition spawnPosition)
 {
     return null;
 }
Example #13
0
 public virtual Tuple <TeamId, Vector2> GetMinionSpawnPosition(MinionSpawnPosition spawnPosition)
 {
     return(null);
 }
Example #14
0
        public Minion(
            MinionSpawnType type,
            MinionSpawnPosition position,
            List <Vector2> mainWaypoints,
            uint netId = 0
            ) : base("", new MinionStats(), 40, 0, 0, 1100, netId)
        {
            minionType         = type;
            SpawnPosition      = position;
            this.mainWaypoints = mainWaypoints;
            curMainWaypoint    = 0;
            _AIPaused          = false;

            var spawnSpecifics = _game.Map.GetMinionSpawnPosition(SpawnPosition);

            SetTeam(spawnSpecifics.Item1);
            setPosition(spawnSpecifics.Item2.X, spawnSpecifics.Item2.Y);

            _game.Map.SetMinionStats(this); // Let the map decide how strong this minion has to be.

            var minionModel = "";

            if (spawnSpecifics.Item1 == Enet.TeamId.TEAM_BLUE) // If we're the blue side
            {
                minionModel += "Blue_Minion_";                 // make it a blue minion
            }
            else
            {
                minionModel += "Red_Minion_"; // otherwise make it a red minion
            }

            // Finish model name with type
            if (type == MinionSpawnType.MINION_TYPE_MELEE)
            {
                minionModel += "Basic";
            }
            else if (type == MinionSpawnType.MINION_TYPE_CASTER)
            {
                minionModel += "Wizard";
            }
            else if (type == MinionSpawnType.MINION_TYPE_CANNON)
            {
                minionModel += "MechCannon";
            }
            else
            {
                minionModel += "MechMelee";
            }

            // Set model
            Model = minionModel;


            // If we have lane path instructions from the map
            if (mainWaypoints.Count > 0)
            {
                // Follow these instructions
                SetWaypoints(new List <Vector2> {
                    mainWaypoints[0], mainWaypoints[1]
                });
            }
            else
            {
                // Otherwise path to own position. (Stand still)
                SetWaypoints(new List <Vector2> {
                    new Vector2(X, Y), new Vector2(X, Y)
                });
            }

            MoveOrder = MoveOrder.MOVE_ORDER_ATTACKMOVE;
        }
Example #15
0
 public Minion(Map map, int id, MinionSpawnType type, MinionSpawnPosition position) : this(map, id, type, position, new List <Vector2>())
 {
 }
Example #16
0
 public Minion(Game game, uint id, MinionSpawnType type, MinionSpawnPosition position) : this(game, id, type, position, new List <Vector2>())
 {
 }
Example #17
0
        public Minion(Map map, int id, MinionSpawnType type, MinionSpawnPosition position) : this(map, id, type, position, new List<Vector2>())
        {

        }
Example #18
0
 public virtual Tuple <int, Vector2> getMinionSpawnPosition(MinionSpawnPosition spawnPosition)
 {
     return(null);
 }
Example #19
0
 public override Tuple<int, Vector2> getMinionSpawnPosition(MinionSpawnPosition spawnPosition)
 {
     switch (spawnPosition)
     {
         case MinionSpawnPosition.SPAWN_BLUE_TOP:
             return new Tuple<int, Vector2>(0, new Vector2(907, 1715));
         case MinionSpawnPosition.SPAWN_BLUE_BOT:
             return new Tuple<int, Vector2>(0, new Vector2(1533, 1321));
         case MinionSpawnPosition.SPAWN_BLUE_MID:
             return new Tuple<int, Vector2>(0, new Vector2(1443, 1663));
         case MinionSpawnPosition.SPAWN_RED_TOP:
             return new Tuple<int, Vector2>(1, new Vector2(14455, 13159));
         case MinionSpawnPosition.SPAWN_RED_BOT:
             return new Tuple<int, Vector2>(1, new Vector2(12967, 12695));
         case MinionSpawnPosition.SPAWN_RED_MID:
             return new Tuple<int, Vector2>(1, new Vector2(12433, 12623));
     }
     return new Tuple<int, Vector2>(0, new Vector2());
 }