Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions Set12Simulator/ability.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
import Simulator.config as config
import Simulator.stats as stats
import Simulator.field as field
import Simulator.champion_functions as champion_functions
import Simulator.item_stats as item_stats
import Simulator.origin_class as origin_class
import Simulator.items as items
import Set12Simulator.config as config
import Set12Simulator.stats as stats
import Set12Simulator.field as field
import Set12Simulator.champion_functions as champion_functions
import Set12Simulator.item_stats as item_stats
import Set12Simulator.origin_class as origin_class
import Set12Simulator.items as items
import random
from math import ceil, floor

Expand Down
6 changes: 3 additions & 3 deletions Set12Simulator/active.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import Simulator.stats as stats
import Simulator.field as field
import Simulator.origin_class_stats as origin_class_stats
import Set12Simulator.stats as stats
import Set12Simulator.field as field
import Set12Simulator.origin_class_stats as origin_class_stats
import random


Expand Down
2 changes: 1 addition & 1 deletion Set12Simulator/alt_autobattler.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from Simulator.pool_stats import cost_star_values
from Set12Simulator.pool_stats import cost_star_values
import numpy as np

def alt_auto_battle(player_1, player_2, round_damage=0):
Expand Down
23 changes: 23 additions & 0 deletions Set12Simulator/augment.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
from enum import Enum, auto


class AugmentType(Enum):
AFK = auto()

class Augment:
type_: AugmentType
round_: int

def __init__(self, type_: AugmentType, round_: int):
self.type_ = type_
self.round_ = round_


def start_round(self, player):
if self.type_ == AugmentType.AFK:
remaining_round = player.round - self.round_ - 3
if remaining_round < 0:
player.is_afk = True
elif remaining_round == 0:
player.gold += 20

14 changes: 7 additions & 7 deletions Set12Simulator/batch_generator.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import config
import numpy as np

from Simulator.battle_generator import BattleGenerator
from Simulator import pool
from Simulator.observation.token.basic_observation import ObservationToken
from Simulator.observation.vector.observation import ObservationVector
from Simulator.observation.vector.gemini_observation import GeminiObservation
from Simulator.player_manager import PlayerManager
from Simulator.tft_simulator import TFTConfig
from Set12Simulator.battle_generator import BattleGenerator
from Set12Simulator import pool
from Set12Simulator.observation.token.basic_observation import ObservationToken
from Set12Simulator.observation.vector.observation import ObservationVector
from Set12Simulator.observation.vector.gemini_observation import GeminiObservation
from Set12Simulator.player_manager import PlayerManager
from Set12Simulator.tft_simulator import TFTConfig

class BatchGenerator:
def __init__(self):
Expand Down
14 changes: 7 additions & 7 deletions Set12Simulator/battle_generator.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import numpy as np
import config
import random
from Simulator.pool import pool
from Simulator.player import Player
from Simulator.utils import coord_to_x_y, x_y_to_1d_coord
from Simulator.item_stats import item_builds
from Simulator.champion import champion
from Simulator.observation.token.action import ActionToken
from Simulator.default_agent_stats import ONE_COST_UNITS, TWO_COST_UNITS, THREE_COST_UNITS, FOUR_COST_UNITS, FIVE_COST_UNITS
from Set12Simulator.pool import pool
from Set12Simulator.player import Player
from Set12Simulator.utils import coord_to_x_y, x_y_to_1d_coord
from Set12Simulator.item_stats import item_builds
from Set12Simulator.champion import champion
from Set12Simulator.observation.token.action import ActionToken
from Set12Simulator.default_agent_stats import ONE_COST_UNITS, TWO_COST_UNITS, THREE_COST_UNITS, FOUR_COST_UNITS, FIVE_COST_UNITS


