From 6625e4edc4c9dd50c2caf59eaaa34fcfbc7e76ae Mon Sep 17 00:00:00 2001 From: brenoepic <59066707+brenoepics@users.noreply.github.com> Date: Fri, 8 Apr 2022 00:17:14 -0300 Subject: [PATCH] Fix ActionDown --- .../habbohotel/pets/actions/ActionDown.java | 24 ++++++++++++++----- 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/eu/habbo/habbohotel/pets/actions/ActionDown.java b/src/main/java/com/eu/habbo/habbohotel/pets/actions/ActionDown.java index 2f601fb5..910d4563 100644 --- a/src/main/java/com/eu/habbo/habbohotel/pets/actions/ActionDown.java +++ b/src/main/java/com/eu/habbo/habbohotel/pets/actions/ActionDown.java @@ -1,5 +1,6 @@ package com.eu.habbo.habbohotel.pets.actions; +import com.eu.habbo.Emulator; import com.eu.habbo.habbohotel.pets.Pet; import com.eu.habbo.habbohotel.pets.PetAction; import com.eu.habbo.habbohotel.pets.PetTasks; @@ -10,18 +11,29 @@ import com.eu.habbo.habbohotel.users.Habbo; public class ActionDown extends PetAction { public ActionDown() { super(PetTasks.DOWN, true); + this.statusToRemove.add(RoomUnitStatus.BEG); this.statusToRemove.add(RoomUnitStatus.MOVE); - this.statusToRemove.add(RoomUnitStatus.SIT); + this.statusToRemove.add(RoomUnitStatus.DEAD); } @Override public boolean apply(Pet pet, Habbo habbo, String[] data) { - pet.getRoomUnit().setStatus(RoomUnitStatus.LAY, pet.getRoom().getStackHeight(pet.getRoomUnit().getX(), pet.getRoomUnit().getY(), false) + ""); + if (pet.getTask() != PetTasks.DOWN && !pet.getRoomUnit().hasStatus(RoomUnitStatus.LAY)) { + pet.getRoomUnit().cmdLay = true; + pet.getRoomUnit().setStatus(RoomUnitStatus.LAY, pet.getRoomUnit().getCurrentLocation().getStackHeight() + ""); - if (pet.getHappyness() > 50) - pet.say(pet.getPetData().randomVocal(PetVocalsType.PLAYFUL)); - else - pet.say(pet.getPetData().randomVocal(PetVocalsType.GENERIC_NEUTRAL)); + Emulator.getThreading().run(() -> { + pet.getRoomUnit().cmdLay = false; + pet.clearPosture(); + }, 4000); + + if (pet.getHappyness() > 50) + pet.say(pet.getPetData().randomVocal(PetVocalsType.PLAYFUL)); + else + pet.say(pet.getPetData().randomVocal(PetVocalsType.GENERIC_NEUTRAL)); + + return true; + } return true; }