Item skill support for OTHER target type.

This commit is contained in:
MobiusDevelopment
2022-04-03 05:11:38 +00:00
parent 8734a31f33
commit c75c62ea53
49 changed files with 59 additions and 49 deletions

View File

@@ -28,6 +28,7 @@ import org.l2jmobius.gameserver.model.holders.SkillHolder;
import org.l2jmobius.gameserver.model.item.instance.Item;
import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.skill.SkillCaster;
import org.l2jmobius.gameserver.model.skill.targets.TargetType;
import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
@@ -124,7 +125,7 @@ public class ItemSkillsTemplate implements IItemHandler
}
else if (itemSkill.isWithoutAction() || item.getTemplate().hasImmediateEffect() || item.getTemplate().hasExImmediateEffect())
{
SkillCaster.triggerCast(playable, null, itemSkill, item, false);
SkillCaster.triggerCast(playable, itemSkill.getTargetType() == TargetType.OTHERS ? playable.getTarget() : null, itemSkill, item, false);
successfulUse = true;
}
else

View File

@@ -96,7 +96,6 @@
<reuseDelay>2000</reuseDelay>
<magicCriticalRate>5</magicCriticalRate>
<hitCancelTime>0</hitCancelTime>
<!-- FIXME: This should be OTHERS -->
<targetType>OTHERS</targetType>
<affectScope>SINGLE</affectScope>
</skill>

View File

@@ -1865,7 +1865,7 @@
<staticReuse>true</staticReuse>
<isMagic>2</isMagic>
<reuseDelay>20000</reuseDelay>
<targetType>OTHERS</targetType>
<targetType>SELF</targetType>
<affectScope>SINGLE</affectScope>
<conditions>
<condition name="OpCheckAbnormal">

View File

@@ -28,6 +28,7 @@ import org.l2jmobius.gameserver.model.holders.SkillHolder;
import org.l2jmobius.gameserver.model.item.instance.Item;
import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.skill.SkillCaster;
import org.l2jmobius.gameserver.model.skill.targets.TargetType;
import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
@@ -124,7 +125,7 @@ public class ItemSkillsTemplate implements IItemHandler
}
else if (itemSkill.isWithoutAction() || item.getTemplate().hasImmediateEffect() || item.getTemplate().hasExImmediateEffect())
{
SkillCaster.triggerCast(playable, null, itemSkill, item, false);
SkillCaster.triggerCast(playable, itemSkill.getTargetType() == TargetType.OTHERS ? playable.getTarget() : null, itemSkill, item, false);
successfulUse = true;
}
else

View File

@@ -96,7 +96,6 @@
<reuseDelay>2000</reuseDelay>
<magicCriticalRate>5</magicCriticalRate>
<hitCancelTime>0</hitCancelTime>
<!-- FIXME: This should be OTHERS -->
<targetType>OTHERS</targetType>
<affectScope>SINGLE</affectScope>
</skill>

View File

@@ -1866,7 +1866,7 @@
<staticReuse>true</staticReuse>
<isMagic>2</isMagic>
<reuseDelay>20000</reuseDelay>
<targetType>OTHERS</targetType>
<targetType>SELF</targetType>
<affectScope>SINGLE</affectScope>
<conditions>
<condition name="OpCheckAbnormal">

View File

@@ -28,6 +28,7 @@ import org.l2jmobius.gameserver.model.holders.SkillHolder;
import org.l2jmobius.gameserver.model.item.instance.Item;
import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.skill.SkillCaster;
import org.l2jmobius.gameserver.model.skill.targets.TargetType;
import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
@@ -124,7 +125,7 @@ public class ItemSkillsTemplate implements IItemHandler
}
else if (itemSkill.isWithoutAction() || item.getTemplate().hasImmediateEffect() || item.getTemplate().hasExImmediateEffect())
{
SkillCaster.triggerCast(playable, null, itemSkill, item, false);
SkillCaster.triggerCast(playable, itemSkill.getTargetType() == TargetType.OTHERS ? playable.getTarget() : null, itemSkill, item, false);
successfulUse = true;
}
else

