mirror of
https://git.krews.org/morningstar/Arcturus-Community.git
synced 2024-11-27 00:40:52 +01:00
Fixed Wired Exploit, WiredEffectMatchFurni did not check max height.
This commit is contained in:
parent
732910e3fc
commit
3177e19960
@ -101,7 +101,8 @@ public class WiredEffectMatchFurni extends InteractionWiredEffect {
|
||||
tilesToUpdate.addAll(tiles);
|
||||
|
||||
double offsetZ = highestZ - item.getZ();
|
||||
|
||||
double totalHeight = item.getZ() + offsetZ;
|
||||
if(totalHeight > 40) break;
|
||||
tilesToUpdate.addAll(room.getLayout().getTilesAt(room.getLayout().getTile(item.getX(), item.getY()), item.getBaseItem().getWidth(), item.getBaseItem().getLength(), oldRotation));
|
||||
|
||||
if (!slideAnimation) {
|
||||
|
@ -1478,12 +1478,7 @@ public class Room implements Comparable<Room>, ISerialize, Runnable {
|
||||
|
||||
if (newRoller == null || topItem == newRoller) {
|
||||
List<HabboItem> sortedItems = new ArrayList<>(itemsOnRoller);
|
||||
sortedItems.sort(new Comparator<HabboItem>() {
|
||||
@Override
|
||||
public int compare(HabboItem o1, HabboItem o2) {
|
||||
return o1.getZ() > o2.getZ() ? -1 : 1;
|
||||
}
|
||||
});
|
||||
sortedItems.sort((o1, o2) -> o1.getZ() > o2.getZ() ? -1 : 1);
|
||||
|
||||
for (HabboItem item : sortedItems) {
|
||||
if (item.getX() == roller.getX() && item.getY() == roller.getY() && zOffset <= 0) {
|
||||
@ -4471,9 +4466,11 @@ public class Room implements Comparable<Room>, ISerialize, Runnable {
|
||||
}
|
||||
}
|
||||
//Place at new position
|
||||
double height = this.getStackHeight(tile.x, tile.y, false);
|
||||
if(height > 40d) return FurnitureMovementError.CANT_STACK;
|
||||
item.setX(tile.x);
|
||||
item.setY(tile.y);
|
||||
item.setZ(this.getStackHeight(tile.x, tile.y, false, item));
|
||||
item.setZ(height);
|
||||
if (magicTile) {
|
||||
item.setZ(tile.z);
|
||||
item.setExtradata("" + item.getZ() * 100);
|
||||
|
Loading…
Reference in New Issue
Block a user