Dieser Commit ist enthalten in:
Ursprung
f1e9dda0fa
Commit
67a0d0f5e9
@ -238,6 +238,8 @@ WIN_LESS_DAMAGE={0} §7less damaged
|
|||||||
WIN_POINTS={0} has more points
|
WIN_POINTS={0} has more points
|
||||||
WIN_POINTS_EQUAL=§7Equal points
|
WIN_POINTS_EQUAL=§7Equal points
|
||||||
WIN_TECHKO={0} §7is tech K.O.
|
WIN_TECHKO={0} §7is tech K.O.
|
||||||
# WIN_AMONG_US={0} §7is tech K.O.
|
WIN_IMPOSTER_DEAD={0} §7killed the imposter
|
||||||
|
WIN_CREWMATE_DEAD={0} §7killed all creamates
|
||||||
|
|
||||||
AMONG_US_IMPOSTER_MESSAGE = §4You are the Imposter§8! §7Kill all your teammates to win the game!
|
AMONG_US_IMPOSTER_MESSAGE = §4You are the Imposter§8! §7Kill all your teammates to win the game!
|
||||||
|
AMONG_US_IMPOSTER_AMONG_MESSAGE = §4There is an Imposter among us§8! §7Kill him to win the game!
|
||||||
|
@ -223,6 +223,8 @@ WIN_LESS_DAMAGE={0} §7weniger beschädigt
|
|||||||
WIN_POINTS={0} hat mehr Punkte
|
WIN_POINTS={0} hat mehr Punkte
|
||||||
WIN_POINTS_EQUAL=§7Gleicher Punktestand
|
WIN_POINTS_EQUAL=§7Gleicher Punktestand
|
||||||
WIN_TECHKO={0} §7ist Tech K.O.
|
WIN_TECHKO={0} §7ist Tech K.O.
|
||||||
# WIN_AMONG_US={0} §7is tech K.O.
|
WIN_IMPOSTER_DEAD={0} §7 hat den Imposter getötet
|
||||||
|
WIN_CREWMATE_DEAD={0} §7 hat alle Crewmates getötet
|
||||||
|
|
||||||
AMONG_US_IMPOSTER_MESSAGE = §4Du bist ein Imposter§8! §7Du musst alle Teammates töten, um zu gewinnen.
|
AMONG_US_IMPOSTER_MESSAGE = §4Du bist ein Imposter§8! §7Du musst alle Teammates töten, um zu gewinnen.
|
||||||
|
AMONG_US_IMPOSTER_AMONG_MESSAGE = §4Es ist ein Imposter unter uns§8! §7Tötet ihn, um das Spiel zu gewinnen!
|
@ -43,21 +43,23 @@ public class WinconditionAmongUs extends Wincondition implements Listener {
|
|||||||
public WinconditionAmongUs() {
|
public WinconditionAmongUs() {
|
||||||
super("AmongUs");
|
super("AmongUs");
|
||||||
new OneShotStateDependent(Winconditions.AMONG_US, FightState.Ingame, () -> {
|
new OneShotStateDependent(Winconditions.AMONG_US, FightState.Ingame, () -> {
|
||||||
FightPlayer redPlayer = getRandomPlayer(Fight.getRedTeam().getPlayers());
|
imposter.put(Fight.getRedTeam(), sendMessageAndReturnImposter(Fight.getRedTeam().getPlayers()));
|
||||||
FightPlayer bluePlayer = getRandomPlayer(Fight.getBlueTeam().getPlayers());
|
imposter.put(Fight.getBlueTeam(), sendMessageAndReturnImposter(Fight.getBlueTeam().getPlayers()));
|
||||||
|
|
||||||
imposter.put(Fight.getRedTeam(), redPlayer);
|
|
||||||
imposter.put(Fight.getBlueTeam(), bluePlayer);
|
|
||||||
|
|
||||||
FightSystem.getMessage().send("AMONG_US_IMPOSTER_MESSAGE", redPlayer.getPlayer());
|
|
||||||
FightSystem.getMessage().send("AMONG_US_IMPOSTER_MESSAGE", bluePlayer.getPlayer());
|
|
||||||
});
|
});
|
||||||
new StateDependentListener(Winconditions.AMONG_US, FightState.Ingame, this);
|
new StateDependentListener(Winconditions.AMONG_US, FightState.Ingame, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
private FightPlayer getRandomPlayer(Collection<FightPlayer> fightPlayers) {
|
private FightPlayer sendMessageAndReturnImposter(Collection<FightPlayer> fightPlayers) {
|
||||||
List<FightPlayer> fightPlayerList = new ArrayList<>(fightPlayers);
|
List<FightPlayer> fightPlayerList = new ArrayList<>(fightPlayers);
|
||||||
return fightPlayerList.get(random.nextInt(fightPlayerList.size()));
|
FightPlayer imposter = fightPlayerList.get(random.nextInt(fightPlayerList.size()));
|
||||||
|
for (FightPlayer fightPlayer : fightPlayerList) {
|
||||||
|
if (fightPlayer == imposter) {
|
||||||
|
FightSystem.getMessage().send("AMONG_US_IMPOSTER_MESSAGE", fightPlayer.getPlayer());
|
||||||
|
} else {
|
||||||
|
FightSystem.getMessage().send("AMONG_US_IMPOSTER_AMONG_MESSAGE", fightPlayer.getPlayer());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return imposter;
|
||||||
}
|
}
|
||||||
|
|
||||||
@EventHandler
|
@EventHandler
|
||||||
@ -77,9 +79,9 @@ public class WinconditionAmongUs extends Wincondition implements Listener {
|
|||||||
|
|
||||||
FightPlayer current = team.getFightPlayer(player);
|
FightPlayer current = team.getFightPlayer(player);
|
||||||
if (current == imposter.get(team)) {
|
if (current == imposter.get(team)) {
|
||||||
// TODO: Add message that the imposter is dead and the same team won!
|
win(team, "WIN_IMPOSTER_DEAD", team.getPrefix());
|
||||||
} else if (team.getPlayers().contains(current) && team.getPlayers().contains(imposter.get(team))) {
|
} else if (team.getPlayers().contains(current) && team.getPlayers().contains(imposter.get(team))) {
|
||||||
// TODO: Add message that the all except the imposter are dead and the other team won!
|
win(Fight.getOpposite(team), "WIN_CREWMATE_DEAD", Fight.getOpposite(team).getPrefix());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
In neuem Issue referenzieren
Einen Benutzer sperren