|
@@ -7729,24 +7729,27 @@ void clif_parse_GlobalMessage(int fd, struct map_session_data *sd) { // S 008c <
|
|
|
WFIFOSET(fd, WFIFOW(fd,2));
|
|
|
|
|
|
// Celest
|
|
|
- if (pc_calc_base_job2 (sd->status.class) == 23 && (sd->status.base_exp*100/pc_nextbaseexp(sd))%10 == 0) {
|
|
|
- estr_lower(RFIFOP(fd,4));
|
|
|
- if (sd->state.snovice_flag == 0 && strstr(RFIFOP(fd,4), "guardian angel, can you hear my voice? ^^;"))
|
|
|
- sd->state.snovice_flag = 1;
|
|
|
- else if (sd->state.snovice_flag == 1) {
|
|
|
- sprintf(message, "my name is %s, and i'm a super novice~", sd->status.name);
|
|
|
- estr_lower(message);
|
|
|
- if (strstr(RFIFOP(fd,4), message))
|
|
|
- sd->state.snovice_flag = 2;
|
|
|
- }
|
|
|
- else if (sd->state.snovice_flag == 2 && strstr(RFIFOP(fd,4), "please help me~ t.t"))
|
|
|
- sd->state.snovice_flag = 3;
|
|
|
- else if (sd->state.snovice_flag == 3) {
|
|
|
- int i;
|
|
|
- skill_status_change_start(&sd->bl,SkillStatusChangeTable[MO_EXPLOSIONSPIRITS],1,0,0,0,skill_get_time(MO_EXPLOSIONSPIRITS,1),0 );
|
|
|
- for(i=0;i<5;i++)
|
|
|
- pc_addspiritball(sd,skill_get_time(MO_CALLSPIRITS,1),5);
|
|
|
- sd->state.snovice_flag = 0;
|
|
|
+ if (pc_calc_base_job2 (sd->status.class) == 23 ) {
|
|
|
+ int next = pc_nextbaseexp(sd)>0 ? pc_nextbaseexp(sd) : sd->status.base_exp;
|
|
|
+ if ((sd->status.base_exp*100/next)%10 == 0) {
|
|
|
+ estr_lower(RFIFOP(fd,4));
|
|
|
+ if (sd->state.snovice_flag == 0 && strstr(RFIFOP(fd,4), "guardian angel, can you hear my voice? ^^;"))
|
|
|
+ sd->state.snovice_flag = 1;
|
|
|
+ else if (sd->state.snovice_flag == 1) {
|
|
|
+ sprintf(message, "my name is %s, and i'm a super novice~", sd->status.name);
|
|
|
+ estr_lower(message);
|
|
|
+ if (strstr(RFIFOP(fd,4), message))
|
|
|
+ sd->state.snovice_flag = 2;
|
|
|
+ }
|
|
|
+ else if (sd->state.snovice_flag == 2 && strstr(RFIFOP(fd,4), "please help me~ t.t"))
|
|
|
+ sd->state.snovice_flag = 3;
|
|
|
+ else if (sd->state.snovice_flag == 3) {
|
|
|
+ int i;
|
|
|
+ skill_status_change_start(&sd->bl,SkillStatusChangeTable[MO_EXPLOSIONSPIRITS],1,0,0,0,skill_get_time(MO_EXPLOSIONSPIRITS,1),0 );
|
|
|
+ for(i=0;i<5;i++)
|
|
|
+ pc_addspiritball(sd,skill_get_time(MO_CALLSPIRITS,1),5);
|
|
|
+ sd->state.snovice_flag = 0;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|