View File

@@ -96,7 +96,6 @@
<reuseDelay>2000</reuseDelay>
<magicCriticalRate>5</magicCriticalRate>
<hitCancelTime>0</hitCancelTime>
<!-- FIXME: This should be OTHERS -->
<targetType>OTHERS</targetType>
<affectScope>SINGLE</affectScope>
</skill>

View File

@@ -1866,7 +1866,7 @@
<staticReuse>true</staticReuse>
<isMagic>2</isMagic>
<reuseDelay>20000</reuseDelay>
<targetType>OTHERS</targetType>
<targetType>SELF</targetType>
<affectScope>SINGLE</affectScope>
<conditions>
<condition name="OpCheckAbnormal">

View File

@@ -28,6 +28,7 @@ import org.l2jmobius.gameserver.model.holders.SkillHolder;
import org.l2jmobius.gameserver.model.item.instance.Item;
import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.skill.SkillCaster;
import org.l2jmobius.gameserver.model.skill.targets.TargetType;
import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
@@ -124,7 +125,7 @@ public class ItemSkillsTemplate implements IItemHandler
}
else if (itemSkill.isWithoutAction() || item.getTemplate().hasImmediateEffect() || item.getTemplate().hasExImmediateEffect())
{
SkillCaster.triggerCast(playable, null, itemSkill, item, false);
SkillCaster.triggerCast(playable, itemSkill.getTargetType() == TargetType.OTHERS ? playable.getTarget() : null, itemSkill, item, false);
successfulUse = true;
}
else

View File

@@ -96,7 +96,6 @@
<reuseDelay>2000</reuseDelay>
<magicCriticalRate>5</magicCriticalRate>
<hitCancelTime>0</hitCancelTime>
<!-- FIXME: This should be OTHERS -->
<targetType>OTHERS</targetType>
<affectScope>SINGLE</affectScope>
</skill>

View File

@@ -1894,7 +1894,7 @@
<staticReuse>true</staticReuse>
<isMagic>2</isMagic>
<reuseDelay>20000</reuseDelay>
<targetType>OTHERS</targetType>
<targetType>SELF</targetType>
<affectScope>SINGLE</affectScope>
<conditions>
<condition name="OpCheckAbnormal">

View File

@@ -28,6 +28,7 @@ import org.l2jmobius.gameserver.model.holders.SkillHolder;
import org.l2jmobius.gameserver.model.item.instance.Item;
import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.skill.SkillCaster;
import org.l2jmobius.gameserver.model.skill.targets.TargetType;
import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
@@ -124,7 +125,7 @@ public class ItemSkillsTemplate implements IItemHandler
}
else if (itemSkill.isWithoutAction() || item.getTemplate().hasImmediateEffect() || item.getTemplate().hasExImmediateEffect())
{
SkillCaster.triggerCast(playable, null, itemSkill, item, false);
SkillCaster.triggerCast(playable, itemSkill.getTargetType() == TargetType.OTHERS ? playable.getTarget() : null, itemSkill, item, false);
successfulUse = true;
}
else

View File

@@ -96,7 +96,6 @@
<reuseDelay>2000</reuseDelay>
<magicCriticalRate>5</magicCriticalRate>
<hitCancelTime>0</hitCancelTime>
<!-- FIXME: This should be OTHERS -->
<targetType>OTHERS</targetType>
<affectScope>SINGLE</affectScope>
</skill>

View File

@@ -1893,7 +1893,7 @@
<staticReuse>true</staticReuse>
<isMagic>2</isMagic>
<reuseDelay>20000</reuseDelay>
<targetType>OTHERS</targetType>
<targetType>SELF</targetType>
<affectScope>SINGLE</affectScope>
<conditions>
<condition name="OpCheckAbnormal">

View File

