Esempio n. 1
0
def p_unit_favorite(t):
    '''unit : unit FAVORITE'''
    unit = Unit(t[1].name,
                initiative=t[1].initiative,
                initiative_mod=t[1].initiative_mod,
                hp=t[1].hp,
                armor=t[1].armor,
                note=t[1].note,
                status=t[1].status,
                favorite=True)
    t[0] = unit
Esempio n. 2
0
def p_unit_status(t):
    '''unit : unit STATUS status'''
    unit = Unit(t[1].name,
                initiative=t[1].initiative,
                initiative_mod=t[1].initiative_mod,
                hp=t[1].hp,
                armor=t[1].armor,
                note=t[1].note,
                status=[t[3]],
                favorite=t[1].favorite)
    t[0] = unit
Esempio n. 3
0
def p_unit_note(t):
    '''unit : unit NOTE NAME'''
    unit = Unit(t[1].name,
                initiative=t[1].initiative,
                initiative_mod=t[1].initiative_mod,
                hp=t[1].hp,
                armor=t[1].armor,
                note=t[3],
                status=t[1].status,
                favorite=t[1].favorite)
    t[0] = unit
Esempio n. 4
0
def p_unit_hp(t):
    '''unit : unit HEALTH expression'''
    unit = Unit(t[1].name,
                initiative=t[1].initiative,
                initiative_mod=t[1].initiative_mod,
                hp=t[3],
                armor=t[1].armor,
                note=t[1].note,
                status=t[1].status,
                favorite=t[1].favorite)
    t[0] = unit
Esempio n. 5
0
def p_unit_armor(t):
    '''unit : unit ARMOR expression'''
    unit = Unit(t[1].name,
                initiative=t[1].initiative,
                initiative_mod=t[1].initiative_mod,
                hp=t[1].hp,
                armor=t[3],
                note=t[1].note,
                status=t[1].status,
                favorite=t[1].favorite)
    t[0] = unit
Esempio n. 6
0
def p_unit(t):
    '''unit : NAME expression'''
    unit = Unit(t[1],
                initiative=rollInitiative(t[2]),
                initiative_mod=t[2],
                hp=0,
                armor=0,
                note="",
                status=[],
                favorite=False)
    t[0] = unit
Esempio n. 7
0
def p_command_load_item(t):
    'command : LOAD NAME'
    global encounter
    try:
        attributes = encounter.file_manager.load(FILE_TEMPLATE.format(t[2]))
        unit = Unit(**attributes)
        encounter.addUnit(unit)
    except Exception as e:
        print(e)
        print("Error loading item {}".format(t[2]))
    print(str(encounter))
Esempio n. 8
0
def p_command_load_favorites(t):
    'command : LOAD FAVORITE'
    global encounter
    for file in FAVORITE_FILES:
        try:
            attributes = encounter.file_manager.load(FILE_TEMPLATE.format(file))
            unit = Unit(**attributes)
            encounter.addUnit(unit)
            print(str(encounter))
        except Exception as e:
            print(e)
            print("Error loading {}".format(file))
Esempio n. 9
0
def p_command_load_encounter(t):
    'command : LOAD'
    global encounter
    try:
        last_encounter = encounter.file_manager.load(FILE_TEMPLATE.format(LAST_ENCOUNTER))
        for name in last_encounter:
            attributes = encounter.file_manager.load(FILE_TEMPLATE.format(name))
            unit = Unit(**attributes)
            encounter.addUnit(unit)
    except Exception as e:
        print(e)
        print("Error loading last encounter")
    print(str(encounter))
Esempio n. 10
0
def p_command_create_multiple_units(t):
    'command : CREATE expression unit'
    global encounter
    unit = t[3]
    num = t[2]
    for i in range(num):
        new_unit = Unit(unit.name + str(i+1),
                initiative=rollInitiative(unit.initiative_mod),
                initiative_mod=unit.initiative_mod,
                hp=unit.hp,
                armor=unit.armor,
                note=unit.note,
                status=unit.status,
                favorite=unit.favorite)
        encounter.addUnit(new_unit)

    encounter.sortUnits()
    print(str(encounter))