Моя старая наработка, которую я так и не довел до ума...
т.к. живой сервер, нету времени на эксперименты пока что ((((
PHP код:
package l2p.gameserver.model.base;
/**
* @author ALF
* Новая групировка классов
*/
public enum ClassCategory {
Fighter(Race.human, 88,55,82,39,39,38,33,44,132,80,9,23,8,23.5, false),
Magic(Race.human, 38,27,41,79,78,78,28,40,120,78,7.5,22.8,6.5,22.5, true),
ElfFighter(Race.elf,82,61,82,41,38,37,36,46,125,90,7.5,24,7.5,23, false),
ElfMagic(Race.elf,36,32,38,74,84,77,30,41,122,85,7.5,24,7.5,23, true),
DarkelfFighter(Race.darkelf,92,56,77,42,39,35,35,45,122,85,7.5,24,7,23.5, false),
DarkelfMagic(Race.darkelf,39,30,37,85,77,73,30,41,122,85,7.5,24,7.5,23, true),
OrcFighter(Race.orc,88,50,87,37,38,41,31,42,117,70,11,28,7,27, false),
Shaman(Race.orc,40,23,43,77,74,84,30,41,121,70,7,27.5,8,25.5, true),
DwarfFighter(Race.dwarf,87,53,85,39,37,40,33,43,132,80,9,18,5,19, false),
DwarfMagic(Race.dwarf,40,24,42,82,72,81,28,40,120,78,9,18,5,19, true), // GoD
KamaelSoldier(Race.kamael,88,57,80,43,36,37,35,45,122,85,7.5,24,7,23, false),
KamaelMagic(Race.kamael,40,28,38,82,78,75,30,41,122,85,7.5,24,7,23, true); // GoD
private static int[] _fighterItems = {1147,1146,10,2369,5588};
private static int[] _magicItems = {425,461,6,5588};
private final Race race;
private final int STR;
private final int DEX;
private final int CON;
private final int INT;
private final int WIT;
private final int MEN;
private final int ACC;
private final int CRT;
private final int RUN_SPD;
private final int WALK_SPD;
private final double mcR;
private final double mcH;
private final double fmcR;
private final double fmcH;
private final boolean isMage;
private ClassCategory(Race a, int b,int c,int d,int e,int f,int g,int h,int i,int j,
int k,double m,double n,double o,double p,boolean _isMagic)
{
race = a;
STR = b;
DEX = c;
CON = d;
INT = e;
WIT = f;
MEN = g;
ACC = h;
CRT = i;
RUN_SPD = j;
WALK_SPD = k;
mcR = m;
mcH = n;
fmcR = o;
fmcH = p;
isMage = _isMagic;
}
public Race getRace() {
return race;
}
public int getSTR() {
return STR;
}
public int getDEX() {
return DEX;
}
public int getCON() {
return CON;
}
public int getINT() {
return INT;
}
public int getWIT() {
return WIT;
}
public int getMEN() {
return MEN;
}
public boolean isMage() {
return isMage;
}
public int getPATK(){
return isMage() ? 3 : 4;
}
public int getMATK(){
return 6;
}
public int getPDEF(){
return isMage() ? 54 : 80;
}
public int getMDEF(){
return 41;
}
public int[] getItems()
{
if (isMage())
return _magicItems;
return _fighterItems;
}
public int getACC() {
return ACC;
}
public int getCRT() {
return CRT;
}
public int getRUN_SPD() {
return RUN_SPD;
}
public int getWALK_SPD() {
return WALK_SPD;
}
public double getMcR() {
return mcR;
}
public double getFmcR() {
return fmcR;
}
public double getMcH() {
return mcH;
}
public double getFmcH() {
return fmcH;
}
}