diff --git a/core/src/com/galaxytrucker/galaxytruckerreloaded/Server/ClientHandler.java b/core/src/com/galaxytrucker/galaxytruckerreloaded/Server/ClientHandler.java index b8fe2c1fb99c7c70c8a61ef6acb6db54b6169232..176a9136c5858a1e86306468e1e3bd822bc00513 100644 --- a/core/src/com/galaxytrucker/galaxytruckerreloaded/Server/ClientHandler.java +++ b/core/src/com/galaxytrucker/galaxytruckerreloaded/Server/ClientHandler.java @@ -315,7 +315,7 @@ public class ClientHandler implements Runnable { (float) 1.0, (float) 0.3, 0, (float) 0.3, 1, 1, "Laser Gun", 30); Weapon rocket = new Weapon(UUID.randomUUID().hashCode(), 1, 2, 2, 1, 1, (float) 1.0, (float) 0.25, 4, (float) 1.0, 2, 1, "Allahu Akbar", 30); - // TODO add weapon price list + // TODO Add weapon price list based on weapon level laser.setWeaponSystem(weapons); rocket.setWeaponSystem(weapons); List<Weapon> shipWeapons = new ArrayList<>(); @@ -368,11 +368,106 @@ public class ClientHandler implements Runnable { } return new Ship(UUID.randomUUID().hashCode(), username, shipType, 30, 60, 11, 7, 8, 0, 0, 0, overworld.getStartPlanet(), 0, 100, rooms, inventory, false); - // ========== Bulwark A ========== + // ========== ROCK A ========== case TANK: + crewStats.add(0); + crewStats.add(3); + crewStats.add(4); + crewStats.add(3); + crewStats.add(0); // ========== Tile Generator ========== + for (int i=0;i<18;++i){ + // Vertical 2x1 + if (i<=4 || i==14 || i==16 || i==17) { + tiles.add(new Tile(UUID.randomUUID().hashCode(),0,0)); + tiles.add(new Tile(UUID.randomUUID().hashCode(),0,1)); + } + // Horizontal 1x2 + else if (i == 6 || i== 7 || i==10 || i==11){ + tiles.add(new Tile(UUID.randomUUID().hashCode(),0,0)); + tiles.add(new Tile(UUID.randomUUID().hashCode(),1,0)); + } + // Normal 4x4 + else{ + tiles.add(new Tile(UUID.randomUUID().hashCode(),0,0)); + tiles.add(new Tile(UUID.randomUUID().hashCode(),1,0)); + tiles.add(new Tile(UUID.randomUUID().hashCode(),0,1)); + tiles.add(new Tile(UUID.randomUUID().hashCode(),1,1)); + } + // ========== Room Generator ========== + // O2 + if (i==0){ + rooms.add(new System(UUID.randomUUID().hashCode(),0,100,i,new ArrayList<Crew>(), + tiles,1,5,0,SystemType.O2,new ArrayList<Weapon>())); - // ========== Room Generator ========== + } + // Cameras + else if (i==1){ + rooms.add(new System(UUID.randomUUID().hashCode(),0,100,i,new ArrayList<Crew>(), + tiles,1,5,0,SystemType.CAMERAS,new ArrayList<Weapon>())); + } + // Shields + else if (i==5){ + rooms.add(new System(UUID.randomUUID().hashCode(),0,100,i, new ArrayList<Crew>(), + tiles,2,5,0,SystemType.SHIELDS,new ArrayList<Weapon>())); + } + // Engine + else if (i==8){ + Room engine = new System(UUID.randomUUID().hashCode(),0,100,i,new ArrayList<Crew>(), + tiles,2,5, 0,SystemType.ENGINE,new ArrayList<Weapon>()); + Crew c = new Crew(UUID.randomUUID().hashCode(),"Varnas",8, 8, crewStats, 3 * crewStats.size() * 2, username); + c.setTile(tiles.get(0)); + tiles.get(0).setStandingOnMe(c); + engine.setTiles(tiles); + c.setCurrentRoom(engine); + List<Crew> crewInRoom = engine.getCrew(); + crewInRoom.add(c); + engine.setCrew(crewInRoom); + rooms.add(engine); + } + // Weapons + else if (i==12){ + System weapons = new System(UUID.randomUUID().hashCode(),0,100,i,new ArrayList<Crew>(), + tiles,3,5,0,SystemType.WEAPON_SYSTEM,new ArrayList<Weapon>()); + Weapon rocket2 = new Weapon(UUID.randomUUID().hashCode(),2,3,2,1,1, + (float) 0.3,(float)0.25,4,(float)1.0,2,1,"Rocket 2",25); + Weapon rocket1 = new Weapon(UUID.randomUUID().hashCode(),2,2,2,1,1, + (float) 0.3,(float)0.25,4,(float)1.0,2,1,"Rocket 1",25); + // TODO Add weapon price list based on weapon level + List<Weapon> currentWeapons = weapons.getShipWeapons(); + rocket1.setWeaponSystem(weapons); + rocket2.setWeaponSystem(weapons); + currentWeapons.add(rocket1); + currentWeapons.add(rocket2); + weapons.setShipWeapons(currentWeapons); + rooms.add(weapons); + } + // Medbay + else if (i==15){ + rooms.add(new System(UUID.randomUUID().hashCode(),0,100,i,new ArrayList<Crew>(), + tiles,1,5,0,SystemType.MEDBAY,new ArrayList<Weapon>())); + } + // Cockpit + else if (i==16){ + Room cockpit = new System(UUID.randomUUID().hashCode(),0,100,i,new ArrayList<Crew>(), + tiles,1,5,0,SystemType.COCKPIT,new ArrayList<Weapon>()); + Crew c = new Crew(UUID.randomUUID().hashCode(),"Bomfy",8,8,crewStats,3 * crewStats.size() * 2, username); + c.setTile(cockpit.getTiles().get(0)); + c.setCurrentRoom(cockpit); + tiles.get(0).setStandingOnMe(c); + cockpit.setTiles(tiles); + List<Crew> crewInRoom = cockpit.getCrew(); + crewInRoom.add(c); + cockpit.setCrew(crewInRoom); + rooms.add(cockpit); + } + else { + rooms.add(new Room(UUID.randomUUID().hashCode(),0,100,i,new ArrayList<Crew>(),tiles)); + } + tiles.clear(); + } + return new Ship(UUID.randomUUID().hashCode(), username, shipType, 50, 10, 30, 4, 9, + 0, 0, 0, overworld.getStartPlanet(), 0, 100, rooms, inventory, false); default: return null; } diff --git a/desktop/database.mv.db b/desktop/database.mv.db new file mode 100644 index 0000000000000000000000000000000000000000..e0b25930d89215382a66126ff7dadede61aa0b94 Binary files /dev/null and b/desktop/database.mv.db differ