-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);
|
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);
|
unit_remove_map_pc(sd,CLR_TELEPORT);
|
||||||
|
|
||||||
if( map[sd->bl.m].instance_id ) { // Avoid map conflicts and warnings on next login
|
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
|
// remove all objects on maps
|
||||||
for (i = 0; i < map_num; i++) {
|
for (i = 0; i < map_num; i++) {
|
||||||
ShowStatus("Cleaning up maps [%d/%d]: %s..."CL_CLL"\r", i+1, map_num, map[i].name);
|
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);
|
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);
|
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;
|
if(rnd()%100 > (1 + skill_lv) ) dmg.blewcount = 0;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
if(damage < dmg.div_ && skill_lv != CH_PALMSTRIKE)
|
if(damage < dmg.div_ && skill_id != CH_PALMSTRIKE)
|
||||||
dmg.blewcount = 0; //only pushback when it hit
|
dmg.blewcount = 0; //only pushback when it hit for other
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
switch(skill_id){
|
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 ) ){
|
( sc && sc->option&OPTION_HIDE ) ){
|
||||||
skill_blown(src,target,skill_get_blewcount(skl->skill_id, skl->skill_lv), -1, 0x0 );
|
skill_blown(src,target,skill_get_blewcount(skl->skill_id, skl->skill_lv), -1, 0x0 );
|
||||||
break;
|
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:
|
default:
|
||||||
|
@ -41,6 +41,7 @@ set( SQL_MAP_HEADERS
|
|||||||
"${SQL_MAP_SOURCE_DIR}/trade.h"
|
"${SQL_MAP_SOURCE_DIR}/trade.h"
|
||||||
"${SQL_MAP_SOURCE_DIR}/unit.h"
|
"${SQL_MAP_SOURCE_DIR}/unit.h"
|
||||||
"${SQL_MAP_SOURCE_DIR}/vending.h"
|
"${SQL_MAP_SOURCE_DIR}/vending.h"
|
||||||
|
"${SQL_MAP_SOURCE_DIR}/cashshop.h"
|
||||||
)
|
)
|
||||||
set( SQL_MAP_SOURCES
|
set( SQL_MAP_SOURCES
|
||||||
"${SQL_MAP_SOURCE_DIR}/atcommand.c"
|
"${SQL_MAP_SOURCE_DIR}/atcommand.c"
|
||||||
@ -80,6 +81,7 @@ set( SQL_MAP_SOURCES
|
|||||||
"${SQL_MAP_SOURCE_DIR}/trade.c"
|
"${SQL_MAP_SOURCE_DIR}/trade.c"
|
||||||
"${SQL_MAP_SOURCE_DIR}/unit.c"
|
"${SQL_MAP_SOURCE_DIR}/unit.c"
|
||||||
"${SQL_MAP_SOURCE_DIR}/vending.c"
|
"${SQL_MAP_SOURCE_DIR}/vending.c"
|
||||||
|
"${SQL_MAP_SOURCE_DIR}/cashshop.c"
|
||||||
)
|
)
|
||||||
set( DEPENDENCIES common_sql )
|
set( DEPENDENCIES common_sql )
|
||||||
set( LIBRARIES ${GLOBAL_LIBRARIES} )
|
set( LIBRARIES ${GLOBAL_LIBRARIES} )
|
||||||
|
@ -2293,6 +2293,31 @@ int unit_free(struct block_list *bl, clr_type clrtype)
|
|||||||
if( sd->duel_invite > 0 )
|
if( sd->duel_invite > 0 )
|
||||||
duel_reject(sd->duel_invite, sd);
|
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]
|
// Notify friends that this char logged out. [Skotlex]
|
||||||
map_foreachpc(clif_friendslist_toggle_sub, sd->status.account_id, sd->status.char_id, 0);
|
map_foreachpc(clif_friendslist_toggle_sub, sd->status.account_id, sd->status.char_id, 0);
|
||||||
party_send_logout(sd);
|
party_send_logout(sd);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user