What'd I'd need help with is data collection and insertion, obviously.

Ergo:
BLOCK:
MONK skillcap: 1-50 Level*5+5 and whatever it is above 50
BEASTLORD: whatever they have
ELSE: 0
As for data insertion, the format will be:
CREATE TABLE skillcap (
class int(10) NOT NULL default '0',
level int(10) NOT NULL default '0',
skill int(10) NOT NULL default '0',
amount int(10) NOT NULL default '0',
) TYPE=MyISAM;
or so, so a data entry for level 1 block for a monk would be
INSERT INTO skillcap VALUES(7,1,11,10);
so it's a huge fucking DB. Alternatively, might be able to kill the level and have some kinda formula... like this
CREATE TABLE skillcap (
class int(10) NOT NULL default '0',
skill int(10) NOT NULL default '0',
formula varchar(40) NOT NULL default '',
max int(10) NOT NULL default '0',
) TYPE=MyISAM;
INSERT INTO skillcap VALUES(7,11,"level*5+5",200);
but it'd be kinda limited for skills that only get 1 per level after 50 and such.