"""
Expand Down
6 changes: 3 additions & 3 deletions Set12Simulator/carousel.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import config
from Simulator.item_stats import item_builds as item_builds, basic_items, starting_items, offensive_items, defensive_items
from Simulator.champion import champion
from Simulator.pool_stats import COST_1, COST_2, COST_3, COST_4, COST_5
from Set12Simulator.item_stats import item_builds as item_builds, basic_items, starting_items, offensive_items, defensive_items
from Set12Simulator.champion import champion
from Set12Simulator.pool_stats import COST_1, COST_2, COST_3, COST_4, COST_5
import random

# TODO:
Expand Down
14 changes: 7 additions & 7 deletions Set12Simulator/champion.py
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
import Simulator.config as config
import Simulator.origin_class as origin_class
import Simulator.origin_class_stats as origin_class_stats
import Simulator.champion_functions as champion_functions
import Set12Simulator.config as config
import Set12Simulator.origin_class as origin_class
import Set12Simulator.origin_class_stats as origin_class_stats
import Set12Simulator.champion_functions as champion_functions
import time
import random
import itertools

from math import ceil
from Simulator.stats import AD, HEALTH, ARMOR, MR, AS, RANGE, MANA, MAXMANA, COST, MANALOCK, ABILITY_REQUIRES_TARGET, \
from Set12Simulator.stats import AD, HEALTH, ARMOR, MR, AS, RANGE, MANA, MAXMANA, COST, MANALOCK, ABILITY_REQUIRES_TARGET, \
DODGE, INITIATIVE_ACTIVE, ABILITY_LENGTH, DAMAGE_PER_UNIT
from Simulator.champion_functions import attack, die, MILLIS, MILLISECONDS_INCREASE, add_damage_dealt
from Simulator import ability, active, field, item_stats, items
from Set12Simulator.champion_functions import attack, die, MILLIS, MILLISECONDS_INCREASE, add_damage_dealt
from Set12Simulator import ability, active, field, item_stats, items

que = []
log = []
Expand Down
12 changes: 6 additions & 6 deletions Set12Simulator/champion_functions.py
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
import Simulator.config as config
import Simulator.origin_class as origin_class
import Simulator.origin_class_stats as origin_class_stats
import Simulator.stats as stats
import Set12Simulator.config as config
import Set12Simulator.origin_class as origin_class
import Set12Simulator.origin_class_stats as origin_class_stats
import Set12Simulator.stats as stats
import random
from math import ceil
from Simulator import ability, active, field, item_stats, items
from Simulator.stats import *
from Set12Simulator import ability, active, field, item_stats, items
from Set12Simulator.stats import *

MILLISECONDS = 0

Expand Down
2 changes: 1 addition & 1 deletion Set12Simulator/config.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import config
from Simulator.item_stats import uncraftable_items, items
from Set12Simulator.item_stats import uncraftable_items, items

CHAMPION_INFORMATION = 12
BOARD_X = 7
Expand Down
16 changes: 8 additions & 8 deletions Set12Simulator/default_agent.py
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
import config
import numpy as np
import Simulator.champion as champion
from Simulator.default_agent_stats import *
from Simulator.pool_stats import cost_star_values
from Simulator.origin_class_stats import tiers, origin_class
from Simulator.origin_class import team_traits
from Simulator.utils import x_y_to_1d_coord
from Simulator.stats import COST, BASE_CHAMPION_LIST
from Simulator.item_stats import starting_items
import Set12Simulator.champion as champion
from Set12Simulator.default_agent_stats import *
from Set12Simulator.pool_stats import cost_star_values
from Set12Simulator.origin_class_stats import tiers, origin_class
from Set12Simulator.origin_class import team_traits
from Set12Simulator.utils import x_y_to_1d_coord
from Set12Simulator.stats import COST, BASE_CHAMPION_LIST
from Set12Simulator.item_stats import starting_items
from copy import deepcopy


Expand Down
4 changes: 2 additions & 2 deletions Set12Simulator/field.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import math
import Simulator.stats as stats
import Simulator.items as items
import Set12Simulator.stats as stats
import Set12Simulator.items as items

coordinates = [[None] * 7 for _ in range(8)]

Expand Down
29 changes: 24 additions & 5 deletions Set12Simulator/game_round.py
Original file line number Diff line number Diff line change
@@ -1,12 +1,14 @@
import Simulator.config as config
import Set12Simulator.config as config
import config as global_config
import time
import random
import numpy as np
from Simulator import champion, minion
from Simulator.champion_functions import MILLIS
from Simulator.carousel import carousel
from Simulator.alt_autobattler import alt_auto_battle

from Set12Simulator.augment import Augment, AugmentType
from Set12Simulator import champion, minion
from Set12Simulator.champion_functions import MILLIS
from Set12Simulator.carousel import carousel
from Set12Simulator.alt_autobattler import alt_auto_battle
from copy import deepcopy


Expand Down Expand Up @@ -356,6 +358,23 @@ def update_players(self, players):
self.PLAYERS = players



def augment_round(self):
"""
Execute augment round for all players
"""
for player in self.PLAYERS.values():
if player and player.augments.len() < 3:
player.augments.append(Augment(AugmentType.AFK, self.current_round))


def is_augment_round(self):
"""
Checks if the current round is an augment round
"""
return self.current_round in [3,10,17]


def log_to_file_start():
if config.LOGMESSAGES:
with open('log.txt', "w") as out:
Expand Down
8 changes: 4 additions & 4 deletions Set12Simulator/items.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
from Simulator import field, item_stats
import Simulator.champion_functions as champion_functions
import Simulator.stats as stats
import Simulator.origin_class as origin_class
from Set12Simulator import field, item_stats
import Set12Simulator.champion_functions as champion_functions
import Set12Simulator.stats as stats
import Set12Simulator.origin_class as origin_class
import random

# ALL FUNCTIONS REGARDING ITEMS ARE HERE
Expand Down
4 changes: 2 additions & 2 deletions Set12Simulator/loot_orb.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
from enum import Enum
import random
import numpy as np
from Simulator import champion, pool_stats
from Simulator.item_stats import thieves_gloves_items
from Set12Simulator import champion, pool_stats
from Set12Simulator.item_stats import thieves_gloves_items

# Theives gloves items includes all full items except emblems
item_list = thieves_gloves_items
Expand Down
6 changes: 3 additions & 3 deletions Set12Simulator/minion.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import config
import Simulator.config as config
from Simulator import champion
from Simulator.loot_orb import LootOrb, gen_loot, gen_orb_reward, gen_orbs, give_loot
import Set12Simulator.config as config
from Set12Simulator import champion
from Set12Simulator.loot_orb import LootOrb, gen_loot, gen_orb_reward, gen_orbs, give_loot


# TODO
Expand Down
8 changes: 4 additions & 4 deletions Set12Simulator/origin_class.py
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import Simulator.config as config
import Simulator.origin_class_stats as origin_class_stats
from Simulator import field, item_stats, items, champion_functions
import Simulator.stats as stats
import Set12Simulator.config as config
import Set12Simulator.origin_class_stats as origin_class_stats
from Set12Simulator import field, item_stats, items, champion_functions
import Set12Simulator.stats as stats
import random
import time

Expand Down
46 changes: 36 additions & 10 deletions Set12Simulator/player.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,20 +2,24 @@
import time
import numpy as np
import random
from Simulator import champion, origin_class
import Simulator.utils as utils
import Simulator.config as config
from Simulator.item_stats import basic_items, item_builds, thieves_gloves_items, \

from Set12Simulator.augment import Augment, AugmentType
from Set12Simulator import champion, origin_class
import Set12Simulator.utils as utils
import Set12Simulator.config as config
from Set12Simulator.item_stats import basic_items, item_builds, thieves_gloves_items, \
starting_items, trait_items, items

from Simulator.stats import COST
from Simulator.pool_stats import cost_star_values
from Simulator.origin_class_stats import tiers, fortune_returns
from Set12Simulator.stats import COST
from Set12Simulator.pool_stats import cost_star_values
from Set12Simulator.origin_class_stats import tiers, fortune_returns
from math import floor
from config import DEBUG, CHAMPION_ACTION_DIM, TIERS_FLATTEN_LENGTH, TEAM_TIERS_VECTOR

from Simulator.observation.token.action import ActionToken # Here for debugging purposes, will be removed later
from Simulator.default_agent import Default_Agent
from Set12Simulator.observation.token.action import ActionToken # Here for debugging purposes, will be removed later
from Set12Simulator.default_agent import Default_Agent

from typing import Dict, List, Optional


"""
Expand Down Expand Up @@ -74,7 +78,7 @@ def __init__(self, pool_pointer, player_num):
Rotated to match the board in game
Top
| (0, 3) (1, 3) (2, 3) (3, 3) (4, 3) (5, 3) (6, 3) |
Left | (0, 2) (1, 2) (2, 2) (3, 2) (4, 2) (5, 2) (6, 2) |
Left | (0, 2) (1, 2) (2, 2) (3, 2) (4, 2) (5, 2) (6, 2) |
| (0, 1) (1, 1) (2, 1) (3, 1) (4, 1) (5, 1) (6, 1) | Right
| (0, 0) (1, 0) (2, 0) (3, 0) (4, 0) (5, 0) (6, 0) |
Bottom
Expand Down Expand Up @@ -178,6 +182,12 @@ def __init__(self, pool_pointer, player_num):
self.default_agent = Default_Agent()
self.default_player = False

