Перейти к содержанию
Авторизация  
XaTTa6bI4

Саб Клас

Рекомендуемые сообщения

1 сделать больше 3 прмеру 40

2 сделать чтобы били доступни все профи (овер ками и тд)

3 скили сохранялись

4(если реально) брать за добавления саба плату

Изменено пользователем XaTTa6bI4

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

package l2ft.gameserver.model.base;

 

/**

* This class defines all classes (ex : human fighter, darkFighter...) that a player can chose.<BR><BR>

*

* Data :<BR><BR>

* <li>id : The Identifier of the class</li>

* <li>isMage : True if the class is a mage class</li>

* <li>race : The race of this class</li>

* <li>parent : The parent ClassId for male or null if this class is the root</li>

* <li>parent2 : The parent2 ClassId for female or null if parent2 like parent</li>

* <li>level : The child level of this Class</li><BR><BR>

*/

public enum ClassId

{

fighter(0, false, Race.human, null, null, 1, null),

 

warrior(1, false, Race.human, fighter, null, 2, null),

gladiator(2, false, Race.human, warrior, null, 3, ClassType2.Warrior),

warlord(3, false, Race.human, warrior, null, 3, ClassType2.Warrior),

knight(4, false, Race.human, fighter, null, 2, null),

paladin(5, false, Race.human, knight, null, 3, ClassType2.Knight),

darkAvenger(6, false, Race.human, knight, null, 3, ClassType2.Knight),

rogue(7, false, Race.human, fighter, null, 2, null),

treasureHunter(8, false, Race.human, rogue, null, 3, ClassType2.Rogue),

hawkeye(9, false, Race.human, rogue, null, 3, ClassType2.Rogue),

 

mage(10, true, Race.human, null, null, 1, null),

wizard(11, true, Race.human, mage, null, 2, null),

sorceror(12, true, Race.human, wizard, null, 3, ClassType2.Wizard),

necromancer(13, true, Race.human, wizard, null, 3, ClassType2.Wizard),

warlock(14, true, Race.human, wizard, null, 3, ClassType2.Summoner),

cleric(15, true, Race.human, mage, null, 2, null),

bishop(16, true, Race.human, cleric, null, 3, ClassType2.Healer),

prophet(17, true, Race.human, cleric, null, 3, ClassType2.Enchanter),

 

elvenFighter(18, false, Race.elf, null, null, 1, null),

elvenKnight(19, false, Race.elf, elvenFighter, null, 2, null),

templeKnight(20, false, Race.elf, elvenKnight, null, 3, ClassType2.Knight),

swordSinger(21, false, Race.elf, elvenKnight, null, 3, ClassType2.Enchanter),

elvenScout(22, false, Race.elf, elvenFighter, null, 2, null),

plainsWalker(23, false, Race.elf, elvenScout, null, 3, ClassType2.Rogue),

silverRanger(24, false, Race.elf, elvenScout, null, 3, ClassType2.Rogue),

 

elvenMage(25, true, Race.elf, null, null, 1, null),

elvenWizard(26, true, Race.elf, elvenMage, null, 2, null),

spellsinger(27, true, Race.elf, elvenWizard, null, 3, ClassType2.Wizard),

elementalSummoner(28, true, Race.elf, elvenWizard, null, 3, ClassType2.Summoner),

oracle(29, true, Race.elf, elvenMage, null, 2, null),

elder(30, true, Race.elf, oracle, null, 3, ClassType2.Healer),

 

darkFighter(31, false, Race.darkelf, null, null, 1, null),

palusKnight(32, false, Race.darkelf, darkFighter, null, 2, null),

shillienKnight(33, false, Race.darkelf, palusKnight, null, 3, ClassType2.Knight),

bladedancer(34, false, Race.darkelf, palusKnight, null, 3, ClassType2.Enchanter),

assassin(35, false, Race.darkelf, darkFighter, null, 2, null),

abyssWalker(36, false, Race.darkelf, assassin, null, 3, ClassType2.Rogue),

phantomRanger(37, false, Race.darkelf, assassin, null, 3, ClassType2.Rogue),

 

darkMage(38, true, Race.darkelf, null, null, 1, null),

darkWizard(39, true, Race.darkelf, darkMage, null, 2, null),

spellhowler(40, true, Race.darkelf, darkWizard, null, 3, ClassType2.Wizard),

phantomSummoner(41, true, Race.darkelf, darkWizard, null, 3, ClassType2.Summoner),

shillienOracle(42, true, Race.darkelf, darkMage, null, 2, null),

shillienElder(43, true, Race.darkelf, shillienOracle, null, 3, ClassType2.Healer),

 

orcFighter(44, false, Race.orc, null, null, 1, null),

orcRaider(45, false, Race.orc, orcFighter, null, 2, null),

destroyer(46, false, Race.orc, orcRaider, null, 3, ClassType2.Warrior),

orcMonk(47, false, Race.orc, orcFighter, null, 2, null),

tyrant(48, false, Race.orc, orcMonk, null, 3, ClassType2.Warrior),

 

orcMage(49, true, Race.orc, null, null, 1, null),

orcShaman(50, true, Race.orc, orcMage, null, 2, null),

overlord(51, true, Race.orc, orcShaman, null, 3, ClassType2.Enchanter),

warcryer(52, true, Race.orc, orcShaman, null, 3, ClassType2.Enchanter),

 

dwarvenFighter(53, false, Race.dwarf, null, null, 1, null),

scavenger(54, false, Race.dwarf, dwarvenFighter, null, 2, null),

bountyHunter(55, false, Race.dwarf, scavenger, null, 3, ClassType2.Warrior),

artisan(56, false, Race.dwarf, dwarvenFighter, null, 2, null),

warsmith(57, false, Race.dwarf, artisan, null, 3, ClassType2.Warrior),

 

/*

* Dummy Entries (id's already in decimal format)

* btw FU NCSoft for the amount of work you put me

* through to do this!!

* <START>

*/

dummyEntry1(58, false, null, null, null, 0, null),

dummyEntry2(59, false, null, null, null, 0, null),

dummyEntry3(60, false, null, null, null, 0, null),

dummyEntry4(61, false, null, null, null, 0, null),

dummyEntry5(62, false, null, null, null, 0, null),

dummyEntry6(63, false, null, null, null, 0, null),

dummyEntry7(64, false, null, null, null, 0, null),

dummyEntry8(65, false, null, null, null, 0, null),

dummyEntry9(66, false, null, null, null, 0, null),

dummyEntry10(67, false, null, null, null, 0, null),

dummyEntry11(68, false, null, null, null, 0, null),

dummyEntry12(69, false, null, null, null, 0, null),

dummyEntry13(70, false, null, null, null, 0, null),

dummyEntry14(71, false, null, null, null, 0, null),

dummyEntry15(72, false, null, null, null, 0, null),

dummyEntry16(73, false, null, null, null, 0, null),

dummyEntry17(74, false, null, null, null, 0, null),

dummyEntry18(75, false, null, null, null, 0, null),

dummyEntry19(76, false, null, null, null, 0, null),

dummyEntry20(77, false, null, null, null, 0, null),

dummyEntry21(78, false, null, null, null, 0, null),

dummyEntry22(79, false, null, null, null, 0, null),

dummyEntry23(80, false, null, null, null, 0, null),

dummyEntry24(81, false, null, null, null, 0, null),

dummyEntry25(82, false, null, null, null, 0, null),

dummyEntry26(83, false, null, null, null, 0, null),

dummyEntry27(84, false, null, null, null, 0, null),

dummyEntry28(85, false, null, null, null, 0, null),

dummyEntry29(86, false, null, null, null, 0, null),

dummyEntry30(87, false, null, null, null, 0, null),

/*

* <END>

* Of Dummy entries

*/

 

duelist(88, false, Race.human, gladiator, null, 4, ClassType2.Warrior),

dreadnought(89, false, Race.human, warlord, null, 4, ClassType2.Warrior),

phoenixKnight(90, false, Race.human, paladin, null, 4, ClassType2.Knight),

hellKnight(91, false, Race.human, darkAvenger, null, 4, ClassType2.Knight),

sagittarius(92, false, Race.human, hawkeye, null, 4, ClassType2.Rogue),

adventurer(93, false, Race.human, treasureHunter, null, 4, ClassType2.Rogue),

archmage(94, true, Race.human, sorceror, null, 4, ClassType2.Wizard),

soultaker(95, true, Race.human, necromancer, null, 4, ClassType2.Wizard),

arcanaLord(96, true, Race.human, warlock, null, 4, ClassType2.Summoner),

cardinal(97, true, Race.human, bishop, null, 4, ClassType2.Healer),

hierophant(98, true, Race.human, prophet, null, 4, ClassType2.Enchanter),

 

evaTemplar(99, false, Race.elf, templeKnight, null, 4, ClassType2.Knight),

swordMuse(100, false, Race.elf, swordSinger, null, 4, ClassType2.Enchanter),

windRider(101, false, Race.elf, plainsWalker, null, 4, ClassType2.Rogue),

moonlightSentinel(102, false, Race.elf, silverRanger, null, 4, ClassType2.Rogue),

mysticMuse(103, true, Race.elf, spellsinger, null, 4, ClassType2.Wizard),

elementalMaster(104, true, Race.elf, elementalSummoner, null, 4, ClassType2.Summoner),

evaSaint(105, true, Race.elf, elder, null, 4, ClassType2.Healer),

 

shillienTemplar(106, false, Race.darkelf, shillienKnight, null, 4, ClassType2.Knight),

spectralDancer(107, false, Race.darkelf, bladedancer, null, 4, ClassType2.

 

 

 

 

 

 

 

 

 

 

 

правельно?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

все реально сборка у вас какая ?

Изменено пользователем Firs

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

package l2ft.gameserver.model.base;

 

/**

* This class defines all classes (ex : human fighter, darkFighter...) that a player can chose.<BR><BR>

*

* Data :<BR><BR>

* <li>id : The Identifier of the class</li>

* <li>isMage : True if the class is a mage class</li>

* <li>race : The race of this class</li>

* <li>parent : The parent ClassId for male or null if this class is the root</li>

* <li>parent2 : The parent2 ClassId for female or null if parent2 like parent</li>

* <li>level : The child level of this Class</li><BR><BR>

*/

public enum ClassId

{

fighter(0, false, Race.human, null, null, 1, null),

 

warrior(1, false, Race.human, fighter, null, 2, null),

gladiator(2, false, Race.human, warrior, null, 3, ClassType2.Warrior),

warlord(3, false, Race.human, warrior, null, 3, ClassType2.Warrior),

knight(4, false, Race.human, fighter, null, 2, null),

paladin(5, false, Race.human, knight, null, 3, ClassType2.Knight),

darkAvenger(6, false, Race.human, knight, null, 3, ClassType2.Knight),

rogue(7, false, Race.human, fighter, null, 2, null),

treasureHunter(8, false, Race.human, rogue, null, 3, ClassType2.Rogue),

hawkeye(9, false, Race.human, rogue, null, 3, ClassType2.Rogue),

 

mage(10, true, Race.human, null, null, 1, null),

wizard(11, true, Race.human, mage, null, 2, null),

sorceror(12, true, Race.human, wizard, null, 3, ClassType2.Wizard),

necromancer(13, true, Race.human, wizard, null, 3, ClassType2.Wizard),

warlock(14, true, Race.human, wizard, null, 3, ClassType2.Summoner),

cleric(15, true, Race.human, mage, null, 2, null),

bishop(16, true, Race.human, cleric, null, 3, ClassType2.Healer),

prophet(17, true, Race.human, cleric, null, 3, ClassType2.Enchanter),

 

elvenFighter(18, false, Race.elf, null, null, 1, null),

elvenKnight(19, false, Race.elf, elvenFighter, null, 2, null),

templeKnight(20, false, Race.elf, elvenKnight, null, 3, ClassType2.Knight),

swordSinger(21, false, Race.elf, elvenKnight, null, 3, ClassType2.Enchanter),

elvenScout(22, false, Race.elf, elvenFighter, null, 2, null),

plainsWalker(23, false, Race.elf, elvenScout, null, 3, ClassType2.Rogue),

silverRanger(24, false, Race.elf, elvenScout, null, 3, ClassType2.Rogue),

 

elvenMage(25, true, Race.elf, null, null, 1, null),

elvenWizard(26, true, Race.elf, elvenMage, null, 2, null),

spellsinger(27, true, Race.elf, elvenWizard, null, 3, ClassType2.Wizard),

elementalSummoner(28, true, Race.elf, elvenWizard, null, 3, ClassType2.Summoner),

oracle(29, true, Race.elf, elvenMage, null, 2, null),

elder(30, true, Race.elf, oracle, null, 3, ClassType2.Healer),

 

darkFighter(31, false, Race.darkelf, null, null, 1, null),

palusKnight(32, false, Race.darkelf, darkFighter, null, 2, null),

shillienKnight(33, false, Race.darkelf, palusKnight, null, 3, ClassType2.Knight),

bladedancer(34, false, Race.darkelf, palusKnight, null, 3, ClassType2.Enchanter),

assassin(35, false, Race.darkelf, darkFighter, null, 2, null),

abyssWalker(36, false, Race.darkelf, assassin, null, 3, ClassType2.Rogue),

phantomRanger(37, false, Race.darkelf, assassin, null, 3, ClassType2.Rogue),

 

darkMage(38, true, Race.darkelf, null, null, 1, null),

darkWizard(39, true, Race.darkelf, darkMage, null, 2, null),

spellhowler(40, true, Race.darkelf, darkWizard, null, 3, ClassType2.Wizard),

phantomSummoner(41, true, Race.darkelf, darkWizard, null, 3, ClassType2.Summoner),

shillienOracle(42, true, Race.darkelf, darkMage, null, 2, null),

shillienElder(43, true, Race.darkelf, shillienOracle, null, 3, ClassType2.Healer),

 

orcFighter(44, false, Race.orc, null, null, 1, null),

orcRaider(45, false, Race.orc, orcFighter, null, 2, null),

destroyer(46, false, Race.orc, orcRaider, null, 3, ClassType2.Warrior),

orcMonk(47, false, Race.orc, orcFighter, null, 2, null),

tyrant(48, false, Race.orc, orcMonk, null, 3, ClassType2.Warrior),

 

orcMage(49, true, Race.orc, null, null, 1, null),

orcShaman(50, true, Race.orc, orcMage, null, 2, null),

overlord(51, true, Race.orc, orcShaman, null, 3, ClassType2.Enchanter),

warcryer(52, true, Race.orc, orcShaman, null, 3, ClassType2.Enchanter),

 

dwarvenFighter(53, false, Race.dwarf, null, null, 1, null),

scavenger(54, false, Race.dwarf, dwarvenFighter, null, 2, null),

bountyHunter(55, false, Race.dwarf, scavenger, null, 3, ClassType2.Warrior),

artisan(56, false, Race.dwarf, dwarvenFighter, null, 2, null),

warsmith(57, false, Race.dwarf, artisan, null, 3, ClassType2.Warrior),

 

/*

* Dummy Entries (id's already in decimal format)

* btw FU NCSoft for the amount of work you put me

* through to do this!!

* <START>

*/

dummyEntry1(58, false, null, null, null, 0, null),

dummyEntry2(59, false, null, null, null, 0, null),

dummyEntry3(60, false, null, null, null, 0, null),

dummyEntry4(61, false, null, null, null, 0, null),

dummyEntry5(62, false, null, null, null, 0, null),

dummyEntry6(63, false, null, null, null, 0, null),

dummyEntry7(64, false, null, null, null, 0, null),

dummyEntry8(65, false, null, null, null, 0, null),

dummyEntry9(66, false, null, null, null, 0, null),

dummyEntry10(67, false, null, null, null, 0, null),

dummyEntry11(68, false, null, null, null, 0, null),

dummyEntry12(69, false, null, null, null, 0, null),

dummyEntry13(70, false, null, null, null, 0, null),

dummyEntry14(71, false, null, null, null, 0, null),

dummyEntry15(72, false, null, null, null, 0, null),

dummyEntry16(73, false, null, null, null, 0, null),

dummyEntry17(74, false, null, null, null, 0, null),

dummyEntry18(75, false, null, null, null, 0, null),

dummyEntry19(76, false, null, null, null, 0, null),

dummyEntry20(77, false, null, null, null, 0, null),

dummyEntry21(78, false, null, null, null, 0, null),

dummyEntry22(79, false, null, null, null, 0, null),

dummyEntry23(80, false, null, null, null, 0, null),

dummyEntry24(81, false, null, null, null, 0, null),

dummyEntry25(82, false, null, null, null, 0, null),

dummyEntry26(83, false, null, null, null, 0, null),

dummyEntry27(84, false, null, null, null, 0, null),

dummyEntry28(85, false, null, null, null, 0, null),

dummyEntry29(86, false, null, null, null, 0, null),

dummyEntry30(87, false, null, null, null, 0, null),

/*

* <END>

* Of Dummy entries

*/

 

duelist(88, false, Race.human, gladiator, null, 4, ClassType2.Warrior),

dreadnought(89, false, Race.human, warlord, null, 4, ClassType2.Warrior),

phoenixKnight(90, false, Race.human, paladin, null, 4, ClassType2.Knight),

hellKnight(91, false, Race.human, darkAvenger, null, 4, ClassType2.Knight),

sagittarius(92, false, Race.human, hawkeye, null, 4, ClassType2.Rogue),

adventurer(93, false, Race.human, treasureHunter, null, 4, ClassType2.Rogue),

archmage(94, true, Race.human, sorceror, null, 4, ClassType2.Wizard),

soultaker(95, true, Race.human, necromancer, null, 4, ClassType2.Wizard),

arcanaLord(96, true, Race.human, warlock, null, 4, ClassType2.Summoner),

cardinal(97, true, Race.human, bishop, null, 4, ClassType2.Healer),

hierophant(98, true, Race.human, prophet, null, 4, ClassType2.Enchanter),

 

evaTemplar(99, false, Race.elf, templeKnight, null, 4, ClassType2.Knight),

swordMuse(100, false, Race.elf, swordSinger, null, 4, ClassType2.Enchanter),

windRider(101, false, Race.elf, plainsWalker, null, 4, ClassType2.Rogue),

moonlightSentinel(102, false, Race.elf, silverRanger, null, 4, ClassType2.Rogue),

mysticMuse(103, true, Race.elf, spellsinger, null, 4, ClassType2.Wizard),

elementalMaster(104, true, Race.elf, elementalSummoner, null, 4, ClassType2.Summoner),

evaSaint(105, true, Race.elf, elder, null, 4, ClassType2.Healer),

 

shillienTemplar(106, false, Race.darkelf, shillienKnight, null, 4, ClassType2.Knight),

spectralDancer(107, false, Race.darkelf, bladedancer, null, 4, ClassType2.

 

 

 

 

 

 

 

 

 

 

 

правельно?

 

ветом файле можна зделать разрешения на все сабы

а имено этот пунк 2 сделать чтобы били доступни все профи (овер ками и тд) и то камаели ани вроде одельно идут

Изменено пользователем Firs

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

package l2ft.gameserver.model.base;

 

/**

* This class defines all classes (ex : human fighter, darkFighter...) that a player can chose.<BR><BR>

*

* Data :<BR><BR>

* <li>id : The Identifier of the class</li>

* <li>isMage : True if the class is a mage class</li>

* <li>race : The race of this class</li>

* <li>parent : The parent ClassId for male or null if this class is the root</li>

* <li>parent2 : The parent2 ClassId for female or null if parent2 like parent</li>

* <li>level : The child level of this Class</li><BR><BR>

*/

public enum ClassId

{

fighter(0, false, Race.human, null, null, 1, null),

 

warrior(1, false, Race.human, fighter, null, 2, null),

gladiator(2, false, Race.human, warrior, null, 3, ClassType2.Warrior),

warlord(3, false, Race.human, warrior, null, 3, ClassType2.Warrior),

knight(4, false, Race.human, fighter, null, 2, null),

paladin(5, false, Race.human, knight, null, 3, ClassType2.Knight),

darkAvenger(6, false, Race.human, knight, null, 3, ClassType2.Knight),

rogue(7, false, Race.human, fighter, null, 2, null),

treasureHunter(8, false, Race.human, rogue, null, 3, ClassType2.Rogue),

hawkeye(9, false, Race.human, rogue, null, 3, ClassType2.Rogue),

 

mage(10, true, Race.human, null, null, 1, null),

wizard(11, true, Race.human, mage, null, 2, null),

sorceror(12, true, Race.human, wizard, null, 3, ClassType2.Wizard),

necromancer(13, true, Race.human, wizard, null, 3, ClassType2.Wizard),

warlock(14, true, Race.human, wizard, null, 3, ClassType2.Summoner),

cleric(15, true, Race.human, mage, null, 2, null),

bishop(16, true, Race.human, cleric, null, 3, ClassType2.Healer),

prophet(17, true, Race.human, cleric, null, 3, ClassType2.Enchanter),

 

elvenFighter(18, false, Race.elf, null, null, 1, null),

elvenKnight(19, false, Race.elf, elvenFighter, null, 2, null),

templeKnight(20, false, Race.elf, elvenKnight, null, 3, ClassType2.Knight),

swordSinger(21, false, Race.elf, elvenKnight, null, 3, ClassType2.Enchanter),

elvenScout(22, false, Race.elf, elvenFighter, null, 2, null),

plainsWalker(23, false, Race.elf, elvenScout, null, 3, ClassType2.Rogue),

silverRanger(24, false, Race.elf, elvenScout, null, 3, ClassType2.Rogue),

 

elvenMage(25, true, Race.elf, null, null, 1, null),

elvenWizard(26, true, Race.elf, elvenMage, null, 2, null),

spellsinger(27, true, Race.elf, elvenWizard, null, 3, ClassType2.Wizard),

elementalSummoner(28, true, Race.elf, elvenWizard, null, 3, ClassType2.Summoner),

oracle(29, true, Race.elf, elvenMage, null, 2, null),

elder(30, true, Race.elf, oracle, null, 3, ClassType2.Healer),

 

darkFighter(31, false, Race.darkelf, null, null, 1, null),

palusKnight(32, false, Race.darkelf, darkFighter, null, 2, null),

shillienKnight(33, false, Race.darkelf, palusKnight, null, 3, ClassType2.Knight),

bladedancer(34, false, Race.darkelf, palusKnight, null, 3, ClassType2.Enchanter),

assassin(35, false, Race.darkelf, darkFighter, null, 2, null),

abyssWalker(36, false, Race.darkelf, assassin, null, 3, ClassType2.Rogue),

phantomRanger(37, false, Race.darkelf, assassin, null, 3, ClassType2.Rogue),

 

darkMage(38, true, Race.darkelf, null, null, 1, null),

darkWizard(39, true, Race.darkelf, darkMage, null, 2, null),

spellhowler(40, true, Race.darkelf, darkWizard, null, 3, ClassType2.Wizard),

phantomSummoner(41, true, Race.darkelf, darkWizard, null, 3, ClassType2.Summoner),

shillienOracle(42, true, Race.darkelf, darkMage, null, 2, null),

shillienElder(43, true, Race.darkelf, shillienOracle, null, 3, ClassType2.Healer),

 

orcFighter(44, false, Race.orc, null, null, 1, null),

orcRaider(45, false, Race.orc, orcFighter, null, 2, null),

destroyer(46, false, Race.orc, orcRaider, null, 3, ClassType2.Warrior),

orcMonk(47, false, Race.orc, orcFighter, null, 2, null),

tyrant(48, false, Race.orc, orcMonk, null, 3, ClassType2.Warrior),

 

orcMage(49, true, Race.orc, null, null, 1, null),

orcShaman(50, true, Race.orc, orcMage, null, 2, null),

overlord(51, true, Race.orc, orcShaman, null, 3, ClassType2.Enchanter),

warcryer(52, true, Race.orc, orcShaman, null, 3, ClassType2.Enchanter),

 

dwarvenFighter(53, false, Race.dwarf, null, null, 1, null),

scavenger(54, false, Race.dwarf, dwarvenFighter, null, 2, null),

bountyHunter(55, false, Race.dwarf, scavenger, null, 3, ClassType2.Warrior),

artisan(56, false, Race.dwarf, dwarvenFighter, null, 2, null),

warsmith(57, false, Race.dwarf, artisan, null, 3, ClassType2.Warrior),

 

/*

* Dummy Entries (id's already in decimal format)

* btw FU NCSoft for the amount of work you put me

* through to do this!!

* <START>

*/

dummyEntry1(58, false, null, null, null, 0, null),

dummyEntry2(59, false, null, null, null, 0, null),

dummyEntry3(60, false, null, null, null, 0, null),

dummyEntry4(61, false, null, null, null, 0, null),

dummyEntry5(62, false, null, null, null, 0, null),

dummyEntry6(63, false, null, null, null, 0, null),

dummyEntry7(64, false, null, null, null, 0, null),

dummyEntry8(65, false, null, null, null, 0, null),

dummyEntry9(66, false, null, null, null, 0, null),

dummyEntry10(67, false, null, null, null, 0, null),

dummyEntry11(68, false, null, null, null, 0, null),

dummyEntry12(69, false, null, null, null, 0, null),

dummyEntry13(70, false, null, null, null, 0, null),

dummyEntry14(71, false, null, null, null, 0, null),

dummyEntry15(72, false, null, null, null, 0, null),

dummyEntry16(73, false, null, null, null, 0, null),

dummyEntry17(74, false, null, null, null, 0, null),

dummyEntry18(75, false, null, null, null, 0, null),

dummyEntry19(76, false, null, null, null, 0, null),

dummyEntry20(77, false, null, null, null, 0, null),

dummyEntry21(78, false, null, null, null, 0, null),

dummyEntry22(79, false, null, null, null, 0, null),

dummyEntry23(80, false, null, null, null, 0, null),

dummyEntry24(81, false, null, null, null, 0, null),

dummyEntry25(82, false, null, null, null, 0, null),

dummyEntry26(83, false, null, null, null, 0, null),

dummyEntry27(84, false, null, null, null, 0, null),

dummyEntry28(85, false, null, null, null, 0, null),

dummyEntry29(86, false, null, null, null, 0, null),

dummyEntry30(87, false, null, null, null, 0, null),

/*

* <END>

* Of Dummy entries

*/

 

duelist(88, false, Race.human, gladiator, null, 4, ClassType2.Warrior),

dreadnought(89, false, Race.human, warlord, null, 4, ClassType2.Warrior),

phoenixKnight(90, false, Race.human, paladin, null, 4, ClassType2.Knight),

hellKnight(91, false, Race.human, darkAvenger, null, 4, ClassType2.Knight),

sagittarius(92, false, Race.human, hawkeye, null, 4, ClassType2.Rogue),

adventurer(93, false, Race.human, treasureHunter, null, 4, ClassType2.Rogue),

archmage(94, true, Race.human, sorceror, null, 4, ClassType2.Wizard),

soultaker(95, true, Race.human, necromancer, null, 4, ClassType2.Wizard),

arcanaLord(96, true, Race.human, warlock, null, 4, ClassType2.Summoner),

cardinal(97, true, Race.human, bishop, null, 4, ClassType2.Healer),

hierophant(98, true, Race.human, prophet, null, 4, ClassType2.Enchanter),

 

evaTemplar(99, false, Race.elf, templeKnight, null, 4, ClassType2.Knight),

swordMuse(100, false, Race.elf, swordSinger, null, 4, ClassType2.Enchanter),

windRider(101, false, Race.elf, plainsWalker, null, 4, ClassType2.Rogue),

moonlightSentinel(102, false, Race.elf, silverRanger, null, 4, ClassType2.Rogue),

mysticMuse(103, true, Race.elf, spellsinger, null, 4, ClassType2.Wizard),

elementalMaster(104, true, Race.elf, elementalSummoner, null, 4, ClassType2.Summoner),

evaSaint(105, true, Race.elf, elder, null, 4, ClassType2.Healer),

 

shillienTemplar(106, false, Race.darkelf, shillienKnight, null, 4, ClassType2.Knight),

spectralDancer(107, false, Race.darkelf, bladedancer, null, 4, ClassType2.Enchanter),

ghostHunter(108, false, Race.darkelf, abyssWalker, null, 4, ClassType2.Rogue),

ghostSentinel(109, false, Race.darkelf, phantomRanger, null, 4, ClassType2.Rogue),

stormScreamer(110, true, Race.darkelf, spellhowler, null, 4, ClassType2.Wizard),

spectralMaster(111, true, Race.darkelf, phantomSummoner, null, 4, ClassType2.Summoner),

shillienSaint(112, true, Race.darkelf, shillienElder, null, 4, ClassType2.Healer),

 

titan(113, false, Race.orc, destroyer, null, 4, ClassType2.Warrior),

grandKhauatari(114, false, Race.orc, tyrant, null, 4, ClassType2.Warrior),

dominator(115, true, Race.orc, overlord, null, 4, ClassType2.Enchanter),

doomcryer(116, true, Race.orc, warcryer, null, 4, ClassType2.Enchanter),

 

fortuneSeeker(117, false, Race.dwarf, bountyHunter, null, 4, ClassType2.Warrior),

maestro(118, false, Race.dwarf, warsmith, null, 4, ClassType2.Warrior),

 

dummyEntry31(119, false, null, null, null, 0, null),

dummyEntry32(120, false, null, null, null, 0, null),

dummyEntry33(121, false, null, null, null, 0, null),

dummyEntry34(122, false, null, null, null, 0, null),

 

/**

* Kamael

*/

maleSoldier(123, false, Race.kamael, null, null, 1, null),

femaleSoldier(124, false, Race.kamael, null, null, 1, null),

trooper(125, false, Race.kamael, maleSoldier, null, 2, null),

warder(126, false, Race.kamael, femaleSoldier, null, 2, null),

berserker(127, false, Race.kamael, trooper, null, 3, ClassType2.Warrior),

maleSoulbreaker(128, false, Race.kamael, trooper, null, 3, ClassType2.Warrior),

femaleSoulbreaker(129, false, Race.kamael, warder, null, 3, ClassType2.Warrior),

arbalester(130, false, Race.kamael, warder, null, 3, ClassType2.Rogue),

doombringer(131, false, Race.kamael, berserker, null, 4, ClassType2.Warrior),

maleSoulhound(132, false, Race.kamael, maleSoulbreaker, null, 4, ClassType2.Warrior),

femaleSoulhound(133, false, Race.kamael, femaleSoulbreaker, null, 4, ClassType2.Warrior),

trickster(134, false, Race.kamael, arbalester, null, 4, ClassType2.Rogue),

inspector(135, false, Race.kamael, trooper, warder, 3, ClassType2.Enchanter),

judicator(136, false, Race.kamael, inspector, null, 4, ClassType2.Enchanter);

 

public static final ClassId[] VALUES = values();

 

/** The Identifier of the Class<?> */

private final int _id;

 

/** True if the class is a mage class */

private final boolean _isMage;

 

/** The Race object of the class */

private final Race _race;

 

/** The parent ClassId for male or null if this class is a root */

private final ClassId _parent;

 

/** The parent2 ClassId for female or null if parent2 class is parent */

private final ClassId _parent2;

 

private final ClassType2 _type2;

 

private final int _level;

 

/**

* Constructor<?> of ClassId.<BR><BR>

*/

private ClassId(int id, boolean isMage, Race race, ClassId parent, ClassId parent2, int level, ClassType2 classType2)

{

_id = id;

_isMage = isMage;

_race = race;

_parent = parent;

_parent2 = parent2;

_level = level;

_type2 = classType2;

}

 

/**

* Return the Identifier of the Class.<BR><BR>

*/

public final int getId()

{

return _id;

}

 

/**

* Return True if the class is a mage class.<BR><BR>

*/

public final boolean isMage()

{

return _isMage;

}

 

/**

* Return the Race object of the class.<BR><BR>

*/

public final Race getRace()

{

return _race;

}

 

/**

* Return True if this Class<?> is a child of the selected ClassId.<BR><BR>

*

* @param cid The parent ClassId to check

*/

public final boolean childOf(ClassId cid)

{

if(_parent == null)

return false;

 

if(_parent == cid || _parent2 == cid)

return true;

 

return _parent.childOf(cid);

 

}

 

/**

* Return True if this Class<?> is equal to the selected ClassId or a child of the selected ClassId.<BR><BR>

*

* @param cid The parent ClassId to check

*/

public final boolean equalsOrChildOf(ClassId cid)

{

return this == cid || childOf(cid);

}

 

/**

* Return the child level of this Class<?> (0=root, 1=child leve 1...).<BR><BR>

*

* @param cid The parent ClassId to check

*/

public final int level()

{

if(_parent == null)

return 0;

 

return 1 + _parent.level();

}

 

public final ClassId getParent(int sex)

{

return sex == 0 || _parent2 == null ? _parent : _parent2;

}

 

public final int getLevel()

{

return _level;

}

 

public ClassType2 getType2()

{

return _type2;

}

}

 

 

 

 

 

 

 

как сделать что бы росрешить брать все сабы всем

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

package l2ft.gameserver.model.base;

 

import static l2ft.gameserver.model.base.ClassLevel.First;

import static l2ft.gameserver.model.base.ClassLevel.Fourth;

import static l2ft.gameserver.model.base.ClassLevel.Second;

import static l2ft.gameserver.model.base.ClassLevel.Third;

import static l2ft.gameserver.model.base.ClassType.Fighter;

import static l2ft.gameserver.model.base.ClassType.Mystic;

import static l2ft.gameserver.model.base.ClassType.Priest;

import static l2ft.gameserver.model.base.Race.darkelf;

import static l2ft.gameserver.model.base.Race.dwarf;

import static l2ft.gameserver.model.base.Race.elf;

import static l2ft.gameserver.model.base.Race.human;

import static l2ft.gameserver.model.base.Race.kamael;

import static l2ft.gameserver.model.base.Race.orc;

 

import java.util.EnumMap;

import java.util.EnumSet;

import java.util.Set;

 

public enum PlayerClass

{

HumanFighter(human, Fighter, First), //0

Warrior(human, Fighter, Second), //1

Gladiator(human, Fighter, Third), //2

Warlord(human, Fighter, Third), //3

HumanKnight(human, Fighter, Second), //4

Paladin(human, Fighter, Third), //5

DarkAvenger(human, Fighter, Third), //6

Rogue(human, Fighter, Second), //7

TreasureHunter(human, Fighter, Third), //8

Hawkeye(human, Fighter, Third), //9

HumanMystic(human, Mystic, First), //10

HumanWizard(human, Mystic, Second), //11

Sorceror(human, Mystic, Third), //12

Necromancer(human, Mystic, Third), //13

Warlock(human, Mystic, Third), //14

Cleric(human, Priest, Second), //15

Bishop(human, Priest, Third), //16

Prophet(human, Priest, Third), //17

 

ElvenFighter(elf, Fighter, First), //18

ElvenKnight(elf, Fighter, Second), //19

TempleKnight(elf, Fighter, Third), //20

Swordsinger(elf, Fighter, Third), //21

ElvenScout(elf, Fighter, Second), //22

Plainswalker(elf, Fighter, Third), //23

SilverRanger(elf, Fighter, Third), //24

ElvenMystic(elf, Mystic, First), //25

ElvenWizard(elf, Mystic, Second), //26

Spellsinger(elf, Mystic, Third), //27

ElementalSummoner(elf, Mystic, Third), //28

ElvenOracle(elf, Priest, Second), //29

ElvenElder(elf, Priest, Third), //30

 

DarkElvenFighter(darkelf, Fighter, First), //31

PalusKnight(darkelf, Fighter, Second), //32

ShillienKnight(darkelf, Fighter, Third), //33

Bladedancer(darkelf, Fighter, Third), //34

Assassin(darkelf, Fighter, Second), //35

AbyssWalker(darkelf, Fighter, Third), //36

PhantomRanger(darkelf, Fighter, Third), //37

DarkElvenMystic(darkelf, Mystic, First), //38

DarkElvenWizard(darkelf, Mystic, Second), //39

Spellhowler(darkelf, Mystic, Third), //40

PhantomSummoner(darkelf, Mystic, Third), //41

ShillienOracle(darkelf, Priest, Second), //42

ShillienElder(darkelf, Priest, Third), //43

 

OrcFighter(orc, Fighter, First), //44

orcRaider(orc, Fighter, Second), //45

Destroyer(orc, Fighter, Third), //46

orcMonk(orc, Fighter, Second), //47

Tyrant(orc, Fighter, Third), //48

orcMystic(orc, Mystic, First), //49

orcShaman(orc, Mystic, Second), //50

Overlord(orc, Mystic, Third), //51

Warcryer(orc, Mystic, Third), //52

 

DwarvenFighter(dwarf, Fighter, First), //53

DwarvenScavenger(dwarf, Fighter, Second), //54

BountyHunter(dwarf, Fighter, Third), //55

DwarvenArtisan(dwarf, Fighter, Second), //56

Warsmith(dwarf, Fighter, Third), //57

 

DummyEntry1(null, null, null), //58

DummyEntry2(null, null, null), //59

DummyEntry3(null, null, null), //60

DummyEntry4(null, null, null), //61

DummyEntry5(null, null, null), //62

DummyEntry6(null, null, null), //63

DummyEntry7(null, null, null), //64

DummyEntry8(null, null, null), //65

DummyEntry9(null, null, null), //66

DummyEntry10(null, null, null), //67

DummyEntry11(null, null, null), //68

DummyEntry12(null, null, null), //69

DummyEntry13(null, null, null), //70

DummyEntry14(null, null, null), //71

DummyEntry15(null, null, null), //72

DummyEntry16(null, null, null), //73

DummyEntry17(null, null, null), //74

DummyEntry18(null, null, null), //75

DummyEntry19(null, null, null), //76

DummyEntry20(null, null, null), //77

DummyEntry21(null, null, null), //78

DummyEntry22(null, null, null), //79

DummyEntry23(null, null, null), //80

DummyEntry24(null, null, null), //81

DummyEntry25(null, null, null), //82

DummyEntry26(null, null, null), //83

DummyEntry27(null, null, null), //84

DummyEntry28(null, null, null), //85

DummyEntry29(null, null, null), //86

DummyEntry30(null, null, null), //87

 

Duelist(human, Fighter, Fourth), //88

Dreadnought(human, Fighter, Fourth), //89

PhoenixKnight(human, Fighter, Fourth), //90

HellKnight(human, Fighter, Fourth), //91

Sagittarius(human, Fighter, Fourth), //92

Adventurer(human, Fighter, Fourth), //93

Archmage(human, Mystic, Fourth), //94

Soultaker(human, Mystic, Fourth), //95

ArcanaLord(human, Mystic, Fourth), //96

Cardinal(human, Priest, Fourth), //97

Hierophant(human, Priest, Fourth), //98

 

EvaTemplar(elf, Fighter, Fourth), //99

SwordMuse(elf, Fighter, Fourth), //100

WindRider(elf, Fighter, Fourth), //101

MoonlightSentinel(elf, Fighter, Fourth), //102

MysticMuse(elf, Mystic, Fourth), //103

ElementalMaster(elf, Mystic, Fourth), //104

EvaSaint(elf, Priest, Fourth), //105

 

ShillienTemplar(darkelf, Fighter, Fourth), //106

SpectralDancer(darkelf, Fighter, Fourth), //107

GhostHunter(darkelf, Fighter, Fourth), //108

GhostSentinel(darkelf, Fighter, Fourth), //109

StormScreamer(darkelf, Mystic, Fourth), //110

SpectralMaster(darkelf, Mystic, Fourth), //111

ShillienSaint(darkelf, Priest, Fourth), //112

 

Titan(orc, Fighter, Fourth), //113

GrandKhauatari(orc, Fighter, Fourth), //114

Dominator(orc, Mystic, Fourth), //115

Doomcryer(orc, Mystic, Fourth), //116

 

FortuneSeeker(dwarf, Fighter, Fourth), //117

Maestro(dwarf, Fighter, Fourth), //118

 

DummyEntry31(null, null, null), //119

DummyEntry32(null, null, null), //120

DummyEntry33(null, null, null), //121

DummyEntry34(null, null, null), //122

 

/** Kamael */

MaleSoldier(kamael, Fighter, First), // 123

FemaleSoldier(kamael, Fighter, First), //124

Troopier(kamael, Fighter, Second), // 125

Warder(kamael, Fighter, Second), //126

Berserker(kamael, Fighter, Third), //127

MaleSoulbreaker(kamael, Fighter, Third), //128

FemaleSoulbreaker(kamael, Fighter, Third), //129

Arbalester(kamael, Fighter, Third), //130

 

/** kamael */

Doombringer(kamael, Fighter, Fourth), //131

MaleSoulHound(kamael, Fighter, Fourth), //132

FemaleSoulHound(kamael, Fighter, Fourth), //133

Trickster(kamael, Fighter, Fourth), //134

Inspector(kamael, Fighter, Third), //135

Judicator(kamael, Fighter, Fourth); //136

 

public static final PlayerClass[] VALUES = values();

 

private Race _race;

private ClassLevel _level;

private ClassType _type;

 

private static final Set<PlayerClass> mainSubclassSet;

private static final Set<PlayerClass> kamaelSubclassSet;

private static final Set<PlayerClass> neverSubclassed = EnumSet.of(Overlord, Warsmith);

 

private static final Set<PlayerClass> subclasseSet1 = EnumSet.of(DarkAvenger, Paladin, TempleKnight, ShillienKnight);

private static final Set<PlayerClass> subclasseSet2 = EnumSet.of(TreasureHunter, AbyssWalker, Plainswalker);

private static final Set<PlayerClass> subclasseSet3 = EnumSet.of(Hawkeye, SilverRanger, PhantomRanger);

private static final Set<PlayerClass> subclasseSet4 = EnumSet.of(Warlock, ElementalSummoner, PhantomSummoner);

private static final Set<PlayerClass> subclasseSet5 = EnumSet.of(Sorceror, Spellsinger, Spellhowler);

 

/** kamael SubClasses */

private static final Set<PlayerClass> subclasseSet6 = EnumSet.of(Inspector);

 

private static final EnumMap<PlayerClass, Set<PlayerClass>> subclassSetMap = new EnumMap<PlayerClass, Set<PlayerClass>>(PlayerClass.class);

 

static

{

kamaelSubclassSet = getSet(kamael, Third);

 

Set<PlayerClass> subclasses = getSet(null, Third);

subclasses.removeAll(neverSubclassed);

subclasses.removeAll(kamaelSubclassSet);

 

mainSubclassSet = subclasses;

 

subclassSetMap.put(DarkAvenger, subclasseSet1);

subclassSetMap.put(HellKnight, subclasseSet1);

subclassSetMap.put(Paladin, subclasseSet1);

subclassSetMap.put(PhoenixKnight, subclasseSet1);

subclassSetMap.put(TempleKnight, subclasseSet1);

subclassSetMap.put(EvaTemplar, subclasseSet1);

subclassSetMap.put(ShillienKnight, subclasseSet1);

subclassSetMap.put(ShillienTemplar, subclasseSet1);

 

subclassSetMap.put(TreasureHunter, subclasseSet2);

subclassSetMap.put(Adventurer, subclasseSet2);

subclassSetMap.put(AbyssWalker, subclasseSet2);

subclassSetMap.put(GhostHunter, subclasseSet2);

subclassSetMap.put(Plainswalker, subclasseSet2);

subclassSetMap.put(WindRider, subclasseSet2);

 

subclassSetMap.put(Hawkeye, subclasseSet3);

subclassSetMap.put(Sagittarius, subclasseSet3);

subclassSetMap.put(SilverRanger, subclasseSet3);

subclassSetMap.put(MoonlightSentinel, subclasseSet3);

subclassSetMap.put(PhantomRanger, subclasseSet3);

subclassSetMap.put(GhostSentinel, subclasseSet3);

 

subclassSetMap.put(Warlock, subclasseSet4);

subclassSetMap.put(ArcanaLord, subclasseSet4);

subclassSetMap.put(ElementalSummoner, subclasseSet4);

subclassSetMap.put(ElementalMaster, subclasseSet4);

subclassSetMap.put(PhantomSummoner, subclasseSet4);

subclassSetMap.put(SpectralMaster, subclasseSet4);

 

subclassSetMap.put(Sorceror, subclasseSet5);

subclassSetMap.put(Archmage, subclasseSet5);

subclassSetMap.put(Spellsinger, subclasseSet5);

subclassSetMap.put(MysticMuse, subclasseSet5);

subclassSetMap.put(Spellhowler, subclasseSet5);

subclassSetMap.put(StormScreamer, subclasseSet5);

 

subclassSetMap.put(Doombringer, subclasseSet6);

subclassSetMap.put(MaleSoulHound, subclasseSet6);

subclassSetMap.put(FemaleSoulHound, subclasseSet6);

subclassSetMap.put(Trickster, subclasseSet6);

 

subclassSetMap.put(Duelist, EnumSet.of(Gladiator));

subclassSetMap.put(Dreadnought, EnumSet.of(Warlord));

subclassSetMap.put(Soultaker, EnumSet.of(Necromancer));

subclassSetMap.put(Cardinal, EnumSet.of(Bishop));

subclassSetMap.put(Hierophant, EnumSet.of(Prophet));

subclassSetMap.put(SwordMuse, EnumSet.of(Swordsinger));

subclassSetMap.put(EvaSaint, EnumSet.of(ElvenElder));

subclassSetMap.put(SpectralDancer, EnumSet.of(Bladedancer));

subclassSetMap.put(Titan, EnumSet.of(Destroyer));

subclassSetMap.put(GrandKhauatari, EnumSet.of(Tyrant));

subclassSetMap.put(Dominator, EnumSet.of(Overlord));

subclassSetMap.put(Doomcryer, EnumSet.of(Warcryer));

}

 

PlayerClass(Race race, ClassType type, ClassLevel level)

{

_race = race;

_level = level;

_type = type;

}

 

public final Set<PlayerClass> getAvailableSubclasses()

{

if(_race == Race.kamael)

return EnumSet.copyOf(kamaelSubclassSet);

 

Set<PlayerClass> subclasses = null;

 

if(_level == Third || _level == Fourth)

{

subclasses = EnumSet.copyOf(mainSubclassSet);

 

subclasses.removeAll(neverSubclassed);

subclasses.remove(this);

 

switch(_race)

{

case elf:

subclasses.removeAll(getSet(darkelf, Third));

break;

case darkelf:

subclasses.removeAll(getSet(elf, Third));

break;

}

 

Set<PlayerClass> unavailableClasses = subclassSetMap.get(this);

 

if(unavailableClasses != null)

subclasses.removeAll(unavailableClasses);

}

 

return subclasses;

}

 

public static EnumSet<PlayerClass> getSet(Race race, ClassLevel level)

{

EnumSet<PlayerClass> allOf = EnumSet.noneOf(PlayerClass.class);

 

for(PlayerClass playerClass : EnumSet.allOf(PlayerClass.class))

if(race == null || playerClass.isOfRace(race))

if(level == null || playerClass.isOfLevel(level))

allOf.add(playerClass);

 

return allOf;

}

 

public final boolean isOfRace(Race race)

{

return _race == race;

}

 

public final boolean isOfType(ClassType type)

{

return _type == type;

}

 

public final boolean isOfLevel(ClassLevel level)

{

return _level == level;

}

 

/**

* Проверяет принципиальную совместимость двух сабов.

*/

public static boolean areClassesComportable(PlayerClass c1, PlayerClass c2)

{

if(c1.isOfRace(Race.kamael) != c2.isOfRace(Race.kamael))

return false; // камаэли только с камаэлями

if(c1.isOfRace(Race.elf) && c2.isOfRace(Race.darkelf) || c1.isOfRace(Race.darkelf) && c2.isOfRace(Race.elf))

return false; // эльфы несовместимы с темными

if(c1 == PlayerClass.Overlord || c1 == PlayerClass.Warsmith || c2 == PlayerClass.Overlord || c2 == PlayerClass.Warsmith)

return false; // эти вообще

if(subclassSetMap.get(c1) == subclassSetMap.get(c2))

return false; // однотипные

return true;

}

}

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

/**

* Проверяет принципиальную совместимость двух сабов.

*/

public static boolean areClassesComportable(PlayerClass c1, PlayerClass c2)

{

if(c1.isOfRace(Race.kamael) != c2.isOfRace(Race.kamael))

return false; // камаэли только с камаэлями

if(c1.isOfRace(Race.elf) && c2.isOfRace(Race.darkelf) || c1.isOfRace(Race.darkelf) && c2.isOfRace(Race.elf))

return false; // эльфы несовместимы с темными

if(c1 == PlayerClass.Overlord || c1 == PlayerClass.Warsmith || c2 == PlayerClass.Overlord || c2 == PlayerClass.Warsmith)

return false; // эти вообще

if(subclassSetMap.get(c1) == subclassSetMap.get(c2))

return false; // однотипные

return true;

}

} как сделать

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация  

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...