Merge branch 'ms4/dev' into 'ms4/dev'

# Conflicts:
#   sqlupdates/3_5_0 to 4_0_0.sql
This commit is contained in:
brenoepic 2023-01-05 16:57:44 +00:00
commit b11fb8a8d2
4 changed files with 20 additions and 3 deletions
.gitlab-ci.yml
sqlupdates
src/main/java/com/eu/habbo
messages/outgoing/inventory
threading/runnables

@ -14,5 +14,5 @@ build:
artifacts: artifacts:
expire_in: 2 weeks expire_in: 2 weeks
paths: paths:
- target/Habbo-*.jar - target/Morningstar-*.jar

@ -13,5 +13,5 @@ CREATE TABLE IF NOT EXISTS `pet_commands` (
INSERT IGNORE INTO `pet_commands` (`pet_id`, `command_id`) VALUES (0, 46),(0, 0),(0, 1),(0, 14),(0, 43),(0, 2),(0, 3),(0, 4),(0, 17),(0, 5),(0, 6),(0, 7),(0, 8),(0, 19),(0, 10),(0, 12),(0, 13),(0, 4),(0, 15),(0, 16),(0, 24),(0, 25),(0, 26),(1, 46),(1, 0),(1, 1),(1, 14),(1, 43),(1, 2),(1, 3),(1, 4),(1, 17),(1, 5),(1, 6),(1, 7),(1, 8),(1, 19),(1, 10),(1, 12),(1, 13),(1, 4),(1, 15),(1, 16),(1, 24),(1, 25),(1, 26),(2, 0),(2, 1),(2, 43),(2, 2),(2, 18),(2, 4),(2, 17),(2, 5),(2, 6),(2, 7),(2, 8),(2, 10),(2, 11),(2, 12),(2, 13),(2, 15),(2, 16),(2, 24),(2, 25),(2, 26),(3, 46),(3, 0),(3, 1),(3, 14),(3, 43),(3, 2),(3, 3),(3, 4),(3, 17),(3, 5),(3, 6),(3, 7),(3, 8),(3, 19),(3, 10),(3, 12),(3, 13),(3, 4),(3, 15),(3, 16),(3, 24),(3, 25),(3, 26),(4, 46),(4, 0),(4, 1),(4, 14),(4, 43),(4, 2),(4, 3),(4, 4),(4, 17),(4, 5),(4, 6),(4, 7),(4, 8),(4, 19),(4, 10),(4, 12),(4, 13),(4, 4),(4, 15),(4, 16),(4, 24),(4, 25),(4, 26),(5, 46),(5, 0),(5, 1),(5, 14),(5, 43),(5, 2),(5, 3),(5, 4),(5, 17),(5, 5),(5, 6),(5, 7),(5, 8),(5, 19),(5, 10),(5, 12),(5, 13),(5, 4),(5, 15),(5, 16),(5, 24),(5, 25),(5, 26),(6, 0),(6, 1),(6, 43),(6, 2),(6, 18),(6, 4),(6, 17),(6, 5),(6, 6),(6, 7),(6, 8),(6, 10),(6, 11),(6, 12),(6, 13),(6, 15),(6, 16),(6, 24),(6, 25),(6, 26),(7, 0),(7, 1),(7, 43),(7, 2),(7, 18),(7, 4),(7, 17),(7, 5),(7, 6),(7, 7),(7, 8),(7, 10),(7, 11),(7, 12),(7, 13),(7, 15),(7, 16),(7, 24),(7, 25),(7, 26),(8, 0),(8, 20),(8, 18),(8, 17),(8, 5),(8, 6),(8, 7),(8, 23),(8, 19),(8, 10),(8, 11),(8, 24),(8, 25),(8, 26),(8, 13),(8, 14),(8, 19),(8, 20),(8, 22),(8, 21),(8, 15),(8, 16),(9, 0),(9, 14),(9, 43),(9, 18),(9, 29),(9, 2),(9, 13),(9, 6),(9, 17),(9, 5),(9, 7),(9, 8),(9, 10),(9, 11),(9, 15),(9, 16),(9, 24),(9, 25),(9, 26),(11, 0),(11, 1),(11, 2),(11, 3),(11, 6),(11, 4),(11, 28),(11, 5),(11, 30),(11, 9),(11, 7),(11, 27),(11, 13),(11, 17),(11, 29),(11, 21),(11, 15),(11, 16),(12, 0),(12, 35),(12, 5),(12, 3),(12, 36),(12, 37),(12, 38),(12, 2),(12, 6),(12, 7),(12, 40),(12, 8),(12, 19),(12, 41),(12, 10),(12, 11),(12, 12),(12, 13),(12, 14),(12, 15),(12, 16),(12, 42),(14, 0),(14, 1),(14, 43),(14, 14),(14, 3),(14, 6),(14, 4),(14, 5),(14, 2),(14, 9),(14, 7),(14, 29),(14, 10),(14, 11),(14, 21),(14, 13),(14, 15),(14, 16),(15, 0),(15, 14),(15, 43),(15, 44),(15, 2),(15, 3),(15, 6),(15, 7),(15, 10),(15, 12),(15, 11),(15, 15),(15, 16),(15, 24),(15, 25),(15, 26),(15, 45),(33, 0),(33, 1),(33, 14),(33, 43),(33, 6),(33, 13),(33, 3),(33, 17),(33, 2),(33, 10),(33, 8),(33, 12),(33, 7),(33, 16),(33, 15),(33, 25),(33, 26),(34, 0),(34, 1),(34, 14),(34, 43),(34, 6),(34, 13),(34, 3),(34, 17),(34, 2),(34, 10),(34, 8),(34, 12),(34, 7),(34, 16),(34, 15),(34, 25),(34, 26); INSERT IGNORE INTO `pet_commands` (`pet_id`, `command_id`) VALUES (0, 46),(0, 0),(0, 1),(0, 14),(0, 43),(0, 2),(0, 3),(0, 4),(0, 17),(0, 5),(0, 6),(0, 7),(0, 8),(0, 19),(0, 10),(0, 12),(0, 13),(0, 4),(0, 15),(0, 16),(0, 24),(0, 25),(0, 26),(1, 46),(1, 0),(1, 1),(1, 14),(1, 43),(1, 2),(1, 3),(1, 4),(1, 17),(1, 5),(1, 6),(1, 7),(1, 8),(1, 19),(1, 10),(1, 12),(1, 13),(1, 4),(1, 15),(1, 16),(1, 24),(1, 25),(1, 26),(2, 0),(2, 1),(2, 43),(2, 2),(2, 18),(2, 4),(2, 17),(2, 5),(2, 6),(2, 7),(2, 8),(2, 10),(2, 11),(2, 12),(2, 13),(2, 15),(2, 16),(2, 24),(2, 25),(2, 26),(3, 46),(3, 0),(3, 1),(3, 14),(3, 43),(3, 2),(3, 3),(3, 4),(3, 17),(3, 5),(3, 6),(3, 7),(3, 8),(3, 19),(3, 10),(3, 12),(3, 13),(3, 4),(3, 15),(3, 16),(3, 24),(3, 25),(3, 26),(4, 46),(4, 0),(4, 1),(4, 14),(4, 43),(4, 2),(4, 3),(4, 4),(4, 17),(4, 5),(4, 6),(4, 7),(4, 8),(4, 19),(4, 10),(4, 12),(4, 13),(4, 4),(4, 15),(4, 16),(4, 24),(4, 25),(4, 26),(5, 46),(5, 0),(5, 1),(5, 14),(5, 43),(5, 2),(5, 3),(5, 4),(5, 17),(5, 5),(5, 6),(5, 7),(5, 8),(5, 19),(5, 10),(5, 12),(5, 13),(5, 4),(5, 15),(5, 16),(5, 24),(5, 25),(5, 26),(6, 0),(6, 1),(6, 43),(6, 2),(6, 18),(6, 4),(6, 17),(6, 5),(6, 6),(6, 7),(6, 8),(6, 10),(6, 11),(6, 12),(6, 13),(6, 15),(6, 16),(6, 24),(6, 25),(6, 26),(7, 0),(7, 1),(7, 43),(7, 2),(7, 18),(7, 4),(7, 17),(7, 5),(7, 6),(7, 7),(7, 8),(7, 10),(7, 11),(7, 12),(7, 13),(7, 15),(7, 16),(7, 24),(7, 25),(7, 26),(8, 0),(8, 20),(8, 18),(8, 17),(8, 5),(8, 6),(8, 7),(8, 23),(8, 19),(8, 10),(8, 11),(8, 24),(8, 25),(8, 26),(8, 13),(8, 14),(8, 19),(8, 20),(8, 22),(8, 21),(8, 15),(8, 16),(9, 0),(9, 14),(9, 43),(9, 18),(9, 29),(9, 2),(9, 13),(9, 6),(9, 17),(9, 5),(9, 7),(9, 8),(9, 10),(9, 11),(9, 15),(9, 16),(9, 24),(9, 25),(9, 26),(11, 0),(11, 1),(11, 2),(11, 3),(11, 6),(11, 4),(11, 28),(11, 5),(11, 30),(11, 9),(11, 7),(11, 27),(11, 13),(11, 17),(11, 29),(11, 21),(11, 15),(11, 16),(12, 0),(12, 35),(12, 5),(12, 3),(12, 36),(12, 37),(12, 38),(12, 2),(12, 6),(12, 7),(12, 40),(12, 8),(12, 19),(12, 41),(12, 10),(12, 11),(12, 12),(12, 13),(12, 14),(12, 15),(12, 16),(12, 42),(14, 0),(14, 1),(14, 43),(14, 14),(14, 3),(14, 6),(14, 4),(14, 5),(14, 2),(14, 9),(14, 7),(14, 29),(14, 10),(14, 11),(14, 21),(14, 13),(14, 15),(14, 16),(15, 0),(15, 14),(15, 43),(15, 44),(15, 2),(15, 3),(15, 6),(15, 7),(15, 10),(15, 12),(15, 11),(15, 15),(15, 16),(15, 24),(15, 25),(15, 26),(15, 45),(33, 0),(33, 1),(33, 14),(33, 43),(33, 6),(33, 13),(33, 3),(33, 17),(33, 2),(33, 10),(33, 8),(33, 12),(33, 7),(33, 16),(33, 15),(33, 25),(33, 26),(34, 0),(34, 1),(34, 14),(34, 43),(34, 6),(34, 13),(34, 3),(34, 17),(34, 2),(34, 10),(34, 8),(34, 12),(34, 7),(34, 16),(34, 15),(34, 25),(34, 26);
UPDATE pet_commands_data SET required_level=1 WHERE command_id=35; UPDATE pet_commands_data SET required_level=1 WHERE command_id=35;
INSERT INTO `emulator_settings` (`key`, `value`) VALUES ('encryption.forced', '0');

@ -10,6 +10,8 @@ import gnu.trove.map.TIntObjectMap;
import gnu.trove.procedure.TIntObjectProcedure; import gnu.trove.procedure.TIntObjectProcedure;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import java.util.Arrays;
import java.util.List;
public class FurniListComposer extends MessageComposer implements TIntObjectProcedure<HabboItem> { public class FurniListComposer extends MessageComposer implements TIntObjectProcedure<HabboItem> {
private static final Logger LOGGER = LoggerFactory.getLogger(FurniListComposer.class); private static final Logger LOGGER = LoggerFactory.getLogger(FurniListComposer.class);
@ -48,7 +50,7 @@ public class FurniListComposer extends MessageComposer implements TIntObjectProc
this.response.appendInt(habboItem.getId()); this.response.appendInt(habboItem.getId());
this.response.appendInt(habboItem.getBaseItem().getSpriteId()); this.response.appendInt(habboItem.getBaseItem().getSpriteId());
if (habboItem.getBaseItem().getName().equals("floor") || habboItem.getBaseItem().getName().equals("landscape") || habboItem.getBaseItem().getName().equals("wallpaper") || habboItem.getBaseItem().getName().equals("poster")) { if (habboItem.getBaseItem().getName().equals("floor") || habboItem.getBaseItem().getName().equals("song_disk") || habboItem.getBaseItem().getName().equals("landscape") || habboItem.getBaseItem().getName().equals("wallpaper") || habboItem.getBaseItem().getName().equals("poster")) {
switch (habboItem.getBaseItem().getName()) { switch (habboItem.getBaseItem().getName()) {
case "landscape": case "landscape":
this.response.appendInt(4); this.response.appendInt(4);
@ -62,6 +64,9 @@ public class FurniListComposer extends MessageComposer implements TIntObjectProc
case "poster": case "poster":
this.response.appendInt(6); this.response.appendInt(6);
break; break;
case "song_disk":
this.response.appendInt(8);
break;
} }
this.response.appendInt(0); this.response.appendInt(0);
@ -84,10 +89,20 @@ public class FurniListComposer extends MessageComposer implements TIntObjectProc
if (habboItem.getBaseItem().getType() == FurnitureType.FLOOR) { if (habboItem.getBaseItem().getType() == FurnitureType.FLOOR) {
this.response.appendString(""); this.response.appendString("");
if(habboItem.getBaseItem().getName().equals("song_disk")) {
List<String> extraDataAsList = Arrays.asList(habboItem.getExtradata().split("\n"));
this.response.appendInt(Integer.valueOf(extraDataAsList.get(extraDataAsList.size() - 1)));
return true;
}
this.response.appendInt(habboItem instanceof InteractionGift ? ((((InteractionGift) habboItem).getColorId() * 1000) + ((InteractionGift) habboItem).getRibbonId()) : 1); this.response.appendInt(habboItem instanceof InteractionGift ? ((((InteractionGift) habboItem).getColorId() * 1000) + ((InteractionGift) habboItem).getRibbonId()) : 1);
} }
return true; return true;
} }
public void addExtraDataToResponse(HabboItem habboItem) {
this.response.appendInt(0);
this.response.appendString(habboItem.getExtradata());
}
} }

@ -26,6 +26,8 @@ public class CannonKickAction implements Runnable {
@Override @Override
public void run() { public void run() {
if(this.cannon == null || this.room == null || this.room.getLayout() == null) return;
if (this.client != null) { if (this.client != null) {
this.client.getHabbo().getRoomUnit().setCanWalk(true); this.client.getHabbo().getRoomUnit().setCanWalk(true);
} }