Capabilities

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:

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.

On this page