@@ -28,6 +28,7 @@ import org.l2jmobius.gameserver.model.holders.SkillHolder;
import org.l2jmobius.gameserver.model.item.instance.Item;
import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.skill.SkillCaster;
import org.l2jmobius.gameserver.model.skill.targets.TargetType;
import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
@@ -124,7 +125,7 @@ public class ItemSkillsTemplate implements IItemHandler
}
else if (itemSkill.isWithoutAction() || item.getTemplate().hasImmediateEffect() || item.getTemplate().hasExImmediateEffect())
{
SkillCaster.triggerCast(playable, null, itemSkill, item, false);
SkillCaster.triggerCast(playable, itemSkill.getTargetType() == TargetType.OTHERS ? playable.getTarget() : null, itemSkill, item, false);
successfulUse = true;
}
else

View File

@@ -116,7 +116,6 @@
<reuseDelay>2000</reuseDelay>
<magicCriticalRate>5</magicCriticalRate>
<hitCancelTime>0</hitCancelTime>
<!-- FIXME: This should be OTHERS -->
<targetType>OTHERS</targetType>
<affectScope>SINGLE</affectScope>
</skill>

View File

@@ -1893,7 +1893,7 @@
<staticReuse>true</staticReuse>
<isMagic>2</isMagic>
<reuseDelay>20000</reuseDelay>
<targetType>OTHERS</targetType>
<targetType>SELF</targetType>
<affectScope>SINGLE</affectScope>
<conditions>
<condition name="OpCheckAbnormal">

View File

@@ -28,6 +28,7 @@ import org.l2jmobius.gameserver.model.holders.SkillHolder;
import org.l2jmobius.gameserver.model.item.instance.Item;
import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.skill.SkillCaster;
import org.l2jmobius.gameserver.model.skill.targets.TargetType;
import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
@@ -124,7 +125,7 @@ public class ItemSkillsTemplate implements IItemHandler
}
else if (itemSkill.isWithoutAction() || item.getTemplate().hasImmediateEffect() || item.getTemplate().hasExImmediateEffect())
{
SkillCaster.triggerCast(playable, null, itemSkill, item, false);
SkillCaster.triggerCast(playable, itemSkill.getTargetType() == TargetType.OTHERS ? playable.getTarget() : null, itemSkill, item, false);
successfulUse = true;
}
else

View File

@@ -116,7 +116,6 @@
<reuseDelay>2000</reuseDelay>
<magicCriticalRate>5</magicCriticalRate>
<hitCancelTime>0</hitCancelTime>
<!-- FIXME: This should be OTHERS -->
<targetType>OTHERS</targetType>
<affectScope>SINGLE</affectScope>
</skill>

View File

@@ -1893,7 +1893,7 @@
<staticReuse>true</staticReuse>
<isMagic>2</isMagic>
<reuseDelay>20000</reuseDelay>
<targetType>OTHERS</targetType>
<targetType>SELF</targetType>
<affectScope>SINGLE</affectScope>
<conditions>
<condition name="OpCheckAbnormal">

View File

@@ -28,6 +28,7 @@ import org.l2jmobius.gameserver.model.holders.SkillHolder;
import org.l2jmobius.gameserver.model.item.instance.Item;
import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.skill.SkillCaster;
import org.l2jmobius.gameserver.model.skill.targets.TargetType;
import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
@@ -124,7 +125,7 @@ public class ItemSkillsTemplate implements IItemHandler
}
else if (itemSkill.isWithoutAction() || item.getTemplate().hasImmediateEffect() || item.getTemplate().hasExImmediateEffect())
{
SkillCaster.triggerCast(playable, null, itemSkill, item, false);
SkillCaster.triggerCast(playable, itemSkill.getTargetType() == TargetType.OTHERS ? playable.getTarget() : null, itemSkill, item, false);
successfulUse = true;
}
else

View File

@@ -116,7 +116,6 @@
<reuseDelay>2000</reuseDelay>
<magicCriticalRate>5</magicCriticalRate>
<hitCancelTime>0</hitCancelTime>
<!-- FIXME: This should be OTHERS -->
<targetType>OTHERS</targetType>
<affectScope>SINGLE</affectScope>
</skill>

View File

