def METHOD_NAME(charge):
    damage = 0
    range_ = (mod.item.getAttribute('maxRange')) * \
             (charge.getAttribute('weaponRangeMultiplier') or 1)
    falloff = (mod.item.getAttribute('falloff') or 0) * \
              (charge.getAttribute('fallofMultiplier') or 1)
    for type_ in DmgTypes.names():
        d = charge.getAttribute('%sDamage' % type_)
        if d > 0:
            damage += d
    # Take optimal and falloff as range factor
    rangeFactor = range_ + falloff
    return -rangeFactor, charge.typeName.rsplit()[-2:], damage, charge.name