Added operand count incrementor for CREO, ITNO, PLAY, and TANO baselines

This commit is contained in:
Waverunner
2014-12-08 15:38:49 -05:00
parent 384129e059
commit 413f2c9d07
5 changed files with 54 additions and 34 deletions
@@ -311,43 +311,37 @@ public class CreatureObject extends TangibleObject {
public void createBaseline1(Player target, BaselineBuilder bb) {
super.createBaseline1(target, bb);
bb.addShort(5);
bb.addInt(getBankBalance());
bb.addInt(getCashBalance());
bb.addInt(6); // Base HAM Mod List Size (List, Integer)
bb.addInt(0);
bb.addInt(1000); // Max Health
bb.addInt(0);
bb.addInt(300); // Max Action
bb.addInt(0);
bb.addInt(300); // Max Mind
bb.addInt(0); // Skills List Size (List, Integer)
bb.addInt(1);
bb.addInt(0);
bb.addAscii(race.getSpecies());
bb.addInt(0); // update counter
bb.addInt(1000); // Max Health
bb.addInt(0); // ??
bb.addInt(300); // Max Action
bb.addInt(0); // ??
bb.addInt(300); // Max Mind
bb.addInt(0); // ??
bb.addInt(1); // Skills List Size (List, Integer)
bb.addInt(0); // update counter
bb.addAscii(race.getSpecies());
bb.incremeantOperandCount(4);
}
public void createBaseline3(Player target, BaselineBuilder bb) {
super.createBaseline3(target, bb);
// We should confirm that this is only part of CREO3 and not TANO3, Core2 doesn't have this
bb.addByte(0);
bb.addShort(0); // Unknown
bb.addInt(0); // Unknown
bb.addInt(0x00003A98); // Unknown
bb.addByte(0); // Unknown
// END
bb.addByte(posture.getId());
bb.addByte(0); // Faction Rank
bb.addLong(0); // Owner - mainly used for pets and vehicles
bb.addFloat((float) height);
bb.addInt(0); // Battle Fatigue
bb.addLong(0); // States Bitmask
bb.addInt(0); // Wound HAM List Size
bb.incremeantOperandCount(6);
}
public void createBaseline4(Player target, BaselineBuilder bb) {
super.createBaseline4(target, bb);
bb.addShort(5);
bb.addFloat((float) accelScale);
bb.addFloat((float) accelPercent);
bb.addInt(0); // Encumberance HAM List Size (List, Integer)
@@ -364,6 +358,8 @@ public class CreatureObject extends TangibleObject {
bb.addInt(0); // Mission Critical Objects list size (Map, k = long v = long)
bb.addInt(0); // abilities list size (Map, k = string v = integer)
bb.addInt(0); // XP Display Counter (remaining experience to next level up, updates the experience bar on client)
bb.incremeantOperandCount(16);
}
public void createBaseline6(Player target, BaselineBuilder bb) {
@@ -397,16 +393,18 @@ public class CreatureObject extends TangibleObject {
bb.addByte(0); // Unknown
bb.addInt(0); // Appearance Equipment List Size (List, Equipment structure)
bb.addLong(0); // Unknown
bb.incremeantOperandCount(27);
}
public void createBaseline8(Player target, BaselineBuilder bb) {
super.createBaseline8(target, bb);
bb.addShort(0);
//bb.addShort(0);
}
public void createBaseline9(Player target, BaselineBuilder bb) {
super.createBaseline9(target, bb);
bb.addShort(0);
//bb.addShort(0);
}
}
@@ -27,6 +27,8 @@ public class IntangibleObject extends SWGObject {
public void createBaseline3(Player target, BaselineBuilder bb) {
super.createBaseline3(target, bb);
bb.addInt(count);
bb.incremeantOperandCount(1);
}
public void createBaseline6(Player target, BaselineBuilder bb) {
+12 -4
View File
@@ -135,6 +135,8 @@ public class PlayerObject extends IntangibleObject {
bb.addInt(0);
bb.addBoolean(showHelmet); // Show Helmet
bb.addBoolean(showBackpack); // Show Backpack
bb.incremeantOperandCount(15);
}
public void createBaseline6(Player target, BaselineBuilder bb) {
@@ -148,16 +150,18 @@ public class PlayerObject extends IntangibleObject {
bb.addAscii(""); // Home
bb.addByte(0); // Citizenship
bb.addAscii(""); // City Region Defender 'region'
bb.addByte(0); // City Region Defender byte #1
bb.addByte(0); // City Region Defender byte #2
bb.addByte(0); // City Region Defender byte #1
bb.addByte(0); // City Region Defender byte #2
bb.addAscii(""); // Guild Region Defender 'region'
bb.addByte(0); // Guild Region Defender byte #1
bb.addByte(0); // Guild Region Defender byte #2
bb.addByte(0); // Guild Region Defender byte #1
bb.addByte(0); // Guild Region Defender byte #2
bb.addLong(0); // General?
bb.addInt(0); // Guild Rank Title?
bb.addShort(0); // Citizen Rank Title? 6 bytes
bb.addInt(1); // Speeder Elevation
bb.addAscii(""); // Vehicle Attack Command
bb.incremeantOperandCount(15);
}
public void createBaseline8(Player target, BaselineBuilder bb) {
@@ -171,6 +175,8 @@ public class PlayerObject extends IntangibleObject {
bb.addInt(0); // Active Quest
bb.addInt(0); // Quest Journal
bb.addAscii(""); // Profession Wheel Position
bb.incremeantOperandCount(9);
}
public void createBaseline9(Player target, BaselineBuilder bb) {
@@ -206,6 +212,8 @@ public class PlayerObject extends IntangibleObject {
bb.addLong(0); // Unk sometimes 856
bb.addLong(0); // Unk sometimes 8559
bb.addInt(0); // Residence Time
bb.incremeantOperandCount(31);
}
}
@@ -147,16 +147,26 @@ public class TangibleObject extends SWGObject {
bb.addInt(0); // Faction
bb.addInt(0); // Faction Status
bb.addArray(appearanceData);
bb.addInt(1); // Options Bitmask
bb.addInt(0); // Incap Timer
bb.addInt(0); // Component customization (Set, Integer)
bb.addInt(0); //updates
bb.addInt(128); // Options Bitmask (128 = Attackable)
bb.addInt(0); // Incap Timer for players, Use count for objects
bb.addInt(condition);
bb.addInt(0x80); // Random number that should be high enough - maxCondition
bb.addInt(100); // Random number that should be high enough - maxCondition
bb.addBoolean(false); // isStatic
bb.incremeantOperandCount(9);
}
public void createBaseline6(Player target, BaselineBuilder bb) {
super.createBaseline6(target, bb);
bb.addInt(0); // Defender List Size
bb.addBoolean(false); // Combat flag
bb.addInt(0); // Defenders List (Set, Long)
bb.addInt(0); // Unknown List (List, Long)
bb.addInt(0); // Unknown List (List, Integer)
bb.addLong(0); // Unknown, possibly a list/map or something
bb.incremeantOperandCount(5);
}
}
@@ -1,13 +1,13 @@
package resources.objects.waypoint;
import network.packets.swg.zone.SceneEndBaselines;
import network.packets.swg.zone.baselines.Baseline.BaselineType;
import resources.network.BaselineBuilder;
import resources.objects.intangible.IntangibleObject;
import resources.player.Player;
public class WaypointObject extends IntangibleObject {
private static final long serialVersionUID = 1L;
private int cellNumber;
private long targetId = 0;
private String name = "Waypoint";
@@ -84,13 +84,15 @@ public class WaypointObject extends IntangibleObject {
}
public void createObject(Player target) {
super.sendSceneCreateObject(target);
// NOTE: Client is never sent a WAYP baseline in NGE, WaypointObject's just go inside the Waypoint List in PLAY.
/*super.sendSceneCreateObject(target);
BaselineBuilder bb = new BaselineBuilder(this, BaselineType.WAYP, 3);
createBaseline3(target, bb);
bb.sendTo(target);
createChildrenObjects(target);
target.sendPacket(new SceneEndBaselines(getObjectId()));
target.sendPacket(new SceneEndBaselines(getObjectId()));*/
}
}