summaryrefslogtreecommitdiff
path: root/src/map/atcommand.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/map/atcommand.c')
-rw-r--r--src/map/atcommand.c383
1 files changed, 249 insertions, 134 deletions
diff --git a/src/map/atcommand.c b/src/map/atcommand.c
index ae0c776c6..79bd92213 100644
--- a/src/map/atcommand.c
+++ b/src/map/atcommand.c
@@ -74,14 +74,15 @@
#include <stdlib.h>
#include <string.h>
-struct atcommand_interface atcommand_s;
+static struct atcommand_interface atcommand_s;
struct atcommand_interface *atcommand;
static char atcmd_output[CHAT_SIZE_MAX];
static char atcmd_player_name[NAME_LENGTH];
// @commands (script-based)
-struct atcmd_binding_data* get_atcommandbind_byname(const char* name) {
+static struct atcmd_binding_data *get_atcommandbind_byname(const char *name)
+{
int i = 0;
nullpo_retr(NULL, name);
@@ -93,14 +94,16 @@ struct atcmd_binding_data* get_atcommandbind_byname(const char* name) {
return ( i < atcommand->binding_count ) ? atcommand->binding[i] : NULL;
}
-const char* atcommand_msgsd(struct map_session_data *sd, int msg_number) {
+static const char *atcommand_msgsd(struct map_session_data *sd, int msg_number)
+{
Assert_retr("??", msg_number >= 0 && msg_number < MAX_MSG && atcommand->msg_table[0][msg_number] != NULL);
if (!sd || sd->lang_id >= atcommand->max_message_table || !atcommand->msg_table[sd->lang_id][msg_number])
return atcommand->msg_table[0][msg_number];
return atcommand->msg_table[sd->lang_id][msg_number];
}
-const char* atcommand_msgfd(int fd, int msg_number) {
+static const char *atcommand_msgfd(int fd, int msg_number)
+{
struct map_session_data *sd = sockt->session_is_valid(fd) ? sockt->session[fd]->session_data : NULL;
Assert_retr("??", msg_number >= 0 && msg_number < MAX_MSG && atcommand->msg_table[0][msg_number] != NULL);
if (!sd || sd->lang_id >= atcommand->max_message_table || !atcommand->msg_table[sd->lang_id][msg_number])
@@ -111,7 +114,8 @@ const char* atcommand_msgfd(int fd, int msg_number) {
//-----------------------------------------------------------
// Return the message string of the specified number by [Yor]
//-----------------------------------------------------------
-const char* atcommand_msg(int msg_number) {
+static const char *atcommand_msg(int msg_number)
+{
Assert_retr("??", msg_number >= 0 && msg_number < MAX_MSG);
if (atcommand->msg_table[map->default_lang_id][msg_number] != NULL && atcommand->msg_table[map->default_lang_id][msg_number][0] != '\0')
return atcommand->msg_table[map->default_lang_id][msg_number];
@@ -129,7 +133,8 @@ const char* atcommand_msg(int msg_number) {
* @param[in] allow_override whether to allow duplicate message IDs to override the original value.
* @return success state.
*/
-bool msg_config_read(const char *cfg_name, bool allow_override) {
+static bool msg_config_read(const char *cfg_name, bool allow_override)
+{
int msg_number;
char line[1024], w1[1024], w2[1024];
FILE *fp;
@@ -176,7 +181,8 @@ bool msg_config_read(const char *cfg_name, bool allow_override) {
/*==========================================
* Cleanup Message Data
*------------------------------------------*/
-void do_final_msg(void) {
+static void do_final_msg(void)
+{
int i, j;
for(i = 0; i < atcommand->max_message_table; i++) {
@@ -194,7 +200,8 @@ void do_final_msg(void) {
/**
* retrieves the help string associated with a given command.
*/
-static inline const char* atcommand_help_string(AtCommandInfo *info) {
+static inline const char *atcommand_help_string(AtCommandInfo *info)
+{
return info->help;
}
@@ -431,7 +438,8 @@ ACMD(send)
/*==========================================
* @rura, @warp, @mapmove
*------------------------------------------*/
-ACMD(mapmove) {
+ACMD(mapmove)
+{
char map_name[MAP_NAME_LENGTH_EXT];
unsigned short map_index;
short x = 0, y = 0;
@@ -486,7 +494,8 @@ ACMD(mapmove) {
/*==========================================
* Displays where a character is. Corrected version by Silent. [Skotlex]
*------------------------------------------*/
-ACMD(where) {
+ACMD(where)
+{
struct map_session_data* pl_sd;
memset(atcmd_player_name, '\0', sizeof atcmd_player_name);
@@ -514,7 +523,8 @@ ACMD(where) {
/*==========================================
*
*------------------------------------------*/
-ACMD(jumpto) {
+ACMD(jumpto)
+{
struct map_session_data *pl_sd = NULL;
if (!*message) {
@@ -597,7 +607,8 @@ ACMD(jump)
* Display list of online characters with
* various info.
*------------------------------------------*/
-ACMD(who) {
+ACMD(who)
+{
const struct map_session_data *pl_sd = NULL;
struct s_mapiterator *iter = NULL;
char player_name[NAME_LENGTH] = "";
@@ -794,7 +805,8 @@ ACMD(save)
/*==========================================
*
*------------------------------------------*/
-ACMD(load) {
+ACMD(load)
+{
int16 m;
m = map->mapindex2mapid(sd->status.save_point.map);
@@ -932,7 +944,8 @@ ACMD(option)
/*==========================================
*
*------------------------------------------*/
-ACMD(hide) {
+ACMD(hide)
+{
if (pc_isinvisible(sd)) {
sd->sc.option &= ~OPTION_INVISIBLE;
if (sd->disguise != -1 )
@@ -1473,7 +1486,8 @@ ACMD(joblevelup)
/*==========================================
* @help
*------------------------------------------*/
-ACMD(help) {
+ACMD(help)
+{
const char *command_name = NULL;
char *default_command = "help";
AtCommandInfo *tinfo = NULL;
@@ -1541,7 +1555,7 @@ ACMD(help) {
* Arglist parameters:
* - (int) id: If 0, stop any attacks. Otherwise, the target block list id to stop attacking.
*/
-int atcommand_stopattack(struct block_list *bl,va_list ap)
+static int atcommand_stopattack(struct block_list *bl, va_list ap)
{
struct unit_data *ud = NULL;
int id = 0;
@@ -1560,7 +1574,7 @@ int atcommand_stopattack(struct block_list *bl,va_list ap)
/*==========================================
*
*------------------------------------------*/
-int atcommand_pvpoff_sub(struct block_list *bl,va_list ap)
+static int atcommand_pvpoff_sub(struct block_list *bl, va_list ap)
{
struct map_session_data *sd = NULL;
nullpo_ret(bl);
@@ -1598,7 +1612,7 @@ ACMD(pvpoff)
/*==========================================
*
*------------------------------------------*/
-int atcommand_pvpon_sub(struct block_list *bl,va_list ap)
+static int atcommand_pvpon_sub(struct block_list *bl, va_list ap)
{
struct map_session_data *sd = NULL;
nullpo_ret(bl);
@@ -1641,7 +1655,8 @@ ACMD(pvpon)
/*==========================================
*
*------------------------------------------*/
-ACMD(gvgoff) {
+ACMD(gvgoff)
+{
if (!map->list[sd->bl.m].flag.gvg) {
clif->message(fd, msg_fd(fd,162)); // GvG is already Off.
@@ -1870,7 +1885,8 @@ ACMD(hair_color)
/*==========================================
* @go [city_number or city_name] - Updated by Harbin
*------------------------------------------*/
-ACMD(go) {
+ACMD(go)
+{
int town = INT_MAX; // Initialized to INT_MAX instead of -1 to avoid conflicts with those who map [-3:-1] to @memo locations.
char map_name[MAP_NAME_LENGTH];
@@ -2100,7 +2116,7 @@ ACMD(monster)
/*==========================================
*
*------------------------------------------*/
-int atkillmonster_sub(struct block_list *bl, va_list ap)
+static int atkillmonster_sub(struct block_list *bl, va_list ap)
{
struct mob_data *md = NULL;
int flag = va_arg(ap, int);
@@ -2118,7 +2134,8 @@ int atkillmonster_sub(struct block_list *bl, va_list ap)
return 1;
}
-ACMD(killmonster) {
+ACMD(killmonster)
+{
int map_id, drop_flag;
char map_name[MAP_NAME_LENGTH_EXT];
@@ -2315,7 +2332,8 @@ ACMD(memo)
/*==========================================
*
*------------------------------------------*/
-ACMD(gat) {
+ACMD(gat)
+{
int y;
memset(atcmd_output, '\0', sizeof(atcmd_output));
@@ -2461,7 +2479,8 @@ ACMD(zeny)
/*==========================================
*
*------------------------------------------*/
-ACMD(param) {
+ACMD(param)
+{
int i, value = 0, new_value, max;
const char* param[] = { "str", "agi", "vit", "int", "dex", "luk" };
short* stats[6];
@@ -2521,7 +2540,8 @@ ACMD(param) {
/*==========================================
* Stat all by fritz (rewritten by [Yor])
*------------------------------------------*/
-ACMD(stat_all) {
+ACMD(stat_all)
+{
int index, count, value, max, new_value;
short* stats[6];
//we don't use direct initialization because it isn't part of the c standard.
@@ -2577,7 +2597,8 @@ ACMD(stat_all) {
/*==========================================
*
*------------------------------------------*/
-ACMD(guildlevelup) {
+ACMD(guildlevelup)
+{
int level = 0;
int16 added_level;
struct guild *guild_info;
@@ -2644,7 +2665,7 @@ ACMD(makeegg)
intif->create_pet(
sd->status.account_id, sd->status.char_id,
(short)pet->db[pet_id].class_, (short)mob->db(pet->db[pet_id].class_)->lv,
- (short)pet->db[pet_id].EggID, 0, (short)pet->db[pet_id].intimate,
+ pet->db[pet_id].EggID, 0, (short)pet->db[pet_id].intimate,
100, 0, 1, pet->db[pet_id].jname);
} else {
clif->message(fd, msg_fd(fd,180)); // The monster/egg name/id doesn't exist.
@@ -2766,7 +2787,8 @@ ACMD(petrename)
/*==========================================
*
*------------------------------------------*/
-ACMD(recall) {
+ACMD(recall)
+{
struct map_session_data *pl_sd = NULL;
if (!*message) {
@@ -3038,7 +3060,7 @@ ACMD(doommap)
/*==========================================
*
*------------------------------------------*/
-void atcommand_raise_sub(struct map_session_data* sd)
+static void atcommand_raise_sub(struct map_session_data *sd)
{
nullpo_retv(sd);
status->revive(&sd->bl, 100, 100);
@@ -3336,7 +3358,8 @@ ACMD(breakguild)
/*==========================================
*
*------------------------------------------*/
-ACMD(agitstart) {
+ACMD(agitstart)
+{
if (map->agit_flag == 1) {
clif->message(fd, msg_fd(fd,73)); // War of Emperium is currently in progress.
return false;
@@ -3352,7 +3375,8 @@ ACMD(agitstart) {
/*==========================================
*
*------------------------------------------*/
-ACMD(agitstart2) {
+ACMD(agitstart2)
+{
if (map->agit2_flag == 1) {
clif->message(fd, msg_fd(fd,404)); // "War of Emperium SE is currently in progress."
return false;
@@ -3368,7 +3392,8 @@ ACMD(agitstart2) {
/*==========================================
*
*------------------------------------------*/
-ACMD(agitend) {
+ACMD(agitend)
+{
if (map->agit_flag == 0) {
clif->message(fd, msg_fd(fd,75)); // War of Emperium is currently not in progress.
return false;
@@ -3384,7 +3409,8 @@ ACMD(agitend) {
/*==========================================
*
*------------------------------------------*/
-ACMD(agitend2) {
+ACMD(agitend2)
+{
if (map->agit2_flag == 0) {
clif->message(fd, msg_fd(fd,406)); // "War of Emperium SE is currently not in progress."
return false;
@@ -3400,7 +3426,8 @@ ACMD(agitend2) {
/*==========================================
* @mapexit - shuts down the map server
*------------------------------------------*/
-ACMD(mapexit) {
+ACMD(mapexit)
+{
map->do_shutdown();
return true;
}
@@ -3610,7 +3637,8 @@ ACMD(reloaditemdb)
/*==========================================
*
*------------------------------------------*/
-ACMD(reloadmobdb) {
+ACMD(reloadmobdb)
+{
mob->reload();
pet->read_db();
homun->reload();
@@ -3639,7 +3667,8 @@ ACMD(reloadskilldb)
/*==========================================
* @reloadatcommand - reloads conf/atcommand.conf conf/groups.conf
*------------------------------------------*/
-ACMD(reloadatcommand) {
+ACMD(reloadatcommand)
+{
struct config_t run_test;
if (!libconfig->load_file(&run_test, "conf/groups.conf")) {
@@ -3713,13 +3742,14 @@ ACMD(reloadbattleconf)
/*==========================================
* @reloadstatusdb - reloads job_db1.txt job_db2.txt job_db2-2.txt refine_db.txt size_fix.txt
*------------------------------------------*/
-ACMD(reloadstatusdb) {
+ACMD(reloadstatusdb)
+{
status->readdb();
clif->message(fd, msg_fd(fd,256));
return true;
}
/*==========================================
- * @reloadpcdb - reloads exp.txt skill_tree.txt attr_fix.txt statpoint.txt
+ * @reloadpcdb - reloads exp_group_db.conf skill_tree.txt attr_fix.txt statpoint.txt
*------------------------------------------*/
ACMD(reloadpcdb)
{
@@ -3731,7 +3761,8 @@ ACMD(reloadpcdb)
/*==========================================
* @reloadscript - reloads all scripts (npcs, warps, mob spawns, ...)
*------------------------------------------*/
-ACMD(reloadscript) {
+ACMD(reloadscript)
+{
struct s_mapiterator* iter;
struct map_session_data* pl_sd;
@@ -4104,7 +4135,8 @@ ACMD(mount_peco)
/*==========================================
*Spy Commands by Syrus22
*------------------------------------------*/
-ACMD(guildspy) {
+ACMD(guildspy)
+{
char guild_name[NAME_LENGTH];
struct guild *g;
@@ -4143,7 +4175,8 @@ ACMD(guildspy) {
/*==========================================
*
*------------------------------------------*/
-ACMD(partyspy) {
+ACMD(partyspy)
+{
char party_name[NAME_LENGTH];
struct party_data *p;
@@ -4212,7 +4245,8 @@ ACMD(repairall)
/*==========================================
* @nuke [Valaris]
*------------------------------------------*/
-ACMD(nuke) {
+ACMD(nuke)
+{
struct map_session_data *pl_sd;
memset(atcmd_player_name, '\0', sizeof(atcmd_player_name));
@@ -4241,7 +4275,8 @@ ACMD(nuke) {
/*==========================================
* @tonpc
*------------------------------------------*/
-ACMD(tonpc) {
+ACMD(tonpc)
+{
char npcname[NAME_LENGTH+1];
struct npc_data *nd;
@@ -4367,7 +4402,8 @@ ACMD(unloadnpc)
/*==========================================
* time in txt for time command (by [Yor])
*------------------------------------------*/
-char* txt_time(int fd, unsigned int duration) {
+static char *txt_time(int fd, unsigned int duration)
+{
int days, hours, minutes, seconds;
static char temp1[CHAT_SIZE_MAX];
int tlen = 0;
@@ -4405,7 +4441,8 @@ char* txt_time(int fd, unsigned int duration) {
* @time/@date/@serverdate/@servertime: Display the date/time of the server (by [Yor]
* Calculation management of GM modification (@day/@night GM commands) is done
*------------------------------------------*/
-ACMD(servertime) {
+ACMD(servertime)
+{
time_t time_server; // variable for number of seconds (used with time() function)
struct tm *datetime; // variable for time in structure ->tm_mday, ->tm_sec, ...
char temp[CHAT_SIZE_MAX];
@@ -4460,7 +4497,7 @@ ACMD(servertime) {
//Added by Coltaro
//We're using this function here instead of using time_t so that it only counts player's jail time when he/she's online (and since the idea is to reduce the amount of minutes one by one in status->change_timer...).
//Well, using time_t could still work but for some reason that looks like more coding x_x
-void get_jail_time(int jailtime, int* year, int* month, int* day, int* hour, int* minute)
+static void get_jail_time(int jailtime, int *year, int *month, int *day, int *hour, int *minute)
{
const int factor_year = 518400; //12*30*24*60 = 518400
const int factor_month = 43200; //30*24*60 = 43200
@@ -4494,7 +4531,8 @@ void get_jail_time(int jailtime, int* year, int* month, int* day, int* hour, int
* @jail <char_name> by [Yor]
* Special warp! No check with nowarp and nowarpto flag
*------------------------------------------*/
-ACMD(jail) {
+ACMD(jail)
+{
struct map_session_data *pl_sd;
int x, y;
unsigned short m_index;
@@ -4547,7 +4585,8 @@ ACMD(jail) {
* @unjail/@discharge <char_name> by [Yor]
* Special warp! No check with nowarp and nowarpto flag
*------------------------------------------*/
-ACMD(unjail) {
+ACMD(unjail)
+{
struct map_session_data *pl_sd;
memset(atcmd_player_name, '\0', sizeof(atcmd_player_name));
@@ -4581,7 +4620,8 @@ ACMD(unjail) {
return true;
}
-ACMD(jailfor) {
+ACMD(jailfor)
+{
struct map_session_data *pl_sd = NULL;
int year, month, day, hour, minute;
char * modif_p;
@@ -4865,7 +4905,8 @@ ACMD(undisguise)
/*==========================================
* UndisguiseAll
*------------------------------------------*/
-ACMD(undisguiseall) {
+ACMD(undisguiseall)
+{
struct map_session_data *pl_sd;
struct s_mapiterator* iter;
@@ -5043,7 +5084,8 @@ ACMD(killer)
* @killable by MouseJstr
* enable other people killing you
*------------------------------------------*/
-ACMD(killable) {
+ACMD(killable)
+{
sd->state.killable = !sd->state.killable;
if (sd->state.killable) {
@@ -5059,7 +5101,8 @@ ACMD(killable) {
* @skillon by MouseJstr
* turn skills on for the map
*------------------------------------------*/
-ACMD(skillon) {
+ACMD(skillon)
+{
map->list[sd->bl.m].flag.noskill = 0;
clif->message(fd, msg_fd(fd,244));
return true;
@@ -5069,7 +5112,8 @@ ACMD(skillon) {
* @skilloff by MouseJstr
* Turn skills off on the map
*------------------------------------------*/
-ACMD(skilloff) {
+ACMD(skilloff)
+{
map->list[sd->bl.m].flag.noskill = 1;
clif->message(fd, msg_fd(fd,243));
return true;
@@ -5079,7 +5123,8 @@ ACMD(skilloff) {
* @npcmove by MouseJstr
* move a npc
*------------------------------------------*/
-ACMD(npcmove) {
+ACMD(npcmove)
+{
int x = 0, y = 0, m;
struct npc_data *nd = 0;
@@ -5149,7 +5194,8 @@ ACMD(addwarp)
* @follow by [MouseJstr]
* Follow a player .. staying no more then 5 spaces away
*------------------------------------------*/
-ACMD(follow) {
+ACMD(follow)
+{
struct map_session_data *pl_sd = NULL;
if (!*message) {
@@ -5374,7 +5420,8 @@ ACMD(skillid)
* @useskill by [MouseJstr]
* A way of using skills without having to find them in the skills menu
*------------------------------------------*/
-ACMD(useskill) {
+ACMD(useskill)
+{
struct map_session_data *pl_sd = NULL;
struct block_list *bl;
uint16 skill_id;
@@ -5420,7 +5467,8 @@ ACMD(useskill) {
* Debug command to locate new skill IDs. It sends the
* three possible skill-effect packets to the area.
*------------------------------------------*/
-ACMD(displayskill) {
+ACMD(displayskill)
+{
struct status_data *st;
int64 tick;
uint16 skill_id;
@@ -5491,7 +5539,8 @@ ACMD(skilltree)
}
// Hand a ring with partners name on it to this char
-void atcommand_getring(struct map_session_data* sd) {
+static void atcommand_getring(struct map_session_data *sd)
+{
int flag, item_id;
struct item item_tmp;
nullpo_retv(sd);
@@ -5514,7 +5563,8 @@ void atcommand_getring(struct map_session_data* sd) {
* @marry by [MouseJstr], fixed by Lupus
* Marry two players
*------------------------------------------*/
-ACMD(marry) {
+ACMD(marry)
+{
struct map_session_data *pl_sd = NULL;
char player_name[NAME_LENGTH] = "";
@@ -5633,7 +5683,8 @@ ACMD(autotrade)
* @changegm by durf (changed by Lupus)
* Changes Master of your Guild to a specified guild member
*------------------------------------------*/
-ACMD(changegm) {
+ACMD(changegm)
+{
struct guild *g;
struct map_session_data *pl_sd;
@@ -5665,7 +5716,8 @@ ACMD(changegm) {
* @changeleader by Skotlex
* Changes the leader of a party.
*------------------------------------------*/
-ACMD(changeleader) {
+ACMD(changeleader)
+{
if (!message[0]) {
clif->message(fd, msg_fd(fd,1185)); // Usage: @changeleader <party_member_name>
@@ -5854,7 +5906,8 @@ ACMD(autolootitem)
* Credits:
* chriser,Aleos
*------------------------------------------*/
-ACMD(autoloottype) {
+ACMD(autoloottype)
+{
uint8 action = 3; // 1=add, 2=remove, 3=help+list (default), 4=reset
enum item_types type = -1;
int ITEM_NONE = 0;
@@ -5967,8 +6020,8 @@ ACMD(snow)
/*==========================================
* Cherry tree snowstorm is made to fall. (Sakura)
*------------------------------------------*/
-ACMD(sakura) {
-
+ACMD(sakura)
+{
if (map->list[sd->bl.m].flag.sakura) {
map->list[sd->bl.m].flag.sakura=0;
clif->weather(sd->bl.m);
@@ -5984,8 +6037,8 @@ ACMD(sakura) {
/*==========================================
* Clouds appear.
*------------------------------------------*/
-ACMD(clouds) {
-
+ACMD(clouds)
+{
if (map->list[sd->bl.m].flag.clouds) {
map->list[sd->bl.m].flag.clouds=0;
clif->weather(sd->bl.m);
@@ -6002,8 +6055,8 @@ ACMD(clouds) {
/*==========================================
* Different type of clouds using effect 516
*------------------------------------------*/
-ACMD(clouds2) {
-
+ACMD(clouds2)
+{
if (map->list[sd->bl.m].flag.clouds2) {
map->list[sd->bl.m].flag.clouds2=0;
clif->weather(sd->bl.m);
@@ -6020,8 +6073,8 @@ ACMD(clouds2) {
/*==========================================
* Fog hangs over.
*------------------------------------------*/
-ACMD(fog) {
-
+ACMD(fog)
+{
if (map->list[sd->bl.m].flag.fog) {
map->list[sd->bl.m].flag.fog=0;
clif->weather(sd->bl.m);
@@ -6037,8 +6090,8 @@ ACMD(fog) {
/*==========================================
* Fallen leaves fall.
*------------------------------------------*/
-ACMD(leaves) {
-
+ACMD(leaves)
+{
if (map->list[sd->bl.m].flag.leaves) {
map->list[sd->bl.m].flag.leaves=0;
clif->weather(sd->bl.m);
@@ -6055,8 +6108,8 @@ ACMD(leaves) {
/*==========================================
* Fireworks appear.
*------------------------------------------*/
-ACMD(fireworks) {
-
+ACMD(fireworks)
+{
if (map->list[sd->bl.m].flag.fireworks) {
map->list[sd->bl.m].flag.fireworks=0;
clif->weather(sd->bl.m);
@@ -6164,20 +6217,23 @@ ACMD(mobsearch)
* @cleanmap - cleans items on the ground
* @cleanarea - cleans items on the ground within an specified area
*------------------------------------------*/
-int atcommand_cleanfloor_sub(struct block_list *bl, va_list ap) {
+static int atcommand_cleanfloor_sub(struct block_list *bl, va_list ap)
+{
nullpo_ret(bl);
map->clearflooritem(bl);
return 0;
}
-ACMD(cleanmap) {
+ACMD(cleanmap)
+{
map->foreachinmap(atcommand->cleanfloor_sub, sd->bl.m, BL_ITEM);
clif->message(fd, msg_fd(fd,1221)); // All dropped items have been cleaned up.
return true;
}
-ACMD(cleanarea) {
+ACMD(cleanarea)
+{
int x0 = 0, y0 = 0, x1 = 0, y1 = 0, n = 0;
if (!*message || (n=sscanf(message, "%d %d %d %d", &x0, &y0, &x1, &y1)) < 1) {
@@ -6228,7 +6284,7 @@ ACMD(npctalk)
snprintf(temp, sizeof(temp), "%s : %s", name, mes);
if(ifcolor) clif->messagecolor(&nd->bl,color,temp);
- else clif->disp_overhead(&nd->bl, temp);
+ else clif->disp_overhead(&nd->bl, temp, AREA_CHAT_WOC, NULL);
return true;
}
@@ -6288,7 +6344,7 @@ ACMD(pettalk)
}
snprintf(temp, sizeof temp ,"%s : %s", pd->pet.name, mes);
- clif->disp_overhead(&pd->bl, temp);
+ clif->disp_overhead(&pd->bl, temp, AREA_CHAT_WOC, NULL);
return true;
}
@@ -6341,7 +6397,8 @@ ACMD(users)
/*==========================================
*
*------------------------------------------*/
-ACMD(reset) {
+ACMD(reset)
+{
pc->resetstate(sd);
pc->resetskill(sd, PCRESETSKILL_RESYNC);
safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,208), sd->status.name); // '%s' skill and stats points reseted!
@@ -6424,7 +6481,8 @@ ACMD(adjgroup)
* @trade by [MouseJstr]
* Open a trade window with a remote player
*------------------------------------------*/
-ACMD(trade) {
+ACMD(trade)
+{
struct map_session_data *pl_sd = NULL;
if (!*message) {
@@ -6467,7 +6525,8 @@ ACMD(setbattleflag)
/*==========================================
* @unmute [Valaris]
*------------------------------------------*/
-ACMD(unmute) {
+ACMD(unmute)
+{
struct map_session_data *pl_sd = NULL;
if (!*message) {
@@ -6518,7 +6577,8 @@ ACMD(uptime)
* @changesex <sex>
* => Changes one's sex. Argument sex can be 0 or 1, m or f, male or female.
*------------------------------------------*/
-ACMD(changesex) {
+ACMD(changesex)
+{
int i;
pc->resetskill(sd, PCRESETSKILL_CHSEX);
@@ -6532,7 +6592,8 @@ ACMD(changesex) {
/*================================================
* @mute - Mutes a player for a set amount of time
*------------------------------------------------*/
-ACMD(mute) {
+ACMD(mute)
+{
struct map_session_data *pl_sd = NULL;
int manner;
@@ -6610,7 +6671,8 @@ ACMD(identify)
return true;
}
-ACMD(misceffect) {
+ACMD(misceffect)
+{
int effect = 0;
if (!*message)
@@ -6851,7 +6913,8 @@ ACMD(showmobs)
/*==========================================
* homunculus level up [orn]
*------------------------------------------*/
-ACMD(homlevel) {
+ACMD(homlevel)
+{
struct homun_data *hd;
int level = 0;
enum homun_type htype;
@@ -6922,7 +6985,8 @@ ACMD(homevolution)
return true;
}
-ACMD(hommutate) {
+ACMD(hommutate)
+{
int homun_id;
enum homun_type m_class, m_id;
@@ -6951,7 +7015,8 @@ ACMD(hommutate) {
/*==========================================
* call choosen homunculus [orn]
*------------------------------------------*/
-ACMD(makehomun) {
+ACMD(makehomun)
+{
int homunid;
if (!*message) {
@@ -7063,7 +7128,7 @@ ACMD(homtalk)
}
snprintf(temp, sizeof temp ,"%s : %s", sd->hd->homunculus.name, mes);
- clif->disp_overhead(&sd->hd->bl, temp);
+ clif->disp_overhead(&sd->hd->bl, temp, AREA_CHAT_WOC, NULL);
return true;
}
@@ -7071,7 +7136,8 @@ ACMD(homtalk)
/*==========================================
* Show homunculus stats
*------------------------------------------*/
-ACMD(hominfo) {
+ACMD(hominfo)
+{
struct homun_data *hd;
struct status_data *st;
@@ -7331,7 +7397,8 @@ ACMD(whereis)
return true;
}
-ACMD(version) {
+ACMD(version)
+{
safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,1296), sysinfo->is64bit() ? 64 : 32, sysinfo->platform()); // Hercules %d-bit for %s
clif->message(fd, atcmd_output);
safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,1295), sysinfo->vcstype(), sysinfo->vcsrevision_src(), sysinfo->vcsrevision_scripts()); // %s revision '%s' (src) / '%s' (scripts)
@@ -7343,8 +7410,9 @@ ACMD(version) {
/*==========================================
* @mutearea by MouseJstr
*------------------------------------------*/
-int atcommand_mutearea_sub(struct block_list *bl, va_list ap)
-{ // As it is being used [ACMD(mutearea)] there's no need to be a bool, but if there's need to reuse it, it's better to be this way
+static int atcommand_mutearea_sub(struct block_list *bl, va_list ap)
+{
+ // As it is being used [ACMD(mutearea)] there's no need to be a bool, but if there's need to reuse it, it's better to be this way
int time, id;
struct map_session_data *pl_sd = BL_CAST(BL_PC, bl);
@@ -7364,7 +7432,8 @@ int atcommand_mutearea_sub(struct block_list *bl, va_list ap)
return 1;
}
-ACMD(mutearea) {
+ACMD(mutearea)
+{
int time;
if (!*message) {
@@ -7423,7 +7492,7 @@ ACMD(me)
}
safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,270), sd->status.name, tempmes); // *%s %s*
- clif->disp_overhead(&sd->bl, atcmd_output);
+ clif->disp_overhead(&sd->bl, atcmd_output, AREA_CHAT_WOC, NULL);
return true;
}
@@ -7579,7 +7648,8 @@ ACMD(fakename)
/*==========================================
* Ragnarok Resources
*------------------------------------------*/
-ACMD(mapflag) {
+ACMD(mapflag)
+{
#define CHECKFLAG( cmd ) do { if (map->list[ sd->bl.m ].flag.cmd ) clif->message(sd->fd,#cmd);} while(0)
#define SETFLAG( cmd ) do { \
if (strcmp( flag_name , #cmd ) == 0) { \
@@ -7767,7 +7837,8 @@ ACMD(invite)
return true;
}
-ACMD(duel) {
+ACMD(duel)
+{
unsigned int maxpl = 0;
if (sd->duel_group > 0) {
@@ -7820,7 +7891,8 @@ ACMD(duel) {
return true;
}
-ACMD(leave) {
+ACMD(leave)
+{
if (sd->duel_group <= 0) {
// "Duel: @leave without @duel."
clif->message(fd, msg_fd(fd,358));
@@ -7831,7 +7903,8 @@ ACMD(leave) {
return true;
}
-ACMD(accept) {
+ACMD(accept)
+{
if (!duel->checktime(sd)) {
char output[CHAT_SIZE_MAX];
// "Duel: You can take part in duel only one time per %d minutes."
@@ -7859,7 +7932,8 @@ ACMD(accept) {
return true;
}
-ACMD(reject) {
+ACMD(reject)
+{
if (sd->duel_invite <= 0) {
// "Duel: @reject without invitation."
clif->message(fd, msg_fd(fd,362));
@@ -7929,7 +8003,8 @@ ACMD(cash)
}
// @clone/@slaveclone/@evilclone <playername> [Valaris]
-ACMD(clone) {
+ACMD(clone)
+{
int x=0,y=0,flag=0,master=0,i=0;
struct map_session_data *pl_sd=NULL;
@@ -8047,7 +8122,8 @@ ACMD(auction)
/*==========================================
* Kill Steal Protection
*------------------------------------------*/
-ACMD(ksprotection) {
+ACMD(ksprotection)
+{
if( sd->state.noks ) {
sd->state.noks = KSPROTECT_NONE;
clif->message(fd, msg_fd(fd,1325)); // [ K.S Protection Inactive ]
@@ -8307,7 +8383,8 @@ ACMD(stats)
return true;
}
-ACMD(delitem) {
+ACMD(delitem)
+{
char item_name[100];
int nameid, amount = 0, total, idx;
struct item_data* id;
@@ -8368,7 +8445,8 @@ ACMD(delitem) {
/*==========================================
* Custom Fonts
*------------------------------------------*/
-ACMD(font) {
+ACMD(font)
+{
int font_id;
font_id = atoi(message);
@@ -8403,7 +8481,7 @@ ACMD(font) {
/*==========================================
* type: 1 = commands (@), 2 = charcommands (#)
*------------------------------------------*/
-void atcommand_commands_sub(struct map_session_data* sd, const int fd, AtCommandType type)
+static void atcommand_commands_sub(struct map_session_data *sd, const int fd, AtCommandType type)
{
char line_buff[CHATBOX_SIZE];
char* cur = line_buff;
@@ -8528,7 +8606,8 @@ ACMD(cashmount)
return true;
}
-ACMD(accinfo) {
+ACMD(accinfo)
+{
char query[NAME_LENGTH];
if (!*message || strlen(message) > NAME_LENGTH ) {
@@ -8657,12 +8736,16 @@ ACMD(set)
aFree(data);
return true;
}
-ACMD(reloadquestdb) {
+
+ACMD(reloadquestdb)
+{
quest->reload();
clif->message(fd, msg_fd(fd,1377)); // Quest database has been reloaded.
return true;
}
-ACMD(addperm) {
+
+ACMD(addperm)
+{
int perm_size = pcg->permission_count;
bool add = (strcmpi(info->command, "addperm") == 0) ? true : false;
int i;
@@ -8718,6 +8801,7 @@ ACMD(addperm) {
return true;
}
+
ACMD(unloadnpcfile)
{
if (!*message) {
@@ -8733,7 +8817,9 @@ ACMD(unloadnpcfile)
}
return true;
}
-ACMD(cart) {
+
+ACMD(cart)
+{
#define MC_CART_MDFY(x,idx) do { \
sd->status.skill[idx].id = (x)?MC_PUSHCART:0; \
sd->status.skill[idx].lv = (x)?1:0; \
@@ -8775,6 +8861,7 @@ ACMD(cart) {
return true;
#undef MC_CART_MDFY
}
+
/* [Ind/Hercules] */
ACMD(join)
{
@@ -8818,8 +8905,10 @@ ACMD(join)
return true;
}
+
/* [Ind/Hercules] */
-void atcommand_channel_help(int fd, const char *command, bool can_create) {
+static void atcommand_channel_help(int fd, const char *command, bool can_create)
+{
nullpo_retv(command);
safesnprintf(atcmd_output, sizeof(atcmd_output), msg_fd(fd,1404),command); // %s failed.
clif->message(fd, atcmd_output);
@@ -8869,8 +8958,10 @@ void atcommand_channel_help(int fd, const char *command, bool can_create) {
clif->message(fd, msg_fd(fd,1463));// - adds or removes <option name> with <option value> to <channel name> channel
}
}
+
/* [Ind/Hercules] */
-ACMD(channel) {
+ACMD(channel)
+{
struct channel_data *chan;
char subcmd[HCS_NAME_LENGTH], sub1[HCS_NAME_LENGTH], sub2[HCS_NAME_LENGTH], sub3[HCS_NAME_LENGTH];
unsigned char k = 0;
@@ -9289,8 +9380,10 @@ ACMD(channel) {
}
return true;
}
+
/* debug only, delete after */
-ACMD(fontcolor) {
+ACMD(fontcolor)
+{
unsigned char k;
if (!*message) {
@@ -9322,7 +9415,9 @@ ACMD(fontcolor) {
return true;
}
-ACMD(searchstore){
+
+ACMD(searchstore)
+{
int val = atoi(message);
switch (val) {
@@ -9426,10 +9521,12 @@ ACMD(skdebug)
clif->message(fd,atcmd_output);
return true;
}
+
/**
* cooldown-debug
**/
-ACMD(cddebug) {
+ACMD(cddebug)
+{
int i;
struct skill_cd* cd = NULL;
@@ -9474,7 +9571,8 @@ ACMD(cddebug) {
/**
*
**/
-ACMD(lang) {
+ACMD(lang)
+{
uint8 i;
if (!*message) {
@@ -9644,7 +9742,8 @@ ACMD(reloadclans)
**/
#define ACMD_DEF(x) { #x, atcommand_ ## x, NULL, NULL, NULL, true }
#define ACMD_DEF2(x2, x) { x2, atcommand_ ## x, NULL, NULL, NULL, true }
-void atcommand_basecommands(void) {
+static void atcommand_basecommands(void)
+{
/**
* Command reference list, place the base of your commands here
**/
@@ -9935,7 +10034,8 @@ void atcommand_basecommands(void) {
#undef ACMD_DEF
#undef ACMD_DEF2
-bool atcommand_add(char *name, AtCommandFunc func, bool replace) {
+static bool atcommand_add(char *name, AtCommandFunc func, bool replace)
+{
AtCommandInfo* cmd;
nullpo_retr(false, name);
@@ -9958,18 +10058,21 @@ bool atcommand_add(char *name, AtCommandFunc func, bool replace) {
/*==========================================
* Command lookup functions
*------------------------------------------*/
-AtCommandInfo* atcommand_exists(const char* name) {
+static AtCommandInfo *atcommand_exists(const char *name)
+{
return strdb_get(atcommand->db, name);
}
-AtCommandInfo* get_atcommandinfo_byname(const char *name) {
+static AtCommandInfo *get_atcommandinfo_byname(const char *name)
+{
AtCommandInfo *cmd;
if ((cmd = strdb_get(atcommand->db, name)))
return cmd;
return NULL;
}
-const char* atcommand_checkalias(const char *aliasname) {
+static const char *atcommand_checkalias(const char *aliasname)
+{
AliasInfo *alias_info = NULL;
if ((alias_info = (AliasInfo*)strdb_get(atcommand->alias_db, aliasname)) != NULL)
return alias_info->command->command;
@@ -9977,7 +10080,8 @@ const char* atcommand_checkalias(const char *aliasname) {
}
/// AtCommand suggestion
-void atcommand_get_suggestions(struct map_session_data* sd, const char *name, bool is_atcmd_cmd) {
+static void atcommand_get_suggestions(struct map_session_data *sd, const char *name, bool is_atcmd_cmd)
+{
struct DBIterator *atcommand_iter, *alias_iter;
AtCommandInfo* command_info = NULL;
AliasInfo* alias_info = NULL;
@@ -10058,7 +10162,7 @@ void atcommand_get_suggestions(struct map_session_data* sd, const char *name, bo
* @retval true if the message was recognized as atcommand.
* @retval false if the message should be considered a non-command message.
*/
-bool atcommand_exec(const int fd, struct map_session_data *sd, const char *message, bool player_invoked)
+static bool atcommand_exec(const int fd, struct map_session_data *sd, const char *message, bool player_invoked)
{
char params[100], command[100];
char output[CHAT_SIZE_MAX];
@@ -10230,7 +10334,8 @@ bool atcommand_exec(const int fd, struct map_session_data *sd, const char *messa
/*==========================================
*
*------------------------------------------*/
-void atcommand_config_read(const char* config_filename) {
+static void atcommand_config_read(const char *config_filename)
+{
struct config_t atcommand_config;
struct config_setting_t *aliases = NULL, *help = NULL, *nolog = NULL;
const char *symbol = NULL;
@@ -10369,7 +10474,7 @@ static inline int atcommand_command_type2idx(AtCommandType type)
* Loads permissions for groups to use commands.
*
*/
-void atcommand_db_load_groups(GroupSettings **groups, struct config_setting_t **commands_, size_t sz)
+static void atcommand_db_load_groups(GroupSettings **groups, struct config_setting_t **commands_, size_t sz)
{
struct DBIterator *iter = db_iterator(atcommand->db);
AtCommandInfo *atcmd;
@@ -10429,7 +10534,8 @@ void atcommand_db_load_groups(GroupSettings **groups, struct config_setting_t **
return;
}
-bool atcommand_can_use(struct map_session_data *sd, const char *command) {
+static bool atcommand_can_use(struct map_session_data *sd, const char *command)
+{
AtCommandInfo *acmd_d;
struct atcmd_binding_data *bcmd_d;
@@ -10446,7 +10552,8 @@ bool atcommand_can_use(struct map_session_data *sd, const char *command) {
return false;
}
-bool atcommand_can_use2(struct map_session_data *sd, const char *command, AtCommandType type) {
+static bool atcommand_can_use2(struct map_session_data *sd, const char *command, AtCommandType type)
+{
AtCommandInfo *acmd_d;
struct atcmd_binding_data *bcmd_d;
@@ -10462,7 +10569,9 @@ bool atcommand_can_use2(struct map_session_data *sd, const char *command, AtComm
return false;
}
-bool atcommand_hp_add(char *name, AtCommandFunc func) {
+
+static bool atcommand_hp_add(char *name, AtCommandFunc func)
+{
/* if commands are added after group permissions are thrown in, they end up with no permissions */
/* so we restrict commands to be linked in during boot */
if( core->runflag == MAPSERVER_ST_RUNNING ) {
@@ -10476,7 +10585,7 @@ bool atcommand_hp_add(char *name, AtCommandFunc func) {
/**
* @see DBApply
*/
-int atcommand_db_clear_sub(union DBKey key, struct DBData *data, va_list args)
+static int atcommand_db_clear_sub(union DBKey key, struct DBData *data, va_list args)
{
AtCommandInfo *cmd = DB->data2ptr(data);
aFree(cmd->at_groups);
@@ -10486,7 +10595,8 @@ int atcommand_db_clear_sub(union DBKey key, struct DBData *data, va_list args)
return 0;
}
-void atcommand_db_clear(void) {
+static void atcommand_db_clear(void)
+{
if( atcommand->db != NULL ) {
atcommand->db->destroy(atcommand->db, atcommand->cmd_db_clear_sub);
atcommand->db = NULL;
@@ -10497,7 +10607,8 @@ void atcommand_db_clear(void) {
}
}
-void atcommand_doload(void) {
+static void atcommand_doload(void)
+{
if( core->runflag >= MAPSERVER_ST_RUNNING )
atcommand->cmd_db_clear();
if( atcommand->db == NULL )
@@ -10508,12 +10619,14 @@ void atcommand_doload(void) {
atcommand->config_read(map->ATCOMMAND_CONF_FILENAME);
}
-void atcommand_expand_message_table(void) {
+static void atcommand_expand_message_table(void)
+{
RECREATE(atcommand->msg_table, char **, ++atcommand->max_message_table);
CREATE(atcommand->msg_table[atcommand->max_message_table - 1], char *, MAX_MSG);
}
-void do_init_atcommand(bool minimal) {
+static void do_init_atcommand(bool minimal)
+{
if (minimal)
return;
@@ -10524,11 +10637,13 @@ void do_init_atcommand(bool minimal) {
atcommand->doload();
}
-void do_final_atcommand(void) {
+static void do_final_atcommand(void)
+{
atcommand->cmd_db_clear();
}
-void atcommand_defaults(void) {
+void atcommand_defaults(void)
+{
atcommand = &atcommand_s;
atcommand->db = NULL;