diff options
-rw-r--r-- | conf/battle/client.conf | 2 | ||||
-rw-r--r-- | src/char/int_guild.c | 4 | ||||
-rw-r--r-- | src/map/atcommand.c | 2 | ||||
-rw-r--r-- | src/map/npc.c | 2 | ||||
-rw-r--r-- | src/map/skill.c | 4 | ||||
-rw-r--r-- | src/map/unit.c | 2 |
6 files changed, 9 insertions, 7 deletions
diff --git a/conf/battle/client.conf b/conf/battle/client.conf index 9107c8b2d..0522e9425 100644 --- a/conf/battle/client.conf +++ b/conf/battle/client.conf @@ -118,7 +118,7 @@ display_status_timers: yes // Randomizes the dice emoticon server-side, to prevent clients from forging // packets for the desired number. (Note 1) -client_reshuffle_dice: no +client_reshuffle_dice: yes // Sorts the character and guild storage before it is sent to the client. // Official servers do not sort storage. (Note 1) diff --git a/src/char/int_guild.c b/src/char/int_guild.c index 661d57c1f..0966d2344 100644 --- a/src/char/int_guild.c +++ b/src/char/int_guild.c @@ -245,7 +245,7 @@ int inter_guild_tosql(struct guild *g,int flag) m->hair, m->hair_color, m->gender, m->class_, m->lv, m->exp, m->exp_payper, m->online, m->position, esc_name) ) Sql_ShowDebug(sql_handle); - if (m->modified & GS_MEMBER_NEW) + if (m->modified&GS_MEMBER_NEW || new_guild == 1) { if( SQL_ERROR == Sql_Query(sql_handle, "UPDATE `%s` SET `guild_id` = '%d' WHERE `char_id` = '%d'", char_db, g->guild_id, m->char_id) ) @@ -1185,7 +1185,7 @@ int mapif_parse_CreateGuild(int fd,int account_id,char *name,struct guild_member g->guild_id= -1; //Request to create guild. // Create the guild - if (!inter_guild_tosql(g,GS_BASIC|GS_POSITION|GS_SKILL)) { + if (!inter_guild_tosql(g,GS_BASIC|GS_POSITION|GS_SKILL|GS_MEMBER)) { //Failed to Create guild.... ShowError("Failed to create Guild %s (Guild Master: %s)\n", g->name, g->master); mapif_guild_created(fd,account_id,NULL); diff --git a/src/map/atcommand.c b/src/map/atcommand.c index 2a57c0ccb..c8a9a62c5 100644 --- a/src/map/atcommand.c +++ b/src/map/atcommand.c @@ -7570,7 +7570,7 @@ ACMD_FUNC(mapflag) { clif_displaymessage(sd->fd,atcmd_output);\ return 0;\ } - char flag_name[100]; + unsigned char flag_name[100]; int flag=0,i; nullpo_retr(-1, sd); memset(flag_name, '\0', sizeof(flag_name)); diff --git a/src/map/npc.c b/src/map/npc.c index c3af52607..c11770a1e 100644 --- a/src/map/npc.c +++ b/src/map/npc.c @@ -830,6 +830,8 @@ int npc_touch_areanpc_sub(struct block_list *bl, va_list ap) pc_id = va_arg(ap,int); name = va_arg(ap,char*); + if( sd->state.warping ) + return 0; if( pc_ishiding(sd) ) return 0; if( pc_id == sd->bl.id ) diff --git a/src/map/skill.c b/src/map/skill.c index 2079ffd85..2ea3ceaa2 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -7632,8 +7632,8 @@ int skill_castend_nodamage_id (struct block_list *src, struct block_list *bl, in case AB_CLEMENTIA: case AB_CANTO: { - int bless_lv = pc_checkskill(sd,AL_BLESSING); - int agi_lv = pc_checkskill(sd,AL_INCAGI); + int bless_lv = pc_checkskill(sd,AL_BLESSING) + (sd->status.job_level / 10); + int agi_lv = pc_checkskill(sd,AL_INCAGI) + (sd->status.job_level / 10); if( sd == NULL || sd->status.party_id == 0 || flag&1 ) clif_skill_nodamage(bl, bl, skillid, skilllv, sc_start(bl,type,100, (skillid == AB_CLEMENTIA)? bless_lv : (skillid == AB_CANTO)? agi_lv : skilllv, skill_get_time(skillid,skilllv))); diff --git a/src/map/unit.c b/src/map/unit.c index 91b9f9edd..07b728f47 100644 --- a/src/map/unit.c +++ b/src/map/unit.c @@ -2077,7 +2077,7 @@ int unit_remove_map_(struct block_list *bl, clr_type clrtype, const char* file, guild_reply_reqalliance(sd,sd->guild_alliance_account,0); if(sd->menuskill_id) sd->menuskill_id = sd->menuskill_val = 0; - if( sd->touching_id && !sd->state.warping ) // Only if the player isn't warping and there is a touching_id. + if( sd->touching_id ) npc_touchnext_areanpc(sd,true); // Check if warping and not changing the map. |