Convert guild_db to unordered_map (#7612)
* Refactor guild db to STL container * Split up struct guild and MapGuild/CharGuild
This commit is contained in:
@@ -305,7 +305,7 @@ void instance_getsd(int instance_id, map_session_data *&sd, enum send_target *ta
|
||||
(*target) = SELF;
|
||||
break;
|
||||
case IM_GUILD:
|
||||
sd = guild_getavailablesd(guild_search(idata->owner_id));
|
||||
sd = guild_getavailablesd(guild_search(idata->owner_id)->guild);
|
||||
(*target) = GUILD;
|
||||
break;
|
||||
case IM_PARTY:
|
||||
@@ -348,7 +348,7 @@ static TIMER_FUNC(instance_subscription_timer){
|
||||
|
||||
map_session_data *sd;
|
||||
struct party_data *pd;
|
||||
struct guild *gd;
|
||||
std::shared_ptr<MapGuild> gd;
|
||||
struct clan *cd;
|
||||
e_instance_mode mode = idata->mode;
|
||||
int ret = instance_addmap(instance_id); // Check that maps have been added
|
||||
@@ -613,7 +613,7 @@ int instance_create(int owner_id, const char *name, e_instance_mode mode) {
|
||||
|
||||
map_session_data *sd = nullptr;
|
||||
struct party_data *pd;
|
||||
struct guild *gd;
|
||||
std::shared_ptr<MapGuild> gd;
|
||||
struct clan* cd;
|
||||
|
||||
switch(mode) {
|
||||
@@ -683,7 +683,7 @@ int instance_create(int owner_id, const char *name, e_instance_mode mode) {
|
||||
break;
|
||||
case IM_GUILD:
|
||||
gd->instance_id = instance_id;
|
||||
sd = map_charid2sd(gd->member[0].char_id);
|
||||
sd = map_charid2sd(gd->guild.member[0].char_id);
|
||||
break;
|
||||
case IM_CLAN:
|
||||
cd->instance_id = instance_id;
|
||||
@@ -878,7 +878,7 @@ void instance_destroy_command(map_session_data *sd) {
|
||||
|
||||
instance_id = pd->instance_id;
|
||||
} else if (sd->instance_mode == IM_GUILD && sd->guild != nullptr && sd->guild->instance_id > 0) {
|
||||
guild *gd = guild_search(sd->status.guild_id);
|
||||
auto gd = guild_search(sd->status.guild_id);
|
||||
|
||||
if (gd == nullptr)
|
||||
return;
|
||||
@@ -888,7 +888,7 @@ void instance_destroy_command(map_session_data *sd) {
|
||||
if (idata == nullptr)
|
||||
return;
|
||||
|
||||
if (strcmp(sd->status.name, gd->master) != 0) // Player is not guild master
|
||||
if (strcmp(sd->status.name, gd->guild.master) != 0) // Player is not guild master
|
||||
return;
|
||||
|
||||
instance_id = gd->instance_id;
|
||||
@@ -915,7 +915,7 @@ void instance_destroy_command(map_session_data *sd) {
|
||||
instance_reqinfo(sd, pd->instance_id);
|
||||
}
|
||||
if (sd->guild != nullptr && sd->guild->instance_id > 0) {
|
||||
guild *gd = guild_search(sd->status.guild_id);
|
||||
auto gd = guild_search(sd->status.guild_id);
|
||||
|
||||
if (gd == nullptr)
|
||||
return;
|
||||
@@ -938,7 +938,7 @@ bool instance_destroy(int instance_id)
|
||||
|
||||
map_session_data *sd;
|
||||
struct party_data *pd;
|
||||
struct guild *gd;
|
||||
std::shared_ptr<MapGuild> gd;
|
||||
struct clan *cd;
|
||||
e_instance_mode mode = idata->mode;
|
||||
e_instance_notify type = IN_NOTIFY;
|
||||
@@ -1065,7 +1065,7 @@ e_instance_enter instance_enter(map_session_data *sd, int instance_id, const cha
|
||||
|
||||
std::shared_ptr<s_instance_data> idata = nullptr;
|
||||
struct party_data *pd;
|
||||
struct guild *gd;
|
||||
std::shared_ptr<MapGuild> gd;
|
||||
struct clan *cd;
|
||||
e_instance_mode mode;
|
||||
|
||||
@@ -1103,7 +1103,7 @@ e_instance_enter instance_enter(map_session_data *sd, int instance_id, const cha
|
||||
return IE_NOMEMBER;
|
||||
if (gd->instance_id == 0) // Guild must have an instance
|
||||
return IE_NOINSTANCE;
|
||||
if (idata->owner_id != gd->guild_id)
|
||||
if (idata->owner_id != gd->guild.guild_id)
|
||||
return IE_OTHER;
|
||||
break;
|
||||
case IM_CLAN:
|
||||
@@ -1249,7 +1249,7 @@ void do_reload_instance(void)
|
||||
|
||||
if (sd && mapdata->instance_id > 0) {
|
||||
struct party_data *pd;
|
||||
struct guild *gd;
|
||||
std::shared_ptr<MapGuild> gd;
|
||||
struct clan *cd;
|
||||
int instance_id;
|
||||
std::shared_ptr<s_instance_data> idata = util::umap_find(instances, map[sd->bl.m].instance_id);
|
||||
|
||||
Reference in New Issue
Block a user