From 180b108a346de47dfe7b386378479e240eb0a4f4 Mon Sep 17 00:00:00 2001 From: skotlex Date: Mon, 8 Jun 2009 15:57:51 +0000 Subject: - 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 --- db/item_db.txt | 6 +++--- src/map/clif.c | 6 ++++-- src/map/mob.c | 1 + 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/db/item_db.txt b/db/item_db.txt index ec7300a10..3651fd6d9 100644 --- a/db/item_db.txt +++ b/db/item_db.txt @@ -1478,8 +1478,8 @@ 2717,Pocket_Watch,Pocket Watch,5,20,,200,,0,,0,0x00010204,7,2,136,,80,0,0,{},{},{} 2718,Lunatic_Brooch,Lunatic Brooch,5,20,,200,,0,,1,0x00080808,7,2,136,,65,0,0,{},{},{} 2719,Iron_Wrist,Iron Wrist,5,20,,700,,1,,0,0x000444A2,7,2,136,,50,0,0,{ bonus2 bSkillAtk,"SM_BASH",6; bonus2 bSkillAtk,"MC_MAMMONITE",6; },{},{} -2720,Medal_Swordman,Medal of Honor,5,0,,0,,1,,0,0x00004082,7,2,136,,70,0,0,{ bonus bAtkRate,5; bonus bMatkRate,5; bonus bHit,10; bonus bMaxHP,500; bonus bMaxSP,50; bonus2 bAddEff,Eff_Stun,1000; },{},{} -2721,Medal_Thief,Medal of Honor,5,0,,0,,1,,0,0x00021040,7,2,136,,70,0,0,{ bonus bAtkRate,5; bonus bMatkRate,5; bonus bFlee,10; bonus bMaxHP,300; bonus bMaxSP,80; bonus2 bAddEff,Eff_Poison,1000; },{},{} +2720,Medal_Swordman,Medal of Honor,5,0,,0,,1,,0,0x00404082,7,2,136,,70,0,0,{ bonus bAtkRate,5; bonus bMatkRate,5; bonus bHit,10; bonus bMaxHP,500; bonus bMaxSP,50; bonus2 bAddEff,Eff_Stun,1000; },{},{} +2721,Medal_Thief,Medal of Honor,5,0,,0,,1,,0,0x02021040,7,2,136,,70,0,0,{ bonus bAtkRate,5; bonus bMatkRate,5; bonus bFlee,10; bonus bMaxHP,300; bonus bMaxSP,80; bonus2 bAddEff,Eff_Poison,1000; },{},{} 2722,Medal_Acolyte,Medal of Honor,5,0,,0,,1,,0,0x00008110,7,2,136,,70,0,0,{ bonus bAtkRate,5; bonus bMatkRate,5; bonus bMdef,6; bonus bMaxHP,600; bonus2 bAddEff,Eff_Silence,1000; },{},{} 2723,Medal_Mage,Medal of Honor,5,0,,0,,1,,0,0x00810204,7,2,136,,70,0,0,{ bonus bAtkRate,5; bonus bMatkRate,5; bonus bMdef,6; bonus bMaxHP,600; bonus2 bAddEffWhenHit,Eff_Stone,1000; },{},{} 2724,Medal_Archer,Medal of Honor,5,0,,0,,1,,0,0x00080808,7,2,136,,70,0,0,{ bonus bAtkRate,5; bonus bMatkRate,5; bonus bCritical,10; bonus bMaxHP,300; bonus bMaxSP,80; bonus2 bAddEff,Eff_Blind,1000; },{},{} @@ -4013,7 +4013,7 @@ 13034,Twilight_Desert,Desert Twilight,4,20,,600,130,,1,2,0x00001000,2,2,2,2,70,1,1,{ if (isequipped(13035)) { bonus bMaxSP,20; bonus bMaxHPRate,5; bonus bHit,10; bonus2 bAddSize,2,30; bonusautoscript "{ specialeffect2 EF_POTION_BERSERK; sc_start SC_INCASPDRATE,7000,100; }",1; } },{},{} 13035,Sandstorm,Sandstorm,4,20,,600,50,,1,4,0x00001000,2,2,2,2,70,1,1,{},{},{} 13036,Brave_Assassin's_Damascus,Brave Assassin's Damascus,4,0,,0,120,,1,0,0x028F5EEF,7,2,2,3,80,1,1,{ bonus bStr,1; bonus bAgi,1; bonus2 bAddRace,RC_DemiHuman,75; bonus2 bIgnoreDefRate,RC_DemiHuman,20; bonus bUnbreakableWeapon,0; if (Class == Job_Ninja || Class == Job_Rogue || Class == Job_Stalker) bonus bMatkRate,15; },{},{} -13037,Valorous_Assassin's_Damascus,Valorous Assassin's Damascus,4,0,,0,120,,1,0,0x028F5EEF,7,2,2,3,80,1,1,{ bonus bStr,1; bonus bAgi,1; bonus2 bAddRace,RC_DemiHuman,75; bonus bUnbreakableWeapon,0; bonusautoscript "{ sc_start SC_DEFRATIOATK,6000,2; }",5; if (Class == Job_Ninja || Class == Job_Rogue || Class == Job_Stalker) bonus bMatkRate,15; },{},{} +13037,Valorous_Assassin's_Damascus,Valorous Assassin's Damascus,4,0,,0,120,,1,0,0x029E7CEB,7,2,2,3,80,1,1,{ bonus bStr,1; bonus bAgi,1; bonus2 bAddRace,RC_DemiHuman,75; bonus bUnbreakableWeapon,0; bonusautoscript "{ sc_start SC_DEFRATIOATK,6000,1; }",50; if (Class == Job_Ninja || Class == Job_Rogue || Class == Job_Stalker) bonus bMatkRate,15; },{},{} //13038#Trackers_Dagger# //13039#Ivory_Knife# 13040,Novice_Cutter,Novice Cutter,4,1,,0,50,,1,0,0xFE9F7EEF,7,2,2,1,1,0,1,{},{},{} 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. -- cgit v1.2.3-70-g09d2