mirror of
https://github.com/2006-Scape/2006Scape.git
synced 2026-07-03 00:31:51 +00:00
Cleanup part 1 (#213)
* Clean up part 1 - Removed lots of dead code - Removed unncessary files not in use - Cleaned up small bits of code - Removed a few warnings - Server.java ---> GameEngine.java - Constants.java ---> GameConstants.java * Cape Dye Rewrote cape dying * Packaging - redone ----> com.rebotted * PacketSender/clean up - ActionSender ---> PacketSender - Moved many more packets to packetsender - Cleaned up more dead code * Merge Client/Player - Merged Client.java with Player.java (both were doing same thing so redundant to have both) - Removed some more dead code - Tidy a few small things up * Quests/more clean up - Removed more dead code - Made quests static in order to clean them up a bit * More cleanup - Removed some more of the dead quest code - Correcting naming of some of the shop variables
This commit is contained in:
committed by
Daniel Ginovker
parent
3d1ae1b288
commit
d876a923b9
@@ -0,0 +1,388 @@
|
||||
package com.rebotted.game.globalworldobjects;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileNotFoundException;
|
||||
import java.io.FileReader;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Scanner;
|
||||
|
||||
import com.rebotted.GameEngine;
|
||||
import com.rebotted.game.objects.Objects;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Killamess
|
||||
*
|
||||
*/
|
||||
public class DoubleDoors {
|
||||
|
||||
private static DoubleDoors singleton = null;
|
||||
|
||||
private List<DoubleDoors> doors = new ArrayList<DoubleDoors>();
|
||||
|
||||
private File doorFile;
|
||||
|
||||
public static DoubleDoors getSingleton() {
|
||||
if (singleton == null) {
|
||||
singleton = new DoubleDoors("./data/doubledoors.txt");
|
||||
}
|
||||
return singleton;
|
||||
}
|
||||
|
||||
private DoubleDoors(String file){
|
||||
doorFile = new File(file);
|
||||
}
|
||||
|
||||
private DoubleDoors getDoor(int id, int x, int y, int z) {
|
||||
for (DoubleDoors d : doors) {
|
||||
if (d.doorId == id) {
|
||||
if (d.x == x && d.y == y && d.z == z) {
|
||||
return d;
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
public boolean handleDoor(int id, int x, int y, int z) {
|
||||
DoubleDoors doorClicked = getDoor(id, x, y, z);
|
||||
|
||||
if (doorClicked == null) {
|
||||
GameEngine.objectHandler.placeObject(new Objects(-1, x, y, z, 0, 0, 0));
|
||||
return true;
|
||||
}
|
||||
if (doorClicked.doorId > 12000) {
|
||||
return true; //nearly all of these are not opened
|
||||
}
|
||||
if (doorClicked.open == 0) {
|
||||
if (doorClicked.originalFace == 0) {
|
||||
DoubleDoors lowerDoor = getDoor(id - 3, x, y -1, z);
|
||||
DoubleDoors upperDoor = getDoor(id + 3, x, y +1, z);
|
||||
if (lowerDoor != null) {
|
||||
changeLeftDoor(lowerDoor);
|
||||
changeRightDoor(doorClicked);
|
||||
} else if (upperDoor != null) {
|
||||
changeLeftDoor(doorClicked);
|
||||
changeRightDoor(upperDoor);
|
||||
}
|
||||
} else if (doorClicked.originalFace == 1) {
|
||||
DoubleDoors westDoor = getDoor(id - 3, x -1, y, z);
|
||||
DoubleDoors eastDoor = getDoor(id + 3, x +1, y, z);
|
||||
if (westDoor != null) {
|
||||
changeLeftDoor(westDoor);
|
||||
changeRightDoor(doorClicked);
|
||||
} else if (eastDoor != null) {
|
||||
changeLeftDoor(doorClicked);
|
||||
changeRightDoor(eastDoor);
|
||||
}
|
||||
} else if (doorClicked.originalFace == 2) {
|
||||
DoubleDoors lowerDoor = getDoor(id - 3, x, y +1, z);
|
||||
DoubleDoors upperDoor = getDoor(id + 3, x, y -1, z);
|
||||
if (lowerDoor != null) {
|
||||
changeLeftDoor(lowerDoor);
|
||||
changeRightDoor(doorClicked);
|
||||
} else if (upperDoor != null) {
|
||||
changeLeftDoor(doorClicked);
|
||||
changeRightDoor(upperDoor);
|
||||
}
|
||||
} else if (doorClicked.originalFace == 3) {
|
||||
DoubleDoors westDoor = getDoor(id + 3, x -1, y, z);
|
||||
DoubleDoors eastDoor = getDoor(id - 3, x +1, y, z);
|
||||
if (westDoor != null) {
|
||||
changeLeftDoor(westDoor);
|
||||
changeRightDoor(doorClicked);
|
||||
} else if (eastDoor != null) {
|
||||
changeLeftDoor(doorClicked);
|
||||
changeRightDoor(eastDoor);
|
||||
}
|
||||
}
|
||||
} else if (doorClicked.open == 1) {
|
||||
if (doorClicked.originalFace == 0) {
|
||||
DoubleDoors westDoor = getDoor(id - 3, x -1, y, z);
|
||||
DoubleDoors upperDoor = getDoor(id + 3, x +1, y, z);
|
||||
if (westDoor != null) {
|
||||
changeLeftDoor(westDoor);
|
||||
changeRightDoor(doorClicked);
|
||||
} else if (upperDoor != null) {
|
||||
changeLeftDoor(doorClicked);
|
||||
changeRightDoor(upperDoor);
|
||||
}
|
||||
} else if (doorClicked.originalFace == 1) {
|
||||
DoubleDoors northDoor = getDoor(id - 3, x, y + 1, z);
|
||||
DoubleDoors southDoor = getDoor(id + 3, x, y -1, z);
|
||||
if (northDoor != null) {
|
||||
changeLeftDoor(northDoor);
|
||||
changeRightDoor(doorClicked);
|
||||
} else if (southDoor != null) {
|
||||
changeLeftDoor(doorClicked);
|
||||
changeRightDoor(southDoor);
|
||||
}
|
||||
} else if (doorClicked.originalFace == 2) {
|
||||
DoubleDoors westDoor = getDoor(id - 3, x -1, y, z);
|
||||
DoubleDoors eastDoor = getDoor(id + 3, x, y -1, z);
|
||||
if (westDoor != null) {
|
||||
changeLeftDoor(westDoor);
|
||||
changeRightDoor(doorClicked);
|
||||
} else if (eastDoor != null) {
|
||||
changeLeftDoor(doorClicked);
|
||||
changeRightDoor(eastDoor);
|
||||
}
|
||||
} else if (doorClicked.originalFace == 3) {
|
||||
DoubleDoors northDoor = getDoor(id - 3, x, y + 1, z);
|
||||
DoubleDoors southDoor = getDoor(id + 3, x, y -1, z);
|
||||
if (northDoor != null) {
|
||||
changeLeftDoor(northDoor);
|
||||
changeRightDoor(doorClicked);
|
||||
} else if (southDoor != null) {
|
||||
changeLeftDoor(doorClicked);
|
||||
changeRightDoor(southDoor);
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
public void changeLeftDoor(DoubleDoors d) {
|
||||
int xAdjustment = 0, yAdjustment = 0;
|
||||
|
||||
if (d.open == 0) {
|
||||
if (d.originalFace == 0 && d.currentFace == 0) {
|
||||
xAdjustment = -1;
|
||||
} else if (d.originalFace == 1 && d.currentFace == 1) {
|
||||
yAdjustment = 1;
|
||||
} else if (d.originalFace == 2 && d.currentFace == 2) {
|
||||
xAdjustment = +1;
|
||||
} else if (d.originalFace == 3 && d.currentFace == 3) {
|
||||
yAdjustment = -1;
|
||||
}
|
||||
} else if (d.open == 1) {
|
||||
if (d.originalFace == 0 && d.currentFace == 0) {
|
||||
yAdjustment = -1;
|
||||
} else if (d.originalFace == 1 && d.currentFace == 1) {
|
||||
xAdjustment = -1;
|
||||
} else if (d.originalFace == 2 && d.currentFace == 2) {
|
||||
xAdjustment = -1;
|
||||
} else if (d.originalFace == 3 && d.currentFace == 3) {
|
||||
xAdjustment = -1;
|
||||
}
|
||||
}
|
||||
if (xAdjustment != 0 || yAdjustment != 0) {
|
||||
GameEngine.objectHandler.placeObject(new Objects(-1, d.x, d.y, d.z, 0, 0, 0));
|
||||
}
|
||||
if (d.x == d.originalX && d.y == d.originalY) {
|
||||
d.x += xAdjustment;
|
||||
d.y += yAdjustment;
|
||||
} else {
|
||||
GameEngine.objectHandler.placeObject(new Objects(-1, d.x, d.y, d.z, 0, 0, 0));
|
||||
d.x = d.originalX;
|
||||
d.y = d.originalY;
|
||||
}
|
||||
if (d.doorId == d.originalId) {
|
||||
if (d.open == 0) {
|
||||
d.doorId += 1;
|
||||
} else if (d.open == 1) {
|
||||
d.doorId -= 1;
|
||||
}
|
||||
} else if (d.doorId != d.originalId) {
|
||||
if (d.open == 0) {
|
||||
d.doorId = d.originalId;
|
||||
} else if (d.open == 1) {
|
||||
d.doorId = d.originalId;
|
||||
}
|
||||
}
|
||||
GameEngine.objectHandler.placeObject(new Objects(d.doorId, d.x, d.y, d.z, getNextLeftFace(d), 0, 0));
|
||||
}
|
||||
|
||||
private int getNextLeftFace(DoubleDoors d) {
|
||||
int f = d.originalFace;
|
||||
|
||||
if (d.open == 0) {
|
||||
if (d.originalFace == 0 && d.currentFace == 0) {
|
||||
f = 3;
|
||||
} else if (d.originalFace == 1 && d.currentFace == 1) {
|
||||
f = 0;
|
||||
} else if (d.originalFace == 2 && d.currentFace == 2) {
|
||||
f = 1;
|
||||
} else if (d.originalFace == 3 && d.currentFace == 3) {
|
||||
f = 0;
|
||||
} else if (d.originalFace != d.currentFace){
|
||||
f = d.originalFace;
|
||||
}
|
||||
} else if (d.open == 1) {
|
||||
if (d.originalFace == 0 && d.currentFace == 0) {
|
||||
f = 1;
|
||||
} else if (d.originalFace == 1 && d.currentFace == 1) {
|
||||
f = 2;
|
||||
} else if (d.originalFace == 2 && d.currentFace == 2) {
|
||||
f = 1;
|
||||
} else if (d.originalFace == 3 && d.currentFace == 3) {
|
||||
f = 2;
|
||||
} else if (d.originalFace != d.currentFace){
|
||||
f = d.originalFace;
|
||||
}
|
||||
}
|
||||
d.currentFace = f;
|
||||
return f;
|
||||
}
|
||||
|
||||
public void changeRightDoor(DoubleDoors d) {
|
||||
int xAdjustment = 0, yAdjustment = 0;
|
||||
|
||||
if (d.open == 0) {
|
||||
if (d.originalFace == 0 && d.currentFace == 0) {
|
||||
xAdjustment = -1;
|
||||
} else if (d.originalFace == 1 && d.currentFace == 1) {
|
||||
yAdjustment = 1;
|
||||
} else if (d.originalFace == 2 && d.currentFace == 2) {
|
||||
xAdjustment = +1;
|
||||
} else if (d.originalFace == 3 && d.currentFace == 3) {
|
||||
yAdjustment = -1;
|
||||
}
|
||||
} else if (d.open == 1) {
|
||||
if (d.originalFace == 0 && d.currentFace == 0) {
|
||||
xAdjustment = 1;
|
||||
} else if (d.originalFace == 1 && d.currentFace == 1) {
|
||||
xAdjustment = -1;
|
||||
} else if (d.originalFace == 2 && d.currentFace == 2) {
|
||||
yAdjustment = -1;
|
||||
} else if (d.originalFace == 3 && d.currentFace == 3) {
|
||||
xAdjustment = -1;
|
||||
}
|
||||
}
|
||||
if (xAdjustment != 0 || yAdjustment != 0) {
|
||||
GameEngine.objectHandler.placeObject(new Objects(-1, d.x, d.y, d.z, 0, 0, 0));
|
||||
}
|
||||
if (d.x == d.originalX && d.y == d.originalY) {
|
||||
d.x += xAdjustment;
|
||||
d.y += yAdjustment;
|
||||
} else {
|
||||
GameEngine.objectHandler.placeObject(new Objects(-1, d.x, d.y, d.z, 0, 0, 0));
|
||||
d.x = d.originalX;
|
||||
d.y = d.originalY;
|
||||
}
|
||||
if (d.doorId == d.originalId) {
|
||||
if (d.open == 0) {
|
||||
d.doorId += 1;
|
||||
} else if (d.open == 1) {
|
||||
d.doorId -= 1;
|
||||
}
|
||||
} else if (d.doorId != d.originalId) {
|
||||
if (d.open == 0) {
|
||||
d.doorId = d.originalId;
|
||||
} else if (d.open == 1) {
|
||||
d.doorId = d.originalId;
|
||||
}
|
||||
}
|
||||
GameEngine.objectHandler.placeObject(new Objects(d.doorId, d.x, d.y, d.z, getNextRightFace(d), 0, 0));
|
||||
}
|
||||
|
||||
private int getNextRightFace(DoubleDoors d) {
|
||||
int f = d.originalFace;
|
||||
|
||||
if (d.open == 0) {
|
||||
if (d.originalFace == 0 && d.currentFace == 0) {
|
||||
f = 1;
|
||||
} else if (d.originalFace == 1 && d.currentFace == 1) {
|
||||
f = 2;
|
||||
} else if (d.originalFace == 2 && d.currentFace == 2) {
|
||||
f = 3;
|
||||
} else if (d.originalFace == 3 && d.currentFace == 3) {
|
||||
f = 2;
|
||||
} else if (d.originalFace != d.currentFace){
|
||||
f = d.originalFace;
|
||||
}
|
||||
} else if (d.open == 1) {
|
||||
if (d.originalFace == 0 && d.currentFace == 0) {
|
||||
f = 3;
|
||||
} else if (d.originalFace == 1 && d.currentFace == 1) {
|
||||
f = 0;
|
||||
} else if (d.originalFace == 2 && d.currentFace == 2) {
|
||||
f = 1;
|
||||
} else if (d.originalFace == 3 && d.currentFace == 3) {
|
||||
f = 2;
|
||||
} else if (d.originalFace != d.currentFace){
|
||||
f = d.originalFace;
|
||||
}
|
||||
}
|
||||
d.currentFace = f;
|
||||
return f;
|
||||
}
|
||||
|
||||
private int doorId;
|
||||
private int originalId;
|
||||
private int open;
|
||||
private int x;
|
||||
private int y;
|
||||
private int z;
|
||||
private int originalX;
|
||||
private int originalY;
|
||||
private int currentFace;
|
||||
private int originalFace;
|
||||
|
||||
public DoubleDoors(int id, int x, int y, int z, int f, int open) {
|
||||
this.doorId = id;
|
||||
this.originalId = id;
|
||||
this.open = open;
|
||||
this.x = x;
|
||||
this.originalX = x;
|
||||
this.y = y;
|
||||
this.z = z;
|
||||
this.originalY = y;
|
||||
this.currentFace = f;
|
||||
this.originalFace = f;
|
||||
}
|
||||
|
||||
public boolean isOpenDoor(int id){
|
||||
for (int i = 0; i < openDoors.length; i++) {
|
||||
if (id == openDoors[i] || id + 3 == openDoors[i]) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
//Have not found any others yet. Maybe only 1 type of double
|
||||
//doors exist to operate.
|
||||
private static int[] openDoors = {
|
||||
1520, 1517
|
||||
};
|
||||
|
||||
public void load() {
|
||||
//long start = System.currentTimeMillis();
|
||||
try {
|
||||
singleton.processLineByLine();
|
||||
} catch (FileNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
//System.out.println("Loaded "+ doors.size() +" Double doors in "+ (System.currentTimeMillis() - start) +"ms.");
|
||||
}
|
||||
|
||||
private final void processLineByLine() throws FileNotFoundException {
|
||||
Scanner scanner = new Scanner(new FileReader(doorFile));
|
||||
try {
|
||||
while(scanner.hasNextLine()) {
|
||||
processLine(scanner.nextLine());
|
||||
}
|
||||
} finally {
|
||||
scanner.close();
|
||||
}
|
||||
}
|
||||
|
||||
protected void processLine(String line){
|
||||
Scanner scanner = new Scanner(line);
|
||||
scanner.useDelimiter(" ");
|
||||
try {
|
||||
while(scanner.hasNextLine()) {
|
||||
int id = Integer.parseInt(scanner.next());
|
||||
int x = Integer.parseInt(scanner.next());
|
||||
int y = Integer.parseInt(scanner.next());
|
||||
int f = Integer.parseInt(scanner.next());
|
||||
int z = Integer.parseInt(scanner.next());
|
||||
doors.add(new DoubleDoors(id, x, y, z, f, isOpenDoor(id) ? 1 : 0));
|
||||
}
|
||||
} finally {
|
||||
scanner.close();
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user