Implemented "relax" mod.

Also added a few checks for related "autopilot" mod (probably incomplete).

Fixed the wrong default background being shown in the ranking screen.

Signed-off-by: Jeffrey Han <itdelatrisu@gmail.com>
This commit is contained in:
Jeffrey Han
2015-03-06 00:25:48 -05:00
parent b80764f3eb
commit 0a1b10fbdb
7 changed files with 75 additions and 53 deletions

View File

@@ -384,8 +384,9 @@ public class Game extends BasicGameState {
// returning from pause screen: must click previous mouse position
if (pauseTime > -1) {
// paused during lead-in or break: continue immediately
if (pausedMouseX < 0 && pausedMouseY < 0) {
// paused during lead-in or break, or "relax" or "autopilot": continue immediately
if ((pausedMouseX < 0 && pausedMouseY < 0) ||
(GameMod.RELAX.isActive() || GameMod.AUTOPILOT.isActive())) {
pauseTime = -1;
if (!isLeadIn())
MusicController.resume();
@@ -429,7 +430,7 @@ public class Game extends BasicGameState {
else { // go to ranking screen
((GameRanking) game.getState(Opsu.STATE_GAMERANKING)).setGameData(data);
ScoreData score = data.getScoreData(osu);
if (!GameMod.AUTO.isActive())
if (!GameMod.AUTO.isActive() && !GameMod.RELAX.isActive() && !GameMod.AUTOPILOT.isActive())
ScoreDB.addScore(score);
game.enterState(Opsu.STATE_GAMERANKING, new FadeOutTransition(Color.black), new FadeInTransition(Color.black));
}
@@ -685,8 +686,8 @@ public class Game extends BasicGameState {
return; // successfully skipped
}
// "auto" mod: ignore user actions
if (GameMod.AUTO.isActive())
// "auto" and "relax" mods: ignore user actions
if (GameMod.AUTO.isActive() || GameMod.RELAX.isActive())
return;
// circles

View File

@@ -102,7 +102,7 @@ public class GameRanking extends BasicGameState {
// background
if (!osu.drawBG(width, height, 0.7f, true))
GameImage.MENU_BG.getImage().draw(0,0);
GameImage.PLAYFIELD.getImage().draw(0,0);
// ranking screen elements
data.drawRankingElements(g, osu);