# This patch file was generated by NetBeans IDE # Following Index: paths are relative to: /home/lighta/Documents/Myscript/RO/Servs/rathena/src/map # This patch can be applied using context Tools: Patch action on respective folder. # It uses platform neutral UTF-8 encoding and \n newlines. # Above lines and this line are ignored by the patching process. Index: atcommand.c --- atcommand.c Base (BASE) +++ atcommand.c Locally Modified (Based On LOCAL) @@ -2037,10 +2037,12 @@ static int atkillmonster_sub(struct block_list *bl, va_list ap) { struct mob_data *md; + struct block_list *src; int flag; nullpo_ret(md=(struct mob_data *)bl); flag = va_arg(ap, int); + src = va_arg(ap, struct block_list *); if (md->guardian_data) return 0; //Do not touch WoE mobs! @@ -2048,28 +2050,35 @@ if (flag) status_zap(bl,md->status.hp, 0); else - status_kill(bl); + status_percent_damage(src, bl, 100, 0, true); return 1; } ACMD_FUNC(killmonster) { int map_id, drop_flag; + int charid; + struct block_list *src; char map_name[MAP_NAME_LENGTH_EXT]; nullpo_retr(-1, sd); memset(map_name, '\0', sizeof(map_name)); - if (!message || !*message || sscanf(message, "%15s", map_name) < 1) + if (!message || !*message || sscanf(message, "%15s %d", map_name, &charid) < 1) map_id = sd->bl.m; else { if ((map_id = map_mapname2mapid(map_name)) < 0) map_id = sd->bl.m; } + if(charid){ + TBL_PC *sd = map_charid2sd(charid); + src = &sd->bl; + } + else src = NULL; drop_flag = strcmp(command+1, "killmonster2"); - map_foreachinmap(atkillmonster_sub, map_id, BL_MOB, -drop_flag); + map_foreachinmap(atkillmonster_sub, map_id, BL_MOB, -drop_flag, src); clif_displaymessage(fd, msg_txt(165)); // All monsters killed!