Exemplo n.º 1
0
        public static void pathingAI(Monster monster, Quinoa quinoa)
        {
            if (monster.readyForCommand())
            {
                String searchIntervalStr = monster.getAIParameter("searchInterval");
                if (searchIntervalStr != null)
                {
                    int searchInterval = Int32.Parse(searchIntervalStr);
                    if (searchInterval > 0)
                    {
                        searchInterval = searchInterval - 1;
                        monster.setAIParameter("searchInterval", searchInterval + "");
                        //followerAI(monster, quinoa);
                        return;
                    }
                    else
                    {
                        monster.setAIParameter("searchInterval", "3");
                    }
                }
                else
                {
                    monster.setAIParameter("searchInterval", "3");
                }

                List<Position> path = quinoa.getPathFinder().findPath(quinoa.getCurrentRegionHeader().getRegion(), 50, monster, monster.x, monster.y, quinoa.getPlayer().x, quinoa.getPlayer().y);
                if (path != null && path.Count > 1)
                {
                    Position pos = path[1];

                    if (pos.y > monster.y)
                    {
                        MonsterActionManager.setMoveCommand(monster, Direction.S);
                    }
                    else if (pos.y < monster.y)
                    {
                        MonsterActionManager.setMoveCommand(monster, Direction.N);
                    }
                    else if (pos.x > monster.x)
                    {
                        MonsterActionManager.setMoveCommand(monster, Direction.E);
                    }
                    else if (pos.x < monster.x)
                    {
                        MonsterActionManager.setMoveCommand(monster, Direction.W);
                    }
                }
            }
        }