diff options
Diffstat (limited to 'src/map')
-rw-r--r-- | src/map/chrif.c | 2 | ||||
-rw-r--r-- | src/map/clif.c | 2 | ||||
-rw-r--r-- | src/map/pc.c | 2 |
3 files changed, 4 insertions, 2 deletions
diff --git a/src/map/chrif.c b/src/map/chrif.c index 185fe307d..a04c483d5 100644 --- a/src/map/chrif.c +++ b/src/map/chrif.c @@ -112,6 +112,8 @@ int chrif_save(struct map_session_data *sd) memcpy(WFIFOP(char_fd,12), &sd->status, sizeof(sd->status)); WFIFOSET(char_fd, WFIFOW(char_fd,2)); + storage_storage_save(sd); // to synchronise storage with character [Yor] + return 0; } diff --git a/src/map/clif.c b/src/map/clif.c index 678a3f716..1d4a7a437 100644 --- a/src/map/clif.c +++ b/src/map/clif.c @@ -7955,7 +7955,7 @@ void clif_parse_GlobalMessage(int fd, struct map_session_data *sd) { // S 008c < // Celest 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) { + if (next > 0 && (sd->status.base_exp*100/next)%10 == 0) { estr_lower((char*)RFIFOP(fd,4)); if (sd->state.snovice_flag == 0 && strstr((char*)RFIFOP(fd,4), msg_txt(540))) sd->state.snovice_flag = 1; diff --git a/src/map/pc.c b/src/map/pc.c index 512a097ed..0734c0630 100644 --- a/src/map/pc.c +++ b/src/map/pc.c @@ -4518,7 +4518,7 @@ int pc_damage(struct block_list *src,struct map_session_data *sd,int damage) if (s_class.job == 23) { if ((i=pc_nextbaseexp(sd))<=0) i=sd->status.base_exp; - if ((j=sd->status.base_exp*1000/i)>=990 && j<=1000) + if (i>0 && (j=sd->status.base_exp*1000/i)>=990 && j<=1000) sd->state.snovice_flag = 4; } |