diff options
Diffstat (limited to 'src/map/atcommand.c')
-rw-r--r-- | src/map/atcommand.c | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/src/map/atcommand.c b/src/map/atcommand.c index 3c54d5e..3106244 100644 --- a/src/map/atcommand.c +++ b/src/map/atcommand.c @@ -211,6 +211,7 @@ ATCOMMAND_FUNC (skillpool_unfocus); // [Fate] ATCOMMAND_FUNC (skill_learn); // [Fate] ATCOMMAND_FUNC (wgm); ATCOMMAND_FUNC (ipcheck); +ATCOMMAND_FUNC (doomspot); /*========================================== *AtCommandInfo atcommand_info[]構造体の定義 @@ -409,6 +410,7 @@ static AtCommandInfo atcommand_info[] = { {AtCommand_IterateBackward, "@skill-learn", 80, atcommand_skill_learn}, // [Fate] {AtCommand_Wgm, "@wgm", 0, atcommand_wgm}, {AtCommand_IpCheck, "@ipcheck", 60, atcommand_ipcheck}, + {AtCommand_DoomSpot, "@doomspot", 60, atcommand_doomspot}, // add new commands before this line {AtCommand_Unknown, NULL, 1, NULL} @@ -8700,3 +8702,25 @@ int atcommand_ipcheck (const int fd, struct map_session_data *sd, clif_displaymessage (fd, "End of list"); return 0; } + +int atcommand_doomspot(const int fd, struct map_session_data *sd, + const char *command, const char *message) +{ + struct map_session_data *pl_sd; + int i; + + for (i = 0; i < fd_max; i++) + { + if (session[i] && (pl_sd = (struct map_session_data *)session[i]->session_data) + && pl_sd->state.auth && i != fd && sd->bl.m == pl_sd->bl.m + && sd->bl.x == pl_sd->bl.x && sd->bl.y == pl_sd->bl.y + && pc_isGM (sd) >= pc_isGM (pl_sd)) + { // you can doom only lower or same gm level + pc_damage (NULL, pl_sd, pl_sd->status.hp + 1); + clif_displaymessage (pl_sd->fd, msg_table[61]); // The holy messenger has given judgement. + } + } + clif_displaymessage (fd, msg_table[62]); // Judgement was made. + + return 0; +} |