mirror of
https://git.krews.org/morningstar/Arcturus-Community.git
synced 2025-01-31 12:22:36 +01:00
Added full comments to Pet.java
This commit is contained in:
parent
ea9e02f60d
commit
817c9ab88c
@ -21,41 +21,165 @@ import org.slf4j.LoggerFactory;
|
|||||||
import java.sql.*;
|
import java.sql.*;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* This class represents a virtual pet in a virtual world. It has fields representing the state of the
|
||||||
|
* pet, such as its name, type, level, hunger level, and thirst level. It also has methods for
|
||||||
|
* interacting with the virtual world, such as speaking, updating its status, and running tasks.
|
||||||
|
*/
|
||||||
public class Pet implements ISerialize, Runnable {
|
public class Pet implements ISerialize, Runnable {
|
||||||
private static final Logger LOGGER = LoggerFactory.getLogger(Pet.class);
|
private static final Logger LOGGER = LoggerFactory.getLogger(Pet.class);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The level of thirst of the pet.
|
||||||
|
*/
|
||||||
public int levelThirst;
|
public int levelThirst;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The level of hunger of the pet.
|
||||||
|
*/
|
||||||
public int levelHunger;
|
public int levelHunger;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether the pet needs to be updated.
|
||||||
|
*/
|
||||||
public boolean needsUpdate = false;
|
public boolean needsUpdate = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether the pet needs to be sent as a packet update.
|
||||||
|
*/
|
||||||
public boolean packetUpdate = false;
|
public boolean packetUpdate = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The ID of the pet.
|
||||||
|
*/
|
||||||
protected int id;
|
protected int id;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The ID of the user that owns the pet.
|
||||||
|
*/
|
||||||
protected int userId;
|
protected int userId;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The room that the pet is in.
|
||||||
|
*/
|
||||||
protected Room room;
|
protected Room room;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The name of the pet.
|
||||||
|
*/
|
||||||
protected String name;
|
protected String name;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The data for the type of pet.
|
||||||
|
*/
|
||||||
protected PetData petData;
|
protected PetData petData;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The race of the pet.
|
||||||
|
*/
|
||||||
protected int race;
|
protected int race;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The color of the pet.
|
||||||
|
*/
|
||||||
protected String color;
|
protected String color;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The happyness level of the pet.
|
||||||
|
*/
|
||||||
protected int happyness;
|
protected int happyness;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The experience points of the pet.
|
||||||
|
*/
|
||||||
protected int experience;
|
protected int experience;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The energy level of the pet.
|
||||||
|
*/
|
||||||
protected int energy;
|
protected int energy;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The respect points of the pet.
|
||||||
|
*/
|
||||||
protected int respect;
|
protected int respect;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The timestamp of when the pet was created.
|
||||||
|
*/
|
||||||
protected int created;
|
protected int created;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The current level of the pet.
|
||||||
|
*/
|
||||||
protected int level;
|
protected int level;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The unit that represents the pet in a room.
|
||||||
|
*/
|
||||||
RoomUnit roomUnit;
|
RoomUnit roomUnit;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The chat timeout of the pet.
|
||||||
|
*/
|
||||||
private int chatTimeout;
|
private int chatTimeout;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The tick timeout of the pet.
|
||||||
|
*/
|
||||||
private int tickTimeout = Emulator.getIntUnixTimestamp();
|
private int tickTimeout = Emulator.getIntUnixTimestamp();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The happyness delay of the pet.
|
||||||
|
*/
|
||||||
private int happynessDelay = Emulator.getIntUnixTimestamp();
|
private int happynessDelay = Emulator.getIntUnixTimestamp();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The gesture tick timeout of the pet.
|
||||||
|
*/
|
||||||
private int gestureTickTimeout = Emulator.getIntUnixTimestamp();
|
private int gestureTickTimeout = Emulator.getIntUnixTimestamp();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The random action tick timeout of the pet.
|
||||||
|
*/
|
||||||
private int randomActionTickTimeout = Emulator.getIntUnixTimestamp();
|
private int randomActionTickTimeout = Emulator.getIntUnixTimestamp();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The posture timeout of the pet.
|
||||||
|
*/
|
||||||
private int postureTimeout = Emulator.getIntUnixTimestamp();
|
private int postureTimeout = Emulator.getIntUnixTimestamp();
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The time when the pet started staying.
|
||||||
|
*/
|
||||||
private int stayStartedAt = 0;
|
private int stayStartedAt = 0;
|
||||||
|
/**
|
||||||
|
* The number of ticks that the pet has spent idle while waiting for a command.
|
||||||
|
*/
|
||||||
private int idleCommandTicks = 0;
|
private int idleCommandTicks = 0;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The number of ticks that the pet has spent free after completing a command.
|
||||||
|
*/
|
||||||
private int freeCommandTicks = -1;
|
private int freeCommandTicks = -1;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The current task of the pet.
|
||||||
|
*/
|
||||||
private PetTasks task = PetTasks.FREE;
|
private PetTasks task = PetTasks.FREE;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Whether the pet is muted.
|
||||||
|
*/
|
||||||
private boolean muted = false;
|
private boolean muted = false;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a new pet using the given result set, which should contain data retrieved from a
|
||||||
|
* database.
|
||||||
|
*
|
||||||
|
* @param set the result set containing the pet data
|
||||||
|
* @throws SQLException if an error occurs while reading from the result set
|
||||||
|
*/
|
||||||
public Pet(ResultSet set) throws SQLException {
|
public Pet(ResultSet set) throws SQLException {
|
||||||
super();
|
super();
|
||||||
this.id = set.getInt("id");
|
this.id = set.getInt("id");
|
||||||
@ -79,6 +203,15 @@ public class Pet implements ISerialize, Runnable {
|
|||||||
this.level = PetManager.getLevel(this.experience);
|
this.level = PetManager.getLevel(this.experience);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Creates a new pet with the given type, race, color, name, and owner.
|
||||||
|
*
|
||||||
|
* @param type the type of the pet
|
||||||
|
* @param race the race of the pet
|
||||||
|
* @param color the color of the pet
|
||||||
|
* @param name the name of the pet
|
||||||
|
* @param userId the ID of the user that owns the pet
|
||||||
|
*/
|
||||||
public Pet(int type, int race, String color, String name, int userId) {
|
public Pet(int type, int race, String color, String name, int userId) {
|
||||||
this.id = 0;
|
this.id = 0;
|
||||||
this.userId = userId;
|
this.userId = userId;
|
||||||
@ -102,7 +235,11 @@ public class Pet implements ISerialize, Runnable {
|
|||||||
this.level = 1;
|
this.level = 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Makes the pet say the given message in the room it is currently in.
|
||||||
|
*
|
||||||
|
* @param message the message to be said
|
||||||
|
*/
|
||||||
protected void say(String message) {
|
protected void say(String message) {
|
||||||
if (this.roomUnit != null && this.room != null && !message.isEmpty()) {
|
if (this.roomUnit != null && this.room != null && !message.isEmpty()) {
|
||||||
RoomChatMessage chatMessage = new RoomChatMessage(message, this.roomUnit, RoomChatMessageBubbles.NORMAL);
|
RoomChatMessage chatMessage = new RoomChatMessage(message, this.roomUnit, RoomChatMessageBubbles.NORMAL);
|
||||||
@ -133,6 +270,11 @@ public class Pet implements ISerialize, Runnable {
|
|||||||
this.energy = 0;
|
this.energy = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Increases the happyness of the pet by the given amount.
|
||||||
|
*
|
||||||
|
* @param amount the amount to increase the happyness by
|
||||||
|
*/
|
||||||
public void addHappyness(int amount) {
|
public void addHappyness(int amount) {
|
||||||
this.happyness += amount;
|
this.happyness += amount;
|
||||||
|
|
||||||
@ -143,20 +285,36 @@ public class Pet implements ISerialize, Runnable {
|
|||||||
this.happyness = 0;
|
this.happyness = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the respect of the pet.
|
||||||
|
*
|
||||||
|
* @return the respect of the pet
|
||||||
|
*/
|
||||||
public int getRespect() {
|
public int getRespect() {
|
||||||
return this.respect;
|
return this.respect;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Increases the respect of the pet by 1.
|
||||||
|
*/
|
||||||
public void addRespect() {
|
public void addRespect() {
|
||||||
this.respect++;
|
this.respect++;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the number of days that the pet has been alive.
|
||||||
|
*
|
||||||
|
* @return the number of days that the pet has been alive
|
||||||
|
*/
|
||||||
public int daysAlive() {
|
public int daysAlive() {
|
||||||
return (Emulator.getIntUnixTimestamp() - this.created) / 86400;
|
return (Emulator.getIntUnixTimestamp() - this.created) / 86400;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the date that the pet was born as a string in the format "dd/MM/yyyy".
|
||||||
|
*
|
||||||
|
* @return the date that the pet was born as a string
|
||||||
|
*/
|
||||||
public String bornDate() {
|
public String bornDate() {
|
||||||
|
|
||||||
Calendar cal = Calendar.getInstance(TimeZone.getDefault());
|
Calendar cal = Calendar.getInstance(TimeZone.getDefault());
|
||||||
@ -165,6 +323,10 @@ public class Pet implements ISerialize, Runnable {
|
|||||||
return cal.get(Calendar.DAY_OF_MONTH) + "/" + cal.get(Calendar.MONTH) + "/" + cal.get(Calendar.YEAR);
|
return cal.get(Calendar.DAY_OF_MONTH) + "/" + cal.get(Calendar.MONTH) + "/" + cal.get(Calendar.YEAR);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Updates the pet in the database with the current values. If the pet has not yet been saved to the database,
|
||||||
|
* it will be inserted.
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void run() {
|
public void run() {
|
||||||
if (this.needsUpdate) {
|
if (this.needsUpdate) {
|
||||||
@ -216,6 +378,10 @@ public class Pet implements ISerialize, Runnable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Performs a cycle of updates for the pet. This includes updates to their walking, tasks, happiness, hunger, thirst, and energy levels.
|
||||||
|
* It also includes updates to their gestures and random actions, as well as vocalizing if they are not muted.
|
||||||
|
*/
|
||||||
public void cycle() {
|
public void cycle() {
|
||||||
this.idleCommandTicks++;
|
this.idleCommandTicks++;
|
||||||
|
|
||||||
@ -338,7 +504,13 @@ public class Pet implements ISerialize, Runnable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Handles a pet command.
|
||||||
|
*
|
||||||
|
* @param command The command to handle.
|
||||||
|
* @param habbo The user who issued the command.
|
||||||
|
* @param data The data for the command.
|
||||||
|
*/
|
||||||
public void handleCommand(PetCommand command, Habbo habbo, String[] data) {
|
public void handleCommand(PetCommand command, Habbo habbo, String[] data) {
|
||||||
this.idleCommandTicks = 0;
|
this.idleCommandTicks = 0;
|
||||||
|
|
||||||
@ -353,6 +525,11 @@ public class Pet implements ISerialize, Runnable {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Returns whether the pet is able to walk.
|
||||||
|
*
|
||||||
|
* @return true if the pet is able to walk, false otherwise.
|
||||||
|
*/
|
||||||
public boolean canWalk() {
|
public boolean canWalk() {
|
||||||
if (this.task == null)
|
if (this.task == null)
|
||||||
return true;
|
return true;
|
||||||
@ -378,6 +555,9 @@ public class Pet implements ISerialize, Runnable {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Clears the current posture of the pet.
|
||||||
|
*/
|
||||||
public void clearPosture() {
|
public void clearPosture() {
|
||||||
THashMap<RoomUnitStatus, String> keys = new THashMap<>();
|
THashMap<RoomUnitStatus, String> keys = new THashMap<>();
|
||||||
|
|
||||||
@ -407,6 +587,11 @@ public class Pet implements ISerialize, Runnable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Updates the pet's gesture based on its current status.
|
||||||
|
*
|
||||||
|
* @param time the time until the gesture should be updated again
|
||||||
|
*/
|
||||||
public void updateGesture(int time) {
|
public void updateGesture(int time) {
|
||||||
this.gestureTickTimeout = time;
|
this.gestureTickTimeout = time;
|
||||||
if (this.energy < 30) {
|
if (this.energy < 30) {
|
||||||
@ -433,6 +618,11 @@ public class Pet implements ISerialize, Runnable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Serializes this pet into a server message.
|
||||||
|
*
|
||||||
|
* @param message the server message to serialize this pet into
|
||||||
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void serialize(ServerMessage message) {
|
public void serialize(ServerMessage message) {
|
||||||
message.appendInt(this.id);
|
message.appendInt(this.id);
|
||||||
@ -449,6 +639,9 @@ public class Pet implements ISerialize, Runnable {
|
|||||||
message.appendInt(0);
|
message.appendInt(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Makes the pet find a nest to sleep in.
|
||||||
|
*/
|
||||||
|
|
||||||
public void findNest() {
|
public void findNest() {
|
||||||
HabboItem item = this.petData.randomNest(this.room.getRoomSpecialTypes().getNests());
|
HabboItem item = this.petData.randomNest(this.room.getRoomSpecialTypes().getNests());
|
||||||
@ -462,7 +655,9 @@ public class Pet implements ISerialize, Runnable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Makes the pet drink.
|
||||||
|
*/
|
||||||
public boolean drink() {
|
public boolean drink() {
|
||||||
HabboItem item = this.petData.randomDrinkItem(this.room.getRoomSpecialTypes().getPetDrinks());
|
HabboItem item = this.petData.randomDrinkItem(this.room.getRoomSpecialTypes().getPetDrinks());
|
||||||
if (item != null) {
|
if (item != null) {
|
||||||
@ -478,7 +673,9 @@ public class Pet implements ISerialize, Runnable {
|
|||||||
return item != null;
|
return item != null;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Makes the pet eat.
|
||||||
|
*/
|
||||||
public void eat() {
|
public void eat() {
|
||||||
HabboItem item = this.petData.randomFoodItem(this.room.getRoomSpecialTypes().getPetFoods());
|
HabboItem item = this.petData.randomFoodItem(this.room.getRoomSpecialTypes().getPetFoods());
|
||||||
{
|
{
|
||||||
@ -489,7 +686,11 @@ public class Pet implements ISerialize, Runnable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Makes the pet search for a toy to play with.
|
||||||
|
*
|
||||||
|
* @return true if a toy was found, false otherwise
|
||||||
|
*/
|
||||||
public boolean findToy() {
|
public boolean findToy() {
|
||||||
HabboItem item = this.petData.randomToyItem(this.room.getRoomSpecialTypes().getPetToys());
|
HabboItem item = this.petData.randomToyItem(this.room.getRoomSpecialTypes().getPetToys());
|
||||||
{
|
{
|
||||||
@ -508,6 +709,13 @@ public class Pet implements ISerialize, Runnable {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Makes the pet search for a specific type of item.
|
||||||
|
*
|
||||||
|
* @param task the task to perform when the item is found
|
||||||
|
* @param type the type of item to search for
|
||||||
|
* @return true if an item was found, false otherwise
|
||||||
|
*/
|
||||||
public boolean findPetItem(PetTasks task, Class<? extends HabboItem> type) {
|
public boolean findPetItem(PetTasks task, Class<? extends HabboItem> type) {
|
||||||
HabboItem item = this.petData.randomToyHabboItem(this.room.getRoomSpecialTypes().getItemsOfType(type));
|
HabboItem item = this.petData.randomToyHabboItem(this.room.getRoomSpecialTypes().getItemsOfType(type));
|
||||||
|
|
||||||
@ -526,20 +734,27 @@ public class Pet implements ISerialize, Runnable {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Makes the pet perform a random happy action.
|
||||||
|
*/
|
||||||
public void randomHappyAction() {
|
public void randomHappyAction() {
|
||||||
if (this.petData.actionsHappy.length > 0) {
|
if (this.petData.actionsHappy.length > 0) {
|
||||||
this.roomUnit.setStatus(RoomUnitStatus.fromString(this.petData.actionsHappy[Emulator.getRandom().nextInt(this.petData.actionsHappy.length)]), "");
|
this.roomUnit.setStatus(RoomUnitStatus.fromString(this.petData.actionsHappy[Emulator.getRandom().nextInt(this.petData.actionsHappy.length)]), "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Makes the pet perform a random sad action.
|
||||||
|
*/
|
||||||
public void randomSadAction() {
|
public void randomSadAction() {
|
||||||
if (this.petData.actionsTired.length > 0) {
|
if (this.petData.actionsTired.length > 0) {
|
||||||
this.roomUnit.setStatus(RoomUnitStatus.fromString(this.petData.actionsTired[Emulator.getRandom().nextInt(this.petData.actionsTired.length)]), "");
|
this.roomUnit.setStatus(RoomUnitStatus.fromString(this.petData.actionsTired[Emulator.getRandom().nextInt(this.petData.actionsTired.length)]), "");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Makes the pet perform a random action.
|
||||||
|
*/
|
||||||
public void randomAction() {
|
public void randomAction() {
|
||||||
if (this.petData.actionsRandom.length > 0) {
|
if (this.petData.actionsRandom.length > 0) {
|
||||||
this.roomUnit.setStatus(RoomUnitStatus.fromString(this.petData.actionsRandom[Emulator.getRandom().nextInt(this.petData.actionsRandom.length)]), "");
|
this.roomUnit.setStatus(RoomUnitStatus.fromString(this.petData.actionsRandom[Emulator.getRandom().nextInt(this.petData.actionsRandom.length)]), "");
|
||||||
@ -547,6 +762,11 @@ public class Pet implements ISerialize, Runnable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Increases the pet's experience by a given amount.
|
||||||
|
*
|
||||||
|
* @param amount the amount of experience to add
|
||||||
|
*/
|
||||||
public void addExperience(int amount) {
|
public void addExperience(int amount) {
|
||||||
this.experience += amount;
|
this.experience += amount;
|
||||||
|
|
||||||
@ -559,7 +779,9 @@ public class Pet implements ISerialize, Runnable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Levels up the pet if it has enough experience.
|
||||||
|
*/
|
||||||
protected void levelUp() {
|
protected void levelUp() {
|
||||||
if (this.level >= PetManager.experiences.length + 1)
|
if (this.level >= PetManager.experiences.length + 1)
|
||||||
return;
|
return;
|
||||||
@ -576,7 +798,11 @@ public class Pet implements ISerialize, Runnable {
|
|||||||
this.room.sendComposer(new PetLevelUpdatedComposer(this).compose());
|
this.room.sendComposer(new PetLevelUpdatedComposer(this).compose());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Increases the pet's thirst level by a given amount.
|
||||||
|
*
|
||||||
|
* @param amount the amount of thirst to add
|
||||||
|
*/
|
||||||
public void addThirst(int amount) {
|
public void addThirst(int amount) {
|
||||||
this.levelThirst += amount;
|
this.levelThirst += amount;
|
||||||
|
|
||||||
@ -587,7 +813,11 @@ public class Pet implements ISerialize, Runnable {
|
|||||||
this.levelThirst = 0;
|
this.levelThirst = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Increases the pet's hunger level by a given amount.
|
||||||
|
*
|
||||||
|
* @param amount the amount of hunger to add
|
||||||
|
*/
|
||||||
public void addHunger(int amount) {
|
public void addHunger(int amount) {
|
||||||
this.levelHunger += amount;
|
this.levelHunger += amount;
|
||||||
|
|
||||||
@ -598,7 +828,9 @@ public class Pet implements ISerialize, Runnable {
|
|||||||
this.levelHunger = 0;
|
this.levelHunger = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Releases the pet from its current task.
|
||||||
|
*/
|
||||||
public void freeCommand() {
|
public void freeCommand() {
|
||||||
this.task = null;
|
this.task = null;
|
||||||
this.roomUnit.setGoalLocation(this.getRoomUnit().getCurrentLocation());
|
this.roomUnit.setGoalLocation(this.getRoomUnit().getCurrentLocation());
|
||||||
@ -607,7 +839,11 @@ public class Pet implements ISerialize, Runnable {
|
|||||||
this.say(this.petData.randomVocal(PetVocalsType.GENERIC_NEUTRAL));
|
this.say(this.petData.randomVocal(PetVocalsType.GENERIC_NEUTRAL));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Increases the pet's happyness level when it is scratched.
|
||||||
|
*
|
||||||
|
* @param habbo the habbo who scratched the pet
|
||||||
|
*/
|
||||||
public void scratched(Habbo habbo) {
|
public void scratched(Habbo habbo) {
|
||||||
this.addHappyness(10);
|
this.addHappyness(10);
|
||||||
this.addExperience(10);
|
this.addExperience(10);
|
||||||
@ -624,147 +860,306 @@ public class Pet implements ISerialize, Runnable {
|
|||||||
AchievementManager.progressAchievement(Emulator.getGameEnvironment().getHabboManager().getHabbo(this.userId), Emulator.getGameEnvironment().getAchievementManager().getAchievement("PetRespectReceiver"));
|
AchievementManager.progressAchievement(Emulator.getGameEnvironment().getHabboManager().getHabbo(this.userId), Emulator.getGameEnvironment().getAchievementManager().getAchievement("PetRespectReceiver"));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the ID of the pet.
|
||||||
|
*
|
||||||
|
* @return the ID of the pet
|
||||||
|
*/
|
||||||
public int getId() {
|
public int getId() {
|
||||||
return this.id;
|
return this.id;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the ID of the user who owns the pet.
|
||||||
|
*
|
||||||
|
* @return the ID of the user who owns the pet
|
||||||
|
*/
|
||||||
public int getUserId() {
|
public int getUserId() {
|
||||||
return this.userId;
|
return this.userId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the ID of the user who owns the pet.
|
||||||
|
*
|
||||||
|
* @param userId the ID of the user who owns the pet
|
||||||
|
*/
|
||||||
public void setUserId(int userId) {
|
public void setUserId(int userId) {
|
||||||
this.userId = userId;
|
this.userId = userId;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the room the pet is currently in.
|
||||||
|
*
|
||||||
|
* @return the room the pet is currently in
|
||||||
|
*/
|
||||||
public Room getRoom() {
|
public Room getRoom() {
|
||||||
return this.room;
|
return this.room;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the room the pet is currently in.
|
||||||
|
*
|
||||||
|
* @param room the room the pet is currently in
|
||||||
|
*/
|
||||||
public void setRoom(Room room) {
|
public void setRoom(Room room) {
|
||||||
this.room = room;
|
this.room = room;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the name of the pet.
|
||||||
|
*
|
||||||
|
* @return the name of the pet
|
||||||
|
*/
|
||||||
public String getName() {
|
public String getName() {
|
||||||
return this.name;
|
return this.name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the name of the pet.
|
||||||
|
*
|
||||||
|
* @param name the name of the pet
|
||||||
|
*/
|
||||||
public void setName(String name) {
|
public void setName(String name) {
|
||||||
this.name = name;
|
this.name = name;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the data for the pet's species.
|
||||||
|
*
|
||||||
|
* @return the data for the pet's species
|
||||||
|
*/
|
||||||
public PetData getPetData() {
|
public PetData getPetData() {
|
||||||
return this.petData;
|
return this.petData;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the data for the pet's species.
|
||||||
|
*
|
||||||
|
* @param petData the data for the pet's species
|
||||||
|
*/
|
||||||
public void setPetData(PetData petData) {
|
public void setPetData(PetData petData) {
|
||||||
this.petData = petData;
|
this.petData = petData;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the race of the pet.
|
||||||
|
*
|
||||||
|
* @return the race of the pet
|
||||||
|
*/
|
||||||
public int getRace() {
|
public int getRace() {
|
||||||
return this.race;
|
return this.race;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the race of the pet.
|
||||||
|
*
|
||||||
|
* @param race the race of the pet
|
||||||
|
*/
|
||||||
public void setRace(int race) {
|
public void setRace(int race) {
|
||||||
this.race = race;
|
this.race = race;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the color of the pet.
|
||||||
|
*
|
||||||
|
* @return the color of the pet
|
||||||
|
*/
|
||||||
public String getColor() {
|
public String getColor() {
|
||||||
return this.color;
|
return this.color;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the color of the pet.
|
||||||
|
*
|
||||||
|
* @param color the color of the pet
|
||||||
|
*/
|
||||||
public void setColor(String color) {
|
public void setColor(String color) {
|
||||||
this.color = color;
|
this.color = color;
|
||||||
}
|
}
|
||||||
|
/**
|
||||||
|
* Gets the happiness level of the pet.
|
||||||
|
*
|
||||||
|
* @return the happiness level of the pet
|
||||||
|
*/
|
||||||
public int getHappyness() {
|
public int getHappyness() {
|
||||||
return this.happyness;
|
return this.happyness;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the happiness level of the pet.
|
||||||
|
*
|
||||||
|
* @param happyness the happiness level of the pet
|
||||||
|
*/
|
||||||
public void setHappyness(int happyness) {
|
public void setHappyness(int happyness) {
|
||||||
this.happyness = happyness;
|
this.happyness = happyness;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the experience points of the pet.
|
||||||
|
*
|
||||||
|
* @return the experience points of the pet
|
||||||
|
*/
|
||||||
public int getExperience() {
|
public int getExperience() {
|
||||||
return this.experience;
|
return this.experience;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the experience points of the pet.
|
||||||
|
*
|
||||||
|
* @param experience the experience points of the pet
|
||||||
|
*/
|
||||||
public void setExperience(int experience) {
|
public void setExperience(int experience) {
|
||||||
this.experience = experience;
|
this.experience = experience;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the energy level of the pet.
|
||||||
|
* @return the energy level of the pet
|
||||||
|
*/
|
||||||
public int getEnergy() {
|
public int getEnergy() {
|
||||||
return this.energy;
|
return this.energy;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the energy of the pet.
|
||||||
|
* @param energy the new energy value for the pet
|
||||||
|
*/
|
||||||
public void setEnergy(int energy) {
|
public void setEnergy(int energy) {
|
||||||
this.energy = energy;
|
this.energy = energy;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the maximum energy that the pet can have at its current level.
|
||||||
|
* @return the maximum energy that the pet can have at its current level
|
||||||
|
*/
|
||||||
public int getMaxEnergy() {
|
public int getMaxEnergy() {
|
||||||
return this.level * 100;
|
return this.level * 100;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the time that the pet was created.
|
||||||
|
* @return the time that the pet was created
|
||||||
|
*/
|
||||||
public int getCreated() {
|
public int getCreated() {
|
||||||
return this.created;
|
return this.created;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the time that the pet was created.
|
||||||
|
* @param created the new time that the pet was created
|
||||||
|
*/
|
||||||
public void setCreated(int created) {
|
public void setCreated(int created) {
|
||||||
this.created = created;
|
this.created = created;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the level of the pet.
|
||||||
|
* @return the level of the pet
|
||||||
|
*/
|
||||||
public int getLevel() {
|
public int getLevel() {
|
||||||
return this.level;
|
return this.level;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the level of the pet.
|
||||||
|
* @param level the new level of the pet
|
||||||
|
*/
|
||||||
public void setLevel(int level) {
|
public void setLevel(int level) {
|
||||||
this.level = level;
|
this.level = level;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the room unit object associated with this pet.
|
||||||
|
* @return the room unit object associated with this pet
|
||||||
|
*/
|
||||||
public RoomUnit getRoomUnit() {
|
public RoomUnit getRoomUnit() {
|
||||||
return this.roomUnit;
|
return this.roomUnit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the room unit object associated with this pet.
|
||||||
|
* @param roomUnit the new room unit object for this pet
|
||||||
|
*/
|
||||||
public void setRoomUnit(RoomUnit roomUnit) {
|
public void setRoomUnit(RoomUnit roomUnit) {
|
||||||
this.roomUnit = roomUnit;
|
this.roomUnit = roomUnit;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the current task of this pet.
|
||||||
|
* @return the current task of this pet
|
||||||
|
*/
|
||||||
public PetTasks getTask() {
|
public PetTasks getTask() {
|
||||||
return this.task;
|
return this.task;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the current task of this pet.
|
||||||
|
* @param newTask the new task for this pet
|
||||||
|
*/
|
||||||
public void setTask(PetTasks newTask) {
|
public void setTask(PetTasks newTask) {
|
||||||
this.task = newTask;
|
this.task = newTask;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets whether this pet is currently muted.
|
||||||
|
* @return true if this pet is muted, false otherwise
|
||||||
|
*/
|
||||||
public boolean isMuted() {
|
public boolean isMuted() {
|
||||||
return this.muted;
|
return this.muted;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets whether this pet is currently muted.
|
||||||
|
* @param muted true if this pet should be muted, false otherwise
|
||||||
|
*/
|
||||||
public void setMuted(boolean muted) {
|
public void setMuted(boolean muted) {
|
||||||
this.muted = muted;
|
this.muted = muted;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the current thirst level of this pet.
|
||||||
|
* @return the current thirst level of this pet
|
||||||
|
*/
|
||||||
public int getLevelThirst() {
|
public int getLevelThirst() {
|
||||||
return this.levelThirst;
|
return this.levelThirst;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the current thirst level of this pet.
|
||||||
|
* @param levelThirst the new thirst level of this pet
|
||||||
|
*/
|
||||||
public void setLevelThirst(int levelThirst) {
|
public void setLevelThirst(int levelThirst) {
|
||||||
this.levelThirst = levelThirst;
|
this.levelThirst = levelThirst;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the current hunger level of this pet.
|
||||||
|
* @return the current hunger level of this pet
|
||||||
|
*/
|
||||||
public int getLevelHunger() {
|
public int getLevelHunger() {
|
||||||
return this.levelHunger;
|
return this.levelHunger;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the current hunger level of this pet.
|
||||||
|
* @param levelHunger the new hunger level of this pet
|
||||||
|
*/
|
||||||
public void setLevelHunger(int levelHunger) {
|
public void setLevelHunger(int levelHunger) {
|
||||||
this.levelHunger = levelHunger;
|
this.levelHunger = levelHunger;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Removes this pet from the room.
|
||||||
|
*/
|
||||||
public void removeFromRoom() {
|
public void removeFromRoom() {
|
||||||
removeFromRoom(false);
|
removeFromRoom(false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Removes this pet from the room.
|
||||||
|
* @param dontSendPackets if true, packets will not be sent to update clients
|
||||||
|
*/
|
||||||
public void removeFromRoom(boolean dontSendPackets) {
|
public void removeFromRoom(boolean dontSendPackets) {
|
||||||
|
|
||||||
if (this.roomUnit != null && this.roomUnit.getCurrentLocation() != null) {
|
if (this.roomUnit != null && this.roomUnit.getCurrentLocation() != null) {
|
||||||
@ -781,10 +1176,18 @@ public class Pet implements ISerialize, Runnable {
|
|||||||
this.needsUpdate = true;
|
this.needsUpdate = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Gets the time at which this pet started staying in the room.
|
||||||
|
* @return the time at which this pet started staying in the room
|
||||||
|
*/
|
||||||
public int getStayStartedAt() {
|
public int getStayStartedAt() {
|
||||||
return stayStartedAt;
|
return stayStartedAt;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets the time at which this pet started staying in the room.
|
||||||
|
* @param stayStartedAt the new time at which this pet started staying in the room
|
||||||
|
*/
|
||||||
public void setStayStartedAt(int stayStartedAt) {
|
public void setStayStartedAt(int stayStartedAt) {
|
||||||
this.stayStartedAt = stayStartedAt;
|
this.stayStartedAt = stayStartedAt;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user