private void generatePlayerTeam(ArrayList<Squaddie> squad, LevelBlock levelBlock) { double[] randomLocation = levelManager.randomInPosition(levelBlock); for (int i = 0; i < squad.size(); i++) { Ai ai = null; AiImage aiImg = null; if (squad.get(i).isVehicle()) { aiImg = new VehicleImage( aiCrowd, combatMembersManager, combatUiManager, combatVisualManager, panningManager, 100, 100, mouseAbilityHandler, floatingIcons); switch (squad.get(i).getVehicleType()) { case MuleAi.MULE: ai = new MuleAi( panningManager, floatingIcons, mouseAbilityHandler, squad.get(i).getName(), randomLocation[0], randomLocation[1], combatInorganicManager, levelManager, lootbox, combatMembersManager, combatUiManager, combatVisualManager, aiCrowd, turnProcess); break; } ai.setImage(squad.get(i).getImage()); ai.setTeam("1Player"); } else { aiImg = new AiImage( aiCrowd, combatMembersManager, combatUiManager, combatVisualManager, panningManager, 100, 100, mouseAbilityHandler, floatingIcons); ai = new Ai( floatingIcons, mouseAbilityHandler, squad.get(i).getName(), randomLocation[0], randomLocation[1], combatInorganicManager, levelManager, lootbox, combatMembersManager, combatUiManager, combatVisualManager, aiCrowd, panningManager, turnProcess); ai.setImage(squad.get(i).getImage()); ai.setTeam("1Player"); } Iterator<String> skillIt = squad.get(i).getSkills(); while (skillIt.hasNext()) { String next = skillIt.next(); ai.setSkill(next, squad.get(i).getSkillLevel(next)); } ai.setWeapon(Weapon.stringToWeapon(squad.get(i).getWeapon())); Iterator<String> itemIt = squad.get(i).getItems(); while (itemIt.hasNext()) { ai.addItem(Item.stringToItem(itemIt.next())); } ai.assignAbilities(); aiImg.setAi(ai); aiCrowd.addDisplayItem(aiImg); aiCrowd.addMouseActionItem(aiImg); aiCrowd.addActor(ai, new DirectorClassification(DirectorArchetype.PLAYER)); aiCrowd.addMask(aiImg); randomLocation = levelManager.randomInPosition(levelBlock); combatMembersManager.addAi(ai); } }