mirror of
https://git.krews.org/morningstar/Arcturus-Community.git
synced 2024-11-30 01:50:50 +01:00
Merge branch 'fix-room-decohosting' into 'dev'
Fix the Cycle on RoomDeco Hosting See merge request morningstar/Arcturus-Community!107
This commit is contained in:
commit
c2e5424122
@ -203,6 +203,7 @@ public class Room implements Comparable<Room>, ISerialize, Runnable {
|
|||||||
private volatile boolean loaded;
|
private volatile boolean loaded;
|
||||||
private volatile boolean preLoaded;
|
private volatile boolean preLoaded;
|
||||||
private int idleCycles;
|
private int idleCycles;
|
||||||
|
private int idleHostingCycles;
|
||||||
private volatile int unitCounter;
|
private volatile int unitCounter;
|
||||||
private volatile int rollerSpeed;
|
private volatile int rollerSpeed;
|
||||||
private final int muteTime = Emulator.getConfig().getInt("hotel.flood.mute.time", 30);
|
private final int muteTime = Emulator.getConfig().getInt("hotel.flood.mute.time", 30);
|
||||||
@ -368,6 +369,7 @@ public class Room implements Comparable<Room>, ISerialize, Runnable {
|
|||||||
}
|
}
|
||||||
|
|
||||||
this.idleCycles = 0;
|
this.idleCycles = 0;
|
||||||
|
this.idleHostingCycles = 0;
|
||||||
this.loaded = true;
|
this.loaded = true;
|
||||||
|
|
||||||
this.roomCycleTask = Emulator.getThreading().getService().scheduleAtFixedRate(this, 500, 500, TimeUnit.MILLISECONDS);
|
this.roomCycleTask = Emulator.getThreading().getService().scheduleAtFixedRate(this, 500, 500, TimeUnit.MILLISECONDS);
|
||||||
@ -1209,6 +1211,19 @@ public class Room implements Comparable<Room>, ISerialize, Runnable {
|
|||||||
task.cycle(this);
|
task.cycle(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (Emulator.getConfig().getBoolean("hotel.rooms.deco_hosting")) {
|
||||||
|
if (this.idleHostingCycles < 120) {
|
||||||
|
this.idleHostingCycles++;
|
||||||
|
} else {
|
||||||
|
this.idleHostingCycles = 0;
|
||||||
|
|
||||||
|
int amount = (int) this.currentHabbos.values().stream().filter(habbo -> habbo.getHabboInfo().getId() != this.ownerId).count();
|
||||||
|
if (amount > 0) {
|
||||||
|
AchievementManager.progressAchievement(this.ownerId, Emulator.getGameEnvironment().getAchievementManager().getAchievement("RoomDecoHosting"), amount);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (!this.currentHabbos.isEmpty()) {
|
if (!this.currentHabbos.isEmpty()) {
|
||||||
this.idleCycles = 0;
|
this.idleCycles = 0;
|
||||||
|
|
||||||
@ -1267,19 +1282,6 @@ public class Room implements Comparable<Room>, ISerialize, Runnable {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (Emulator.getConfig().getBoolean("hotel.rooms.deco_hosting")) {
|
|
||||||
//Check if the user isn't the owner id
|
|
||||||
if (this.ownerId != habbo.getHabboInfo().getId()) {
|
|
||||||
//Check if the time already have 1 minute (120 / 2 = 60s)
|
|
||||||
if (habbo.getRoomUnit().getTimeInRoom() >= 120) {
|
|
||||||
AchievementManager.progressAchievement(this.ownerId, Emulator.getGameEnvironment().getAchievementManager().getAchievement("RoomDecoHosting"));
|
|
||||||
habbo.getRoomUnit().resetTimeInRoom();
|
|
||||||
} else {
|
|
||||||
habbo.getRoomUnit().increaseTimeInRoom();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
if (habbo.getHabboStats().mutedBubbleTracker && habbo.getHabboStats().allowTalk()) {
|
if (habbo.getHabboStats().mutedBubbleTracker && habbo.getHabboStats().allowTalk()) {
|
||||||
habbo.getHabboStats().mutedBubbleTracker = false;
|
habbo.getHabboStats().mutedBubbleTracker = false;
|
||||||
this.sendComposer(new RoomUserIgnoredComposer(habbo, RoomUserIgnoredComposer.UNIGNORED).compose());
|
this.sendComposer(new RoomUserIgnoredComposer(habbo, RoomUserIgnoredComposer.UNIGNORED).compose());
|
||||||
|
@ -73,7 +73,6 @@ public class RoomUnit {
|
|||||||
private int effectId;
|
private int effectId;
|
||||||
private int effectEndTimestamp;
|
private int effectEndTimestamp;
|
||||||
private ScheduledFuture moveBlockingTask;
|
private ScheduledFuture moveBlockingTask;
|
||||||
private int timeInRoom;
|
|
||||||
|
|
||||||
private int idleTimer;
|
private int idleTimer;
|
||||||
private Room room;
|
private Room room;
|
||||||
@ -94,7 +93,6 @@ public class RoomUnit {
|
|||||||
this.effectId = 0;
|
this.effectId = 0;
|
||||||
this.isKicked = false;
|
this.isKicked = false;
|
||||||
this.overridableTiles = new THashSet<>();
|
this.overridableTiles = new THashSet<>();
|
||||||
this.timeInRoom = 0;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void clearWalking() {
|
public void clearWalking() {
|
||||||
@ -645,18 +643,6 @@ public class RoomUnit {
|
|||||||
this.walkTimeOut = walkTimeOut;
|
this.walkTimeOut = walkTimeOut;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void increaseTimeInRoom() {
|
|
||||||
this.timeInRoom++;
|
|
||||||
}
|
|
||||||
|
|
||||||
public int getTimeInRoom() {
|
|
||||||
return this.timeInRoom;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void resetTimeInRoom() {
|
|
||||||
this.timeInRoom = 0;
|
|
||||||
}
|
|
||||||
|
|
||||||
public void increaseIdleTimer() {
|
public void increaseIdleTimer() {
|
||||||
this.idleTimer++;
|
this.idleTimer++;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user