diff options
-rw-r--r-- | conf/help.txt | 4 | ||||
-rw-r--r-- | src/map/atcommand.c | 70 |
2 files changed, 26 insertions, 48 deletions
diff --git a/conf/help.txt b/conf/help.txt index f2b8eadd7..d34af60d0 100644 --- a/conf/help.txt +++ b/conf/help.txt @@ -112,8 +112,8 @@ lostskill: "Params: <#>\n" "Takes away the specified quest skill from you\n" skillid: "Params: <name>\n" "Look up a skill by name" useskill: "Params: <skillid> <skillv> <target>\n" "Use a skill on target" skilltree: "Params: <" -marry: "Params: <player1>,<player2>\n" "Marry two players." -divorce: "Params: <player>\n" "Divorces the two players (you need just one name of them)" +marry: "Params: <player name>\n" "Marry another player." +divorce: "Divorce player." alive: "Revives yourself from death." blvl: "Params: <number of levels>\n" "Raises your base level the desired number of levels." jlvl: "Params: <number of levels>\n" "Raises your job level the desired number of levels." diff --git a/src/map/atcommand.c b/src/map/atcommand.c index 296156c20..2d033d737 100644 --- a/src/map/atcommand.c +++ b/src/map/atcommand.c @@ -5460,37 +5460,28 @@ void getring (struct map_session_data* sd) *------------------------------------------*/ ACMD_FUNC(marry) { - struct map_session_data *pl_sd1 = NULL; - struct map_session_data *pl_sd2 = NULL; - char player1[128], player2[128]; //Length used for return error msgs - - nullpo_retr(-1, sd); - - if (!message || !*message || sscanf(message, "%23[^,], %23[^\r\n]", player1, player2) != 2) { - clif_displaymessage(fd, "Usage: @marry <player1>,<player2>"); - return -1; - } - - if((pl_sd1=map_nick2sd((char *) player1)) == NULL) { - sprintf(player2, "Cannot find player '%s' online", player1); - clif_displaymessage(fd, player2); - return -1; - } + struct map_session_data *pl_sd = NULL; + char player_name[NAME_LENGTH] = ""; + + nullpo_retr(-1, sd); + + if (!message || !*message || sscanf(message, "%23s", player_name) != 1) { + clif_displaymessage(fd, "Usage: @marry <player name>"); + return -1; + } - if((pl_sd2=map_nick2sd((char *) player2)) == NULL) { - sprintf(player1, "Cannot find player '%s' online", player2); - clif_displaymessage(fd, player1); - return -1; - } + if ((pl_sd = map_nick2sd(player_name)) == NULL) { + clif_displaymessage(fd, msg_txt(3)); + return -1; + } - if (pc_marriage(pl_sd1, pl_sd2) == 0) { - clif_displaymessage(fd, "They are married.. wish them well"); - clif_wedding_effect(&sd->bl); //wedding effect and music [Lupus] - // Auto-give named rings (Aru) - getring (pl_sd1); - getring (pl_sd2); - return 0; - } + if (pc_marriage(sd, pl_sd) == 0) { + clif_displaymessage(fd, "They are married.. wish them well."); + clif_wedding_effect(&pl_sd->bl); //wedding effect and music [Lupus] + getring(sd); // Auto-give named rings (Aru) + getring(pl_sd); + return 0; + } clif_displaymessage(fd, "The two cannot wed because one of them is either a baby or is already married."); return -1; @@ -5502,28 +5493,15 @@ ACMD_FUNC(marry) *------------------------------------------*/ ACMD_FUNC(divorce) { - struct map_session_data *pl_sd = NULL; - - nullpo_retr(-1, sd); - - if (!message || !*message || sscanf(message, "%23[^\r\n]", atcmd_player_name) != 1) { - clif_displaymessage(fd, "Usage: @divorce <player>."); - return -1; - } - - if ( (pl_sd = map_nick2sd(atcmd_player_name)) == NULL ) - { - clif_displaymessage(fd, msg_txt(3)); // Character not found. - return -1; - } + nullpo_retr(-1, sd); - if (pc_divorce(pl_sd) != 0) { - sprintf(atcmd_output, "The divorce has failed.. Cannot find player '%s' or his(her) partner online.", atcmd_player_name); + if (pc_divorce(sd) != 0) { + sprintf(atcmd_output, "'%s' is not married.", sd->status.name); clif_displaymessage(fd, atcmd_output); return -1; } - sprintf(atcmd_output, "'%s' and his(her) partner are now divorced.", atcmd_player_name); + sprintf(atcmd_output, "'%s' and his(her) partner are now divorced.", sd->status.name); clif_displaymessage(fd, atcmd_output); return 0; } |