summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/map/clif.c6
-rw-r--r--src/map/mob.c1
2 files changed, 5 insertions, 2 deletions
diff --git a/src/map/clif.c b/src/map/clif.c
index 030613377..160724eec 100644
--- a/src/map/clif.c
+++ b/src/map/clif.c
@@ -2813,10 +2813,12 @@ int clif_changeoption(struct block_list* bl)
{
unsigned char buf[32];
struct status_change *sc;
+ struct map_session_data* sd;
nullpo_retr(0, bl);
sc = status_get_sc(bl);
if (!sc) return 0; //How can an option change if there's no sc?
+ sd = BL_CAST(BL_PC, bl);
#if PACKETVER >= 7
WBUFW(buf,0) = 0x229;
@@ -2824,7 +2826,7 @@ int clif_changeoption(struct block_list* bl)
WBUFW(buf,6) = sc->opt1;
WBUFW(buf,8) = sc->opt2;
WBUFL(buf,10) = sc->option;
- WBUFB(buf,14) = 0; // PK???
+ WBUFB(buf,14) = (sd)? sd->status.karma : 0;
if(disguised(bl)) {
clif_send(buf,packet_len(0x229),bl,AREA_WOS);
WBUFL(buf,2) = -bl->id;
@@ -2840,7 +2842,7 @@ int clif_changeoption(struct block_list* bl)
WBUFW(buf,6) = sc->opt1;
WBUFW(buf,8) = sc->opt2;
WBUFW(buf,10) = sc->option;
- WBUFB(buf,12) = 0; // ??
+ WBUFB(buf,12) = (sd)? sd->status.karma : 0;
if(disguised(bl)) {
clif_send(buf,packet_len(0x119),bl,AREA_WOS);
WBUFL(buf,2) = -bl->id;
diff --git a/src/map/mob.c b/src/map/mob.c
index 369f503f9..598389b3f 100644
--- a/src/map/mob.c
+++ b/src/map/mob.c
@@ -1719,6 +1719,7 @@ static void mob_item_drop(struct mob_data *md, struct item_drop_list *dlist, str
&& (battle_config.idle_no_autoloot == 0 || DIFF_TICK(last_tick, sd->idletime) < battle_config.idle_no_autoloot)
&& (battle_config.homunculus_autoloot?1:!flag)
#ifdef AUTOLOOT_DISTANCE
+ && sd->bl.m == md->bl.m
&& check_distance_blxy(&sd->bl, dlist->x, dlist->y, AUTOLOOT_DISTANCE)
#endif
) { //Autoloot.