45 lines
1.3 KiB
Java
45 lines
1.3 KiB
Java
package client.creator;
|
|
|
|
import client.inventory.Item;
|
|
import constants.id.ItemId;
|
|
import constants.id.MapId;
|
|
import database.character.CharacterRepository;
|
|
|
|
public class CharacterCreator {
|
|
private final CharacterRepository chrRepository;
|
|
|
|
public CharacterCreator(CharacterRepository chrRepository) {
|
|
this.chrRepository = chrRepository;
|
|
}
|
|
|
|
public boolean createNew(NewCharacterSpec spec, int accountId, int worldId) {
|
|
int mapId = getStartingMap(spec.type());
|
|
Item guide = getStarterGuide(spec.type());
|
|
// TODO, save:
|
|
// - character
|
|
// - skills
|
|
// - equips
|
|
// - starter item
|
|
// - keymap
|
|
// - quickslots
|
|
return false;
|
|
}
|
|
|
|
private int getStartingMap(JobType type) {
|
|
return switch (type) {
|
|
case ADVENTURER -> MapId.MUSHROOM_TOWN;
|
|
case KNIGHT_OF_CYGNUS -> MapId.ARAN_TUTORIAL_START;
|
|
case ARAN -> MapId.STARTING_MAP_NOBLESSE;
|
|
};
|
|
}
|
|
|
|
private Item getStarterGuide(JobType type) {
|
|
int itemId = switch (type) {
|
|
case ADVENTURER -> ItemId.BEGINNERS_GUIDE;
|
|
case KNIGHT_OF_CYGNUS -> ItemId.NOBLESSE_GUIDE;
|
|
case ARAN -> ItemId.LEGENDS_GUIDE;
|
|
};
|
|
return new Item(itemId, (short) 0, (short) 1);
|
|
}
|
|
}
|