@Override
	public List<Ability> getCodedSpells(String spells)
	{
		final Vector<Ability> spellsV=new Vector<Ability>();
		if(spells.length()==0)
			return spellsV;
		if(spells.startsWith("*"))
		{
			spells=spells.substring(1);
			int x=spells.indexOf(';');
			if(x<0)
				x=spells.length();
			final Ability A=CMClass.getAbility(spells.substring(0,x));
			if(A!=null)
			{
				if(x<spells.length())
					A.setMiscText(spells.substring(x+1));
				spellsV.addElement(A);
				return spellsV;
			}
		}
		final List<String> V=CMParms.parseSemicolons(spells,true);
		Ability lastSpell=null;
		Ability A=null;
		for(int v=0;v<V.size();v++)
		{
			spells=V.get(v);
			A=CMClass.getAbility(spells);
			if(A==null)
			{
				if(lastSpell!=null)
					lastSpell.setMiscText(spells);
			}
			else
			{
				lastSpell=A;
				spellsV.addElement(A);
			}
		}
		return spellsV;
	}