show(append, player);
}
public void separate(String[] param)
{
L2Player player = (L2Player) getSelf();
if(player == null)
{
return;
}
if(player.isHero())
{
show("Not available for heroes.", player);
return;
}
if(player.getSubClasses().size() == 1)
{
show("You must have at least 1 subclass.", player);
return;
}
if(!player.getActiveClass().isBase())
{
show("You must be at main class.", player);
return;
}
if(player.getActiveClass().getLevel() < 75)
{
show("You must have at least 75 level.", player);
return;
}
if(param.length < 2)
{
show("You must specify target.", player);
return;
}
if(getItemCount(player, Config.SERVICES_SEPARATE_SUB_ITEM) < Config.SERVICES_SEPARATE_SUB_PRICE)
{
if(Config.SERVICES_SEPARATE_SUB_ITEM == 57)
{
player.sendPacket(Msg.YOU_DO_NOT_HAVE_ENOUGH_ADENA);
}
else
{
player.sendPacket(Msg.INCORRECT_ITEM_COUNT);
}
return;
}
int classtomove = Integer.parseInt(param[0]);
int newcharid = 0;
for(Entry<Integer, String> e : player.getAccountChars().entrySet())
{
if(e.getValue().equalsIgnoreCase(param[1]))
{
newcharid = e.getKey();
}
}
if(newcharid == 0)
{
show("Target not exists.", player);
return;
}
if(mysql.simple_get_int("level", "character_subclasses", "char_obj_id=" + newcharid + " AND level > 1") > 1)
{
show("Target must have level 1.", player);
return;
}
mysql.set("DELETE FROM character_subclasses WHERE char_obj_id=" + newcharid);
mysql.set("DELETE FROM character_skills WHERE char_obj_id=" + newcharid);
mysql.set("DELETE FROM character_skills_save WHERE char_obj_id=" + newcharid);
mysql.set("DELETE FROM character_effects_save WHERE char_obj_id=" + newcharid);
mysql.set("DELETE FROM character_hennas WHERE char_obj_id=" + newcharid);
mysql.set("DELETE FROM character_shortcuts WHERE char_obj_id=" + newcharid);
mysql.set("DELETE FROM character_variables WHERE obj_id=" + newcharid);
mysql.set("UPDATE character_subclasses SET char_obj_id=" + newcharid + ", isBase=1, skills='' WHERE char_obj_id=" + player.getObjectId() + " AND class_id=" + classtomove);
mysql.set("UPDATE character_skills SET char_obj_id=" + newcharid + " WHERE char_obj_id=" + player.getObjectId() + " AND class_index=" + classtomove);
mysql.set("UPDATE character_skills_save SET char_obj_id=" + newcharid + " WHERE char_obj_id=" + player.getObjectId() + " AND class_index=" + classtomove);
mysql.set("UPDATE character_effects_save SET char_obj_id=" + newcharid + " WHERE char_obj_id=" + player.getObjectId() + " AND class_index=" + classtomove);
mysql.set("UPDATE character_hennas SET char_obj_id=" + newcharid + " WHERE char_obj_id=" + player.getObjectId() + " AND class_index=" + classtomove);
mysql.set("UPDATE character_shortcuts SET char_obj_id=" + newcharid + " WHERE char_obj_id=" + player.getObjectId() + " AND class_index=" + classtomove);
mysql.set("UPDATE character_variables SET obj_id=" + newcharid + " WHERE obj_id=" + player.getObjectId() + " AND name like 'TransferSkills%'");
player.modifySubClass(classtomove, 0);
removeItem(player, Config.SERVICES_CHANGE_BASE_ITEM, Config.SERVICES_CHANGE_BASE_PRICE);
player.logout(false, false, false, true);
//Log.add("Character " + player + " base changed to " + target, "services");
}