@@ -1893,7 +1893,7 @@
<staticReuse>true</staticReuse>
<isMagic>2</isMagic>
<reuseDelay>20000</reuseDelay>
<targetType>OTHERS</targetType>
<targetType>SELF</targetType>
<affectScope>SINGLE</affectScope>
<conditions>
<condition name="OpCheckAbnormal">

View File

@@ -28,6 +28,7 @@ import org.l2jmobius.gameserver.model.holders.SkillHolder;
import org.l2jmobius.gameserver.model.item.instance.Item;
import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.skill.SkillCaster;
import org.l2jmobius.gameserver.model.skill.targets.TargetType;
import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
@@ -124,7 +125,7 @@ public class ItemSkillsTemplate implements IItemHandler
}
else if (itemSkill.isWithoutAction() || item.getTemplate().hasImmediateEffect() || item.getTemplate().hasExImmediateEffect())
{
SkillCaster.triggerCast(playable, null, itemSkill, item, false);
SkillCaster.triggerCast(playable, itemSkill.getTargetType() == TargetType.OTHERS ? playable.getTarget() : null, itemSkill, item, false);
successfulUse = true;
}
else

View File

@@ -116,7 +116,6 @@
<reuseDelay>2000</reuseDelay>
<magicCriticalRate>5</magicCriticalRate>
<hitCancelTime>0</hitCancelTime>
<!-- FIXME: This should be OTHERS -->
<targetType>OTHERS</targetType>
<affectScope>SINGLE</affectScope>
</skill>

View File

@@ -1875,7 +1875,7 @@
<staticReuse>true</staticReuse>
<isMagic>2</isMagic>
<reuseDelay>20000</reuseDelay>
<targetType>OTHERS</targetType>
<targetType>SELF</targetType>
<affectScope>SINGLE</affectScope>
<conditions>
<condition name="OpCheckAbnormal">

View File

@@ -28,6 +28,7 @@ import org.l2jmobius.gameserver.model.holders.SkillHolder;
import org.l2jmobius.gameserver.model.item.instance.Item;
import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.skill.SkillCaster;
import org.l2jmobius.gameserver.model.skill.targets.TargetType;
import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
@@ -124,7 +125,7 @@ public class ItemSkillsTemplate implements IItemHandler
}
else if (itemSkill.isWithoutAction() || item.getTemplate().hasImmediateEffect() || item.getTemplate().hasExImmediateEffect())
{
SkillCaster.triggerCast(playable, null, itemSkill, item, false);
SkillCaster.triggerCast(playable, itemSkill.getTargetType() == TargetType.OTHERS ? playable.getTarget() : null, itemSkill, item, false);
successfulUse = true;
}
else

View File

@@ -116,7 +116,6 @@
<reuseDelay>2000</reuseDelay>
<magicCriticalRate>5</magicCriticalRate>
<hitCancelTime>0</hitCancelTime>
<!-- FIXME: This should be OTHERS -->
<targetType>OTHERS</targetType>
<affectScope>SINGLE</affectScope>
</skill>

View File

@@ -1875,7 +1875,7 @@
<staticReuse>true</staticReuse>
<isMagic>2</isMagic>
<reuseDelay>20000</reuseDelay>
<targetType>OTHERS</targetType>
<targetType>SELF</targetType>
<affectScope>SINGLE</affectScope>
<conditions>
<condition name="OpCheckAbnormal">

View File

@@ -28,6 +28,7 @@ import org.l2jmobius.gameserver.model.holders.SkillHolder;
import org.l2jmobius.gameserver.model.item.instance.Item;
import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.skill.SkillCaster;
import org.l2jmobius.gameserver.model.skill.targets.TargetType;
import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
@@ -124,7 +125,7 @@ public class ItemSkillsTemplate implements IItemHandler
}
else if (itemSkill.isWithoutAction() || item.getTemplate().hasImmediateEffect() || item.getTemplate().hasExImmediateEffect())
{
SkillCaster.triggerCast(playable, null, itemSkill, item, false);
SkillCaster.triggerCast(playable, itemSkill.getTargetType() == TargetType.OTHERS ? playable.getTarget() : null, itemSkill, item, false);
successfulUse = true;
}
else

