// スキルポイント割り振り int guild_skillup(TBL_PC* sd, int skill_num) { struct guild* g; int idx = skill_num - GD_SKILLBASE; nullpo_retr(0, sd); if( idx < 0 || idx >= MAX_GUILDSKILL || // not a guild skill sd->status.guild_id == 0 || (g=guild_search(sd->status.guild_id)) == NULL || // no guild strcmp(sd->status.name, g->master) ) // not the guild master return 0; if( g->skill_point > 0 && g->skill[idx].id != 0 && g->skill[idx].lv < guild_skill_get_max(skill_num) ) intif_guild_skillup(g->guild_id, skill_num, sd->status.account_id); return 0; }
// スキルポイント割り振り int guild_skillup(struct map_session_data *sd,int skill_num,int flag) { struct guild *g; int idx = skill_num - GD_SKILLBASE; nullpo_retr(0, sd); if(idx < 0 || idx >= MAX_GUILDSKILL) return 0; if(sd->status.guild_id==0 || (g=guild_search(sd->status.guild_id))==NULL) return 0; if(strcmp(sd->status.name,g->master)) return 0; if( (g->skill_point>0 || flag&1) && g->skill[idx].id!=0 && g->skill[idx].lv < guild_skill_get_max(skill_num) ){ intif_guild_skillup(g->guild_id,skill_num,sd->status.account_id,flag); } status_calc_pc (sd, 0); // Celest return 0; }