# Store augments for the player
self.augments: List[Augment] = []

# Store if the player has afk augment active
self.is_afk = False

# --- Exp Action --- #
def buy_exp_action(self):
"""Buys exp for the player and levels up if possible.
Expand Down Expand Up @@ -373,6 +383,19 @@ def buy_champion(self, a_champion):

return champion_added

def add_augment(self, augment_type:AugmentType) -> bool:
""" Adds an augment to the player's list of augments
Parameters:
augment_type (AugmentType): The augment to be added
Returns:
bool: True if the augment was successfully added, False otherwise
"""
if len(self.augments) >= 3:
return False
self.augments.append(Augment(augment_type, self.round))
return True


def add_to_bench(self, a_champion, from_carousel=False):
"""Adds a champion to the bench.

Expand Down Expand Up @@ -1630,6 +1653,9 @@ def start_round(self, t_round):
self.round = t_round
self.reward += self.num_units_in_play * self.minion_count_reward
self.gold_income(self.round)
self.is_afk = False
for augment in self.augments:
augment.start_round(self)
if self.kayn_check():
self.kayn_turn_count += 1
if self.kayn_turn_count >= 3:
Expand Down
2 changes: 1 addition & 1 deletion Set12Simulator/player_manager.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import config
from Simulator.player import Player as player_class
from Set12Simulator.player import Player as player_class

class PlayerManager:
def __init__(self,
Expand Down
8 changes: 4 additions & 4 deletions Set12Simulator/pool.py
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import Simulator.stats as stats
import Set12Simulator.stats as stats
import random

from Simulator.pool_stats import *
from Simulator.origin_class_stats import origin_class, chosen_exclude
from Simulator.config import LOGMESSAGES
from Set12Simulator.pool_stats import *
from Set12Simulator.origin_class_stats import origin_class, chosen_exclude
from Set12Simulator.config import LOGMESSAGES


class pool:
Expand Down
2 changes: 1 addition & 1 deletion Set12Simulator/position_leveling_system.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
from Simulator.battle_generator import BattleGenerator
from Set12Simulator.battle_generator import BattleGenerator

class PositionLevelingSystem:
def __init__(self):
Expand Down
Loading