summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2009-06-08 15:57:51 +0000
committerskotlex <skotlex@54d463be-8e91-2dee-dedb-b68131a5f0ec>2009-06-08 15:57:51 +0000
commit180b108a346de47dfe7b386378479e240eb0a4f4 (patch)
tree04abf119a0fcb673e22e9db594e3b8bca0237d4c /src
parentad0b14806dca1c54c55d0f237dc465c27dc6351f (diff)
downloadhercules-180b108a346de47dfe7b386378479e240eb0a4f4.tar.gz
hercules-180b108a346de47dfe7b386378479e240eb0a4f4.tar.bz2
hercules-180b108a346de47dfe7b386378479e240eb0a4f4.tar.xz
hercules-180b108a346de47dfe7b386378479e240eb0a4f4.zip
- Fixed Swordsman Medallion to be usable by Star Gladiators.
- Fixed Thief Medallion to be usable by Ninjas. - Fixed Valorous Assassin's Damascus to reduce the strength of its effect. - Corrected the AUTOLOOT_DISTANCE code not checking for map changes. - Fixed clif_change_option's "unknown field" to be the character's karma. git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@13864 54d463be-8e91-2dee-dedb-b68131a5f0ec
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.