bool NewPlayerTable2(TPlayerTable * table, const char * name, BYTE race, BYTE shape, BYTE bEmpire)
bool NewPlayerTable2(TPlayerTable * table, const char * name, BYTE race, BYTE shape, BYTE bEmpire)
{
if (race >= MAIN_RACE_MAX_NUM)
{
sys_err("NewPlayerTable2.OUT_OF_RACE_RANGE(%d >= max(%d))\n", race, MAIN_RACE_MAX_NUM);
return false;
}
unsigned job;
if (!RaceToJob(race, &job))
{
sys_err("NewPlayerTable2.RACE_TO_JOB_ERROR(%d)\n", race);
return false...
/usr/game/share/locale/turkey/quest/object/notarget/login
pc . give_exp2 ( 820600 )
pc . give_exp2 ( 19599000 )
pc . give_exp2 ( 3145000 )
pc . give_exp2 ( 19599000 )
pc . give_exp2 ( 25000000 )
pc . give_exp2 ( 25000000 )
pc . give_exp2 ( 25000000 )
pc . give_exp2 ( 19599000 )
pc . give_exp2 ( 25000000 )
pc . give_exp2 ( 25000000 )
pc . give_exp2 ( 25000000 )
pc . give_exp2 ( 25000000 )
pc . give_exp2 ( 25000000 )
pc . give_exp2 ( 11000000 )
pc . give_exp2 ( 25000000 )
pc . give_exp2 ( 25000000 )
pc . give_exp2 ( 25000000 )
pc . give_exp2 ( 25000000 )
pc . give_exp2 ( 19599000 )
pc . give_exp2 ( 25000000 )
pc . give_exp2 ( 25000000 )
pc . give_exp2 ( 25000000 )
pc . give_exp2 ( 25000000 )
pc . give_exp2 ( 25000000 )
pc . give_exp2 ( 11000000 )
pc . give_exp2 ( 25000000 )
pc . give_exp2 ( 25000000 )
pc . give_exp2 ( 25000000 )
pc . give_exp2 ( 25000000 )
pc . give_exp2 ( 25000000 )
pc . give_exp2 ( 25000000 )
pc . give_exp2 ( 25000000 )
pc . give_exp2 ( 25000000 )
pc . give_exp2 ( 25000000 )
pc . give_exp2 ( 25000000 )
pc . give_exp2 ( 25000000 )
pc . give_exp2 ( 25000000 )
pc . give_exp2 ( 25000000 )
pc . give_exp2 ( 25000000 )
pc . give_exp2 ( 25000000 )
pc . give_exp2 ( 25000000 )
pc . give_exp2 ( 25000000 )
pc . give_exp2 ( 25000000 )
pc . give_exp2 ( 27000000 )
pc . give_exp2 ( 25000000 )
pc . give_exp2 ( 25000000 )
pc . give_exp2 ( 25000000 )
pc . give_exp2 ( 25000000 )
pc . give_exp2 ( 25000000 )
pc . give_exp2 ( 25000000 )
pc . give_exp2 ( 25000000 )
pc . give_exp2 ( 25000000 )
pc . give_exp2 ( 25000000 )
pc . give_exp2 ( 25000000 )
pc . give_exp2 ( 25000000 )
pc . give_exp2 ( 300000000 )
pc . give_exp2 ( 300000000 )
pc . give_exp2 ( 300000000 )
pc . give_exp2 ( 300000000 )
pc . give_exp2 ( 300000000 )
pc . give_exp2 ( 300000000 )
pc . give_exp2 ( 300000000 )
pc . give_exp2 ( 300000000 )
pc . give_exp2 ( 300000000 )
pc . give_exp2 ( 300000000 )
pc . give_exp2 ( 300000000 )
pc . give_exp2 ( 300000000 )
pc . give_exp2 ( 300000000 )
pc . give_exp2 ( 300000000 )
pc . give_exp2 ( 300000000 )
pc . give_exp2 ( 300000000 )
pc . give_exp2 ( 300000000 )
pc . give_exp2 ( 300000000 )
pc . give_exp2 ( 300000000 )
pc . give_exp2 ( 300000000 )
pc . give_exp2 ( 300000000 )
pc . give_exp2 ( 300000000 )
pc . give_exp2 ( 300000000 )
pc . give_exp2 ( 300000000 )
pc . give_exp2 ( 300000000 )
pc . give_exp2 ( 300000000 )
pc . give_exp2 ( 300000000 )
pc . give_exp2 ( 300000000 )
pc . give_exp2 ( 300000000 )
pc . give_exp2 ( 300000000 )
pc . give_exp2 ( 300000000 )
pc . give_exp2 ( 300000000 )
pc . give_exp2 ( 300000000 )
pc . give_exp2 ( 300000000 )
pc . give_exp2 ( 300000000 )
pc . give_exp2 ( 300000000 )
pc . give_exp2 ( 300000000 )
pc . give_exp2 ( 300000000 )
pc . give_exp2 ( 300000000 )
pc . give_exp2 ( 300000000 )
pc . give_exp2 ( 300000000 )
pc . give_exp2 ( 300000000 )
bool NewPlayerTable2(TPlayerTable * table, const char * name, BYTE race, BYTE shape, BYTE bEmpire)
bool NewPlayerTable2(TPlayerTable * table, const char * name, BYTE race, BYTE shape, BYTE bEmpire)
{
if (race >= MAIN_RACE_MAX_NUM)
{
sys_err("NewPlayerTable2.OUT_OF_RACE_RANGE(%d >= max(%d))\n", race, MAIN_RACE_MAX_NUM);
return false;
}
unsigned job;
if (!RaceToJob(race, &job))
{
sys_err("NewPlayerTable2.RACE_TO_JOB_ERROR(%d)\n", race);
return false;
}
sys_log(0, "NewPlayerTable2(name=%s, race=%d, job=%d)", name, race, job);
memset(table, 0, sizeof(TPlayerTable));
strlcpy(table->name, name, sizeof(table->name));
table->level = 1;
table->job = race; // 직업대신 종족을 넣는다
table->voice = 0;
table->part_base = shape;
table->st = JobInitialPoints[job].st;
table->dx = JobInitialPoints[job].dx;
table->ht = JobInitialPoints[job].ht;
table->iq = JobInitialPoints[job].iq;
table->hp = JobInitialPoints[job].max_hp + table->ht * JobInitialPoints[job].hp_per_ht;
table->sp = JobInitialPoints[job].max_sp + table->iq * JobInitialPoints[job].sp_per_iq;
table->stamina = JobInitialPoints[job].max_stamina;
table->x = CREATE_START_X(bEmpire) + number(-300, 300);
table->y = CREATE_START_Y(bEmpire) + number(-300, 300);
table->z = 0;
table->dir = 0;
table->playtime = 0;
table->gold = 0;
table->skill_group = 0;
return true;
}
table->level = 30;
if (china_event_server)
{
table->level = 35;
for (int i = 1; i < 35; ++i)
{
int iHP = number(JobInitialPoints[job].hp_per_lv_begin, JobInitialPoints[job].hp_per_lv_end);
int iSP = number(JobInitialPoints[job].sp_per_lv_begin, JobInitialPoints[job].sp_per_lv_end);
table->sRandomHP += iHP;
table->sRandomSP += iSP;
table->stat_point += 3;
}
table->hp += table->sRandomHP;
table->sp += table->sRandomSP;
table->gold = 1000000;
}
table->level = 30;
for (int i = 1; i < 30; ++i)
{
int iHP = number(JobInitialPoints[job].hp_per_lv_begin, JobInitialPoints[job].hp_per_lv_end);
int iSP = number(JobInitialPoints[job].sp_per_lv_begin, JobInitialPoints[job].sp_per_lv_end);
table->sRandomHP += iHP;
table->sRandomSP += iSP;
table->stat_point += 3;
}
table->hp += table->sRandomHP;
table->sp += table->sRandomSP;
table->level = 30;
for (int i = 1; i < 30; ++i)
{
int iHP = number(JobInitialPoints[job].hp_per_lv_begin, JobInitialPoints[job].hp_per_lv_end);
int iSP = number(JobInitialPoints[job].sp_per_lv_begin, JobInitialPoints[job].sp_per_lv_end);
table->sRandomHP += iHP;
table->sRandomSP += iSP;
table->stat_point += 3;
}
table->hp += table->sRandomHP;
table->sp += table->sRandomSP;