Added some more Nano achievements
This commit is contained in:
parent
bd3b9ffc07
commit
4372854775
@ -1470,7 +1470,7 @@ public enum Achievement
|
|||||||
NANO_WINNER("Nano Winner", 0,
|
NANO_WINNER("Nano Winner", 0,
|
||||||
new String[]{"Nano Games.Wins"},
|
new String[]{"Nano Games.Wins"},
|
||||||
new String[]{"Win Nano Games"},
|
new String[]{"Win Nano Games"},
|
||||||
new int[][] {new int[] {100,0,1000}, new int[] {0,0,5000}, new int[]{0,0,10000}, new int[]{0,0,25000}, new int[]{0,0,50000}},
|
new int[][] {new int[] {0,0,1000}, new int[] {0,0,5000}, new int[]{0,0,10000}, new int[]{0,0,25000}, new int[]{0,0,50000}},
|
||||||
new int[]{2,10,50,100,500},
|
new int[]{2,10,50,100,500},
|
||||||
"I",
|
"I",
|
||||||
new String[] {"II","III","IV","V","X"},
|
new String[] {"II","III","IV","V","X"},
|
||||||
@ -1500,6 +1500,33 @@ public enum Achievement
|
|||||||
new int[]{1},
|
new int[]{1},
|
||||||
AchievementCategory.NANO_GAMES),
|
AchievementCategory.NANO_GAMES),
|
||||||
|
|
||||||
|
NANO_SHARE_FIRST("Best Friends", 500,
|
||||||
|
new String[]{"Nano Games.ShareFirst"},
|
||||||
|
new String[]{"Share first place with at least", "one other player"},
|
||||||
|
new int[]{1},
|
||||||
|
AchievementCategory.NANO_GAMES),
|
||||||
|
|
||||||
|
NANO_COPY_CAT_LEVEL("Copy Kitty", 4000,
|
||||||
|
new String[]{"Nano Games.CopyCatLevel10"},
|
||||||
|
new String[]{"Reach Level 10 in Copy Cat"},
|
||||||
|
new int[]{1},
|
||||||
|
AchievementCategory.NANO_GAMES),
|
||||||
|
|
||||||
|
NANO_QUICK_GAMES("QUICK!!!", 0,
|
||||||
|
new String[]{"Nano Games.QuickWins"},
|
||||||
|
new String[]{"Complete Quick Challenges"},
|
||||||
|
new int[][] {new int[] {0,0,1000}, new int[] {0,0,5000}, new int[]{0,0,10000}, new int[]{0,0,25000}, new int[]{0,0,50000}},
|
||||||
|
new int[]{10,25,50,100,500},
|
||||||
|
"I",
|
||||||
|
new String[] {"II","III","IV","V","X"},
|
||||||
|
AchievementCategory.NANO_GAMES),
|
||||||
|
|
||||||
|
NANO_SLIME_TAIL("Not dead yet", 3000,
|
||||||
|
new String[]{"Nano Games.SlimeCyclesTail"},
|
||||||
|
new String[]{"Get a trail length of 60 blocks", "in Slime Cycles"},
|
||||||
|
new int[]{1},
|
||||||
|
AchievementCategory.NANO_GAMES),
|
||||||
|
|
||||||
;
|
;
|
||||||
|
|
||||||
private final String _name;
|
private final String _name;
|
||||||
|
@ -58,11 +58,13 @@ public class NanoFavourite extends MiniDbClientPlugin<List<NanoDisplay>>
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
NanoDisplay display = NanoDisplay.getFromId(resultSet.getInt("gameId"));
|
int gameId = resultSet.getInt("gameId");
|
||||||
|
NanoDisplay display = NanoDisplay.getFromId(gameId);
|
||||||
|
|
||||||
if (display == null)
|
if (display == null)
|
||||||
{
|
{
|
||||||
return;
|
_repository.setFavourite(accountId, gameId, false);
|
||||||
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
games.add(display);
|
games.add(display);
|
||||||
|
@ -108,8 +108,6 @@ public class GameStatsComponent extends GameComponent<Game> implements StatsComp
|
|||||||
|
|
||||||
logs.forEach((achievement, log) ->
|
logs.forEach((achievement, log) ->
|
||||||
{
|
{
|
||||||
player.sendMessage(achievement.getName() + " - " + log.LevelUp + " " + log.Amount);
|
|
||||||
|
|
||||||
AchievementData data = manager.get(player, achievement);
|
AchievementData data = manager.get(player, achievement);
|
||||||
|
|
||||||
if (log.LevelUp)
|
if (log.LevelUp)
|
||||||
|
@ -71,11 +71,19 @@ public class GeneralStatsTracker extends StatTracker<Game>
|
|||||||
int timeInGame = (int) TimeUnit.MILLISECONDS.toSeconds(System.currentTimeMillis() - _gameStartTime);
|
int timeInGame = (int) TimeUnit.MILLISECONDS.toSeconds(System.currentTimeMillis() - _gameStartTime);
|
||||||
allPlayers.forEach(player -> addStat(player, "TimeInGame", timeInGame, true, true));
|
allPlayers.forEach(player -> addStat(player, "TimeInGame", timeInGame, true, true));
|
||||||
|
|
||||||
allPlayers.removeAll(winners);
|
if (winners != null)
|
||||||
|
{
|
||||||
// Wins & Losses
|
// Wins & Losses
|
||||||
winners.forEach(player -> addStat(player, "Wins", 1, true, false));
|
winners.forEach(player -> addStat(player, "Wins", 1, true, false));
|
||||||
|
|
||||||
|
if (_game.getTeams().size() > 1 && winners.size() > 1)
|
||||||
|
{
|
||||||
|
winners.forEach(player -> addStat(player, "ShareFirst", 1, true, false));
|
||||||
|
}
|
||||||
|
|
||||||
|
allPlayers.removeAll(winners);
|
||||||
allPlayers.forEach(player -> addStat(player, "Losses", 1, true, false));
|
allPlayers.forEach(player -> addStat(player, "Losses", 1, true, false));
|
||||||
|
}
|
||||||
|
|
||||||
// Second & Third
|
// Second & Third
|
||||||
List<Player> second = placements.getPlayersAtPlace(1), third = placements.getPlayersAtPlace(2);
|
List<Player> second = placements.getPlayersAtPlace(1), third = placements.getPlayersAtPlace(2);
|
||||||
|
@ -121,6 +121,11 @@ public class CopyCat extends RoomedSoloGame<SealBreakerRoom>
|
|||||||
player.getInventory().clear();
|
player.getInventory().clear();
|
||||||
|
|
||||||
room.Colours.forEach((material, amount) -> player.getInventory().addItem(new ItemStack(material, amount)));
|
room.Colours.forEach((material, amount) -> player.getInventory().addItem(new ItemStack(material, amount)));
|
||||||
|
|
||||||
|
if (room.Level == 10)
|
||||||
|
{
|
||||||
|
addStat(player, "CopyCatLevel10", 1, true, false);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -115,7 +115,10 @@ public class MineKart extends SoloGame implements IPacketHandler
|
|||||||
{
|
{
|
||||||
super(manager, GameType.MINEKART, new String[]
|
super(manager, GameType.MINEKART, new String[]
|
||||||
{
|
{
|
||||||
"#BringBackMineKart"
|
"Control your Kart like a " + C.cYellow + "Boat" + C.Reset + "!",
|
||||||
|
C.cGreen + "Hold Jump" + C.Reset + " to charge a " + C.cYellow + "Drift" + C.Reset + ".",
|
||||||
|
C.cYellow + "Release Jump" + C.Reset + " to discharge your " + C.cYellow + "Drift" + C.Reset + ".",
|
||||||
|
C.cYellow + "3 Laps" + C.Reset + " to win!"
|
||||||
});
|
});
|
||||||
|
|
||||||
_checkpoints = new ArrayList<>();
|
_checkpoints = new ArrayList<>();
|
||||||
|
@ -49,9 +49,8 @@ public class MusicMinecarts extends SoloGame
|
|||||||
|
|
||||||
private Location _center;
|
private Location _center;
|
||||||
private List<Location> _floor;
|
private List<Location> _floor;
|
||||||
private double _floorRadiusInitial, _floorRadius;
|
private double _floorRadius;
|
||||||
private boolean _spawned;
|
private boolean _spawned;
|
||||||
private int _startingPlayers;
|
|
||||||
|
|
||||||
public MusicMinecarts(NanoManager manager)
|
public MusicMinecarts(NanoManager manager)
|
||||||
{
|
{
|
||||||
@ -107,7 +106,6 @@ public class MusicMinecarts extends SoloGame
|
|||||||
_floor.sort((o1, o2) -> Double.compare(UtilMath.offset2dSquared(_center, o2), UtilMath.offset2dSquared(_center, o1)));
|
_floor.sort((o1, o2) -> Double.compare(UtilMath.offset2dSquared(_center, o2), UtilMath.offset2dSquared(_center, o1)));
|
||||||
_floor.forEach(location -> MapUtil.QuickChangeBlockAt(location, floorType, floorData));
|
_floor.forEach(location -> MapUtil.QuickChangeBlockAt(location, floorType, floorData));
|
||||||
_floorRadius = UtilMath.offset2d(_center, _floor.get(0));
|
_floorRadius = UtilMath.offset2d(_center, _floor.get(0));
|
||||||
_floorRadiusInitial = _floorRadius;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@ -130,7 +128,6 @@ public class MusicMinecarts extends SoloGame
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
_startingPlayers = getAlivePlayers().size();
|
|
||||||
runRound(true);
|
runRound(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -235,7 +232,7 @@ public class MusicMinecarts extends SoloGame
|
|||||||
|
|
||||||
private void updateArenaSize()
|
private void updateArenaSize()
|
||||||
{
|
{
|
||||||
double radius = Math.max(_floorRadiusInitial * ((double) getAlivePlayers().size() / _startingPlayers), 10);
|
double radius = Math.max(getAlivePlayers().size() * 4, 10);
|
||||||
|
|
||||||
if (_floorRadius > radius)
|
if (_floorRadius > radius)
|
||||||
{
|
{
|
||||||
|
@ -115,6 +115,8 @@ public abstract class Challenge extends ListenerComponent implements Lifetimed,
|
|||||||
player.sendMessage(F.main(_game.getManager().getName(), "You completed the challenge."));
|
player.sendMessage(F.main(_game.getManager().getName(), "You completed the challenge."));
|
||||||
_game.incrementScore(player, 1);
|
_game.incrementScore(player, 1);
|
||||||
|
|
||||||
|
_game.addStat(player, "QuickWins", 1, false, false);
|
||||||
|
|
||||||
if (out)
|
if (out)
|
||||||
{
|
{
|
||||||
_game.onOut(player, true);
|
_game.onOut(player, true);
|
||||||
|
@ -153,6 +153,11 @@ public class SlimeCycles extends SoloGame
|
|||||||
}
|
}
|
||||||
|
|
||||||
_trailSize++;
|
_trailSize++;
|
||||||
|
|
||||||
|
if (_trailSize == 60)
|
||||||
|
{
|
||||||
|
getAlivePlayers().forEach(player -> addStat(player, "SlimeCyclesTail", 1, true, false));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int getTrailSize()
|
int getTrailSize()
|
||||||
|
@ -35,7 +35,7 @@ public class SpellTNT extends Spell
|
|||||||
TNTPrimed tnt = location.getWorld().spawn(location, TNTPrimed.class);
|
TNTPrimed tnt = location.getWorld().spawn(location, TNTPrimed.class);
|
||||||
|
|
||||||
tnt.setVelocity(location.getDirection());
|
tnt.setVelocity(location.getDirection());
|
||||||
tnt.setFuseTicks(10);
|
tnt.setFuseTicks(20);
|
||||||
|
|
||||||
_owner.put(tnt, player);
|
_owner.put(tnt, player);
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user