Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @minqlx.next_frame
- def handle_round_countdown(self, *args, **kwargs):
- if self.gamemode_active == True:
- # cycle through teams, red, blue, specs, free (free team is the team that players are placed into in team-less gametypes (eg. FFA))
- for team in self.teams():
- # don't want to be giving weapons to players in the spectator/free teams, will likely crash server.
- if (team != "spectator") and (team != "free"):
- # copy the teams dictionary so we don't try to modify the original
- teams = self.teams()
- # Common variables
- teamsize = len(teams)
- close_range_counter = 1
- mid_range_counter = 1
- long_range_counter = 1
- # Weapon set distribution by team size
- if (teamsize == 2):
- close_range_cap = 1
- mid_range_cap = 1
- long_range_cap = 1
- else if (teamsize == 3):
- close_range_cap = 1
- mid_range_cap = 1
- long_range_cap = 1
- else if (teamsize == 4):
- close_range_cap = 2
- mid_range_cap = 1
- long_range_cap = 1
- else if (teamsize == 5):
- close_range_cap = 2
- mid_range_cap = 2
- long_range_cap = 1
- else if (teamsize == 6):
- close_range_cap = 2
- mid_range_cap = 2
- long_range_cap = 2
- else if (teamsize == 7):
- close_range_cap = 3
- mid_range_cap = 2
- long_range_cap = 2
- else if (teamsize == 8):
- close_range_cap = 3
- mid_range_cap = 3
- long_range_cap = 2
- # STEP 1: Randomly shuffle the players
- theTeam = teams[team]
- random.shuffle(theTeam)
- # STEP 2: Randomly cycle through the players and apply the weapon sets based on teamsize distribution
- for player in theTeam:
- # Generate random number between 1 and 3
- random_int = random.randint(1,3)
- if random_int == 1:
- if close_range_counter <= close_range_cap:
- player.weapons(reset=True, g=True, rl=True, gl=True, mg=True)
- player.health = self.CLOSE_RANGE_HEALTH
- player.armor = self.CLOSE_RANGE_ARMOUR
- player.center_print("Weapon Assignment:\n^1SHORT-RANGE WEAPONS")
- close_range_counter += 1
- else if mid_range_counter <= mid_range_cap:
- player.weapons(reset=True, g=True, lg=True, sg=True, hmg=True)
- player.health = self.MID_RANGE_HEALTH
- player.armor = self.MID_RANGE_ARMOUR
- player.center_print("Weapon Assignment:\n^3MID-RANGE WEAPONS")
- mid_range_counter += 1
- else if long_range_counter <= long_range_cap:
- player.weapons(reset=True, g=True, rg=True, sg=True, pg=True)
- player.health = self.LONG_RANGE_HEALTH
- player.armor = self.LONG_RANGE_ARMOUR
- player.center_print("Weapon Assignment:\n^2LONG-RANGE WEAPONS")
- long_range_counter += 1
- else if random_int == 2:
- if mid_range_counter <= mid_range_cap:
- player.weapons(reset=True, g=True, lg=True, sg=True, hmg=True)
- player.health = self.MID_RANGE_HEALTH
- player.armor = self.MID_RANGE_ARMOUR
- player.center_print("Weapon Assignment:\n^3MID-RANGE WEAPONS")
- mid_range_counter += 1
- else if long_range_counter <= long_range_cap:
- player.weapons(reset=True, g=True, rg=True, sg=True, pg=True)
- player.health = self.LONG_RANGE_HEALTH
- player.armor = self.LONG_RANGE_ARMOUR
- player.center_print("Weapon Assignment:\n^2LONG-RANGE WEAPONS")
- long_range_counter += 1
- else if close_range_counter <= close_range_cap:
- player.weapons(reset=True, g=True, rl=True, gl=True, mg=True)
- player.health = self.CLOSE_RANGE_HEALTH
- player.armor = self.CLOSE_RANGE_ARMOUR
- player.center_print("Weapon Assignment:\n^1SHORT-RANGE WEAPONS")
- close_range_counter += 1
- else:
- if long_range_counter <= long_range_cap:
- player.weapons(reset=True, g=True, rg=True, sg=True, pg=True)
- player.health = self.LONG_RANGE_HEALTH
- player.armor = self.LONG_RANGE_ARMOUR
- player.center_print("Weapon Assignment:\n^2LONG-RANGE WEAPONS")
- long_range_counter += 1
- else if mid_range_counter <= mid_range_cap:
- player.weapons(reset=True, g=True, lg=True, sg=True, hmg=True)
- player.health = self.MID_RANGE_HEALTH
- player.armor = self.MID_RANGE_ARMOUR
- player.center_print("Weapon Assignment:\n^3MID-RANGE WEAPONS")
- mid_range_counter += 1
- else if close_range_counter <= close_range_cap:
- player.weapons(reset=True, g=True, rl=True, gl=True, mg=True)
- player.health = self.CLOSE_RANGE_HEALTH
- player.armor = self.CLOSE_RANGE_ARMOUR
- player.center_print("Weapon Assignment:\n^1SHORT-RANGE WEAPONS")
- close_range_counter += 1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement