-Follow up r17244 r17229 typo on blewcount handler
-Follow up r17242 upd Cmakefile for cmake build -Apply Baalberith fix for chan system leaks, thx =) git-svn-id: https://svn.code.sf.net/p/rathena/svn/trunk@17245 54d463be-8e91-2dee-dedb-b68131a5f0ec
This commit is contained in:
parent
0ccd53156b
commit
53d1292de4
@ -1700,31 +1700,6 @@ int map_quit(struct map_session_data *sd) {
|
||||
unit_remove_map(&sd->ed->bl,CLR_TELEPORT);
|
||||
}
|
||||
|
||||
if( raChSys.ally && sd->status.guild_id ) {
|
||||
struct guild *g = sd->guild, *sg;
|
||||
if( g ) {
|
||||
if( idb_exists(((struct raChSysCh *)g->channel)->users, sd->status.char_id) )
|
||||
clif_chsys_left((struct raChSysCh *)g->channel,sd);
|
||||
for (i = 0; i < MAX_GUILDALLIANCE; i++) {
|
||||
if( g->alliance[i].guild_id && (sg = guild_search(g->alliance[i].guild_id) ) ) {
|
||||
if( idb_exists(((struct raChSysCh *)sg->channel)->users, sd->status.char_id) )
|
||||
clif_chsys_left((struct raChSysCh *)sg->channel,sd);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if( sd->channel_count ) {
|
||||
uint8 ch_count = sd->channel_count;
|
||||
for( i = 0; i < ch_count; i++ ) {
|
||||
if( sd->channels[i] != NULL )
|
||||
clif_chsys_left(sd->channels[i],sd);
|
||||
}
|
||||
if( raChSys.closing )
|
||||
aFree(sd->channels);
|
||||
}
|
||||
|
||||
unit_remove_map_pc(sd,CLR_TELEPORT);
|
||||
|
||||
if( map[sd->bl.m].instance_id ) { // Avoid map conflicts and warnings on next login
|
||||
@ -3593,8 +3568,11 @@ void do_final(void)
|
||||
// remove all objects on maps
|
||||
for (i = 0; i < map_num; i++) {
|
||||
ShowStatus("Cleaning up maps [%d/%d]: %s..."CL_CLL"\r", i+1, map_num, map[i].name);
|
||||
if (map[i].m >= 0)
|
||||
if (map[i].m >= 0) {
|
||||
map_foreachinmap(cleanup_sub, i, BL_ALL);
|
||||
if( map[i].channel != NULL )
|
||||
clif_chsys_delete((struct raChSysCh *)map[i].channel);
|
||||
}
|
||||
}
|
||||
ShowStatus("Cleaned up %d maps."CL_CLL"\n", map_num);
|
||||
|
||||
|
@ -2470,8 +2470,8 @@ int skill_attack (int attack_type, struct block_list* src, struct block_list *ds
|
||||
if(rnd()%100 > (1 + skill_lv) ) dmg.blewcount = 0;
|
||||
break;
|
||||
default:
|
||||
if(damage < dmg.div_ && skill_lv != CH_PALMSTRIKE)
|
||||
dmg.blewcount = 0; //only pushback when it hit
|
||||
if(damage < dmg.div_ && skill_id != CH_PALMSTRIKE)
|
||||
dmg.blewcount = 0; //only pushback when it hit for other
|
||||
break;
|
||||
}
|
||||
switch(skill_id){
|
||||
@ -3374,10 +3374,6 @@ static int skill_timerskill(int tid, unsigned int tick, int id, intptr_t data)
|
||||
( sc && sc->option&OPTION_HIDE ) ){
|
||||
skill_blown(src,target,skill_get_blewcount(skl->skill_id, skl->skill_lv), -1, 0x0 );
|
||||
break;
|
||||
} else if( tsc && tsc->data[SC_SAFETYWALL] ){
|
||||
skill_attack(skl->type,src,src,target,skl->skill_id,skl->skill_lv,tick,skl->flag);
|
||||
skill_blown(src,target,skill_get_blewcount(skl->skill_id, skl->skill_lv), -1, 0x0 );
|
||||
break;
|
||||
}
|
||||
}
|
||||
default:
|
||||
|
@ -41,6 +41,7 @@ set( SQL_MAP_HEADERS
|
||||
"${SQL_MAP_SOURCE_DIR}/trade.h"
|
||||
"${SQL_MAP_SOURCE_DIR}/unit.h"
|
||||
"${SQL_MAP_SOURCE_DIR}/vending.h"
|
||||
"${SQL_MAP_SOURCE_DIR}/cashshop.h"
|
||||
)
|
||||
set( SQL_MAP_SOURCES
|
||||
"${SQL_MAP_SOURCE_DIR}/atcommand.c"
|
||||
@ -80,6 +81,7 @@ set( SQL_MAP_SOURCES
|
||||
"${SQL_MAP_SOURCE_DIR}/trade.c"
|
||||
"${SQL_MAP_SOURCE_DIR}/unit.c"
|
||||
"${SQL_MAP_SOURCE_DIR}/vending.c"
|
||||
"${SQL_MAP_SOURCE_DIR}/cashshop.c"
|
||||
)
|
||||
set( DEPENDENCIES common_sql )
|
||||
set( LIBRARIES ${GLOBAL_LIBRARIES} )
|
||||
|
@ -2293,6 +2293,31 @@ int unit_free(struct block_list *bl, clr_type clrtype)
|
||||
if( sd->duel_invite > 0 )
|
||||
duel_reject(sd->duel_invite, sd);
|
||||
|
||||
if( raChSys.ally && sd->status.guild_id ) {
|
||||
struct guild *g = sd->guild, *sg;
|
||||
if( g ) {
|
||||
if( idb_exists(((struct raChSysCh *)g->channel)->users, sd->status.char_id) )
|
||||
clif_chsys_left((struct raChSysCh *)g->channel,sd);
|
||||
for (i = 0; i < MAX_GUILDALLIANCE; i++) {
|
||||
if( g->alliance[i].guild_id && (sg = guild_search(g->alliance[i].guild_id) ) ) {
|
||||
if( idb_exists(((struct raChSysCh *)sg->channel)->users, sd->status.char_id) )
|
||||
clif_chsys_left((struct raChSysCh *)sg->channel,sd);
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if( sd->channel_count ) {
|
||||
uint8 ch_count = sd->channel_count;
|
||||
for( i = 0; i < ch_count; i++ ) {
|
||||
if( sd->channels[i] != NULL )
|
||||
clif_chsys_left(sd->channels[i],sd);
|
||||
}
|
||||
if( raChSys.closing )
|
||||
aFree(sd->channels);
|
||||
}
|
||||
|
||||
// Notify friends that this char logged out. [Skotlex]
|
||||
map_foreachpc(clif_friendslist_toggle_sub, sd->status.account_id, sd->status.char_id, 0);
|
||||
party_send_logout(sd);
|
||||
|
Loading…
x
Reference in New Issue
Block a user