@Override
	public void observe(Order o) {
		int battleP = 0;
		for (Clan m : o.getMembers()) {
			for (G_ g : KnowledgeQuests.equip) {int gi = g.ordinal(); if (m.getAssets(gi) > 0) {scores[gi]++;}}
			battleP += m.FB.getPrs(P_.BATTLEP);
		}
		for (G_ g : KnowledgeQuests.equip) {scores[g.ordinal()] *= battleP;}
		int i = 0;
		for (DataPoint<G_> dp : plot) {
			if (dp.x != KnowledgeQuests.equip[i++]) throw new IllegalStateException("bad ordering in WeaponObserver");
			dp.y += scores[dp.x.ordinal()] * battleP;
		}
	}