View File

@@ -116,7 +116,6 @@
<reuseDelay>2000</reuseDelay>
<magicCriticalRate>5</magicCriticalRate>
<hitCancelTime>0</hitCancelTime>
<!-- FIXME: This should be OTHERS -->
<targetType>OTHERS</targetType>
<affectScope>SINGLE</affectScope>
</skill>

View File

@@ -1875,7 +1875,7 @@
<staticReuse>true</staticReuse>
<isMagic>2</isMagic>
<reuseDelay>20000</reuseDelay>
<targetType>OTHERS</targetType>
<targetType>SELF</targetType>
<affectScope>SINGLE</affectScope>
<conditions>
<condition name="OpCheckAbnormal">

View File

@@ -28,6 +28,7 @@ import org.l2jmobius.gameserver.model.holders.SkillHolder;
import org.l2jmobius.gameserver.model.item.instance.Item;
import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.skill.SkillCaster;
import org.l2jmobius.gameserver.model.skill.targets.TargetType;
import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
@@ -124,7 +125,7 @@ public class ItemSkillsTemplate implements IItemHandler
}
else if (itemSkill.isWithoutAction() || item.getTemplate().hasImmediateEffect() || item.getTemplate().hasExImmediateEffect())
{
SkillCaster.triggerCast(playable, null, itemSkill, item, false);
SkillCaster.triggerCast(playable, itemSkill.getTargetType() == TargetType.OTHERS ? playable.getTarget() : null, itemSkill, item, false);
successfulUse = true;
}
else

View File

@@ -116,7 +116,6 @@
<reuseDelay>2000</reuseDelay>
<magicCriticalRate>5</magicCriticalRate>
<hitCancelTime>0</hitCancelTime>
<!-- FIXME: This should be OTHERS -->
<targetType>OTHERS</targetType>
<affectScope>SINGLE</affectScope>
</skill>

View File

@@ -1875,7 +1875,7 @@
<staticReuse>true</staticReuse>
<isMagic>2</isMagic>
<reuseDelay>20000</reuseDelay>
<targetType>OTHERS</targetType>
<targetType>SELF</targetType>
<affectScope>SINGLE</affectScope>
<conditions>
<condition name="OpCheckAbnormal">

View File

@@ -28,6 +28,7 @@ import org.l2jmobius.gameserver.model.holders.SkillHolder;
import org.l2jmobius.gameserver.model.item.instance.Item;
import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.skill.SkillCaster;
import org.l2jmobius.gameserver.model.skill.targets.TargetType;
import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
@@ -124,7 +125,7 @@ public class ItemSkillsTemplate implements IItemHandler
}
else if (itemSkill.isWithoutAction() || item.getTemplate().hasImmediateEffect() || item.getTemplate().hasExImmediateEffect())
{
SkillCaster.triggerCast(playable, null, itemSkill, item, false);
SkillCaster.triggerCast(playable, itemSkill.getTargetType() == TargetType.OTHERS ? playable.getTarget() : null, itemSkill, item, false);
successfulUse = true;
}
else

View File

@@ -28,6 +28,7 @@ import org.l2jmobius.gameserver.model.holders.SkillHolder;
import org.l2jmobius.gameserver.model.item.instance.Item;
import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.skill.SkillCaster;
import org.l2jmobius.gameserver.model.skill.targets.TargetType;
import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
@@ -124,7 +125,7 @@ public class ItemSkillsTemplate implements IItemHandler
}
else if (itemSkill.isWithoutAction() || item.getTemplate().hasImmediateEffect() || item.getTemplate().hasExImmediateEffect())
{
SkillCaster.triggerCast(playable, null, itemSkill, item, false);
SkillCaster.triggerCast(playable, itemSkill.getTargetType() == TargetType.OTHERS ? playable.getTarget() : null, itemSkill, item, false);
successfulUse = true;
}
else

View File

