|
|
|
@@ -35,7 +35,7 @@ public class BaseSWGCommand implements Cloneable {
|
|
|
|
|
private String clientEffectTarget;
|
|
|
|
|
private int commandCRC;
|
|
|
|
|
private boolean isGmCommand = false;
|
|
|
|
|
private String characterAbility = null;
|
|
|
|
|
private String characterAbility;
|
|
|
|
|
private int target;
|
|
|
|
|
private int targetType;
|
|
|
|
|
private boolean callOnTarget = false;
|
|
|
|
@@ -60,9 +60,11 @@ public class BaseSWGCommand implements Cloneable {
|
|
|
|
|
setCommandCRC(CRC.StringtoCRC(commandName));
|
|
|
|
|
|
|
|
|
|
try {
|
|
|
|
|
boolean foundCommand = false;
|
|
|
|
|
|
|
|
|
|
String[] tableArray = new String[] {
|
|
|
|
|
"client_command_table", "client_command_table_ground", "client_command_table_space",
|
|
|
|
|
"command_table", "command_table_ground", "command_table_space", "command_table_atmospheric_flight" };
|
|
|
|
|
"command_table", "command_table_ground", "command_table_space" };
|
|
|
|
|
|
|
|
|
|
for (int n = 0; n < tableArray.length; n++) {
|
|
|
|
|
List<Long> invalidStates = new ArrayList<Long>();
|
|
|
|
@@ -73,87 +75,105 @@ public class BaseSWGCommand implements Cloneable {
|
|
|
|
|
for (int i = 0; i < visitor2.getRowCount(); i++) {
|
|
|
|
|
if (visitor2.getObject(i, 0) != null) {
|
|
|
|
|
if (((String) visitor2.getObject(i, 0)).equalsIgnoreCase(commandName)) {
|
|
|
|
|
int sub = 0; // Subtract due to command table structures being different
|
|
|
|
|
|
|
|
|
|
characterAbility = (String) visitor2.getObject(i, 7);
|
|
|
|
|
target = (Integer) visitor2.getObject(i, 72);
|
|
|
|
|
targetType = (Integer) visitor2.getObject(i, 73);
|
|
|
|
|
callOnTarget = (Boolean) visitor2.getObject(i, 76);
|
|
|
|
|
commandGroup = (Integer) visitor2.getObject(i, 77);
|
|
|
|
|
disabled = (Boolean) visitor2.getObject(i, 78);
|
|
|
|
|
maxRangeToTarget = (Float) visitor2.getObject(i, 79);
|
|
|
|
|
godLevel = (Integer) visitor2.getObject(i, 80);
|
|
|
|
|
displayGroup = (Integer) visitor2.getObject(i, 81);
|
|
|
|
|
combatCommand = (Boolean) visitor2.getObject(i, 82);
|
|
|
|
|
validWeapon = (Integer) visitor2.getObject(i, 83);
|
|
|
|
|
invalidWeapon = (Integer) visitor2.getObject(i, 84);
|
|
|
|
|
cooldownGroup = (String) visitor2.getObject(i, 85);
|
|
|
|
|
warmupTime = (Float) visitor2.getObject(i, 86);
|
|
|
|
|
executeTime = (Float) visitor2.getObject(i, 87);
|
|
|
|
|
cooldown = (Float) visitor2.getObject(i, 88);
|
|
|
|
|
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 8))) invalidPostures.add((byte) 0);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 9))) invalidPostures.add((byte) 3);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 16))) invalidPostures.add((byte) 2);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 19))) invalidPostures.add((byte) 5);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 21))) invalidPostures.add((byte) 6);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 22))) invalidPostures.add((byte) 7);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 23))) invalidPostures.add((byte) 8);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 24))) invalidPostures.add((byte) 9);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 25))) invalidPostures.add((byte) 10);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 26))) invalidPostures.add((byte) 11);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 27))) invalidPostures.add((byte) 12);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 28))) invalidPostures.add((byte) 13);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 29))) invalidPostures.add((byte) 14);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 30))) invalidPostures.add((byte) 4);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 8-sub))) invalidPostures.add((byte) 0);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 9-sub))) invalidPostures.add((byte) 3);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 15-sub))) invalidPostures.add((byte) 2);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 18-sub))) invalidPostures.add((byte) 5);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 20-sub))) invalidPostures.add((byte) 6);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 21-sub))) invalidPostures.add((byte) 7);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 22-sub))) invalidPostures.add((byte) 8);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 23-sub))) invalidPostures.add((byte) 9);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 24-sub))) invalidPostures.add((byte) 10);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 25-sub))) invalidPostures.add((byte) 11);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 26-sub))) invalidPostures.add((byte) 12);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 27-sub))) invalidPostures.add((byte) 13);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 28-sub))) invalidPostures.add((byte) 14);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 29-sub))) invalidPostures.add((byte) 4);
|
|
|
|
|
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 32))) invalidStates.add(1L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 33))) invalidStates.add(2L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 34))) invalidStates.add(4L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 35))) invalidStates.add(8L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 36))) invalidStates.add(16L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 37))) invalidStates.add(32L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 38))) invalidStates.add(64L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 39))) invalidStates.add(128L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 40))) invalidStates.add(256L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 41))) invalidStates.add(512L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 42))) invalidStates.add(1024L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 43))) invalidStates.add(2048L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 44))) invalidStates.add(4096L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 45))) invalidStates.add(8192L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 46))) invalidStates.add(16384L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 47))) invalidStates.add(32768L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 48))) invalidStates.add(65536L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 49))) invalidStates.add(131072L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 50))) invalidStates.add(262144L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 51))) invalidStates.add(524288L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 52))) invalidStates.add(1048576L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 53))) invalidStates.add(2097152L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 54))) invalidStates.add(4194304L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 55))) invalidStates.add(8388608L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 56))) invalidStates.add(16777216L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 57))) invalidStates.add(33554432L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 58))) invalidStates.add(67108864L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 59))) invalidStates.add(134217728L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 60))) invalidStates.add(268435456L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 61))) invalidStates.add(536870912L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 62))) invalidStates.add(1073741824L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 63))) invalidStates.add(2147483648L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 64))) invalidStates.add(4294967296L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 65))) invalidStates.add(8589934592L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 66))) invalidStates.add(17179869184L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 67))) invalidStates.add(34359738368L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 68))) invalidStates.add(68719476736L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 69))) invalidStates.add(137438953472L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 70))) invalidStates.add(274877906944L);
|
|
|
|
|
if (tableArray[n].startsWith("client_") || tableArray[n].startsWith("command_table_")) {
|
|
|
|
|
sub += 1;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 32-sub))) invalidStates.add(1L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 33-sub))) invalidStates.add(2L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 34-sub))) invalidStates.add(4L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 35-sub))) invalidStates.add(8L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 36-sub))) invalidStates.add(16L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 37-sub))) invalidStates.add(32L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 38-sub))) invalidStates.add(64L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 39-sub))) invalidStates.add(128L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 40-sub))) invalidStates.add(256L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 41-sub))) invalidStates.add(512L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 42-sub))) invalidStates.add(1024L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 43-sub))) invalidStates.add(2048L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 44-sub))) invalidStates.add(4096L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 45-sub))) invalidStates.add(8192L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 46-sub))) invalidStates.add(16384L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 47-sub))) invalidStates.add(32768L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 48-sub))) invalidStates.add(65536L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 49-sub))) invalidStates.add(131072L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 50-sub))) invalidStates.add(262144L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 51-sub))) invalidStates.add(524288L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 52-sub))) invalidStates.add(1048576L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 53-sub))) invalidStates.add(2097152L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 54-sub))) invalidStates.add(4194304L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 55-sub))) invalidStates.add(8388608L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 56-sub))) invalidStates.add(16777216L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 57-sub))) invalidStates.add(33554432L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 58-sub))) invalidStates.add(67108864L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 59-sub))) invalidStates.add(134217728L);
|
|
|
|
|
|
|
|
|
|
if (!tableArray[n].equals("client_command_table_space")) {
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 60-sub))) invalidStates.add(268435456L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 61-sub))) invalidStates.add(536870912L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 62-sub))) invalidStates.add(1073741824L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 63-sub))) invalidStates.add(2147483648L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 64-sub))) invalidStates.add(4294967296L);
|
|
|
|
|
} else {
|
|
|
|
|
sub += 5;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (!tableArray[n].startsWith("client_") && !tableArray[n].startsWith("command_table_")) {
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 65-sub))) invalidStates.add(8589934592L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 66-sub))) invalidStates.add(17179869184L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 67-sub))) invalidStates.add(34359738368L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 68-sub))) invalidStates.add(68719476736L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 69-sub))) invalidStates.add(137438953472L);
|
|
|
|
|
if (!((Boolean) visitor2.getObject(i, 70-sub))) invalidStates.add(274877906944L);
|
|
|
|
|
} else {
|
|
|
|
|
sub += 6;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
target = (Integer) visitor2.getObject(i, 72-sub);
|
|
|
|
|
targetType = (Integer) visitor2.getObject(i, 73-sub);
|
|
|
|
|
callOnTarget = (Boolean) visitor2.getObject(i, 76-sub);
|
|
|
|
|
commandGroup = (Integer) visitor2.getObject(i, 77-sub);
|
|
|
|
|
disabled = (Boolean) visitor2.getObject(i, 78-sub);
|
|
|
|
|
maxRangeToTarget = (Float) visitor2.getObject(i, 79-sub);
|
|
|
|
|
godLevel = (Integer) visitor2.getObject(i, 80-sub);
|
|
|
|
|
displayGroup = (Integer) visitor2.getObject(i, 81-sub);
|
|
|
|
|
combatCommand = (Boolean) visitor2.getObject(i, 82-sub);
|
|
|
|
|
validWeapon = (Integer) visitor2.getObject(i, 83-sub);
|
|
|
|
|
invalidWeapon = (Integer) visitor2.getObject(i, 84-sub);
|
|
|
|
|
cooldownGroup = (String) visitor2.getObject(i, 85-sub);
|
|
|
|
|
warmupTime = (Float) visitor2.getObject(i, 86-sub);
|
|
|
|
|
executeTime = (Float) visitor2.getObject(i, 87-sub);
|
|
|
|
|
cooldown = (Float) visitor2.getObject(i, 88-sub);
|
|
|
|
|
|
|
|
|
|
this.invalidPostures = invalidPostures.toArray(new Byte[] { });
|
|
|
|
|
this.invalidStates = invalidStates.toArray(new Long[] { });
|
|
|
|
|
|
|
|
|
|
foundCommand = true;
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (characterAbility != null) {
|
|
|
|
|
if (foundCommand) {
|
|
|
|
|
break;
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|