Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package org.hyperion.rs2.event.impl;
- import org.hyperion.rs2.content.minigames.FightPits;
- import org.hyperion.rs2.content.minigames.PestControl;
- import org.hyperion.rs2.event.Event;
- import org.hyperion.rs2.model.Player;
- import org.hyperion.rs2.model.World;
- public class FightPitsEvent extends Event {
- private static final int WAITING_TIME = 30; //2 minutes. 120
- private static final int MINIMUM_PLAYERS_PER_GAME = 2;
- private static int time = WAITING_TIME;
- public static String timeToLeave = "[Not enough players to start game]";
- private boolean beenNotified = false;
- public FightPitsEvent() {
- super(1000); //Once every second to make stuff easy xD.
- }
- @Override
- public void execute() {
- /*/*
- * First, we handle the waitroom part.
- */
- final Player[] list = FightPits.getWaitingRoomList().toArray(new Player[0]);
- if(list.length < MINIMUM_PLAYERS_PER_GAME) {
- /*
- * If there's not enough players playing
- */
- time = WAITING_TIME;
- } else {
- /*
- * We decrease the time
- */
- if(!FightPits.isGameGoingOn()) {
- time = time - 1;
- timeToLeave = secondsToMinutesAndSeconds(time);
- }
- /*
- * If the time is 0, we start the game.
- */
- if(time == 0) {
- beenNotified = false;
- FightPits.startGame();
- }
- /*
- * Then we handle the in game part.
- */
- if(FightPits.isGameGoingOn() && FightPits.gameTime != 0) {
- FightPits.decreaseGameTime();
- }
- if(FightPits.decreaseGameTime() == 0) {
- FightPits.sendMonster();
- }
- World.getWorld().submit(new Event(500) {
- @Override
- public void execute() {
- if(FightPits.isGameGoingOn()) {
- final Player[] gameList = FightPits.getGameList().toArray(new Player[0]);
- for(Player player : FightPits.getGameList().toArray(new Player[0])) {
- if(gameList.length == 0) {
- FightPits.gameGoingOn = false;;
- }
- if(!beenNotified) {
- if(gameList.length == 1) {
- FightPits.FightPitsWinner(player);
- time = WAITING_TIME;
- beenNotified = true;
- }
- }
- if(FightPits.canFight()) {
- player.getActionSender().sendString("Foes Remaining: "+((gameList.length)-1), 373, 1); //Enemies Remaining
- } else {
- player.getActionSender().sendString("", 373, 1); //Enemies Remaining
- }
- }
- }
- }
- });
- }
- }
- private static String secondsToMinutesAndSeconds(int seconds) {
- int minutes = (int)(seconds / 60);
- String time = ""+minutes + " min " + (seconds - (minutes * 60)) + " seconds";
- return time;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement