def createCharacter(name):
    global newPlayer
    newPlayer = Player.Player(name)
    newPlayer.equipt("Head", Items.Armour("Nothing", 0, "Head"))
    newPlayer.equipt("Chest", Items.Armour("Nothing", 0, "Chest"))
    newPlayer.equipt("Legs", Items.Armour("Nothing", 0, "Legs"))
    newPlayer.equipt("Left Hand", Items.Weapon(1, 5, "Fist"))
    newPlayer.equipt("Right Hand", Items.Weapon(1, 5, "Fist"))
def generateNewLevel():
    global newMap
    global level
    level += 1
    itemlevelmodifier = 1 + (level * 0.5)
    enemylevelmodifer = level * 2

    itemSpawnRateModifier = 1 + (level * 0.1)
    enemySpawnRateModifer = 1 + (level * 0.3)

    UI.root.title("Dungeon Salvos | Level: {0}".format(level))

    #Create the parameters for enemies, items here
    minEnemies = round(3 * enemySpawnRateModifer)
    maxEnemies = round(5 * enemySpawnRateModifer)

    numberOfEnemies = random.randint(minEnemies, maxEnemies)

    minItems = round(3 * itemSpawnRateModifier)
    maxItems = round(7 * itemSpawnRateModifier)

    numberOfItems = random.randint(minItems, maxItems)

    #global stat variables
    global enemiesStats
    global weapons
    global armour
    global consumables

    #Stores data of every enemy within the level
    global enemies

    enemies = []

    newMap = Map.Map(40, 100, 10, 3, 4, 8)
    newMap.generateDungeon()
    placePlayer()

    #Create enemies and place them randomly
    for i in range(numberOfEnemies):
        randomEnemyIndex = random.randint(0, len(enemiesStats) - 1)
        enemyStats = enemiesStats[randomEnemyIndex]
        name = enemyStats[0]
        health = enemyStats[1]
        damage = enemyStats[2]
        graphic = enemyStats[3]

        health = round(health * enemylevelmodifer)
        damage = round(damage * enemylevelmodifer)
        print("Creating enemy {0}".format(name))
        newEnemy = Enemy.Enemy(name, health, damage, graphic)
        emptyTile = newMap.getEmptyTile()
        newEnemy.setTile(newMap, emptyTile.x, emptyTile.y)
        enemies.append(newEnemy)

    for i in range(numberOfItems):
        itemTypeChance = random.randint(1, 5)
        itemRarity = random.randint(
            1, 10
        )  #60% chance of tier 1, 30% chance of tier 2, 10% chance of tier 3

        if itemTypeChance == 5:
            #spawn consumable
            if itemRarity == 10:
                itemStats = consumables[2]
            elif itemRarity <= 6:
                itemStats = consumables[0]
            else:
                itemStats = consumables[1]
            name = itemStats[0]
            stat = itemStats[1]
            modifier = itemStats[2]
            modifier = round(modifier * itemlevelmodifier)
            item = Items.Consumable(name, stat, modifier)

        elif itemTypeChance <= 2:
            #spawn weapon
            if itemRarity == 10:
                itemStats = weapons[2]
            elif itemRarity <= 6:
                itemStats = weapons[0]
            else:
                itemStats = weapons[1]

            randomItem = random.randint(0, len(itemStats) - 1)
            itemStats = itemStats[randomItem]
            minDamage = itemStats[0]
            maxDamage = itemStats[1]
            name = itemStats[2]
            minDamage = round(minDamage * itemlevelmodifier)
            maxDamage = round(maxDamage * itemlevelmodifier)
            item = Items.Weapon(minDamage, maxDamage, name)
        else:
            #spawn armour
            if itemRarity == 10:
                itemStats = armour[2]
            elif itemRarity <= 6:
                itemStats = armour[0]
            else:
                itemStats = armour[1]

            randomItem = random.randint(0, len(itemStats) - 1)
            itemStats = itemStats[randomItem]
            name = itemStats[0]
            defence = itemStats[1]
            slot = itemStats[2]
            defence = round(defence * itemlevelmodifier)
            item = Items.Armour(name, defence, slot)

        emptyTile = newMap.getEmptyTile()
        emptyTile.entity = item