raids: Implemented !layout command

This commit is contained in:
Im2be
2020-01-09 19:39:06 +01:00
parent 595ec442c8
commit 20d8a25467

View File

@@ -61,19 +61,8 @@ class Raid
if (room == null) if (room == null)
{ {
RaidRoom.Type type = RaidRoom.Type.fromCode(layout.getRoomAt(i).getSymbol()); RoomType type = RoomType.fromCode(layout.getRoomAt(i).getSymbol());
room = new RaidRoom(null, type); room = type.getUnsolvedRoom();
if (type == RaidRoom.Type.COMBAT)
{
room.setBoss(RaidRoom.Boss.UNKNOWN);
}
if (type == RaidRoom.Type.PUZZLE)
{
room.setPuzzle(RaidRoom.Puzzle.UNKNOWN);
}
setRoom(room, i); setRoom(room, i);
} }
} }
@@ -103,7 +92,7 @@ class Raid
continue; continue;
} }
if (rooms[room.getPosition()].getType() == RaidRoom.Type.COMBAT) if (rooms[room.getPosition()].getType() == RoomType.COMBAT)
{ {
combatRooms.add(rooms[room.getPosition()]); combatRooms.add(rooms[room.getPosition()]);
} }
@@ -114,7 +103,7 @@ class Raid
String getRotationString() String getRotationString()
{ {
return Joiner.on(",").join(Arrays.stream(getCombatRooms()).map(r -> r.getBoss().getName()).toArray()); return Joiner.on(",").join(Arrays.stream(getCombatRooms()).map(RaidRoom::getName).toArray());
} }
private RaidRoom[] getAllRooms() private RaidRoom[] getAllRooms()
@@ -167,7 +156,7 @@ class Raid
final int position = r.getPosition(); final int position = r.getPosition();
final RaidRoom room = getRoom(position); final RaidRoom room = getRoom(position);
if (room == null || !(room.getType() == RaidRoom.Type.COMBAT || room.getType() == RaidRoom.Type.PUZZLE)) if (room == null)
{ {
continue; continue;
} }
@@ -175,26 +164,8 @@ class Raid
switch (room.getType()) switch (room.getType())
{ {
case PUZZLE: case PUZZLE:
final RaidRoom.Puzzle puzzle = room.getPuzzle();
sb.append(puzzle.getName());
if (puzzle == RaidRoom.Puzzle.UNKNOWN)
{
sb.append(" (puzzle)");
}
sb.append(", ");
break;
case COMBAT: case COMBAT:
final RaidRoom.Boss boss = room.getBoss(); sb.append(room.getName()).append(", ");
sb.append(boss.getName());
if (boss == RaidRoom.Boss.UNKNOWN)
{
sb.append(" (combat)");
}
sb.append(", ");
break; break;
} }
} }