raids: Implemented !layout command
This commit is contained in:
@@ -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;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user