From ef84be59d0e91d6cb4e4745a1c5a620c0e34b780 Mon Sep 17 00:00:00 2001 From: Beny Date: Sun, 26 May 2019 23:20:27 +0100 Subject: [PATCH 1/4] Refactor --- src/main/java/com/eu/habbo/habbohotel/pets/Pet.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/eu/habbo/habbohotel/pets/Pet.java b/src/main/java/com/eu/habbo/habbohotel/pets/Pet.java index 559a1e4b..2c812849 100644 --- a/src/main/java/com/eu/habbo/habbohotel/pets/Pet.java +++ b/src/main/java/com/eu/habbo/habbohotel/pets/Pet.java @@ -535,7 +535,7 @@ public class Pet implements ISerialize, Runnable { this.level++; this.say(this.petData.randomVocal(PetVocalsType.LEVEL_UP)); this.addHappyness(100); - this.roomUnit.setStatus(RoomUnitStatus.GESTURE, "exp"); + this.roomUnit.setStatus(RoomUnitStatus.GESTURE, PetGestures.LVLUP.getKey()); this.gestureTickTimeout = Emulator.getIntUnixTimestamp(); AchievementManager.progressAchievement(Emulator.getGameEnvironment().getHabboManager().getHabbo(this.userId), Emulator.getGameEnvironment().getAchievementManager().getAchievement("PetLevelUp")); this.room.sendComposer(new PetLevelUpdatedComposer(this).compose()); From 61d7b0e66d6b2a88979c5fe61379b1a876ab038c Mon Sep 17 00:00:00 2001 From: Beny Date: Sun, 26 May 2019 23:44:10 +0100 Subject: [PATCH 2/4] Fixed pet action ActionPlayFootball --- .../pets/actions/ActionPlayFootball.java | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/src/main/java/com/eu/habbo/habbohotel/pets/actions/ActionPlayFootball.java b/src/main/java/com/eu/habbo/habbohotel/pets/actions/ActionPlayFootball.java index 7f8cc949..3f11cdc1 100644 --- a/src/main/java/com/eu/habbo/habbohotel/pets/actions/ActionPlayFootball.java +++ b/src/main/java/com/eu/habbo/habbohotel/pets/actions/ActionPlayFootball.java @@ -1,9 +1,12 @@ package com.eu.habbo.habbohotel.pets.actions; +import com.eu.habbo.habbohotel.items.interactions.InteractionPushable; import com.eu.habbo.habbohotel.pets.Pet; import com.eu.habbo.habbohotel.pets.PetAction; import com.eu.habbo.habbohotel.pets.PetVocalsType; +import com.eu.habbo.habbohotel.rooms.Room; import com.eu.habbo.habbohotel.users.Habbo; +import com.eu.habbo.habbohotel.users.HabboItem; public class ActionPlayFootball extends PetAction { public ActionPlayFootball() { @@ -12,6 +15,25 @@ public class ActionPlayFootball extends PetAction { @Override public boolean apply(Pet pet, Habbo habbo, String[] data) { + + Room room = pet.getRoom(); + + if(room == null || room.getLayout() == null) + return false; + + HabboItem foundBall = null; + + for(HabboItem item : room.getFloorItems()) { + if(item instanceof InteractionPushable) { + foundBall = item; + } + } + + if(foundBall == null) + return false; + + pet.getRoomUnit().setGoalLocation(room.getLayout().getTile(foundBall.getX(), foundBall.getY())); + if (pet.getHappyness() > 75) pet.say(pet.getPetData().randomVocal(PetVocalsType.PLAYFUL)); else From 798da6d85ae774c7c48581f9db8daed1955a8eef Mon Sep 17 00:00:00 2001 From: Beny Date: Mon, 27 May 2019 00:02:55 +0100 Subject: [PATCH 3/4] Added missing statuses to RoomUnitStatus --- .../habbohotel/rooms/RoomUnitStatus.java | 37 +++++++++++++++++-- 1 file changed, 33 insertions(+), 4 deletions(-) diff --git a/src/main/java/com/eu/habbo/habbohotel/rooms/RoomUnitStatus.java b/src/main/java/com/eu/habbo/habbohotel/rooms/RoomUnitStatus.java index 7ca637b4..73191762 100644 --- a/src/main/java/com/eu/habbo/habbohotel/rooms/RoomUnitStatus.java +++ b/src/main/java/com/eu/habbo/habbohotel/rooms/RoomUnitStatus.java @@ -2,8 +2,15 @@ package com.eu.habbo.habbohotel.rooms; public enum RoomUnitStatus { MOVE("mv", true), + + SIT_IN("sit-in"), SIT("sit", true), + SIT_OUT("sit-out"), + + LAY_IN("lay-in"), LAY("lay", true), + LAY_OUT("lay-out"), + FLAT_CONTROL("flatctrl"), SIGN("sign"), GESTURE("gst"), @@ -11,11 +18,25 @@ public enum RoomUnitStatus { TRADING("trd"), DIP("dip"), + + EAT_IN("eat-in"), EAT("eat"), + EAT_OUT("eat-out"), + BEG("beg", true), + + DEAD_IN("ded-in"), DEAD("ded", true), + DEAD_OUT("ded-out"), + + JUMP_IN("jmp-in"), JUMP("jmp", true), + JUMP_OUT("jmp-out"), + + PLAY_IN("pla-in"), PLAY("pla", true), + PLAY_OUT("pla-out"), + SPEAK("spk"), CROAK("crk"), RELAX("rlx"), @@ -30,12 +51,20 @@ public enum RoomUnitStatus { GROW_5("grw5"), GROW_6("grw6"), GROW_7("grw7"), - LAY_IN("lay-in"), - LAY_OUT("lay-out"), + KICK("kck"), WAG_TAIL("wag"), - JUMP_IN("jmp-in"), - JUMP_OUT("jmp-out"); + DANCE("dan"), + AMS("ams"), + SWIM("swm"), + TURN("trn"), + + SRP("srp"), + SRP_IN("srp-in"), + + SLEEP_IN("slp-in"), + SLEEP("slp", true), + SLEEP_OUT("slp-out"); public final String key; public final boolean removeWhenWalking; From f5869158e4853288ac0b7235fca190a4a32658af Mon Sep 17 00:00:00 2001 From: Beny Date: Mon, 27 May 2019 01:02:30 +0100 Subject: [PATCH 4/4] Pets can swim! --- .../items/interactions/InteractionWater.java | 23 ++++++++++++++++--- 1 file changed, 20 insertions(+), 3 deletions(-) diff --git a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionWater.java b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionWater.java index 0c10f69f..a7df3c6d 100644 --- a/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionWater.java +++ b/src/main/java/com/eu/habbo/habbohotel/items/interactions/InteractionWater.java @@ -144,14 +144,31 @@ public class InteractionWater extends InteractionDefault { } @Override - public void onWalk(RoomUnit roomUnit, Room room, Object[] objects) throws Exception { + public void onWalkOn(RoomUnit roomUnit, Room room, Object[] objects) throws Exception { + super.onWalkOn(roomUnit, room, objects); + Pet pet = room.getPet(roomUnit); - if (pet != null) { - pet.getRoomUnit().setStatus(RoomUnitStatus.DIP, "0"); + if(pet == null) + return; + + if (!pet.getRoomUnit().hasStatus(RoomUnitStatus.SWIM)) { + pet.getRoomUnit().setStatus(RoomUnitStatus.SWIM, ""); } } + @Override + public void onWalkOff(RoomUnit roomUnit, Room room, Object[] objects) throws Exception { + super.onWalkOff(roomUnit, room, objects); + + Pet pet = room.getPet(roomUnit); + + if(pet == null) + return; + + pet.getRoomUnit().removeStatus(RoomUnitStatus.SWIM); + } + private void recalculate(Room room) { THashMap tiles = new THashMap<>();