|
@@ -241,11 +241,11 @@ int guild_getindex(struct guild *g,uint32 account_id,uint32 char_id) {
|
|
}
|
|
}
|
|
|
|
|
|
/// lookup: player sd -> member position
|
|
/// lookup: player sd -> member position
|
|
-int guild_getposition(struct guild* g, struct map_session_data* sd) {
|
|
|
|
|
|
+int guild_getposition(struct map_session_data* sd) {
|
|
int i;
|
|
int i;
|
|
|
|
+ struct guild *g;
|
|
|
|
|
|
- if( g == NULL && (g=sd->guild) == NULL )
|
|
|
|
- return -1;
|
|
|
|
|
|
+ nullpo_retr( -1, g = sd->guild );
|
|
|
|
|
|
ARR_FIND( 0, g->max_member, i, g->member[i].account_id == sd->status.account_id && g->member[i].char_id == sd->status.char_id );
|
|
ARR_FIND( 0, g->max_member, i, g->member[i].account_id == sd->status.account_id && g->member[i].char_id == sd->status.char_id );
|
|
return( i < g->max_member ) ? g->member[i].position : -1;
|
|
return( i < g->max_member ) ? g->member[i].position : -1;
|
|
@@ -505,7 +505,7 @@ int guild_recv_info(struct guild *sg) {
|
|
//Also set the guild master flag.
|
|
//Also set the guild master flag.
|
|
sd->guild = g;
|
|
sd->guild = g;
|
|
sd->state.gmaster_flag = 1;
|
|
sd->state.gmaster_flag = 1;
|
|
- clif_charnameupdate(sd); // [LuzZza]
|
|
|
|
|
|
+ clif_name_area(&sd->bl); // [LuzZza]
|
|
clif_guild_masterormember(sd);
|
|
clif_guild_masterormember(sd);
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
@@ -521,7 +521,7 @@ int guild_recv_info(struct guild *sg) {
|
|
for(i=bm=m=0;i<g->max_member;i++){
|
|
for(i=bm=m=0;i<g->max_member;i++){
|
|
if(g->member[i].account_id>0){
|
|
if(g->member[i].account_id>0){
|
|
sd = g->member[i].sd = guild_sd_check(g->guild_id, g->member[i].account_id, g->member[i].char_id);
|
|
sd = g->member[i].sd = guild_sd_check(g->guild_id, g->member[i].account_id, g->member[i].char_id);
|
|
- if (sd) clif_charnameupdate(sd); // [LuzZza]
|
|
|
|
|
|
+ if (sd) clif_name_area(&sd->bl); // [LuzZza]
|
|
m++;
|
|
m++;
|
|
}else
|
|
}else
|
|
g->member[i].sd=NULL;
|
|
g->member[i].sd=NULL;
|
|
@@ -552,8 +552,8 @@ int guild_recv_info(struct guild *sg) {
|
|
clif_guild_skillinfo(sd); //Submit information skills
|
|
clif_guild_skillinfo(sd); //Submit information skills
|
|
|
|
|
|
if (guild_new) { // Send information and affiliation if unsent
|
|
if (guild_new) { // Send information and affiliation if unsent
|
|
- clif_guild_belonginfo(sd, g);
|
|
|
|
- clif_guild_notice(sd, g);
|
|
|
|
|
|
+ clif_guild_belonginfo(sd);
|
|
|
|
+ clif_guild_notice(sd);
|
|
sd->guild_emblem_id = g->emblem_id;
|
|
sd->guild_emblem_id = g->emblem_id;
|
|
}
|
|
}
|
|
if (g->instance_id != 0)
|
|
if (g->instance_id != 0)
|
|
@@ -588,7 +588,7 @@ int guild_invite(struct map_session_data *sd, struct map_session_data *tsd) {
|
|
if(tsd==NULL || g==NULL)
|
|
if(tsd==NULL || g==NULL)
|
|
return 0;
|
|
return 0;
|
|
|
|
|
|
- if( (i=guild_getposition(g,sd))<0 || !(g->position[i].mode&0x0001) )
|
|
|
|
|
|
+ if( (i=guild_getposition(sd))<0 || !(g->position[i].mode&0x0001) )
|
|
return 0; //Invite permission.
|
|
return 0; //Invite permission.
|
|
|
|
|
|
if(!battle_config.invite_request_check) {
|
|
if(!battle_config.invite_request_check) {
|
|
@@ -742,8 +742,8 @@ int guild_member_added(int guild_id,uint32 account_id,uint32 char_id,int flag) {
|
|
sd->guild_emblem_id = g->emblem_id;
|
|
sd->guild_emblem_id = g->emblem_id;
|
|
sd->guild = g;
|
|
sd->guild = g;
|
|
//Packets which were sent in the previous 'guild_sent' implementation.
|
|
//Packets which were sent in the previous 'guild_sent' implementation.
|
|
- clif_guild_belonginfo(sd,g);
|
|
|
|
- clif_guild_notice(sd,g);
|
|
|
|
|
|
+ clif_guild_belonginfo(sd);
|
|
|
|
+ clif_guild_notice(sd);
|
|
|
|
|
|
//TODO: send new emblem info to others
|
|
//TODO: send new emblem info to others
|
|
|
|
|
|
@@ -800,7 +800,7 @@ int guild_expulsion(struct map_session_data* sd, int guild_id, uint32 account_id
|
|
if(sd->status.guild_id!=guild_id)
|
|
if(sd->status.guild_id!=guild_id)
|
|
return 0;
|
|
return 0;
|
|
|
|
|
|
- if( (ps=guild_getposition(g,sd))<0 || !(g->position[ps].mode&0x0010) )
|
|
|
|
|
|
+ if( (ps=guild_getposition(sd))<0 || !(g->position[ps].mode&0x0010) )
|
|
return 0; //Expulsion permission
|
|
return 0; //Expulsion permission
|
|
|
|
|
|
//Can't leave inside guild castles.
|
|
//Can't leave inside guild castles.
|
|
@@ -883,7 +883,7 @@ int guild_member_withdraw(int guild_id, uint32 account_id, uint32 char_id, int f
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- clif_charnameupdate(sd); //Update display name [Skotlex]
|
|
|
|
|
|
+ clif_name_area(&sd->bl); //Update display name [Skotlex]
|
|
status_change_end(&sd->bl,SC_LEADERSHIP,INVALID_TIMER);
|
|
status_change_end(&sd->bl,SC_LEADERSHIP,INVALID_TIMER);
|
|
status_change_end(&sd->bl,SC_GLORYWOUNDS,INVALID_TIMER);
|
|
status_change_end(&sd->bl,SC_GLORYWOUNDS,INVALID_TIMER);
|
|
status_change_end(&sd->bl,SC_SOULCOLD,INVALID_TIMER);
|
|
status_change_end(&sd->bl,SC_SOULCOLD,INVALID_TIMER);
|
|
@@ -960,7 +960,7 @@ int guild_send_memberinfoshort(struct map_session_data *sd,int online) { // clea
|
|
}
|
|
}
|
|
|
|
|
|
if(sd->state.connect_new) { //Note that this works because it is invoked in parse_LoadEndAck before connect_new is cleared.
|
|
if(sd->state.connect_new) { //Note that this works because it is invoked in parse_LoadEndAck before connect_new is cleared.
|
|
- clif_guild_belonginfo(sd,g);
|
|
|
|
|
|
+ clif_guild_belonginfo(sd);
|
|
sd->guild_emblem_id = g->emblem_id;
|
|
sd->guild_emblem_id = g->emblem_id;
|
|
}
|
|
}
|
|
return 0;
|
|
return 0;
|
|
@@ -1074,7 +1074,7 @@ int guild_memberposition_changed(struct guild *g,int idx,int pos) {
|
|
|
|
|
|
// Update char position in client [LuzZza]
|
|
// Update char position in client [LuzZza]
|
|
if(g->member[idx].sd != NULL)
|
|
if(g->member[idx].sd != NULL)
|
|
- clif_charnameupdate(g->member[idx].sd);
|
|
|
|
|
|
+ clif_name_area(&g->member[idx].sd->bl);
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1108,7 +1108,7 @@ int guild_position_changed(int guild_id,int idx,struct guild_position *p) {
|
|
// Update char name in client [LuzZza]
|
|
// Update char name in client [LuzZza]
|
|
for(i=0;i<g->max_member;i++)
|
|
for(i=0;i<g->max_member;i++)
|
|
if(g->member[i].position == idx && g->member[i].sd != NULL)
|
|
if(g->member[i].position == idx && g->member[i].sd != NULL)
|
|
- clif_charnameupdate(g->member[i].sd);
|
|
|
|
|
|
+ clif_name_area(&g->member[i].sd->bl);
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
|
|
|
|
@@ -1138,7 +1138,7 @@ int guild_notice_changed(int guild_id,const char *mes1,const char *mes2) {
|
|
for(i=0;i<g->max_member;i++){
|
|
for(i=0;i<g->max_member;i++){
|
|
struct map_session_data *sd = g->member[i].sd;
|
|
struct map_session_data *sd = g->member[i].sd;
|
|
if(sd != NULL)
|
|
if(sd != NULL)
|
|
- clif_guild_notice(sd,g);
|
|
|
|
|
|
+ clif_guild_notice(sd);
|
|
}
|
|
}
|
|
return 0;
|
|
return 0;
|
|
}
|
|
}
|
|
@@ -1176,7 +1176,7 @@ int guild_emblem_changed(int len,int guild_id,int emblem_id,const char *data) {
|
|
for(i=0;i<g->max_member;i++){
|
|
for(i=0;i<g->max_member;i++){
|
|
if((sd=g->member[i].sd)!=NULL){
|
|
if((sd=g->member[i].sd)!=NULL){
|
|
sd->guild_emblem_id=emblem_id;
|
|
sd->guild_emblem_id=emblem_id;
|
|
- clif_guild_belonginfo(sd,g);
|
|
|
|
|
|
+ clif_guild_belonginfo(sd);
|
|
clif_guild_emblem(sd,g);
|
|
clif_guild_emblem(sd,g);
|
|
clif_guild_emblem_area(&sd->bl);
|
|
clif_guild_emblem_area(&sd->bl);
|
|
}
|
|
}
|
|
@@ -1248,7 +1248,7 @@ unsigned int guild_payexp(struct map_session_data *sd,unsigned int exp) {
|
|
|
|
|
|
if (sd->status.guild_id == 0 ||
|
|
if (sd->status.guild_id == 0 ||
|
|
(g = sd->guild) == NULL ||
|
|
(g = sd->guild) == NULL ||
|
|
- (per = guild_getposition(g,sd)) < 0 ||
|
|
|
|
|
|
+ (per = guild_getposition(sd)) < 0 ||
|
|
(per = g->position[per].exp_mode) < 1)
|
|
(per = g->position[per].exp_mode) < 1)
|
|
return 0;
|
|
return 0;
|
|
|
|
|
|
@@ -1729,7 +1729,7 @@ int guild_broken(int guild_id,int flag) {
|
|
sd->guild = NULL;
|
|
sd->guild = NULL;
|
|
sd->state.gmaster_flag = 0;
|
|
sd->state.gmaster_flag = 0;
|
|
clif_guild_broken(g->member[i].sd,0);
|
|
clif_guild_broken(g->member[i].sd,0);
|
|
- clif_charnameupdate(sd); // [LuzZza]
|
|
|
|
|
|
+ clif_name_area(&sd->bl); // [LuzZza]
|
|
status_change_end(&sd->bl,SC_LEADERSHIP,INVALID_TIMER);
|
|
status_change_end(&sd->bl,SC_LEADERSHIP,INVALID_TIMER);
|
|
status_change_end(&sd->bl,SC_GLORYWOUNDS,INVALID_TIMER);
|
|
status_change_end(&sd->bl,SC_GLORYWOUNDS,INVALID_TIMER);
|
|
status_change_end(&sd->bl,SC_SOULCOLD,INVALID_TIMER);
|
|
status_change_end(&sd->bl,SC_SOULCOLD,INVALID_TIMER);
|