Es wäre ganz gut gewesen, wenn du das Beispiel auf das Wesentliche zusammengestutzt hättest, also z.B. statt des switch-retain-zeugs einfach ein
- Code:
<fetch name="fallentscheid"/>
genommen hättest - und weiter oben in den ganzen has-Abfragen hätte man sicher auch einsparen können.
Was dein Problem angeht: M.E. liest du die Ausgabe von "has" falsch. Has liefert zurück, wie viele Gegenstände gefunden wurden. Das ergibt bei der Forderung, verschiedene Gegenstände zu besitzen, nicht unbedingt Sinn, aber ist durchaus logisch.
[hat Kletterhaken+%ammer: 1]
bedeutet schleichtweg: Es wurde
genau ein Gegenstand gefunden. Notwendigerweise braucht man aber mindestens zwei Gegenstände, den Haken und irgendeinen Hammer.
Von der "+"-Konstruktion würde ich bei Gruppen auch absehen. Wenn ich das richtig erinnere hieße das, daß ein Held ein Kletterseil und einen Hammer haben muss. Wären sie auf verschiedene Helden verteilt, würde die Abfrage in den failure-Zweig gehen.