summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorbrianluau <brianluau@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-08-31 01:44:18 +0000
committerbrianluau <brianluau@54d463be-8e91-2dee-dedb-b68131a5f0ec>2012-08-31 01:44:18 +0000
commitf18a667f920daad8874232929c3f7b4680f33276 (patch)
tree26d362aa0db6f1959baf4a225a822b4f06493003
parent54205b1071d55bdd6fef570b6880e3b1970be50d (diff)
downloadhercules-f18a667f920daad8874232929c3f7b4680f33276.tar.gz
hercules-f18a667f920daad8874232929c3f7b4680f33276.tar.bz2
hercules-f18a667f920daad8874232929c3f7b4680f33276.tar.xz
hercules-f18a667f920daad8874232929c3f7b4680f33276.zip
- Fixed @item so it only displays message "Item created" on success.
- Changed @raisemap to also function as "@healmap". - Changed txt_time() to omit days/hours/seconds if there are none. - Also applied the 'min_chat_delay' to @main, @pettalk and @homtalk. - Fixed a warning in skill.c (bugreport:6593) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@16722 54d463be-8e91-2dee-dedb-b68131a5f0ec
-rw-r--r--src/map/atcommand.c46
-rw-r--r--src/map/clif.c5
-rw-r--r--src/map/skill.c2
3 files changed, 39 insertions, 14 deletions
diff --git a/src/map/atcommand.c b/src/map/atcommand.c
index 59222a7d5..f94415607 100644
--- a/src/map/atcommand.c
+++ b/src/map/atcommand.c
@@ -1433,7 +1433,8 @@ ACMD_FUNC(item)
}
}
- clif_displaymessage(fd, msg_txt(18)); // Item created.
+ if (flag == 0)
+ clif_displaymessage(fd, msg_txt(18)); // Item created.
return 0;
}
@@ -1504,7 +1505,8 @@ ACMD_FUNC(item2)
clif_additem(sd, 0, 0, flag);
}
- clif_displaymessage(fd, msg_txt(18)); // Item created.
+ if (flag == 0)
+ clif_displaymessage(fd, msg_txt(18)); // Item created.
} else {
clif_displaymessage(fd, msg_txt(19)); // Invalid item ID or name.
return -1;
@@ -3264,11 +3266,11 @@ ACMD_FUNC(doommap)
*------------------------------------------*/
static void atcommand_raise_sub(struct map_session_data* sd)
{
- if (!status_isdead(&sd->bl))
- return;
-
- if(!status_revive(&sd->bl, 100, 100))
- return;
+ if(pc_isdead(sd))
+ status_revive(&sd->bl, 100, 100);
+ else
+ status_percent_heal(&sd->bl, 100, 100);
+
clif_skill_nodamage(&sd->bl,&sd->bl,ALL_RESURRECTION,4,1);
clif_displaymessage(sd->fd, msg_txt(63)); // Mercy has been shown.
}
@@ -4602,21 +4604,21 @@ char* txt_time(unsigned int duration)
minutes = duration / 60;
seconds = duration - (60 * minutes);
- if (days < 2)
+ if (days == 1)
sprintf(temp, msg_txt(219), days); // %d day
- else
+ else if (days > 1)
sprintf(temp, msg_txt(220), days); // %d days
- if (hours < 2)
+ if (hours == 1)
sprintf(temp1, msg_txt(221), temp, hours); // %s %d hour
- else
+ else if (hours > 1)
sprintf(temp1, msg_txt(222), temp, hours); // %s %d hours
if (minutes < 2)
sprintf(temp, msg_txt(223), temp1, minutes); // %s %d minute
else
sprintf(temp, msg_txt(224), temp1, minutes); // %s %d minutes
- if (seconds < 2)
+ if (seconds == 1)
sprintf(temp1, msg_txt(225), temp, seconds); // %s and %d second
- else
+ else if (seconds > 1)
sprintf(temp1, msg_txt(226), temp, seconds); // %s and %d seconds
return temp1;
@@ -6326,6 +6328,12 @@ ACMD_FUNC(pettalk)
nullpo_retr(-1, sd);
+ if ( battle_config.min_chat_delay ) {
+ if( DIFF_TICK(sd->cantalk_tick, gettick()) > 0 )
+ return 0;
+ sd->cantalk_tick = gettick() + battle_config.min_chat_delay;
+ }
+
if(!sd->status.pet_id || !(pd=sd->pd))
{
clif_displaymessage(fd, msg_txt(184));
@@ -7088,6 +7096,12 @@ ACMD_FUNC(homtalk)
nullpo_retr(-1, sd);
+ if ( battle_config.min_chat_delay ) {
+ if( DIFF_TICK(sd->cantalk_tick, gettick()) > 0 )
+ return 0;
+ sd->cantalk_tick = gettick() + battle_config.min_chat_delay;
+ }
+
if (sd->sc.count && //no "chatting" while muted.
(sd->sc.data[SC_BERSERK] ||
(sd->sc.data[SC_NOCHAT] && sd->sc.data[SC_NOCHAT]->val1&MANNER_NOCHAT)))
@@ -8084,6 +8098,12 @@ ACMD_FUNC(main)
return -1;
}
+ if ( battle_config.min_chat_delay ) {
+ if( DIFF_TICK(sd->cantalk_tick, gettick()) > 0 )
+ return 0;
+ sd->cantalk_tick = gettick() + battle_config.min_chat_delay;
+ }
+
// send the message using inter-server system
intif_main_message( sd, message );
}
diff --git a/src/map/clif.c b/src/map/clif.c
index 267c315cb..6b03142c3 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -10002,6 +10002,11 @@ void clif_parse_WisMessage(int fd, struct map_session_data* sd)
if(!sd->state.mainchat)
clif_displaymessage(fd, msg_txt(388)); // You should enable main chat with "@main on" command.
else {
+ if ( battle_config.min_chat_delay ) {
+ if( DIFF_TICK(sd->cantalk_tick, gettick()) > 0 )
+ return;
+ sd->cantalk_tick = gettick() + battle_config.min_chat_delay;
+ }
// send the main message using inter-server system
intif_main_message( sd, message );
}
diff --git a/src/map/skill.c b/src/map/skill.c
index 8ad773a73..52fec7d52 100644
--- a/src/map/skill.c
+++ b/src/map/skill.c
@@ -16390,7 +16390,7 @@ int skill_elementalanalysis(struct map_session_data* sd, int n, int skill_lv, un
}
int skill_changematerial(struct map_session_data *sd, int n, unsigned short *item_list) {
- int i, j, k, c, p, nameid, amount;
+ int i, j, k, c, p = 0, nameid, amount;
nullpo_ret(sd);
nullpo_ret(item_list);