Test if the character passes the prerequisites for the caller. The caller is used to check if prereqs can be bypassed by either preferences or via Qualifies statements in templates or other objects applied to the character. @param prereqList The list of prerequisites to be tested. @param aPC The ch
(final Collection<Prerequisite> prereqList, final PlayerCharacter aPC, final Object caller)
| 59 | * @return True if the character passes all prereqs. |
| 60 | */ |
| 61 | public static boolean passesAll(final Collection<Prerequisite> prereqList, final PlayerCharacter aPC, |
| 62 | final Object caller) |
| 63 | { |
| 64 | if (prereqList == null || prereqList.isEmpty()) |
| 65 | { |
| 66 | return true; |
| 67 | } |
| 68 | |
| 69 | if ((caller instanceof Ability) && (AbilityUtilities.isFeat(caller)) |
| 70 | && Globals.checkRule(RuleConstants.FEATPRE)) |
| 71 | { |
| 72 | return true; |
| 73 | } |
| 74 | |
| 75 | if (caller instanceof CDOMObject && aPC != null) |
| 76 | { |
| 77 | // Check for QUALIFY: |
| 78 | if (aPC.checkQualifyList((CDOMObject) caller)) |
| 79 | { |
| 80 | return true; |
| 81 | } |
| 82 | } |
| 83 | |
| 84 | for (Prerequisite prereq : prereqList) |
| 85 | { |
| 86 | if (!passes(prereq, aPC, caller)) |
| 87 | { |
| 88 | return false; |
| 89 | } |
| 90 | } |
| 91 | return true; |
| 92 | } |
| 93 | |
| 94 | public static boolean passesAll(PrereqObject prereqObject, PlayerCharacter aPC, Object caller) |
| 95 | { |
no test coverage detected