diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/map/clif.c | 6 | ||||
-rw-r--r-- | src/map/mob.c | 1 |
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. |