-Small fix for Rage Aura debuff
-Update TriggerForce effect to avoid visual bug when Sigel' class use any aura on party, and some bug fixes on this effect. -Implemented soulshot\spiritshot\blessed spiritshot damage bonus from enchanted weapon -Implemented soulshot\spiritshot\blessed spiritshot damage bonus from Jewels Ruby\Sapphire -Implemented Ruby\Sapphire\Topaz\Opal\Obsidian\Diamond\Emerald\Aquamarine\Pearl Jewels and its stats\skills. -Changed compound jewels rate (in official servers - chances are lower (and from 3-5 lvls - greatly lower) -Added visual effect to SS\SPS\BSPS if you equip Ruby\Sapphire 3\4\5 lvls (blue\yellow\red glow effects) -New parameter weaponElementPower - increase weapon attribute power (if fire added in weapon - this parameter increase fire.. also about others) -Small update skills.xsd to remove some eclipse warnings. Contributed by NviX.
This commit is contained in:
@@ -92,15 +92,18 @@ public final class TriggerForce extends AbstractEffect
|
||||
for (L2PcInstance member : effector.getParty().getMembers())
|
||||
{
|
||||
_affectedMembers.add(member);
|
||||
if (member.calculateDistance(effector, true, false) < 900)
|
||||
if ((member.calculateDistance(effector, true, false) < 900) && (_skill.getSkillId() != RAGE_AURA))
|
||||
{
|
||||
member.makeTriggerCast(_skill.getSkill(), effector);
|
||||
_skill.getSkill().applyEffects(effector, member);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
effector.makeTriggerCast(_skill.getSkill(), effector);
|
||||
if (_skill.getSkillId() != RAGE_AURA)
|
||||
{
|
||||
_skill.getSkill().applyEffects(effector, effector);
|
||||
}
|
||||
_affectedMembers.add(effector);
|
||||
}
|
||||
}
|
||||
@@ -149,6 +152,7 @@ public final class TriggerForce extends AbstractEffect
|
||||
if (_affectedObjects.contains(_affectedObjToRemove.get(i)))
|
||||
{
|
||||
_affectedObjects.remove(i);
|
||||
i--;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -163,15 +167,15 @@ public final class TriggerForce extends AbstractEffect
|
||||
{
|
||||
_affectedMembers.add(member);
|
||||
}
|
||||
if (!member.getEffectList().isAffectedBySkill(_skill.getSkillId()) && (member.calculateDistance(effector, true, false) < 900))
|
||||
if (!member.getEffectList().isAffectedBySkill(_skill.getSkillId()) && (member.calculateDistance(effector, true, false) < 900) && (_skill.getSkillId() != RAGE_AURA))
|
||||
{
|
||||
if ((member != effector))
|
||||
{
|
||||
member.makeTriggerCast(_skill.getSkill(), effector);
|
||||
_skill.getSkill().applyEffects(effector, member);
|
||||
}
|
||||
else if ((_skill.getSkillId() != CHALLENGE_AURA) && (_skill.getSkillId() != IRON_AURA) && (_skill.getSkillId() != RESISTANCE_AURA) && (_skill.getSkillId() != RECOVERY_AURA) && (_skill.getSkillId() != SPIRIT_AURA))
|
||||
{
|
||||
member.makeTriggerCast(_skill.getSkill(), effector);
|
||||
_skill.getSkill().applyEffects(effector, effector);
|
||||
}
|
||||
}
|
||||
else if (member.getEffectList().isAffectedBySkill(_skill.getSkillId()) && (member.calculateDistance(effector, true, false) > 900))
|
||||
@@ -253,6 +257,7 @@ public final class TriggerForce extends AbstractEffect
|
||||
if (!member.getEffectList().isAffectedBySkill(PARTY_SOLIDARITY) || (skill.getSkill().getLevel() != Math.min((activeForces - 3), 3)))
|
||||
{
|
||||
member.makeTriggerCast(SkillData.getInstance().getSkill(PARTY_SOLIDARITY, Math.min((activeForces - 3), 3)), member);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@@ -44,6 +44,7 @@ public final class TriggerSkillBySkill extends AbstractEffect
|
||||
private final int _chance;
|
||||
private final SkillHolder _skill;
|
||||
private final L2TargetType _targetType;
|
||||
private final int AQUAMARINE = 17822;
|
||||
|
||||
/**
|
||||
* @param attachCond
|
||||
@@ -64,12 +65,12 @@ public final class TriggerSkillBySkill extends AbstractEffect
|
||||
|
||||
public void onSkillUseEvent(OnCreatureSkillUse event)
|
||||
{
|
||||
if ((_chance == 0) || ((_skill.getSkillId() == 0) || (_skill.getSkillLvl() == 0) || (_castSkillId == 0)))
|
||||
if ((_chance == 0) || ((_skill.getSkillId() == 0) || (_skill.getSkillLvl() == 0) || ((_castSkillId == 0) && (_skill.getSkillId() != AQUAMARINE))))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
if (_castSkillId != event.getSkill().getId())
|
||||
if ((_castSkillId != event.getSkill().getId()) && (_skill.getSkillId() != AQUAMARINE))
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
@@ -123,7 +123,23 @@ public class BeastSoulShot implements IItemHandler
|
||||
if (!pet.isChargedShot(ShotType.SOULSHOTS))
|
||||
{
|
||||
pet.setChargedShot(ShotType.SOULSHOTS, true);
|
||||
Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, skills[0].getSkillId(), skills[0].getSkillLvl(), 0, 0), 600);
|
||||
// Visual effect change if player has equipped Ruby lvl 3 or higher
|
||||
if ((activeOwner.getInventory().getItemByItemId(38859) != null) && (activeOwner.getInventory().getItemByItemId(38859).isEquipped()))
|
||||
{
|
||||
Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, 17817, 1, 0, 0), 600);
|
||||
}
|
||||
else if ((activeOwner.getInventory().getItemByItemId(38858) != null) && (activeOwner.getInventory().getItemByItemId(38858).isEquipped()))
|
||||
{
|
||||
Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, 17816, 1, 0, 0), 600);
|
||||
}
|
||||
else if ((activeOwner.getInventory().getItemByItemId(38857) != null) && (activeOwner.getInventory().getItemByItemId(38857).isEquipped()))
|
||||
{
|
||||
Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, 17815, 1, 0, 0), 600);
|
||||
}
|
||||
else
|
||||
{
|
||||
Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, skills[0].getSkillId(), skills[0].getSkillLvl(), 0, 0), 600);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -132,9 +148,25 @@ public class BeastSoulShot implements IItemHandler
|
||||
if (!s.isChargedShot(ShotType.SOULSHOTS))
|
||||
{
|
||||
s.setChargedShot(ShotType.SOULSHOTS, true);
|
||||
Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, skills[0].getSkillId(), skills[0].getSkillLvl(), 0, 0), 600);
|
||||
// Visual effect change if player has equipped Ruby lvl 3 or higher
|
||||
if ((activeOwner.getInventory().getItemByItemId(38859) != null) && (activeOwner.getInventory().getItemByItemId(38859).isEquipped()))
|
||||
{
|
||||
Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, 17817, 1, 0, 0), 600);
|
||||
}
|
||||
else if ((activeOwner.getInventory().getItemByItemId(38858) != null) && (activeOwner.getInventory().getItemByItemId(38858).isEquipped()))
|
||||
{
|
||||
Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, 17816, 1, 0, 0), 600);
|
||||
}
|
||||
else if ((activeOwner.getInventory().getItemByItemId(38857) != null) && (activeOwner.getInventory().getItemByItemId(38857).isEquipped()))
|
||||
{
|
||||
Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, 17815, 1, 0, 0), 600);
|
||||
}
|
||||
else
|
||||
{
|
||||
Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, skills[0].getSkillId(), skills[0].getSkillLvl(), 0, 0), 600);
|
||||
}
|
||||
}
|
||||
});
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
@@ -125,7 +125,23 @@ public class BeastSpiritShot implements IItemHandler
|
||||
if (!pet.isChargedShot(shotType))
|
||||
{
|
||||
pet.setChargedShot(shotType, true);
|
||||
Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, skills[0].getSkillId(), skills[0].getSkillLvl(), 0, 0), 600);
|
||||
// Visual effect change if player has equipped Sapphire lvl 3 or higher
|
||||
if ((activeOwner.getInventory().getItemByItemId(38931) != null) && (activeOwner.getInventory().getItemByItemId(38931).isEquipped()))
|
||||
{
|
||||
Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, 17821, 2, 0, 0), 600);
|
||||
}
|
||||
else if ((activeOwner.getInventory().getItemByItemId(38930) != null) && (activeOwner.getInventory().getItemByItemId(38930).isEquipped()))
|
||||
{
|
||||
Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, 17820, 2, 0, 0), 600);
|
||||
}
|
||||
else if ((activeOwner.getInventory().getItemByItemId(38929) != null) && (activeOwner.getInventory().getItemByItemId(38929).isEquipped()))
|
||||
{
|
||||
Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, 17819, 2, 0, 0), 600);
|
||||
}
|
||||
else
|
||||
{
|
||||
Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(pet, pet, skills[0].getSkillId(), skills[0].getSkillLvl(), 0, 0), 600);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -134,9 +150,25 @@ public class BeastSpiritShot implements IItemHandler
|
||||
if (!s.isChargedShot(shotType))
|
||||
{
|
||||
s.setChargedShot(shotType, true);
|
||||
Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, skills[0].getSkillId(), skills[0].getSkillLvl(), 0, 0), 600);
|
||||
// Visual effect change if player has equipped Sapphire lvl 3 or higher
|
||||
if ((activeOwner.getInventory().getItemByItemId(38931) != null) && (activeOwner.getInventory().getItemByItemId(38931).isEquipped()))
|
||||
{
|
||||
Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, 17821, 2, 0, 0), 600);
|
||||
}
|
||||
else if ((activeOwner.getInventory().getItemByItemId(38930) != null) && (activeOwner.getInventory().getItemByItemId(38930).isEquipped()))
|
||||
{
|
||||
Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, 17820, 2, 0, 0), 600);
|
||||
}
|
||||
else if ((activeOwner.getInventory().getItemByItemId(38929) != null) && (activeOwner.getInventory().getItemByItemId(38929).isEquipped()))
|
||||
{
|
||||
Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, 17819, 2, 0, 0), 600);
|
||||
}
|
||||
else
|
||||
{
|
||||
Broadcast.toSelfAndKnownPlayersInRadius(activeOwner, new MagicSkillUse(s, s, skills[0].getSkillId(), skills[0].getSkillLvl(), 0, 0), 600);
|
||||
}
|
||||
}
|
||||
});
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
@@ -98,8 +98,23 @@ public class BlessedSpiritShot implements IItemHandler
|
||||
// Send message to client
|
||||
activeChar.sendPacket(SystemMessageId.YOUR_SPIRITSHOT_HAS_BEEN_ENABLED);
|
||||
activeChar.setChargedShot(ShotType.BLESSED_SPIRITSHOTS, true);
|
||||
|
||||
Broadcast.toSelfAndKnownPlayersInRadius(activeChar, new MagicSkillUse(activeChar, activeChar, skills[0].getSkillId(), skills[0].getSkillLvl(), 0, 0), 600);
|
||||
// Visual effect change if player has equipped Sapphire lvl 3 or higher
|
||||
if ((activeChar.getInventory().getItemByItemId(38931) != null) && (activeChar.getInventory().getItemByItemId(38931).isEquipped()))
|
||||
{
|
||||
Broadcast.toSelfAndKnownPlayersInRadius(activeChar, new MagicSkillUse(activeChar, activeChar, 17821, 2, 0, 0), 600);
|
||||
}
|
||||
else if ((activeChar.getInventory().getItemByItemId(38930) != null) && (activeChar.getInventory().getItemByItemId(38930).isEquipped()))
|
||||
{
|
||||
Broadcast.toSelfAndKnownPlayersInRadius(activeChar, new MagicSkillUse(activeChar, activeChar, 17820, 2, 0, 0), 600);
|
||||
}
|
||||
else if ((activeChar.getInventory().getItemByItemId(38929) != null) && (activeChar.getInventory().getItemByItemId(38929).isEquipped()))
|
||||
{
|
||||
Broadcast.toSelfAndKnownPlayersInRadius(activeChar, new MagicSkillUse(activeChar, activeChar, 17819, 2, 0, 0), 600);
|
||||
}
|
||||
else
|
||||
{
|
||||
Broadcast.toSelfAndKnownPlayersInRadius(activeChar, new MagicSkillUse(activeChar, activeChar, skills[0].getSkillId(), skills[0].getSkillLvl(), 0, 0), 600);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
@@ -112,7 +112,23 @@ public class SoulShots implements IItemHandler
|
||||
|
||||
// Send message to client
|
||||
activeChar.sendPacket(SystemMessageId.YOUR_SOULSHOTS_ARE_ENABLED);
|
||||
Broadcast.toSelfAndKnownPlayersInRadius(activeChar, new MagicSkillUse(activeChar, activeChar, skills[0].getSkillId(), skills[0].getSkillLvl(), 0, 0), 600);
|
||||
// Visual effect change if player has equipped Ruby lvl 3 or higher
|
||||
if ((activeChar.getInventory().getItemByItemId(38859) != null) && (activeChar.getInventory().getItemByItemId(38859).isEquipped()))
|
||||
{
|
||||
Broadcast.toSelfAndKnownPlayersInRadius(activeChar, new MagicSkillUse(activeChar, activeChar, 17817, 1, 0, 0), 600);
|
||||
}
|
||||
else if ((activeChar.getInventory().getItemByItemId(38858) != null) && (activeChar.getInventory().getItemByItemId(38858).isEquipped()))
|
||||
{
|
||||
Broadcast.toSelfAndKnownPlayersInRadius(activeChar, new MagicSkillUse(activeChar, activeChar, 17816, 1, 0, 0), 600);
|
||||
}
|
||||
else if ((activeChar.getInventory().getItemByItemId(38857) != null) && (activeChar.getInventory().getItemByItemId(38857).isEquipped()))
|
||||
{
|
||||
Broadcast.toSelfAndKnownPlayersInRadius(activeChar, new MagicSkillUse(activeChar, activeChar, 17815, 1, 0, 0), 600);
|
||||
}
|
||||
else
|
||||
{
|
||||
Broadcast.toSelfAndKnownPlayersInRadius(activeChar, new MagicSkillUse(activeChar, activeChar, skills[0].getSkillId(), skills[0].getSkillLvl(), 0, 0), 600);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
@@ -99,7 +99,23 @@ public class SpiritShot implements IItemHandler
|
||||
|
||||
// Send message to client
|
||||
activeChar.sendPacket(SystemMessageId.YOUR_SPIRITSHOT_HAS_BEEN_ENABLED);
|
||||
Broadcast.toSelfAndKnownPlayersInRadius(activeChar, new MagicSkillUse(activeChar, activeChar, skills[0].getSkillId(), skills[0].getSkillLvl(), 0, 0), 600);
|
||||
// Visual effect change if player has equipped Sapphire lvl 3 or higher
|
||||
if ((activeChar.getInventory().getItemByItemId(38931) != null) && (activeChar.getInventory().getItemByItemId(38931).isEquipped()))
|
||||
{
|
||||
Broadcast.toSelfAndKnownPlayersInRadius(activeChar, new MagicSkillUse(activeChar, activeChar, 17821, 1, 0, 0), 600);
|
||||
}
|
||||
else if ((activeChar.getInventory().getItemByItemId(38930) != null) && (activeChar.getInventory().getItemByItemId(38930).isEquipped()))
|
||||
{
|
||||
Broadcast.toSelfAndKnownPlayersInRadius(activeChar, new MagicSkillUse(activeChar, activeChar, 17820, 1, 0, 0), 600);
|
||||
}
|
||||
else if ((activeChar.getInventory().getItemByItemId(38929) != null) && (activeChar.getInventory().getItemByItemId(38929).isEquipped()))
|
||||
{
|
||||
Broadcast.toSelfAndKnownPlayersInRadius(activeChar, new MagicSkillUse(activeChar, activeChar, 17819, 1, 0, 0), 600);
|
||||
}
|
||||
else
|
||||
{
|
||||
Broadcast.toSelfAndKnownPlayersInRadius(activeChar, new MagicSkillUse(activeChar, activeChar, skills[0].getSkillId(), skills[0].getSkillLvl(), 0, 0), 600);
|
||||
}
|
||||
return true;
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user