Exemplo n.º 1
0
def print_brawler_list(file_list, select_l, header_l):
    """
    brawler_list output

    In the form of name, weight, BV, damage, heat, movement, weapon details
    sorted by damage, descending
    """
    # Add brawler selector
    # - Walk 4 or Jump 4
    # - At least 10 damage at range 15
    # - BF armor value at least 4
    # - Do more damage at range 15 than range 18
    spd = 4  # Minimum speed
    arm = 105  # Minimum armor
    dam = 10  # Minimum damage
    rng = 15  # Selected range
    select_l.append(lambda x, y: (max(x.get_walk(), y.get_jump()) >= spd))
    header_l.append("with at least speed %d" % spd)
    select_l.append(lambda x, y: (x.armor.total.arm >= arm))
    header_l.append(("with at least armor %d" % arm))
    select_l.append(lambda x, y: (y.gear.weaponlist.count_damage(rng) >= dam))
    header_l.append(("with at least damage %d at range %d" % (dam, rng)))
    select_l.append(lambda x, y: ((y.gear.weaponlist.count_damage(rng) > y.gear.weaponlist.count_damage(rng + 3))))
    header_l.append(("does more damage at range %d than range %d" % (rng, rng + 3)))
    #    select_l.append(lambda x, y: (x.is_brawler(y)))

    # Build list
    unit_list = create_unit_list(file_list, select_l, create_std_list_item, rng)

    # Sort by damage
    unit_list.sort(key=itemgetter(3), reverse=True)

    print_std_list("List of 'Brawlers' (Alpha)", header_l, unit_list)
Exemplo n.º 2
0
def print_missile_boat_list(file_list, select_l, header_l):
    """
    missile_boat_list output

    In the form of name, weight, BV, damage, heat, movement, weapon details
    sorted by damage, descending
    """
    # Add missile boat selector
    # - At least 20 lrm tubes
    # - No non-missile long-range weapons
    lrms = 20  # LRM tubes
    rng = 21  # Selected range
    select_l.append(lambda x, y: (y.gear.weaponlist.lrms >= lrms))
    header_l.append(("with at least %d lrm tubes" % lrms))
    select_l.append(lambda x, y: (y.gear.weaponlist.snipe == False))
    header_l.append("with no non-missile long-range weapon")
    #    select_l.append(lambda x, y: (x.is_missile_boat(y)))

    # Build list
    unit_list = create_unit_list(file_list, select_l, create_std_list_item, rng)

    # Sort by damage
    unit_list.sort(key=itemgetter(3), reverse=True)

    print_std_list("List of 'Missile Boats' (Alpha)", header_l, unit_list)
Exemplo n.º 3
0
def print_skirmisher_list(file_list, select_l, header_l):
    """
    skirmisher_list output

    In the form of name, weight, BV, damage, heat, movement, weapon details
    sorted by damage, descending
    """
    # Add skirimisher selector
    # - Walk 5 or Jump 5
    # - At least 1 damage at range 18
    # - BF armor value at least 3
    spd = 5  # Minimum speed
    arm = 75  # Minimum armor
    dam = 1  # Minimum damage
    rng = 18  # Selected range
    select_l.append(lambda x, y: (max(x.get_walk(), y.get_jump()) >= spd))
    header_l.append("with at least speed %d" % spd)
    select_l.append(lambda x, y: (x.armor.total.arm >= arm))
    header_l.append(("with at least armor %d" % arm))
    select_l.append(lambda x, y: (y.gear.weaponlist.count_damage(rng) >= dam))
    header_l.append(("with at least damage %d at range %d" % (dam, rng)))
    #    select_l.append(lambda x, y: (x.is_skirmisher(y)))

    # Build list
    unit_list = create_unit_list(file_list, select_l, create_std_list_item, rng)

    # Sort by damage
    unit_list.sort(key=itemgetter(3), reverse=True)

    print_std_list("List of 'Skirmishers' (Alpha)", header_l, unit_list)
Exemplo n.º 4
0
def print_snipe_list(file_list, select_l, header_l):
    """
    snipe_list output

    In the form of name, weight, BV, damage, heat, movement, weapon details
    sorted by damage, descending
    """
    # Add sniper selector
    # - At least 10 damage at range 18
    # - At least one non-missile long-range weapon
    dam = 10  # Minimum damage
    rng = 18  # Selected range
    select_l.append(lambda x, y: (y.gear.weaponlist.count_damage(rng) >= dam))
    header_l.append(("with at least damage %d at range %d" % (dam, rng)))
    select_l.append(lambda x, y: (y.gear.weaponlist.snipe == True))
    header_l.append("with at least one non-missile long-range weapon")
    #    select_l.append(lambda x, y: (x.is_sniper(y)))

    # Build list
    unit_list = create_unit_list(file_list, select_l, create_std_list_item, rng)

    # Sort by damage
    unit_list.sort(key=itemgetter(3), reverse=True)

    print_std_list("List of 'Snipers' (Alpha)", header_l, unit_list)
Exemplo n.º 5
0
def print_juggernaut_list(file_list, select_l, header_l):
    """
    juggernaut_list output

    In the form of name, weight, BV, damage, heat, movement, weapon details
    sorted by damage, descending
    """
    # Add juggernaut selector
    # - At least 30 damage at range 6
    # - BF armor at least 5
    arm = 135  # Minimum armor
    dam = 30  # Minimum damage
    rng = 6  # Selected range
    select_l.append(lambda x, y: (x.armor.total.arm >= arm))
    header_l.append(("with at least armor %d" % arm))
    select_l.append(lambda x, y: (y.gear.weaponlist.count_damage(rng) >= dam))
    header_l.append(("with at least damage %d at range %d" % (dam, rng)))
    #    select_l.append(lambda x, y: (x.is_juggernaut(y)))

    # Build list
    unit_list = create_unit_list(file_list, select_l, create_std_list_item, rng)

    # Sort by damage
    unit_list.sort(key=itemgetter(3), reverse=True)

    print_std_list("List of 'Juggernauts' (Alpha)", header_l, unit_list)
Exemplo n.º 6
0
def print_range_list(file_list, select_l, header_l, rng):
    """
    range_list output

    In the form of name, weight, BV, damage, heat, movement, weapon details
    sorted by damage, descending
    """
    # Build list
    unit_list = create_unit_list(file_list, select_l, create_std_list_item, rng)

    # Sort by damage
    unit_list.sort(key=itemgetter(3), reverse=True)

    print_std_list(("List of Damage at Range %d" % (rng)), header_l, unit_list)
Exemplo n.º 7
0
def print_scout_list(file_list, select_l, header_l):
    """
    scout_list output

    In the form of name, weight, BV, damage, heat, movement, weapon details
    sorted by damage, descending
    """
    # Add scout selector
    # - Walk 6 or Jump 6
    spd = 6  # Minimum speed
    rng = 3  # Selected range
    select_l.append(lambda x, y: (max(x.get_walk(), y.get_jump()) >= spd))
    header_l.append("with at least speed %d" % spd)
    #    select_l.append(lambda x, y: (x.is_scout(y)))

    # Build list
    unit_list = create_unit_list(file_list, select_l, create_std_list_item, rng)

    # Sort by damage
    unit_list.sort(key=itemgetter(3), reverse=True)

    print_std_list("List of 'Scouts' (Alpha)", header_l, unit_list)