Example #1
0
    def buildCharacterSheet(self, character):
        backgroundList = self.getBGs()

        #get player name
        print("Please enter the name of the player")
        playerName = input()

        #get character name
        print("Please enter the name of the character")
        characterName = input()

        #setting variables like this for now in case we want to put it in a try/except for
        #error handling later
        character.player_name = playerName
        character.char_name = characterName

        #race class will handle all race attributes
        race = Race()

        charClass = CharClass()

        startingEquipment = StartingEquipment()

        equipment = Equipment()

        charBackground = CharBackground(backgroundList)

        #race will be filled in depending on menu selection
        if self.quick == True:
            race.chooseRace(character, menuOption='quick')
            charClass.chooseClass(character, menuOption='quick')
            bg = charBackground.chooseBackground(character, menuOption='quick')
            character.background = bg
        else:
            race.chooseRace(character, menuOption='detailed')
            charClass.chooseClass(character, menuOption='detailed')
            bg = charBackground.chooseBackground(character,
                                                 menuOption='detailed')
            character.background = bg

        startingEquipment.chooseStartingEquipment(character)

        equipment.getEquipmentStats(character)
        self.startingEquipString(character)

        StatRoller.rollForStats(character)

        StatCalculator.update(character)

        self.getPersonalInformation(character)

        charDict = CharacterDictBuilder.builder(character)
        outFile = characterName + '_char_sheet.pdf'

        write_fillable_pdf('.\\CharacterSheetTemplate.pdf', outFile, charDict)

        Sending.email(outFile)

        print("Good day to you Sir/Madam!")