mirror of
https://github.com/EQEmu/Server.git
synced 2025-12-13 18:51:29 +00:00
[Commands] Cleanup #npcedit, #lastname, #title, and #titlesuffix Commands. (#2215)
* [Commands] Cleanup #lastname, #npcedit, #title, and #titlesuffix Commands. - Cleanup messages and logic. * Update emu_constants.h * Update command.cpp * Update command.cpp * Cleanup of GetXName methods to not define map unnecessarily. * Update emu_constants.cpp * Update npcedit.cpp
This commit is contained in:
parent
7de50d0e60
commit
c8f6dbb86d
@ -22,7 +22,6 @@
|
|||||||
#include "data_verification.h"
|
#include "data_verification.h"
|
||||||
#include "bodytypes.h"
|
#include "bodytypes.h"
|
||||||
|
|
||||||
|
|
||||||
int16 EQ::invtype::GetInvTypeSize(int16 inv_type) {
|
int16 EQ::invtype::GetInvTypeSize(int16 inv_type) {
|
||||||
static const int16 local_array[] = {
|
static const int16 local_array[] = {
|
||||||
POSSESSIONS_SIZE,
|
POSSESSIONS_SIZE,
|
||||||
@ -189,15 +188,16 @@ const std::map<int, std::string>& EQ::constants::GetLanguageMap()
|
|||||||
{ LANG_HADAL, "Hadal" },
|
{ LANG_HADAL, "Hadal" },
|
||||||
{ LANG_UNKNOWN, "Unknown" }
|
{ LANG_UNKNOWN, "Unknown" }
|
||||||
};
|
};
|
||||||
|
|
||||||
return language_map;
|
return language_map;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string EQ::constants::GetLanguageName(int language_id)
|
std::string EQ::constants::GetLanguageName(int language_id)
|
||||||
{
|
{
|
||||||
if (EQ::ValueWithin(language_id, LANG_COMMON_TONGUE, LANG_UNKNOWN)) {
|
if (EQ::ValueWithin(language_id, LANG_COMMON_TONGUE, LANG_UNKNOWN)) {
|
||||||
auto languages = EQ::constants::GetLanguageMap();
|
return EQ::constants::GetLanguageMap().find(language_id)->second;
|
||||||
return languages[language_id];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return std::string();
|
return std::string();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -211,21 +211,22 @@ const std::map<uint32, std::string>& EQ::constants::GetLDoNThemeMap()
|
|||||||
{ LDoNThemes::RUJ, "Rujarkian Hills" },
|
{ LDoNThemes::RUJ, "Rujarkian Hills" },
|
||||||
{ LDoNThemes::TAK, "Takish-Hiz" },
|
{ LDoNThemes::TAK, "Takish-Hiz" },
|
||||||
};
|
};
|
||||||
|
|
||||||
return ldon_theme_map;
|
return ldon_theme_map;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string EQ::constants::GetLDoNThemeName(uint32 theme_id)
|
std::string EQ::constants::GetLDoNThemeName(uint32 theme_id)
|
||||||
{
|
{
|
||||||
if (EQ::ValueWithin(theme_id, LDoNThemes::Unused, LDoNThemes::TAK)) {
|
if (EQ::ValueWithin(theme_id, LDoNThemes::Unused, LDoNThemes::TAK)) {
|
||||||
auto ldon_themes = EQ::constants::GetLDoNThemeMap();
|
return EQ::constants::GetLDoNThemeMap().find(theme_id)->second;
|
||||||
return ldon_themes[theme_id];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return std::string();
|
return std::string();
|
||||||
}
|
}
|
||||||
|
|
||||||
const std::map<uint8, std::string>& EQ::constants::GetFlyModeMap()
|
const std::map<int8, std::string>& EQ::constants::GetFlyModeMap()
|
||||||
{
|
{
|
||||||
static const std::map<uint8, std::string> flymode_map = {
|
static const std::map<int8, std::string> flymode_map = {
|
||||||
{ GravityBehavior::Ground, "Ground" },
|
{ GravityBehavior::Ground, "Ground" },
|
||||||
{ GravityBehavior::Flying, "Flying" },
|
{ GravityBehavior::Flying, "Flying" },
|
||||||
{ GravityBehavior::Levitating, "Levitating" },
|
{ GravityBehavior::Levitating, "Levitating" },
|
||||||
@ -233,15 +234,16 @@ const std::map<uint8, std::string>& EQ::constants::GetFlyModeMap()
|
|||||||
{ GravityBehavior::Floating, "Floating" },
|
{ GravityBehavior::Floating, "Floating" },
|
||||||
{ GravityBehavior::LevitateWhileRunning, "Levitating While Running" },
|
{ GravityBehavior::LevitateWhileRunning, "Levitating While Running" },
|
||||||
};
|
};
|
||||||
|
|
||||||
return flymode_map;
|
return flymode_map;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string EQ::constants::GetFlyModeName(uint8 flymode_id)
|
std::string EQ::constants::GetFlyModeName(int8 flymode_id)
|
||||||
{
|
{
|
||||||
if (EQ::ValueWithin(flymode_id, GravityBehavior::Ground, GravityBehavior::LevitateWhileRunning)) {
|
if (EQ::ValueWithin(flymode_id, GravityBehavior::Ground, GravityBehavior::LevitateWhileRunning)) {
|
||||||
auto flymodes = EQ::constants::GetFlyModeMap();
|
return EQ::constants::GetFlyModeMap().find(flymode_id)->second;
|
||||||
return flymodes[flymode_id];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return std::string();
|
return std::string();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -288,15 +290,16 @@ const std::map<bodyType, std::string>& EQ::constants::GetBodyTypeMap()
|
|||||||
{ BT_InvisMan, "Invisible Man" },
|
{ BT_InvisMan, "Invisible Man" },
|
||||||
{ BT_Special, "Special" },
|
{ BT_Special, "Special" },
|
||||||
};
|
};
|
||||||
|
|
||||||
return bodytype_map;
|
return bodytype_map;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string EQ::constants::GetBodyTypeName(bodyType bodytype_id)
|
std::string EQ::constants::GetBodyTypeName(bodyType bodytype_id)
|
||||||
{
|
{
|
||||||
auto bodytypes = EQ::constants::GetBodyTypeMap();
|
if (EQ::constants::GetBodyTypeMap().find(bodytype_id) != EQ::constants::GetBodyTypeMap().end()) {
|
||||||
if (!bodytypes[bodytype_id].empty()) {
|
return EQ::constants::GetBodyTypeMap().find(bodytype_id)->second;
|
||||||
return bodytypes[bodytype_id];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return std::string();
|
return std::string();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -321,21 +324,23 @@ const std::map<uint8, std::string>& EQ::constants::GetAccountStatusMap()
|
|||||||
{ AccountStatus::GMImpossible, "GM Impossible" },
|
{ AccountStatus::GMImpossible, "GM Impossible" },
|
||||||
{ AccountStatus::Max, "GM Max" }
|
{ AccountStatus::Max, "GM Max" }
|
||||||
};
|
};
|
||||||
|
|
||||||
return account_status_map;
|
return account_status_map;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string EQ::constants::GetAccountStatusName(uint8 account_status)
|
std::string EQ::constants::GetAccountStatusName(uint8 account_status)
|
||||||
{
|
{
|
||||||
auto account_statuses = EQ::constants::GetAccountStatusMap();
|
for (
|
||||||
std::string status_name;
|
auto status_level = EQ::constants::GetAccountStatusMap().rbegin();
|
||||||
for (auto status_level = account_statuses.rbegin(); status_level != account_statuses.rend(); ++status_level) {
|
status_level != EQ::constants::GetAccountStatusMap().rend();
|
||||||
|
++status_level
|
||||||
|
) {
|
||||||
if (account_status >= status_level->first) {
|
if (account_status >= status_level->first) {
|
||||||
status_name = status_level->second;
|
return status_level->second;
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return status_name;
|
return std::string();
|
||||||
}
|
}
|
||||||
|
|
||||||
const std::map<uint8, std::string>& EQ::constants::GetConsiderLevelMap()
|
const std::map<uint8, std::string>& EQ::constants::GetConsiderLevelMap()
|
||||||
@ -351,15 +356,16 @@ const std::map<uint8, std::string>& EQ::constants::GetConsiderLevelMap()
|
|||||||
{ ConsiderLevel::Threateningly, "Threateningly" },
|
{ ConsiderLevel::Threateningly, "Threateningly" },
|
||||||
{ ConsiderLevel::Scowls, "Scowls" }
|
{ ConsiderLevel::Scowls, "Scowls" }
|
||||||
};
|
};
|
||||||
|
|
||||||
return consider_level_map;
|
return consider_level_map;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string EQ::constants::GetConsiderLevelName(uint8 faction_consider_level)
|
std::string EQ::constants::GetConsiderLevelName(uint8 faction_consider_level)
|
||||||
{
|
{
|
||||||
auto consider_levels = EQ::constants::GetConsiderLevelMap();
|
if (EQ::constants::GetConsiderLevelMap().find(faction_consider_level) != EQ::constants::GetConsiderLevelMap().end()) {
|
||||||
if (!consider_levels[faction_consider_level].empty()) {
|
return EQ::constants::GetConsiderLevelMap().find(faction_consider_level)->second;
|
||||||
return consider_levels[faction_consider_level];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return std::string();
|
return std::string();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -371,14 +377,58 @@ const std::map<uint8, std::string>& EQ::constants::GetEnvironmentalDamageMap()
|
|||||||
{ EnvironmentalDamage::Falling, "Falling" },
|
{ EnvironmentalDamage::Falling, "Falling" },
|
||||||
{ EnvironmentalDamage::Trap, "Trap" }
|
{ EnvironmentalDamage::Trap, "Trap" }
|
||||||
};
|
};
|
||||||
|
|
||||||
return damage_type_map;
|
return damage_type_map;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string EQ::constants::GetEnvironmentalDamageName(uint8 damage_type)
|
std::string EQ::constants::GetEnvironmentalDamageName(uint8 damage_type)
|
||||||
{
|
{
|
||||||
if (EQ::ValueWithin(damage_type, EnvironmentalDamage::Lava, EnvironmentalDamage::Trap)) {
|
if (EQ::ValueWithin(damage_type, EnvironmentalDamage::Lava, EnvironmentalDamage::Trap)) {
|
||||||
auto damage_types = EQ::constants::GetEnvironmentalDamageMap();
|
return EQ::constants::GetEnvironmentalDamageMap().find(damage_type)->second;
|
||||||
return damage_types[damage_type];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return std::string();
|
||||||
|
}
|
||||||
|
|
||||||
|
const std::map<uint8, std::string>& EQ::constants::GetStuckBehaviorMap()
|
||||||
|
{
|
||||||
|
static const std::map<uint8, std::string> stuck_behavior_map = {
|
||||||
|
{ StuckBehavior::RunToTarget, "Run To Target" },
|
||||||
|
{ StuckBehavior::WarpToTarget, "Warp To Target" },
|
||||||
|
{ StuckBehavior::TakeNoAction, "Take No Action" },
|
||||||
|
{ StuckBehavior::EvadeCombat, "Evade Combat" }
|
||||||
|
};
|
||||||
|
|
||||||
|
return stuck_behavior_map;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string EQ::constants::GetStuckBehaviorName(uint8 behavior_id)
|
||||||
|
{
|
||||||
|
if (EQ::ValueWithin(behavior_id, StuckBehavior::RunToTarget, StuckBehavior::EvadeCombat)) {
|
||||||
|
return EQ::constants::GetStuckBehaviorMap().find(behavior_id)->second;
|
||||||
|
}
|
||||||
|
|
||||||
|
return std::string();
|
||||||
|
}
|
||||||
|
|
||||||
|
const std::map<uint8, std::string>& EQ::constants::GetSpawnAnimationMap()
|
||||||
|
{
|
||||||
|
static const std::map<uint8, std::string> spawn_animation_map = {
|
||||||
|
{ SpawnAnimations::Standing, "Standing" },
|
||||||
|
{ SpawnAnimations::Sitting, "Sitting" },
|
||||||
|
{ SpawnAnimations::Crouching, "Crouching" },
|
||||||
|
{ SpawnAnimations::Laying, "Laying" },
|
||||||
|
{ SpawnAnimations::Looting, "Looting" }
|
||||||
|
};
|
||||||
|
|
||||||
|
return spawn_animation_map;
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string EQ::constants::GetSpawnAnimationName(uint8 animation_id)
|
||||||
|
{
|
||||||
|
if (EQ::ValueWithin(animation_id, SpawnAnimations::Standing, SpawnAnimations::Looting)) {
|
||||||
|
return EQ::constants::GetSpawnAnimationMap().find(animation_id)->second;
|
||||||
|
}
|
||||||
|
|
||||||
return std::string();
|
return std::string();
|
||||||
}
|
}
|
||||||
|
|||||||
@ -221,7 +221,7 @@ namespace EQ
|
|||||||
stanceBurnAE
|
stanceBurnAE
|
||||||
};
|
};
|
||||||
|
|
||||||
enum GravityBehavior : uint8 {
|
enum GravityBehavior : int8 {
|
||||||
Ground,
|
Ground,
|
||||||
Flying,
|
Flying,
|
||||||
Levitating,
|
Levitating,
|
||||||
@ -237,6 +237,21 @@ namespace EQ
|
|||||||
Trap
|
Trap
|
||||||
};
|
};
|
||||||
|
|
||||||
|
enum StuckBehavior : uint8 {
|
||||||
|
RunToTarget,
|
||||||
|
WarpToTarget,
|
||||||
|
TakeNoAction,
|
||||||
|
EvadeCombat
|
||||||
|
};
|
||||||
|
|
||||||
|
enum SpawnAnimations : uint8 {
|
||||||
|
Standing,
|
||||||
|
Sitting,
|
||||||
|
Crouching,
|
||||||
|
Laying,
|
||||||
|
Looting
|
||||||
|
};
|
||||||
|
|
||||||
const char *GetStanceName(StanceType stance_type);
|
const char *GetStanceName(StanceType stance_type);
|
||||||
int ConvertStanceTypeToIndex(StanceType stance_type);
|
int ConvertStanceTypeToIndex(StanceType stance_type);
|
||||||
|
|
||||||
@ -246,8 +261,8 @@ namespace EQ
|
|||||||
extern const std::map<uint32, std::string>& GetLDoNThemeMap();
|
extern const std::map<uint32, std::string>& GetLDoNThemeMap();
|
||||||
std::string GetLDoNThemeName(uint32 theme_id);
|
std::string GetLDoNThemeName(uint32 theme_id);
|
||||||
|
|
||||||
extern const std::map<uint8, std::string>& GetFlyModeMap();
|
extern const std::map<int8, std::string>& GetFlyModeMap();
|
||||||
std::string GetFlyModeName(uint8 flymode_id);
|
std::string GetFlyModeName(int8 flymode_id);
|
||||||
|
|
||||||
extern const std::map<bodyType, std::string>& GetBodyTypeMap();
|
extern const std::map<bodyType, std::string>& GetBodyTypeMap();
|
||||||
std::string GetBodyTypeName(bodyType bodytype_id);
|
std::string GetBodyTypeName(bodyType bodytype_id);
|
||||||
@ -261,6 +276,12 @@ namespace EQ
|
|||||||
extern const std::map<uint8, std::string>& GetEnvironmentalDamageMap();
|
extern const std::map<uint8, std::string>& GetEnvironmentalDamageMap();
|
||||||
std::string GetEnvironmentalDamageName(uint8 damage_type);
|
std::string GetEnvironmentalDamageName(uint8 damage_type);
|
||||||
|
|
||||||
|
extern const std::map<uint8, std::string>& GetStuckBehaviorMap();
|
||||||
|
std::string GetStuckBehaviorName(uint8 behavior_id);
|
||||||
|
|
||||||
|
extern const std::map<uint8, std::string>& GetSpawnAnimationMap();
|
||||||
|
std::string GetSpawnAnimationName(uint8 animation_id);
|
||||||
|
|
||||||
const int STANCE_TYPE_FIRST = stancePassive;
|
const int STANCE_TYPE_FIRST = stancePassive;
|
||||||
const int STANCE_TYPE_LAST = stanceBurnAE;
|
const int STANCE_TYPE_LAST = stanceBurnAE;
|
||||||
const int STANCE_TYPE_COUNT = stanceBurnAE;
|
const int STANCE_TYPE_COUNT = stanceBurnAE;
|
||||||
|
|||||||
@ -192,7 +192,7 @@ int command_init(void)
|
|||||||
command_add("kick", "[Character Name] - Disconnect a player by name", AccountStatus::GMLeadAdmin, command_kick) ||
|
command_add("kick", "[Character Name] - Disconnect a player by name", AccountStatus::GMLeadAdmin, command_kick) ||
|
||||||
command_add("kill", "Kill your target", AccountStatus::GMAdmin, command_kill) ||
|
command_add("kill", "Kill your target", AccountStatus::GMAdmin, command_kill) ||
|
||||||
command_add("killallnpcs", "[npc_name] - Kills all npcs by search name, leave blank for all attackable NPC's", AccountStatus::GMMgmt, command_killallnpcs) ||
|
command_add("killallnpcs", "[npc_name] - Kills all npcs by search name, leave blank for all attackable NPC's", AccountStatus::GMMgmt, command_killallnpcs) ||
|
||||||
command_add("lastname", "[Last Name] - Set you or your player target's lastname", AccountStatus::Guide, command_lastname) ||
|
command_add("lastname", "[Last Name] - Set your or your player target's last name (use \"-1\" to remove last name)", AccountStatus::Guide, command_lastname) ||
|
||||||
command_add("level", "[Level] - Set your target's level", AccountStatus::Steward, command_level) ||
|
command_add("level", "[Level] - Set your target's level", AccountStatus::Steward, command_level) ||
|
||||||
command_add("list", "[npcs|players|corpses|doors|objects] [search] - Search entities", AccountStatus::ApprenticeGuide, command_list) ||
|
command_add("list", "[npcs|players|corpses|doors|objects] [search] - Search entities", AccountStatus::ApprenticeGuide, command_list) ||
|
||||||
command_add("listpetition", "List petitions", AccountStatus::Guide, command_listpetition) ||
|
command_add("listpetition", "List petitions", AccountStatus::Guide, command_listpetition) ||
|
||||||
@ -205,7 +205,7 @@ int command_init(void)
|
|||||||
command_add("memspell", "[Spell ID] [Spell Gem] - Memorize a Spell by ID to the specified Spell Gem for you or your target", AccountStatus::Guide, command_memspell) ||
|
command_add("memspell", "[Spell ID] [Spell Gem] - Memorize a Spell by ID to the specified Spell Gem for you or your target", AccountStatus::Guide, command_memspell) ||
|
||||||
command_add("merchant_close_shop", "Closes a merchant shop", AccountStatus::GMAdmin, command_merchantcloseshop) ||
|
command_add("merchant_close_shop", "Closes a merchant shop", AccountStatus::GMAdmin, command_merchantcloseshop) ||
|
||||||
command_add("merchant_open_shop", "Opens a merchants shop", AccountStatus::GMAdmin, command_merchantopenshop) ||
|
command_add("merchant_open_shop", "Opens a merchants shop", AccountStatus::GMAdmin, command_merchantopenshop) ||
|
||||||
command_add("modifynpcstat", "- Modifys a NPC's stats", AccountStatus::GMLeadAdmin, command_modifynpcstat) ||
|
command_add("modifynpcstat", "Modifies an NPC's stats", AccountStatus::GMLeadAdmin, command_modifynpcstat) ||
|
||||||
command_add("motd", "[Message of the Day] - Set Message of the Day (leave empty to have no Message of the Day)", AccountStatus::GMLeadAdmin, command_motd) ||
|
command_add("motd", "[Message of the Day] - Set Message of the Day (leave empty to have no Message of the Day)", AccountStatus::GMLeadAdmin, command_motd) ||
|
||||||
command_add("movechar", "[Character ID|Character Name] [Zone ID|Zone Short Name] - Move an offline character to the specified zone", AccountStatus::Guide, command_movechar) ||
|
command_add("movechar", "[Character ID|Character Name] [Zone ID|Zone Short Name] - Move an offline character to the specified zone", AccountStatus::Guide, command_movechar) ||
|
||||||
command_add("movement", "Various movement commands", AccountStatus::GMMgmt, command_movement) ||
|
command_add("movement", "Various movement commands", AccountStatus::GMMgmt, command_movement) ||
|
||||||
@ -230,8 +230,8 @@ int command_init(void)
|
|||||||
command_add("nukeitem", "[Item ID] - Removes the specified Item ID from you or your player target's inventory", AccountStatus::GMLeadAdmin, command_nukeitem) ||
|
command_add("nukeitem", "[Item ID] - Removes the specified Item ID from you or your player target's inventory", AccountStatus::GMLeadAdmin, command_nukeitem) ||
|
||||||
command_add("object", "List|Add|Edit|Move|Rotate|Copy|Save|Undo|Delete - Manipulate static and tradeskill objects within the zone", AccountStatus::GMAdmin, command_object) ||
|
command_add("object", "List|Add|Edit|Move|Rotate|Copy|Save|Undo|Delete - Manipulate static and tradeskill objects within the zone", AccountStatus::GMAdmin, command_object) ||
|
||||||
command_add("oocmute", "[0|1] - Enable or Disable Server OOC", AccountStatus::GMMgmt, command_oocmute) ||
|
command_add("oocmute", "[0|1] - Enable or Disable Server OOC", AccountStatus::GMMgmt, command_oocmute) ||
|
||||||
command_add("opcode", "- opcode management", AccountStatus::GMImpossible, command_opcode) ||
|
command_add("opcode", "opcode management", AccountStatus::GMImpossible, command_opcode) ||
|
||||||
command_add("path", "- view and edit pathing", AccountStatus::GMMgmt, command_path) ||
|
command_add("path", "view and edit pathing", AccountStatus::GMMgmt, command_path) ||
|
||||||
command_add("peekinv", "[equip/gen/cursor/poss/limbo/curlim/trib/bank/shbank/allbank/trade/world/all] - Print out contents of your player target's inventory", AccountStatus::GMAdmin, command_peekinv) ||
|
command_add("peekinv", "[equip/gen/cursor/poss/limbo/curlim/trib/bank/shbank/allbank/trade/world/all] - Print out contents of your player target's inventory", AccountStatus::GMAdmin, command_peekinv) ||
|
||||||
command_add("peqzone", "[Zone ID|Zone Short Name] - Teleports you to the specified zone if you meet the requirements.", AccountStatus::Player, command_peqzone) ||
|
command_add("peqzone", "[Zone ID|Zone Short Name] - Teleports you to the specified zone if you meet the requirements.", AccountStatus::Player, command_peqzone) ||
|
||||||
command_add("peqzone_flags", "displays the PEQZone Flags of you or your target", AccountStatus::Player, command_peqzone_flags) ||
|
command_add("peqzone_flags", "displays the PEQZone Flags of you or your target", AccountStatus::Player, command_peqzone_flags) ||
|
||||||
@ -315,8 +315,8 @@ int command_init(void)
|
|||||||
command_add("time", "[Hour] [Minute] - Set world time to specified time", AccountStatus::EQSupport, command_time) ||
|
command_add("time", "[Hour] [Minute] - Set world time to specified time", AccountStatus::EQSupport, command_time) ||
|
||||||
command_add("timers", "Display persistent timers for target", AccountStatus::GMMgmt, command_timers) ||
|
command_add("timers", "Display persistent timers for target", AccountStatus::GMMgmt, command_timers) ||
|
||||||
command_add("timezone", "[Hour] [Minutes] - Set timezone (Minutes are optional)", AccountStatus::EQSupport, command_timezone) ||
|
command_add("timezone", "[Hour] [Minutes] - Set timezone (Minutes are optional)", AccountStatus::EQSupport, command_timezone) ||
|
||||||
command_add("title", "[Remove|Title] [Save (0 = False, 1 = True)] - Set your or your player target's title (use remove to remove title, Save defaults to false if not used)", AccountStatus::Guide, command_title) ||
|
command_add("title", "[Title] - Set your or your player target's title (use \"-1\" to remove title)", AccountStatus::Guide, command_title) ||
|
||||||
command_add("titlesuffix", "[Remove|Title Suffix] [Save (0 = False, 1 = True)] - Set your or your player target's title suffix (use remove to remove title suffix, Save defaults to false if not used)", AccountStatus::Guide, command_titlesuffix) ||
|
command_add("titlesuffix", "[Title Suffix] - Set your or your player target's title suffix (use \"-1\" to remove title suffix)", AccountStatus::Guide, command_titlesuffix) ||
|
||||||
command_add("traindisc", "[level] - Trains all the disciplines usable by the target, up to level specified. (may freeze client for a few seconds)", AccountStatus::GMLeadAdmin, command_traindisc) ||
|
command_add("traindisc", "[level] - Trains all the disciplines usable by the target, up to level specified. (may freeze client for a few seconds)", AccountStatus::GMLeadAdmin, command_traindisc) ||
|
||||||
command_add("trapinfo", "Gets infomation about the traps currently spawned in the zone.", AccountStatus::QuestTroupe, command_trapinfo) ||
|
command_add("trapinfo", "Gets infomation about the traps currently spawned in the zone.", AccountStatus::QuestTroupe, command_trapinfo) ||
|
||||||
command_add("tune", "Calculate statistical values related to combat.", AccountStatus::GMAdmin, command_tune) ||
|
command_add("tune", "Calculate statistical values related to combat.", AccountStatus::GMAdmin, command_tune) ||
|
||||||
|
|||||||
@ -9,20 +9,31 @@ void command_lastname(Client *c, const Seperator *sep)
|
|||||||
|
|
||||||
LogInfo("#lastname request from [{}] for [{}]", c->GetCleanName(), target->GetCleanName());
|
LogInfo("#lastname request from [{}] for [{}]", c->GetCleanName(), target->GetCleanName());
|
||||||
|
|
||||||
std::string last_name = sep->arg[1];
|
bool is_remove = !strcasecmp(sep->argplus[1], "-1");
|
||||||
|
std::string last_name = is_remove ? "" : sep->argplus[1];
|
||||||
|
|
||||||
if (last_name.size() > 64) {
|
if (last_name.size() > 64) {
|
||||||
c->Message(Chat::White, "Usage: #lastname [Last Name] (Last Name must be 64 characters or less)");
|
c->Message(Chat::White, "Last name must be 64 characters or less.");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
target->ChangeLastName(last_name);
|
target->ChangeLastName(last_name);
|
||||||
|
|
||||||
c->Message(
|
c->Message(
|
||||||
Chat::White,
|
Chat::White,
|
||||||
fmt::format(
|
fmt::format(
|
||||||
"{} now {} a last name of '{}'.",
|
"Last name has been {}{} for {}{}",
|
||||||
c->GetTargetDescription(target, TargetDescriptionType::UCYou),
|
is_remove ? "removed" : "changed",
|
||||||
c == target ? "have" : "has",
|
!is_remove ? " and saved" : "",
|
||||||
last_name
|
c->GetTargetDescription(target),
|
||||||
|
(
|
||||||
|
is_remove ?
|
||||||
|
"." :
|
||||||
|
fmt::format(
|
||||||
|
" to '{}'.",
|
||||||
|
last_name
|
||||||
|
)
|
||||||
|
)
|
||||||
).c_str()
|
).c_str()
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@ -5,16 +5,12 @@ void command_title(Client *c, const Seperator *sep)
|
|||||||
{
|
{
|
||||||
int arguments = sep->argnum;
|
int arguments = sep->argnum;
|
||||||
if (!arguments) {
|
if (!arguments) {
|
||||||
c->Message(
|
c->Message(Chat::White, "Usage: #title [Title] (use \"-1\" to remove title)");
|
||||||
Chat::White,
|
|
||||||
"Usage: #title [Remove|Title] [Save (0 = False, 1 = True)]"
|
|
||||||
);
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool is_remove = !strcasecmp(sep->arg[1], "remove");
|
bool is_remove = !strcasecmp(sep->argplus[1], "-1");
|
||||||
std::string title = is_remove ? "" : sep->arg[1];
|
std::string title = is_remove ? "" : sep->argplus[1];
|
||||||
bool save_title = sep->IsNumber(2) ? atobool(sep->arg[2]) : false;
|
|
||||||
|
|
||||||
auto target = c;
|
auto target = c;
|
||||||
if (c->GetTarget() && c->GetTarget()->IsClient()) {
|
if (c->GetTarget() && c->GetTarget()->IsClient()) {
|
||||||
@ -30,9 +26,9 @@ void command_title(Client *c, const Seperator *sep)
|
|||||||
find_replace(title, "_", " ");
|
find_replace(title, "_", " ");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!save_title || is_remove) {
|
if (is_remove) {
|
||||||
target->SetAATitle(title);
|
target->SetAATitle(title);
|
||||||
} else if (save_title) {
|
} else {
|
||||||
title_manager.CreateNewPlayerTitle(target, title);
|
title_manager.CreateNewPlayerTitle(target, title);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -43,7 +39,7 @@ void command_title(Client *c, const Seperator *sep)
|
|||||||
fmt::format(
|
fmt::format(
|
||||||
"Title has been {}{} for {}{}",
|
"Title has been {}{} for {}{}",
|
||||||
is_remove ? "removed" : "changed",
|
is_remove ? "removed" : "changed",
|
||||||
!is_remove && save_title ? " and saved" : "",
|
!is_remove ? " and saved" : "",
|
||||||
c->GetTargetDescription(target),
|
c->GetTargetDescription(target),
|
||||||
(
|
(
|
||||||
is_remove ?
|
is_remove ?
|
||||||
|
|||||||
@ -7,14 +7,13 @@ void command_titlesuffix(Client *c, const Seperator *sep)
|
|||||||
if (!arguments) {
|
if (!arguments) {
|
||||||
c->Message(
|
c->Message(
|
||||||
Chat::White,
|
Chat::White,
|
||||||
"Usage: #titlesuffix [Remove|Title] [Save (0 = False, 1 = True)]"
|
"Usage: #titlesuffix [Title Suffix] (use \"-1\" to remove title suffix)"
|
||||||
);
|
);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
bool is_remove = !strcasecmp(sep->arg[1], "remove");
|
bool is_remove = !strcasecmp(sep->argplus[1], "-1");
|
||||||
std::string suffix = is_remove ? "" : sep->arg[1];
|
std::string suffix = is_remove ? "" : sep->argplus[1];
|
||||||
bool save_suffix = sep->IsNumber(2) ? atobool(sep->arg[2]) : false;
|
|
||||||
|
|
||||||
auto target = c;
|
auto target = c;
|
||||||
if (c->GetTarget() && c->GetTarget()->IsClient()) {
|
if (c->GetTarget() && c->GetTarget()->IsClient()) {
|
||||||
@ -30,9 +29,9 @@ void command_titlesuffix(Client *c, const Seperator *sep)
|
|||||||
find_replace(suffix, "_", " ");
|
find_replace(suffix, "_", " ");
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!save_suffix || is_remove) {
|
if (is_remove) {
|
||||||
target->SetTitleSuffix(suffix);
|
target->SetTitleSuffix(suffix);
|
||||||
} else if (save_suffix) {
|
} else {
|
||||||
title_manager.CreateNewPlayerSuffix(target, suffix);
|
title_manager.CreateNewPlayerSuffix(target, suffix);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -43,7 +42,7 @@ void command_titlesuffix(Client *c, const Seperator *sep)
|
|||||||
fmt::format(
|
fmt::format(
|
||||||
"Title suffix has been {}{} for {}{}",
|
"Title suffix has been {}{} for {}{}",
|
||||||
is_remove ? "removed" : "changed",
|
is_remove ? "removed" : "changed",
|
||||||
!is_remove && save_suffix ? " and saved" : "",
|
!is_remove ? " and saved" : "",
|
||||||
c->GetTargetDescription(target),
|
c->GetTargetDescription(target),
|
||||||
(
|
(
|
||||||
is_remove ?
|
is_remove ?
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user