def get_target_weapon_and_damage(line, is_physical, is_crit):
    """Gets the target of our attack, the weapon we hit them with,
        and the damage amount. Returns [target, weapon, damage]"""
    split_line = line.split()


    target = ''
    weapon = ''
    damage = 0
    if is_crit:
        target = ' '.join(split_line[4:split_line.index('for')])
        weapon = ''
        damage = int(split_line[split_line.index('additional') +1])
    else:
        if is_physical:
            target = ' '.join(split_line[3:split_line.index('with')])
            weapon = ' '.join(split_line[split_line.index('your')+1:split_line.index('and')])
        else:
            target = ' '.join(split_line[3:split_line.index('for')])
            weapon = ''
        damage = int(split_line[split_line.index('for') +1])

    target = target.replace('the ', '')
    weapon = weapon.replace('the ', '')

    return [target, weapon, damage]