From 3931d9353c6b53e9b9cd0599adc47cd041e60138 Mon Sep 17 00:00:00 2001 From: skotlex Date: Wed, 24 May 2006 19:15:27 +0000 Subject: - Item sharing now shares the same rules as exp sharing (no sharing when dead, or idle, etc) git-svn-id: https://rathena.svn.sourceforge.net/svnroot/rathena/trunk@6737 54d463be-8e91-2dee-dedb-b68131a5f0ec --- Changelog-Trunk.txt | 2 ++ src/map/party.c | 11 +++++++++-- src/map/skill.c | 2 -- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/Changelog-Trunk.txt b/Changelog-Trunk.txt index 0912db564..d65e00b5a 100644 --- a/Changelog-Trunk.txt +++ b/Changelog-Trunk.txt @@ -4,6 +4,8 @@ AS OF SVN REV. 5091, WE ARE NOW USING TRUNK. ALL UNTESTED BUGFIXES/FEATURES GO IF YOU HAVE A WORKING AND TESTED BUGFIX PUT IT INTO STABLE AS WELL AS TRUNK. 2006/05/24 + * Item sharing now shares the same rules as exp sharing (no sharing when + dead, or idle, etc) [Skotlex] * Fixed summoned slaves being able to cast onspawn summon-skills (slaves aren't supposed to be able to call minions) [Skotlex] * The clif_skill_poseffect packet will not be invoked in Snap unless the diff --git a/src/map/party.c b/src/map/party.c index d4b6d86b6..736dd55a2 100644 --- a/src/map/party.c +++ b/src/map/party.c @@ -714,7 +714,10 @@ int party_share_loot(struct party *p, TBL_PC *sd, struct item *item_data) i++; if (i >= MAX_PARTY) i = 0; // reset counter to 1st person in party so it'll stop when it reaches "itemc" - if ((psd=p->member[i].sd)==NULL || sd->bl.m != psd->bl.m) + if ((psd=p->member[i].sd)==NULL || sd->bl.m != psd->bl.m || + pc_isdead(psd) || (battle_config.idle_no_share && ( + psd->chatID || psd->vender_id || (psd->idletime < (last_tick - battle_config.idle_no_share))) + )) continue; if (pc_additem(psd,item_data,item_data->amount)) @@ -729,7 +732,11 @@ int party_share_loot(struct party *p, TBL_PC *sd, struct item *item_data) int count=0; //Collect pick candidates for (i = 0; i < MAX_PARTY; i++) { - if ((psd[count]=p->member[i].sd) && psd[count]->bl.m == sd->bl.m) + if ((psd[count]=p->member[i].sd) && psd[count]->bl.m == sd->bl.m && + !pc_isdead(psd[count]) && (!battle_config.idle_no_share || ( + !psd[count]->chatID && !psd[count]->vender_id && + (psd[count]->idletime >= (last_tick - battle_config.idle_no_share))) + )) count++; } if (count > 0) { //Pick a random member. diff --git a/src/map/skill.c b/src/map/skill.c index 5a3ec49c0..7c6af9178 100644 --- a/src/map/skill.c +++ b/src/map/skill.c @@ -6008,8 +6008,6 @@ int skill_castend_pos2( struct block_list *src, int x,int y,int skillid,int skil md->mode = MD_CANATTACK|MD_AGGRESSIVE; md->deletetimer = add_timer (gettick() + skill_get_time(skillid,skilllv), mob_timer_delete, id, 0); } - // To-do: ?「還されるモンスタ?[には?「還したプレ?[ヤ?[の名前が付きます - // (attach name of player?) } break; case AM_SPHEREMINE: // スフィア?マイン -- cgit v1.2.3-70-g09d2