ExDieInfo support for non skill damage.
This commit is contained in:
		@@ -4925,20 +4925,25 @@ public class PlayerInstance extends Playable
 | 
			
		||||
		return true;
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	public void addDamageTaken(Creature attacker, Skill skill, double damage)
 | 
			
		||||
	public void addDamageTaken(Creature attacker, int skillId, double damage)
 | 
			
		||||
	{
 | 
			
		||||
		if (attacker == this)
 | 
			
		||||
		{
 | 
			
		||||
			return;
 | 
			
		||||
		}
 | 
			
		||||
		
 | 
			
		||||
		_lastDamageTaken.add(new DamageTakenHolder(attacker, skill, damage));
 | 
			
		||||
		while (_lastDamageTaken.size() > 10)
 | 
			
		||||
		_lastDamageTaken.add(new DamageTakenHolder(attacker, skillId, damage));
 | 
			
		||||
		while (_lastDamageTaken.size() > 20)
 | 
			
		||||
		{
 | 
			
		||||
			_lastDamageTaken.remove(0);
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	public void clearDamageTaken()
 | 
			
		||||
	{
 | 
			
		||||
		_lastDamageTaken.clear();
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	private Collection<ItemInstance> onDieDropItem(Creature killer)
 | 
			
		||||
	{
 | 
			
		||||
		final List<ItemInstance> droppedItems = new ArrayList<>();
 | 
			
		||||
 
 | 
			
		||||
@@ -281,10 +281,7 @@ public class PlayerStatus extends PlayableStatus
 | 
			
		||||
		
 | 
			
		||||
		if (amount > 0)
 | 
			
		||||
		{
 | 
			
		||||
			if ((skill != null) && skill.isBad())
 | 
			
		||||
			{
 | 
			
		||||
				getActiveChar().addDamageTaken(attacker, skill, amount);
 | 
			
		||||
			}
 | 
			
		||||
			getActiveChar().addDamageTaken(attacker, skill != null ? skill.getDisplayId() : 0, amount);
 | 
			
		||||
			
 | 
			
		||||
			double newHp = Math.max(getCurrentHp() - amount, getActiveChar().isUndying() ? 1 : 0);
 | 
			
		||||
			if (newHp <= 0)
 | 
			
		||||
 
 | 
			
		||||
@@ -17,7 +17,6 @@
 | 
			
		||||
package org.l2jmobius.gameserver.model.holders;
 | 
			
		||||
 | 
			
		||||
import org.l2jmobius.gameserver.model.actor.Creature;
 | 
			
		||||
import org.l2jmobius.gameserver.model.skills.Skill;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * @author Mobius
 | 
			
		||||
@@ -25,13 +24,13 @@ import org.l2jmobius.gameserver.model.skills.Skill;
 | 
			
		||||
public class DamageTakenHolder
 | 
			
		||||
{
 | 
			
		||||
	private final Creature _creature;
 | 
			
		||||
	private final Skill _skill;
 | 
			
		||||
	private final int _skillId;
 | 
			
		||||
	private final double _damage;
 | 
			
		||||
	
 | 
			
		||||
	public DamageTakenHolder(Creature creature, Skill skill, double damage)
 | 
			
		||||
	public DamageTakenHolder(Creature creature, int skillId, double damage)
 | 
			
		||||
	{
 | 
			
		||||
		_creature = creature;
 | 
			
		||||
		_skill = skill;
 | 
			
		||||
		_skillId = skillId;
 | 
			
		||||
		_damage = damage;
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
@@ -40,9 +39,9 @@ public class DamageTakenHolder
 | 
			
		||||
		return _creature;
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	public Skill getSkill()
 | 
			
		||||
	public int getSkillId()
 | 
			
		||||
	{
 | 
			
		||||
		return _skill;
 | 
			
		||||
		return _skillId;
 | 
			
		||||
	}
 | 
			
		||||
	
 | 
			
		||||
	public double getDamage()
 | 
			
		||||
 
 | 
			
		||||
@@ -55,7 +55,7 @@ public class ExDieInfo implements IClientOutgoingPacket
 | 
			
		||||
		{
 | 
			
		||||
			packet.writeS(damageHolder.getCreature().getName());
 | 
			
		||||
			packet.writeH(0x00);
 | 
			
		||||
			packet.writeD(damageHolder.getSkill().getDisplayId());
 | 
			
		||||
			packet.writeD(damageHolder.getSkillId());
 | 
			
		||||
			packet.writeF(damageHolder.getDamage());
 | 
			
		||||
			packet.writeD(0x00);
 | 
			
		||||
		}
 | 
			
		||||
 
 | 
			
		||||
@@ -72,6 +72,7 @@ public class AttackStanceTaskManager
 | 
			
		||||
							creature.getAI().setAutoAttacking(false);
 | 
			
		||||
							if (creature.isPlayer() && creature.hasSummon())
 | 
			
		||||
							{
 | 
			
		||||
								creature.getActingPlayer().clearDamageTaken();
 | 
			
		||||
								final Summon pet = creature.getPet();
 | 
			
		||||
								if (pet != null)
 | 
			
		||||
								{
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user