Page 1 of 4
Sometimes raids don't give exp
Posted: Fri Apr 16, 2010 1:11 pm
by Pere
This only happens on my retail server (1x), as far as I know.
I was very clueless, so I didn't say anything here until now that a phantom summoner told me that this happened to him ALWAYS, until he tried to unsummon his shadow just before the raid dies. Then, the raid gave him exp ALWAYS, so this is due to summons for sure!
I've been looking into the code but didn't find anything...
Ah, and it doesn't give 0 or low values, it doesn't give anything (the sysmsg doesn't appear neither).
Core Revision: 4048
Re: Sometimes raids don't give exp
Posted: Fri Apr 16, 2010 2:37 pm
by qwerty13
Maybe that player during raid far away from raid?
Re: Sometimes raids don't give exp
Posted: Fri Apr 16, 2010 3:32 pm
by Pere
No, full parties don't get exp because of a summon

Re: Sometimes raids don't give exp
Posted: Fri Apr 16, 2010 4:27 pm
by jurchiks
say, you don't happen to have my delevel manager installed?
without the core mod applied, it has the same symptoms, if (!player.canGainExp() && player.isInParty()), exp is disabled
without the patch, it only works if player is in party, otherwise exp gain is normal
Re: Sometimes raids don't give exp
Posted: Fri Apr 16, 2010 7:05 pm
by Pere
I don't have any patch like that

Yes, it happens on parties...
So this is a known bug? We should fix it...
Re: Sometimes raids don't give exp
Posted: Fri Apr 16, 2010 8:17 pm
by jurchiks
no, i know that such a symptom is possible if the player has an accesslevel with gainExp=false, currently the experience is only disabled when in party, if not, normal gain
Re: Sometimes raids don't give exp
Posted: Fri Apr 16, 2010 10:33 pm
by Pere
I've just found that!!! (context: this iterates over all the damage dealers of the monster)
Code: Select all
// If the attacker is a Pet, get the party of the ownerif (attacker instanceof L2PetInstance) attackerParty = ((L2PetInstance)attacker).getParty();else if (attacker instanceof L2PcInstance) attackerParty = ((L2PcInstance)attacker).getParty();else [color=#FF0000]return[/color];
And if there's a cubic?? Shouldn't this
return be a
continue?
Thank you
Re: Sometimes raids don't give exp
Posted: Sat Apr 17, 2010 12:10 am
by Pere
Migi wrote:And if there's a cubic??
Ok, now I've seen that a cubic cannot be in an aggro list.. but then why is that "else" here? What else than a char or summon can be here?
Re: Sometimes raids don't give exp
Posted: Sat Apr 17, 2010 3:23 am
by Probe
a Summon (not a pet), notice it's checking for L2PetInstance and not L2Summon
Re: Sometimes raids don't give exp
Posted: Sat Apr 17, 2010 9:28 am
by Pere
L2Summon is inherited by L2PetInstance and L2SummonInstance

Re: Sometimes raids don't give exp
Posted: Sun Apr 18, 2010 9:52 am
by janiii
Pere, could you reproduce the problem with the summon somehow by yourself? i could not.. if yes, please write here a complete testing scenario, thanks. what about your party xp cutoff method config ?
i am wondering why sometimes damage done is not added to the attacker.
is this patch ok or the existing logic in the code is fine - why is the addDamageHate in the else statement?
Code: Select all
Index: java/com/l2jserver/gameserver/model/actor/L2Attackable.java===================================================================--- java/com/l2jserver/gameserver/model/actor/L2Attackable.java (revision 4060)+++ java/com/l2jserver/gameserver/model/actor/L2Attackable.java (working copy)@@ -881,12 +881,8 @@ for (Quest quest: getTemplate().getEventQuests(Quest.QuestEventType.ON_ATTACK)) quest.notifyAttack(this, player, damage, attacker instanceof L2Summon, skill); }- // for now hard code damage hate caused by an L2Attackable- else- {- getAI().notifyEvent(CtrlEvent.EVT_ATTACKED, attacker);- addDamageHate(attacker, damage, (damage*100)/(getLevel()+7));- }+ getAI().notifyEvent(CtrlEvent.EVT_ATTACKED, attacker);+ addDamageHate(attacker, damage, (damage*100)/(getLevel()+7)); } catch (Exception e) { _log.log(Level.SEVERE, "", e); } }
another problem is maybe, that damage dealt not with skill (just fighting) is not added to the damage dealt.
Re: Sometimes raids don't give exp
Posted: Sun Apr 18, 2010 9:55 am
by _DS_
Cant help without reproduction scenario. And no such reports on my live server.
Re: Sometimes raids don't give exp
Posted: Sun Apr 18, 2010 10:18 am
by gigiikun
Janiii, that is because we have a DP script(L2AttackableAIScript.java) which handles aggro, but only when a L2Playable attacks the mob.
Re: Sometimes raids don't give exp
Posted: Sun Apr 18, 2010 10:29 am
by janiii
gigiikun wrote:Janiii, that is because we have a DP script(L2AttackableAIScript.java) which handles aggro, but only when a L2Playable attacks the mob.
but what about the damage dealt? is it added?
Re: Sometimes raids don't give exp
Posted: Sun Apr 18, 2010 10:36 am
by gigiikun
I hope yes. Only exp problem happens with raids, so I do not think that the problem is here.