def METHOD_NAME(self, meta_alarm, sub_alarms):
    ignore = []
    with self.condition:
        if not sub_alarms["hw-kill"].raised:
            self.condition.notify()
    # Stay killed until user clears
    if self._killed:
        return True
    # Battery too low
    if sub_alarms["bus-voltage"].raised and sub_alarms["bus-voltage"].severity == 5:
        return True
    ignore.append("bus-voltage")
    if sub_alarms["odom-kill"].raised and sub_alarms["odom-kill"].severity == 5:
        return True
    ignore.append("odom-kill")
    # If we lose network but don't want to go autonomous
    if sub_alarms["network-loss"].raised and not rospy.get_param(
        "/autonomous",
        False,
    ):
        return True
    ignore.append("network-loss")
    # Severity level of 3 means too many thrusters out (3 thrusters out)
    if (
        sub_alarms["thruster-out"].raised
        and sub_alarms["thruster-out"].severity == 3
    ):
        return True
    ignore.append("thruster-out")
    # If a mission wants us to kill, go ahead and kill
    if sub_alarms["mission-kill"].raised:
        self._last_mission_killed = True
        return True
    elif self._last_mission_killed:
        self._last_mission_killed = False
        # If we weren't killed by another source, clear the kill
        if not self._killed:
            return False
    ignore.append("mission-kill")
    # Raised if any alarms besides the two above are raised
    return any(
        alarm.raised for name, alarm in sub_alarms.items() if name not in ignore
    )