SEARCH_SKILL_CATALOG
Find skills by name for the product and bundle editors
Optional
Without this capability, and without an uploaded skill name table, the Skill option is removed from the product and bundle builders, so an owner sells items and coins only. Everything else is unaffected — a pack with no skill support is a complete portal, not a broken one.
Finding a skill and handing one over are separate capabilities, and the builders require both. The
picker stays hidden unless the server also advertises
DELIVER_SKILL_GRANT: a name table can name a skill this
pack has no way to grant, and that would build a product failing on every purchase.
One entry per skill id, with maxLevel the highest normal, non-enchanted level:
{ "skillId": 1204, "name": "Wind Walk", "maxLevel": 1 }Enchant routes (101+, 201+ in retail data) are deliberately out of scope — the builders never offer
them, so reporting one as maxLevel would let an owner sell a level the picker cannot represent.
Implementing it
JsonArray searchSkillCatalog(String term, int limit);aCis exposes its loaded skills through SkillTable.getSkills() and needs nothing extra.
Mobius keeps them in a private map, so it needs one read-only accessor added to
org.l2jmobius.gameserver.data.xml.SkillData:
public Collection<Skill> getAllSkills()
{
return java.util.Collections.unmodifiableCollection(_skillsByHash.values());
}Without that patch, drop SEARCH_SKILL_CATALOG from capabilities() rather than shipping a method
that cannot answer.
Verification
Connector check searches for a with a limit of one. A completed request passes, even with an
empty result.