mirror of
https://git.krews.org/morningstar/Arcturus-Community.git
synced 2024-11-27 00:40:52 +01:00
Fix TagGame
This commit is contained in:
parent
1197bd792b
commit
1a3f1a93fa
@ -9,6 +9,7 @@ import com.eu.habbo.habbohotel.items.interactions.games.tag.InteractionTagField;
|
|||||||
import com.eu.habbo.habbohotel.items.interactions.games.tag.InteractionTagPole;
|
import com.eu.habbo.habbohotel.items.interactions.games.tag.InteractionTagPole;
|
||||||
import com.eu.habbo.habbohotel.rooms.Room;
|
import com.eu.habbo.habbohotel.rooms.Room;
|
||||||
import com.eu.habbo.habbohotel.rooms.RoomLayout;
|
import com.eu.habbo.habbohotel.rooms.RoomLayout;
|
||||||
|
import com.eu.habbo.habbohotel.rooms.RoomUnit;
|
||||||
import com.eu.habbo.habbohotel.users.Habbo;
|
import com.eu.habbo.habbohotel.users.Habbo;
|
||||||
import com.eu.habbo.habbohotel.users.HabboGender;
|
import com.eu.habbo.habbohotel.users.HabboGender;
|
||||||
import com.eu.habbo.habbohotel.users.HabboItem;
|
import com.eu.habbo.habbohotel.users.HabboItem;
|
||||||
@ -129,6 +130,7 @@ public abstract class TagGame extends Game {
|
|||||||
public synchronized boolean addHabbo(Habbo habbo, GameTeamColors teamColor) {
|
public synchronized boolean addHabbo(Habbo habbo, GameTeamColors teamColor) {
|
||||||
super.addHabbo(habbo, GameTeamColors.RED);
|
super.addHabbo(habbo, GameTeamColors.RED);
|
||||||
|
|
||||||
|
RoomUnit roomUnit = habbo.getRoomUnit();
|
||||||
if (this.getTagPole() != null) {
|
if (this.getTagPole() != null) {
|
||||||
THashSet<HabboItem> poles = habbo.getHabboInfo().getCurrentRoom().getRoomSpecialTypes().getItemsOfType(this.getTagPole());
|
THashSet<HabboItem> poles = habbo.getHabboInfo().getCurrentRoom().getRoomSpecialTypes().getItemsOfType(this.getTagPole());
|
||||||
|
|
||||||
@ -140,22 +142,27 @@ public abstract class TagGame extends Game {
|
|||||||
TObjectHashIterator<HabboItem> iterator = poles.iterator();
|
TObjectHashIterator<HabboItem> iterator = poles.iterator();
|
||||||
if ((iterator.hasNext())) {
|
if ((iterator.hasNext())) {
|
||||||
HabboItem item = iterator.next();
|
HabboItem item = iterator.next();
|
||||||
habbo.getHabboInfo().getCurrentRoom().giveEffect(habbo, this.getEffect(habbo), -1);
|
if (roomUnit.getEffectId() > 0)
|
||||||
this.room.scheduledTasks.add(() -> habbo.getHabboInfo().getCurrentRoom().giveEffect(habbo, this.getTaggedEffect(habbo), -1));
|
roomUnit.setPreviousEffectId(roomUnit.getEffectId(), roomUnit.getPreviousEffectEndTimestamp());
|
||||||
|
habbo.getHabboInfo().getCurrentRoom().giveEffect(habbo, this.getEffect(habbo), -1, true);
|
||||||
|
this.room.scheduledTasks.add(() -> habbo.getHabboInfo().getCurrentRoom().giveEffect(habbo, this.getTaggedEffect(habbo), -1, true));
|
||||||
this.taggers.put(habbo, (InteractionTagPole) item);
|
this.taggers.put(habbo, (InteractionTagPole) item);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
if (this.taggers.isEmpty()) {
|
if (this.taggers.isEmpty()) {
|
||||||
habbo.getHabboInfo().getCurrentRoom().giveEffect(habbo, this.getEffect(habbo), -1);
|
if (roomUnit.getEffectId() > 0)
|
||||||
this.room.scheduledTasks.add(() -> habbo.getHabboInfo().getCurrentRoom().giveEffect(habbo, this.getTaggedEffect(habbo), -1));
|
roomUnit.setPreviousEffectId(roomUnit.getEffectId(), roomUnit.getPreviousEffectEndTimestamp());
|
||||||
|
habbo.getHabboInfo().getCurrentRoom().giveEffect(habbo, this.getEffect(habbo), -1, true);
|
||||||
|
this.room.scheduledTasks.add(() -> habbo.getHabboInfo().getCurrentRoom().giveEffect(habbo, this.getTaggedEffect(habbo), -1, true));
|
||||||
this.taggers.put(habbo, null);
|
this.taggers.put(habbo, null);
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
if (roomUnit.getEffectId() > 0)
|
||||||
habbo.getHabboInfo().getCurrentRoom().giveEffect(habbo, this.getEffect(habbo), -1);
|
roomUnit.setPreviousEffectId(roomUnit.getEffectId(), roomUnit.getPreviousEffectEndTimestamp());
|
||||||
|
habbo.getHabboInfo().getCurrentRoom().giveEffect(habbo, this.getEffect(habbo), -1, true);
|
||||||
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
@ -164,7 +171,33 @@ public abstract class TagGame extends Game {
|
|||||||
public synchronized void removeHabbo(Habbo habbo) {
|
public synchronized void removeHabbo(Habbo habbo) {
|
||||||
super.removeHabbo(habbo);
|
super.removeHabbo(habbo);
|
||||||
this.taggers.remove(habbo);
|
this.taggers.remove(habbo);
|
||||||
habbo.getHabboInfo().getCurrentRoom().giveEffect(habbo, 0, -1);
|
|
||||||
|
RoomUnit roomUnit = habbo.getRoomUnit();
|
||||||
|
Room room = roomUnit.getRoom();
|
||||||
|
if (room == null) return;
|
||||||
|
|
||||||
|
HabboItem topItem = room.getTopItemAt(roomUnit.getCurrentLocation().x, roomUnit.getCurrentLocation().y);
|
||||||
|
int nextEffectM = 0;
|
||||||
|
int nextEffectF = 0;
|
||||||
|
int nextEffectDuration = -1;
|
||||||
|
|
||||||
|
if (topItem != null) {
|
||||||
|
nextEffectM = topItem.getBaseItem().getEffectM();
|
||||||
|
nextEffectF = topItem.getBaseItem().getEffectF();
|
||||||
|
} else if (roomUnit.getPreviousEffectId() > 0) {
|
||||||
|
nextEffectF = roomUnit.getPreviousEffectId();
|
||||||
|
nextEffectM = roomUnit.getPreviousEffectId();
|
||||||
|
nextEffectDuration = roomUnit.getPreviousEffectEndTimestamp();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (habbo.getHabboInfo().getGender().equals(HabboGender.M)) {
|
||||||
|
room.giveEffect(habbo, nextEffectM, nextEffectDuration, true);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (habbo.getHabboInfo().getGender().equals(HabboGender.F)) {
|
||||||
|
room.giveEffect(habbo, nextEffectF, nextEffectDuration, true);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
|
Loading…
Reference in New Issue
Block a user