Small optimization on change sex (#8281)
This commit is contained in:
@@ -91,7 +91,7 @@ void chlogif_pincode_start(int fd, struct char_session_data* sd){
|
||||
* @param tick : Scheduled tick
|
||||
* @param id : GID linked to that timered call
|
||||
* @param data : data transmited for delayed function
|
||||
* @return
|
||||
* @return
|
||||
*/
|
||||
TIMER_FUNC(chlogif_send_acc_tologin){
|
||||
if ( chlogif_isconnected() ){
|
||||
@@ -391,27 +391,70 @@ int chlogif_parse_keepalive(int fd){
|
||||
*/
|
||||
void chlogif_parse_change_sex_sub(int sex, int acc, int char_id, int class_, int guild_id)
|
||||
{
|
||||
// job modification //@TODO switch would be faster
|
||||
if (class_ == JOB_BARD || class_ == JOB_DANCER)
|
||||
class_ = (sex == SEX_MALE ? JOB_BARD : JOB_DANCER);
|
||||
else if (class_ == JOB_CLOWN || class_ == JOB_GYPSY)
|
||||
class_ = (sex == SEX_MALE ? JOB_CLOWN : JOB_GYPSY);
|
||||
else if (class_ == JOB_BABY_BARD || class_ == JOB_BABY_DANCER)
|
||||
class_ = (sex == SEX_MALE ? JOB_BABY_BARD : JOB_BABY_DANCER);
|
||||
else if (class_ == JOB_MINSTREL || class_ == JOB_WANDERER)
|
||||
class_ = (sex == SEX_MALE ? JOB_MINSTREL : JOB_WANDERER);
|
||||
else if (class_ == JOB_MINSTREL_T || class_ == JOB_WANDERER_T)
|
||||
class_ = (sex == SEX_MALE ? JOB_MINSTREL_T : JOB_WANDERER_T);
|
||||
else if (class_ == JOB_BABY_MINSTREL || class_ == JOB_BABY_WANDERER)
|
||||
class_ = (sex == SEX_MALE ? JOB_BABY_MINSTREL : JOB_BABY_WANDERER);
|
||||
else if (class_ == JOB_KAGEROU || class_ == JOB_OBORO)
|
||||
class_ = (sex == SEX_MALE ? JOB_KAGEROU : JOB_OBORO);
|
||||
else if (class_ == JOB_BABY_KAGEROU || class_ == JOB_BABY_OBORO)
|
||||
class_ = (sex == SEX_MALE ? JOB_BABY_KAGEROU : JOB_BABY_OBORO);
|
||||
else if (class_ == JOB_TROUBADOUR || class_ == JOB_TROUVERE)
|
||||
class_ = (sex == SEX_MALE ? JOB_TROUBADOUR : JOB_TROUVERE);
|
||||
else if (class_ == JOB_SHINKIRO || class_ == JOB_SHIRANUI)
|
||||
class_ = (sex == SEX_MALE ? JOB_SHINKIRO : JOB_SHIRANUI);
|
||||
// job modification
|
||||
switch (class_)
|
||||
{
|
||||
case JOB_BARD:
|
||||
class_ = JOB_DANCER;
|
||||
break;
|
||||
case JOB_DANCER:
|
||||
class_ = JOB_BARD;
|
||||
break;
|
||||
case JOB_CLOWN:
|
||||
class_ = JOB_GYPSY;
|
||||
break;
|
||||
case JOB_GYPSY:
|
||||
class_ = JOB_CLOWN;
|
||||
break;
|
||||
case JOB_BABY_BARD:
|
||||
class_ = JOB_BABY_DANCER;
|
||||
break;
|
||||
case JOB_BABY_DANCER:
|
||||
class_ = JOB_BABY_BARD;
|
||||
break;
|
||||
case JOB_MINSTREL:
|
||||
class_ = JOB_WANDERER;
|
||||
break;
|
||||
case JOB_WANDERER:
|
||||
class_ = JOB_MINSTREL;
|
||||
break;
|
||||
case JOB_MINSTREL_T:
|
||||
class_ = JOB_WANDERER_T;
|
||||
break;
|
||||
case JOB_WANDERER_T:
|
||||
class_ = JOB_MINSTREL_T;
|
||||
break;
|
||||
case JOB_BABY_MINSTREL:
|
||||
class_ = JOB_BABY_WANDERER;
|
||||
break;
|
||||
case JOB_BABY_WANDERER:
|
||||
class_ = JOB_BABY_MINSTREL;
|
||||
break;
|
||||
case JOB_KAGEROU:
|
||||
class_ = JOB_OBORO;
|
||||
break;
|
||||
case JOB_OBORO:
|
||||
class_ = JOB_KAGEROU;
|
||||
break;
|
||||
case JOB_BABY_KAGEROU:
|
||||
class_ = JOB_BABY_OBORO;
|
||||
break;
|
||||
case JOB_BABY_OBORO:
|
||||
class_ = JOB_BABY_KAGEROU;
|
||||
break;
|
||||
case JOB_TROUBADOUR:
|
||||
class_ = JOB_TROUVERE;
|
||||
break;
|
||||
case JOB_TROUVERE:
|
||||
class_ = JOB_TROUBADOUR;
|
||||
break;
|
||||
case JOB_SHINKIRO:
|
||||
class_ = JOB_SHIRANUI;
|
||||
break;
|
||||
case JOB_SHIRANUI:
|
||||
class_ = JOB_SHINKIRO;
|
||||
break;
|
||||
}
|
||||
|
||||
if (SQL_ERROR == Sql_Query(sql_handle, "UPDATE `%s` SET `equip` = '0' WHERE `char_id` = '%d'", schema_config.inventory_db, char_id))
|
||||
Sql_ShowDebug(sql_handle);
|
||||
|
||||
Reference in New Issue
Block a user