@@ -28,6 +28,7 @@ import org.l2jmobius.gameserver.model.holders.SkillHolder;
import org.l2jmobius.gameserver.model.item.instance.Item;
import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.skill.SkillCaster;
import org.l2jmobius.gameserver.model.skill.targets.TargetType;
import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
@@ -124,7 +125,7 @@ public class ItemSkillsTemplate implements IItemHandler
}
else if (itemSkill.isWithoutAction() || item.getTemplate().hasImmediateEffect() || item.getTemplate().hasExImmediateEffect())
{
SkillCaster.triggerCast(playable, null, itemSkill, item, false);
SkillCaster.triggerCast(playable, itemSkill.getTargetType() == TargetType.OTHERS ? playable.getTarget() : null, itemSkill, item, false);
successfulUse = true;
}
else

View File

@@ -28,6 +28,7 @@ import org.l2jmobius.gameserver.model.holders.SkillHolder;
import org.l2jmobius.gameserver.model.item.instance.Item;
import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.skill.SkillCaster;
import org.l2jmobius.gameserver.model.skill.targets.TargetType;
import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
@@ -124,7 +125,7 @@ public class ItemSkillsTemplate implements IItemHandler
}
else if (itemSkill.isWithoutAction() || item.getTemplate().hasImmediateEffect() || item.getTemplate().hasExImmediateEffect())
{
SkillCaster.triggerCast(playable, null, itemSkill, item, false);
SkillCaster.triggerCast(playable, itemSkill.getTargetType() == TargetType.OTHERS ? playable.getTarget() : null, itemSkill, item, false);
successfulUse = true;
}
else

View File

@@ -28,6 +28,7 @@ import org.l2jmobius.gameserver.model.holders.SkillHolder;
import org.l2jmobius.gameserver.model.item.instance.Item;
import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.skill.SkillCaster;
import org.l2jmobius.gameserver.model.skill.targets.TargetType;
import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
@@ -124,7 +125,7 @@ public class ItemSkillsTemplate implements IItemHandler
}
else if (itemSkill.isWithoutAction() || item.getTemplate().hasImmediateEffect() || item.getTemplate().hasExImmediateEffect())
{
SkillCaster.triggerCast(playable, null, itemSkill, item, false);
SkillCaster.triggerCast(playable, itemSkill.getTargetType() == TargetType.OTHERS ? playable.getTarget() : null, itemSkill, item, false);
successfulUse = true;
}
else

View File

@@ -28,6 +28,7 @@ import org.l2jmobius.gameserver.model.holders.SkillHolder;
import org.l2jmobius.gameserver.model.item.instance.Item;
import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.skill.SkillCaster;
import org.l2jmobius.gameserver.model.skill.targets.TargetType;
import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
@@ -124,7 +125,7 @@ public class ItemSkillsTemplate implements IItemHandler
}
else if (itemSkill.isWithoutAction() || item.getTemplate().hasImmediateEffect() || item.getTemplate().hasExImmediateEffect())
{
SkillCaster.triggerCast(playable, null, itemSkill, item, false);
SkillCaster.triggerCast(playable, itemSkill.getTargetType() == TargetType.OTHERS ? playable.getTarget() : null, itemSkill, item, false);
successfulUse = true;
}
else

View File

@@ -28,6 +28,7 @@ import org.l2jmobius.gameserver.model.holders.SkillHolder;
import org.l2jmobius.gameserver.model.item.instance.Item;
import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.skill.SkillCaster;
import org.l2jmobius.gameserver.model.skill.targets.TargetType;
import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
@@ -124,7 +125,7 @@ public class ItemSkillsTemplate implements IItemHandler
}
else if (itemSkill.isWithoutAction() || item.getTemplate().hasImmediateEffect() || item.getTemplate().hasExImmediateEffect())
{
SkillCaster.triggerCast(playable, null, itemSkill, item, false);
SkillCaster.triggerCast(playable, itemSkill.getTargetType() == TargetType.OTHERS ? playable.getTarget() : null, itemSkill, item, false);
successfulUse = true;
}
else

View File

