diff --git a/common/database.cpp b/common/database.cpp index 187638fcc..8ee85d93b 100644 --- a/common/database.cpp +++ b/common/database.cpp @@ -66,6 +66,7 @@ #endif #include "database.h" +#include "data_verification.h" #include "eq_packet_structs.h" #include "extprofile.h" #include "strings.h" @@ -308,13 +309,15 @@ bool Database::ReserveName(uint32 account_id, const std::string& name) return false; } - const int guild_id = RuleI(Character, DefaultGuild); + const uint32 guild_id = RuleI(Character, DefaultGuild); + const uint8 guild_rank = EQ::Clamp(RuleI(Character, DefaultGuildRank), 0, 8); if (guild_id != 0) { if (e.id) { auto g = GuildMembersRepository::NewEntity(); g.char_id = e.id; g.guild_id = guild_id; + g.rank_ = guild_rank; GuildMembersRepository::InsertOne(*this, g); } diff --git a/common/ruletypes.h b/common/ruletypes.h index 9d5d94bd8..159335f50 100644 --- a/common/ruletypes.h +++ b/common/ruletypes.h @@ -178,6 +178,7 @@ RULE_BOOL(Character, NoSkillsOnHorse, false, "Enabling this will prevent Bind Wo RULE_BOOL(Character, UseNoJunkFishing, false, "Disregards junk items when fishing") RULE_BOOL(Character, SoftDeletes, true, "When characters are deleted in character select, they are only soft deleted") RULE_INT(Character, DefaultGuild, 0, "If not 0, new characters placed into the guild # indicated") +RULE_INT(Character, DefaultGuildRank, 8, "Default guild rank when Character:DefaultGuild is a non-0 value, default is 8 (Recruit)") RULE_BOOL(Character, ProcessFearedProximity, false, "Processes proximity checks when feared") RULE_BOOL(Character, EnableCharacterEXPMods, false, "Enables character zone-based experience modifiers.") RULE_BOOL(Character, PVPEnableGuardFactionAssist, true, "Enables faction based assisting against the aggresor in pvp.")