Exemplo n.º 1
0
 def __init__(self, parent, app):
     self.f = tk.Frame(parent)
     self.name = util.labeledEntry(self.f, "Character Name", 0, 0)
     self.level = util.labeledEntry(self.f, "Level", 2, 0)
     self.casterlevel = util.labeledEntry(self.f, "Caster Level", 4, 0)
     self.Class = util.labeledEntry(self.f, "Class", 6, 0)
     self.maxhp = util.labeledEntry(self.f, "Maximum HP", 8, 0)
Exemplo n.º 2
0
    def __init__(self, master):
        self.master = master
        self.win = tk.Toplevel()

        self.name = util.labeledEntry(self.win, 'Enter name', 0, 0)

        self.ac = util.labeledEntry(self.win, 'Enter AC', 2, 0)

        self.hp = util.labeledEntry(self.win, 'Enter HP as valid roll', 4, 0)

        self.av = tk.BooleanVar()
        self.average = tk.Checkbutton(self.win,
                                      text="Take average?",
                                      variable=self.av)
        self.average.grid(row=5, column=1)

        self.abil = tk.Frame(self.win)
        self.abil.grid(row=6, column=0)
        abilities = ['STR', 'DEX', 'CON', 'INT', 'WIS', 'CHA']
        self.entries = []
        labels = []
        for (i, n) in enumerate(abilities):
            self.entries.append(util.labeledEntry(self.abil,
                                                  n,
                                                  (i // 3) * 2,
                                                  i % 3,
                                                  width=4))

        self.resolve = tk.Button(self.win,
                                 text='Finish',
                                 command=lambda: self.finish(self.master))
        self.resolve.grid(row=9, column=0)

        self.copy()
Exemplo n.º 3
0
    def __init__(self, master):
        self.win = tk.Toplevel()
        self.master = master

        self.name = util.labeledEntry(self.win, "Character Name", 0, 0)
        self.initiative = util.labeledEntry(self.win, "Initiative Score", 2, 0)

        self.finish = tk.Button(self.win,
                                text="Finish",
                                command=lambda: self.end())
        self.finish.grid(row=4, column=0)
Exemplo n.º 4
0
    def __init__(self, master, app):
        self.parent = master
        self.top = app
        self.f = tk.Frame(master, bd=2, relief="sunken")

        self.attack = util.labeledEntry(self.f, 'Attack method', 0, 0)
        self.attack.bind("<Return>", lambda event: self.doAttack())

        self.adv = tk.BooleanVar()
        self.dis = tk.BooleanVar()
        hasAdvantage = tk.Checkbutton(self.f,
                                      text="Advantage?",
                                      variable=self.adv)
        hasAdvantage.grid(row=0, column=1, sticky="w")
        hasDisadvantage = tk.Checkbutton(self.f,
                                         text="Disadvantage?",
                                         variable=self.dis)
        hasDisadvantage.grid(row=1, column=1, sticky="w")

        bonuses = tk.Frame(self.f, pady=5)
        bonuses.grid(row=2, column=0)
        self.attackBonus = util.labeledEntry(bonuses,
                                             "Attack bonus",
                                             0,
                                             0,
                                             orient='h',
                                             width='8')
        self.damageBonus = util.labeledEntry(bonuses,
                                             "Damage bonus",
                                             1,
                                             0,
                                             orient='h',
                                             width='8')

        self.do = tk.Button(self.f,
                            text="ATTACK",
                            command=lambda: self.doAttack())
        self.do.grid(row=2, column=1)

        self.attackResult = tk.Label(self.f)
        self.attackResult.grid(row=3, column=0)
        self.damageResult = tk.Label(self.f)
        self.damageResult.grid(row=4, column=0)
        self.effects = tk.Label(self.f)
        self.effects.grid(row=5, column=0)
Exemplo n.º 5
0
    def __init__(self, master, popWindow):
        self.win = popWindow
        self.master = master

        self.question = util.labeledEntry(self.win, "Enter character name\n"
                                          "as it appears in the file", 0, 0)
        self.accept = tk.Button(self.win, text="Accept",
                                command=lambda:self.verify())
        self.accept.grid(row=2, column=0)
Exemplo n.º 6
0
 def __init__(self, master, app):
     self.parent = master
     self.top = app
     self.f = tk.Frame(master)
     self.name = util.labeledEntry(self.f, 'Character Name', 0, 0)
     self.name.bind("<Return>", lambda event: self.LOAD())
     self.level = util.labeledEntry(self.f, 'Character Level', 2, 0)
     self.casterLevel = util.labeledEntry(self.f, 'Caster Level', 4, 0)
     self.Class = util.labeledEntry(self.f, 'Class', 6, 0)
     buttons = tk.Frame(self.f)
     buttons.grid(row=8, column=0)
     self.load = tk.Button(buttons,
                           text="Load character\nfrom file",
                           command=lambda: self.LOAD())
     self.load.grid(row=0, column=0)
     self.initialize = tk.Button(buttons,
                                 text="Initialize\ncharacter",
                                 command=lambda: self.INITIALIZE())
     self.initialize.grid(row=0, column=1)
Exemplo n.º 7
0
 def __init__(self, master, app):
     self.parent = master
     self.f = tk.Frame(master)
     self.generalRoll = util.labeledEntry(self.f, 'Dice to roll?', 0, 0)
     self.generalRoll.bind("<Return>", lambda event: self.doRoll())
     self.button = tk.Button(self.f,
                             text="ROLL",
                             command=lambda: self.doRoll())
     self.button.grid(row=2, column=1)
     self.result = tk.Label(self.f)
     self.result.grid(row=2, column=0)
Exemplo n.º 8
0
 def __init__(self, parent, app):
     self.f = tk.Frame(parent)
     self.names = ['STR', 'DEX', 'CON', 'INT', 'WIS', 'CHA']
     self.entries = []
     for (i, n) in enumerate(self.names):
         self.entries.append(util.labeledEntry(self.f,
                                               n,
                                               i * 2,
                                               0,
                                               orient='h',
                                               width=4))
Exemplo n.º 9
0
 def __init__(self, parent, app):
     self.top = app
     self.f = tk.Frame(parent)
     self.name = util.labeledEntry(self.f, "Weapon Name", 2, 0)
     self.dice = util.labeledEntry(self.f, "Damage Dice", 4, 0)
     self.abil = util.labeledEntry(self.f, "Ability Used", 6, 0)
     self.mult = util.labeledEntry(self.f, "Attacks per Action", 8, 0)
     self.magi = util.labeledEntry(self.f, "Magic Bonus", 10, 0)
     self.roll = util.labeledEntry(self.f, "Make Attack Roll?", 12, 0)
     self.ammo = util.labeledEntry(self.f, "Ammunition", 14, 0)
     self.effc = util.labeledEntry(self.f, "Additional Information", 16, 0)
     self.make = tk.Button(self.f,
                           text='Make',
                           command=lambda: self.build())
     self.make.grid(row=18, column=0)
Exemplo n.º 10
0
 def __init__(self, parent, app):
     self.top = app
     self.f = tk.Frame(parent)
     self.name = util.labeledEntry(self.f, "Spell Name", 2, 0)
     self.level = util.labeledEntry(self.f, "Spell Level", 4, 0)
     self.abil = util.labeledEntry(self.f, "Ability Used", 6, 0)
     self.dice = util.labeledEntry(self.f, "Damage Dice", 8, 0)
     self.addabil = util.labeledEntry(
         self.f, "Add Ability Modifier\nto Damage?", 10, 0)
     self.roll = util.labeledEntry(self.f, "Make Attack Roll?", 12, 0)
     self.save = util.labeledEntry(
         self.f, "Saving Throw Type\n(If Applicable)", 14, 0)
     self.mult = util.labeledEntry(self.f, "Attacks per Action", 16, 0)
     self.effects = util.labeledEntry(self.f, "Additional Information", 18,
                                      0)
     self.make = tk.Button(self.f,
                           text='Make',
                           command=lambda: self.build())
     self.make.grid(row=20, column=0)
Exemplo n.º 11
0
 def __init__(self, master, app):
     self.parent = master
     self.f = tk.Frame(self.parent, bd=2, relief="sunken")
     self.max = util.labeledEntry(self.f, 'Maximum HP', 0, 0, width=5)
     self.current = util.labeledEntry(self.f, 'Current HP', 0, 1, width=5)
     self.amount = util.labeledEntry(self.f,
                                     'HP Change\nas integer or roll',
                                     2,
                                     0,
                                     width=10,
                                     orient='h')
     self.amount.bind('<Return>', lambda event: self.changeHP(False))
     self.temp = util.labeledEntry(self.f, '+Temporary HP', 0, 2, width=5)
     buttons = tk.Frame(self.f, pady=15)
     buttons.grid(row=2, column=2)
     self.alterHP = tk.Button(buttons,
                              text='Alter\nHP',
                              command=lambda: self.changeHP(False))
     self.alterHP.grid(row=0, column=0)
     self.addtemp = tk.Button(buttons,
                              text='Add to\ntemp HP',
                              command=lambda: self.changeHP(True))
     self.addtemp.grid(row=0, column=1)
Exemplo n.º 12
0
 def __init__(self, master, app):
     self.parent = master
     self.f = tk.Frame(master)
     self.calc = tk.Button(self.f,
                           text="Calculate\nModifiers",
                           command=lambda: self.calcModifiers())
     self.calc.grid(row=6, column=2)
     abilitynames = ['STR', 'DEX', 'CON', 'INT', 'WIS', 'CHA']
     self.modlabels = [tk.Label(self.f) for x in range(6)]
     self.entries = []
     for (i, l) in enumerate(abilitynames):
         self.entries.append(util.labeledEntry(self.f,
                                               l,
                                               i,
                                               0,
                                               orient='h',
                                               width=4))
Exemplo n.º 13
0
    def __init__(self, master, monster):
        self.creature = monster

        self.f = tk.Frame(master, pady=10, bd=2, relief="groove")

        notattack = tk.Frame(self.f)
        notattack.grid(row=0, column=0)

        #############################

        namesec = tk.Frame(notattack)
        namesec.grid(row=0, column=0)
        self.nameL = tk.Label(namesec, text=monster.name, font="Calibri 18")
        self.nameL.grid(row=0, column=0, sticky='w')
        xpL = tk.Label(namesec, text='Initiative:  ' + str(monster.initiative))
        xpL.grid(row=0, column=1, sticky='e')

        ##############################

        hpsec = tk.Frame(notattack)
        hpsec.grid(row=1, column=1)

        hpLsec = tk.Frame(notattack)
        hpLsec.grid(row=0, column=1)

        self.hpL = tk.Label(hpLsec,
                            text='HP:  ' + str(monster.HP),
                            font='Calibri 18')
        self.hpL.grid(row=0, column=0, sticky='w')
        self.acL = tk.Label(hpLsec,
                            text='   AC:  ' + monster.AC,
                            font='Calibri 16')
        self.acL.grid(row=0, column=1, sticky='e')

        hpmain = tk.Frame(hpsec)
        hpmain.grid(row=1, column=0)

        self.change = util.labeledEntry(hpmain, 'Change in HP', 0, 0)

        hpdo = tk.Button(hpmain,
                         text='Change',
                         command=lambda: self.changeHP())
        hpdo.grid(row=1, column=1)

        #################################

        attacksec = tk.Frame(self.f)
        attacksec.grid(row=1, column=0)
        attacknotresult = tk.Frame(attacksec)
        attacknotresult.grid(row=0, column=0)

        self.attackE = util.labeledEntry(attacknotresult,
                                         'Attack Modifiers',
                                         0,
                                         0,
                                         orient='h',
                                         pos='w',
                                         width=15)

        self.damageE = util.labeledEntry(attacknotresult,
                                         'Damage',
                                         1,
                                         0,
                                         orient='h',
                                         pos='w',
                                         width=15)

        perform = tk.Button(attacknotresult,
                            text="Attack",
                            command=lambda: self.doattack())
        perform.grid(row=1, column=2)

        advsec = tk.Frame(attacknotresult)
        advsec.grid(row=0, column=2)

        self.advantage = tk.BooleanVar()
        self.disadvantage = tk.BooleanVar()
        hasAdvantage = tk.Checkbutton(advsec,
                                      text="Advantage?",
                                      variable=self.advantage)
        hasAdvantage.grid(row=0, column=1, sticky="w")
        hasDisadvantage = tk.Checkbutton(advsec,
                                         text="Disadvantage?",
                                         variable=self.disadvantage)
        hasDisadvantage.grid(row=1, column=1, sticky="w")

        self.attackresult = tk.Label(attacksec)
        self.attackresult.grid(row=1, column=0)
        self.damageresult = tk.Label(attacksec)
        self.damageresult.grid(row=2, column=0)

        ############################################

        abilframe = tk.Frame(notattack)
        abilframe.grid(row=1, column=0)

        abilnames = ['STR', 'DEX', 'CON', 'INT', 'WIS', 'CHA']
        for i in range(len(abilnames)):
            tk.Label(abilframe,
                     text=abilnames[i]).grid(row=(i // 3) * 2,
                                             column=i % 3)
            tk.Label(abilframe,
                     text=str(self.creature.abilities[i]) + " (" + str(
                         modifier(self.creature.abilities[i])) + ")").grid(
                             row=(i // 3) * 2 + 1,
                             column=i % 3)