@@ -96,7 +96,6 @@
<reuseDelay>2000</reuseDelay>
<magicCriticalRate>5</magicCriticalRate>
<hitCancelTime>0</hitCancelTime>
<!-- FIXME: This should be OTHERS -->
<targetType>OTHERS</targetType>
<affectScope>SINGLE</affectScope>
</skill>

View File

@@ -1894,7 +1894,7 @@
<staticReuse>true</staticReuse>
<isMagic>2</isMagic>
<reuseDelay>20000</reuseDelay>
<targetType>OTHERS</targetType>
<targetType>SELF</targetType>
<affectScope>SINGLE</affectScope>
<conditions>
<condition name="OpCheckAbnormal">

View File

@@ -28,6 +28,7 @@ import org.l2jmobius.gameserver.model.holders.SkillHolder;
import org.l2jmobius.gameserver.model.item.instance.Item;
import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.skill.SkillCaster;
import org.l2jmobius.gameserver.model.skill.targets.TargetType;
import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
@@ -124,7 +125,7 @@ public class ItemSkillsTemplate implements IItemHandler
}
else if (itemSkill.isWithoutAction() || item.getTemplate().hasImmediateEffect() || item.getTemplate().hasExImmediateEffect())
{
SkillCaster.triggerCast(playable, null, itemSkill, item, false);
SkillCaster.triggerCast(playable, itemSkill.getTargetType() == TargetType.OTHERS ? playable.getTarget() : null, itemSkill, item, false);
successfulUse = true;
}
else

View File

@@ -28,6 +28,7 @@ import org.l2jmobius.gameserver.model.holders.SkillHolder;
import org.l2jmobius.gameserver.model.item.instance.Item;
import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.skill.SkillCaster;
import org.l2jmobius.gameserver.model.skill.targets.TargetType;
import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
@@ -124,7 +125,7 @@ public class ItemSkillsTemplate implements IItemHandler
}
else if (itemSkill.isWithoutAction() || item.getTemplate().hasImmediateEffect() || item.getTemplate().hasExImmediateEffect())
{
SkillCaster.triggerCast(playable, null, itemSkill, item, false);
SkillCaster.triggerCast(playable, itemSkill.getTargetType() == TargetType.OTHERS ? playable.getTarget() : null, itemSkill, item, false);
successfulUse = true;
}
else

View File

@@ -28,6 +28,7 @@ import org.l2jmobius.gameserver.model.holders.SkillHolder;
import org.l2jmobius.gameserver.model.item.instance.Item;
import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.skill.SkillCaster;
import org.l2jmobius.gameserver.model.skill.targets.TargetType;
import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
@@ -124,7 +125,7 @@ public class ItemSkillsTemplate implements IItemHandler
}
else if (itemSkill.isWithoutAction() || item.getTemplate().hasImmediateEffect() || item.getTemplate().hasExImmediateEffect())
{
SkillCaster.triggerCast(playable, null, itemSkill, item, false);
SkillCaster.triggerCast(playable, itemSkill.getTargetType() == TargetType.OTHERS ? playable.getTarget() : null, itemSkill, item, false);
successfulUse = true;
}
else

View File

@@ -28,6 +28,7 @@ import org.l2jmobius.gameserver.model.holders.SkillHolder;
import org.l2jmobius.gameserver.model.item.instance.Item;
import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.model.skill.SkillCaster;
import org.l2jmobius.gameserver.model.skill.targets.TargetType;
import org.l2jmobius.gameserver.network.SystemMessageId;
import org.l2jmobius.gameserver.network.serverpackets.SystemMessage;
@@ -124,7 +125,7 @@ public class ItemSkillsTemplate implements IItemHandler
}
else if (itemSkill.isWithoutAction() || item.getTemplate().hasImmediateEffect() || item.getTemplate().hasExImmediateEffect())
{
SkillCaster.triggerCast(playable, null, itemSkill, item, false);
SkillCaster.triggerCast(playable, itemSkill.getTargetType() == TargetType.OTHERS ? playable.getTarget() : null, itemSkill, item, false);
successfulUse = true;
}
else