fixed cat bug on local server
This commit is contained in:
parent
e640ac7747
commit
d5a769604a
@ -128,7 +128,12 @@ public final class FamiliarManager {
|
||||
}
|
||||
if (currentPet != -1) {
|
||||
int last = this.petDetails.get(currentPet).size() - 1;
|
||||
PetDetails details = this.petDetails.get(currentPet).get(last);
|
||||
PetDetails details;
|
||||
if (last < 0) { //missing data in save due to historical bug (see GL !2077)
|
||||
details = new PetDetails(0);
|
||||
} else {
|
||||
details = this.petDetails.get(currentPet).get(last);
|
||||
}
|
||||
Pets pets = Pets.forId(currentPet);
|
||||
familiar = new Pet(player, details, currentPet, pets.getNpcId(currentPet));
|
||||
} else if (familiarData.containsKey("familiar")) {
|
||||
@ -414,6 +419,9 @@ public final class FamiliarManager {
|
||||
* @param details The new pet details.
|
||||
*/
|
||||
public void addDetails(int itemId, PetDetails details) {
|
||||
if (petDetails.get(itemId) == null) {
|
||||
petDetails.put(itemId, new ArrayList<>());
|
||||
}
|
||||
petDetails.get(itemId).add(details);
|
||||
}
|
||||
|
||||
|
@ -129,8 +129,8 @@ public final class Pet extends Familiar {
|
||||
if (pet.isKitten(itemId)) {
|
||||
owner.incrementAttribute("/save:stats_manager:cats_raised");
|
||||
}
|
||||
owner.getFamiliarManager().removeDetails(getItemId());
|
||||
owner.getFamiliarManager().addDetails(newItemId, details);
|
||||
owner.getFamiliarManager().removeDetails(getItemId());
|
||||
owner.getFamiliarManager().morphPet(new Item(newItemId), false, location, details.getHunger(), 0);
|
||||
owner.getPacketDispatch().sendMessage("<col=ff0000>Your pet has grown larger.</col>");
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user