summaryrefslogtreecommitdiff
path: root/src/map/clif.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/clif.c')
-rw-r--r--src/map/clif.c22
1 files changed, 22 insertions, 0 deletions
diff --git a/src/map/clif.c b/src/map/clif.c
index 54fd7d9a9..716eb28ac 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -7728,6 +7728,28 @@ void clif_parse_GlobalMessage(int fd, struct map_session_data *sd) { // S 008c <
WFIFOW(fd,0) = 0x8e;
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(message) free(message);
if(buf) free(buf);