public static void followerAI(Monster monster, Quinoa quinoa) { int targetX = quinoa.getPlayer().x; int targetY = quinoa.getPlayer().y; if (monster.readyForCommand()) { //check if the player is adjacent, if so then attack if (quinoa.monsterIsAdjacent(monster.x, monster.y, MonsterActionManager.PLAYER_ID)) { MonsterActionManager.setAttackCommand(monster, MonsterActionManager.PLAYER_ID); } else { if (monster.getAIParameter("altmove") != null) { if (monster.getAIParameter("altmove").Equals("0")) { monster.setAIParameter("altmove", "1"); } else { monster.setAIParameter("altmove", "0"); } } else { monster.setAIParameter("altmove", "0"); } if (monster.getAIParameter("altmove").Equals("0")) { if (monster.x < targetX) { MonsterActionManager.setMoveCommand(monster, Direction.E); } else if (monster.x > targetX) { MonsterActionManager.setMoveCommand(monster, Direction.W); } else if (monster.y < targetY) { MonsterActionManager.setMoveCommand(monster, Direction.S); } else if (monster.y > targetY) { MonsterActionManager.setMoveCommand(monster, Direction.N); } } else { if (monster.y < targetY) { MonsterActionManager.setMoveCommand(monster, Direction.S); } else if (monster.y > targetY) { MonsterActionManager.setMoveCommand(monster, Direction.N); } else if (monster.x < targetX) { MonsterActionManager.setMoveCommand(monster, Direction.E); } else if (monster.x > targetX) { MonsterActionManager.setMoveCommand(monster, Direction.W); } } } } }
public void initializePlayer(Quinoa quinoa) { quinoa.setPlayer(new Monster()); quinoa.getPlayer().monsterCode = MonsterCode.HUMAN; quinoa.getPlayer().ID = MonsterActionManager.PLAYER_ID; quinoa.getPlayer().setPosition(50, 50); Item boots = new Item(); boots.itemClass = ItemClass.BOOTS; quinoa.getPlayer().inventory.addItem(boots); Item jacket = new Item(); jacket.itemClass = ItemClass.JACKET; quinoa.getPlayer().inventory.addItem(jacket); Item axe = new Item(); axe.itemClass = ItemClass.AXE; quinoa.getPlayer().inventory.addItem(axe); Item pickaxe = new Item(); pickaxe.itemClass = ItemClass.PICKAXE; quinoa.getPlayer().inventory.addItem(pickaxe); Item flapjacks = new Item(); flapjacks.itemClass = ItemClass.FLAPJACKS; flapjacks.stackSize = 4; quinoa.getPlayer().inventory.addItem(flapjacks); Item lantern = new Item(); lantern.itemClass = ItemClass.LANTERN; quinoa.getPlayer().inventory.addItem(lantern); Item hat = new Item(); hat.itemClass = ItemClass.HAT; quinoa.getPlayer().inventory.addItem(hat); Item torch = new Item(); torch.itemClass = ItemClass.TORCH; torch.stackSize = 25; quinoa.getPlayer().inventory.addItem(torch); Item bucket = new Item(); bucket.itemClass = ItemClass.BUCKET; quinoa.getPlayer().inventory.addItem(bucket); Item shovel = new Item(); shovel.itemClass = ItemClass.SHOVEL; quinoa.getPlayer().inventory.addItem(shovel); Item tent = new Item(); tent.itemClass = ItemClass.TENT; quinoa.getPlayer().inventory.addItem(tent); Item ash = new Item(); ash.itemClass = ItemClass.ASH; ash.stackSize = 35; quinoa.getPlayer().inventory.addItem(ash); Item corn = new Item(); corn.itemClass = ItemClass.CORN; corn.stackSize = corn.maxStackSize; quinoa.getPlayer().inventory.addItem(corn); Item cornSeed = new Item(); cornSeed.itemClass = ItemClass.CORN_SEED; cornSeed.stackSize = 10; quinoa.getPlayer().inventory.addItem(cornSeed); Item pumpkin = new Item(); pumpkin.itemClass = ItemClass.PUMPKIN; pumpkin.stackSize = 1; quinoa.getPlayer().inventory.addItem(pumpkin); Item pumpkinSeed = new Item(); pumpkinSeed.itemClass = ItemClass.PUMPKIN_SEED; pumpkinSeed.stackSize = 10; quinoa.getPlayer().inventory.addItem(pumpkinSeed); Item floodgate = new Item(); floodgate.itemClass = ItemClass.FLOODGATE; floodgate.stackSize = floodgate.maxStackSize; quinoa.getPlayer().inventory.addItem(floodgate); Item mop = new Item(); mop.itemClass = ItemClass.MOP; mop.stackSize = mop.maxStackSize; quinoa.getPlayer().inventory.addItem(mop); }
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); } } } }