Addition of ReplaceSkillBySkill canStart transformation condition.

Thanks to Liamxroy.
This commit is contained in:
MobiusDevelopment
2022-10-15 21:40:37 +00:00
parent 257ffff881
commit ba09d61dc4
11 changed files with 345 additions and 308 deletions

View File

@@ -45,9 +45,13 @@ public class ReplaceSkillBySkill extends AbstractEffect
} }
@Override @Override
public void onStart(Creature effector, Creature effected, Skill skill, Item item) public boolean canStart(Creature effector, Creature effected, Skill skill)
{ {
if (effected.isPlayer()) return effected.isPlayer() && !effected.isTransformed();
}
@Override
public void onStart(Creature effector, Creature effected, Skill skill, Item item)
{ {
final Player player = effected.getActingPlayer(); final Player player = effected.getActingPlayer();
final Skill knownSkill = player.getKnownSkill(_existingSkill.getSkillId()); final Skill knownSkill = player.getKnownSkill(_existingSkill.getSkillId());
@@ -77,7 +81,6 @@ public class ReplaceSkillBySkill extends AbstractEffect
player.sendSkillList(); player.sendSkillList();
ThreadPool.schedule(() -> player.sendPacket(new ShortCutInit(player)), 1100); ThreadPool.schedule(() -> player.sendPacket(new ShortCutInit(player)), 1100);
} }
}
@Override @Override
public void onExit(Creature effector, Creature effected, Skill skill) public void onExit(Creature effector, Creature effected, Skill skill)

View File

@@ -45,9 +45,13 @@ public class ReplaceSkillBySkill extends AbstractEffect
} }
@Override @Override
public void onStart(Creature effector, Creature effected, Skill skill, Item item) public boolean canStart(Creature effector, Creature effected, Skill skill)
{ {
if (effected.isPlayer()) return effected.isPlayer() && !effected.isTransformed();
}
@Override
public void onStart(Creature effector, Creature effected, Skill skill, Item item)
{ {
final Player player = effected.getActingPlayer(); final Player player = effected.getActingPlayer();
final Skill knownSkill = player.getKnownSkill(_existingSkill.getSkillId()); final Skill knownSkill = player.getKnownSkill(_existingSkill.getSkillId());
@@ -77,7 +81,6 @@ public class ReplaceSkillBySkill extends AbstractEffect
player.sendSkillList(); player.sendSkillList();
ThreadPool.schedule(() -> player.sendPacket(new ShortCutInit(player)), 1100); ThreadPool.schedule(() -> player.sendPacket(new ShortCutInit(player)), 1100);
} }
}
@Override @Override
public void onExit(Creature effector, Creature effected, Skill skill) public void onExit(Creature effector, Creature effected, Skill skill)

View File

@@ -45,9 +45,13 @@ public class ReplaceSkillBySkill extends AbstractEffect
} }
@Override @Override
public void onStart(Creature effector, Creature effected, Skill skill, Item item) public boolean canStart(Creature effector, Creature effected, Skill skill)
{ {
if (effected.isPlayer()) return effected.isPlayer() && !effected.isTransformed();
}
@Override
public void onStart(Creature effector, Creature effected, Skill skill, Item item)
{ {
final Player player = effected.getActingPlayer(); final Player player = effected.getActingPlayer();
final Skill knownSkill = player.getKnownSkill(_existingSkill.getSkillId()); final Skill knownSkill = player.getKnownSkill(_existingSkill.getSkillId());
@@ -77,7 +81,6 @@ public class ReplaceSkillBySkill extends AbstractEffect
player.sendSkillList(); player.sendSkillList();
ThreadPool.schedule(() -> player.sendPacket(new ShortCutInit(player)), 1100); ThreadPool.schedule(() -> player.sendPacket(new ShortCutInit(player)), 1100);
} }
}
@Override @Override
public void onExit(Creature effector, Creature effected, Skill skill) public void onExit(Creature effector, Creature effected, Skill skill)

View File

@@ -45,9 +45,13 @@ public class ReplaceSkillBySkill extends AbstractEffect
} }
@Override @Override
public void onStart(Creature effector, Creature effected, Skill skill, Item item) public boolean canStart(Creature effector, Creature effected, Skill skill)
{ {
if (effected.isPlayer()) return effected.isPlayer() && !effected.isTransformed();
}
@Override
public void onStart(Creature effector, Creature effected, Skill skill, Item item)
{ {
final Player player = effected.getActingPlayer(); final Player player = effected.getActingPlayer();
final Skill knownSkill = player.getKnownSkill(_existingSkill.getSkillId()); final Skill knownSkill = player.getKnownSkill(_existingSkill.getSkillId());
@@ -77,7 +81,6 @@ public class ReplaceSkillBySkill extends AbstractEffect
player.sendSkillList(); player.sendSkillList();
ThreadPool.schedule(() -> player.sendPacket(new ShortCutInit(player)), 1100); ThreadPool.schedule(() -> player.sendPacket(new ShortCutInit(player)), 1100);
} }
}
@Override @Override
public void onExit(Creature effector, Creature effected, Skill skill) public void onExit(Creature effector, Creature effected, Skill skill)

View File

@@ -45,9 +45,13 @@ public class ReplaceSkillBySkill extends AbstractEffect
} }
@Override @Override
public void onStart(Creature effector, Creature effected, Skill skill, Item item) public boolean canStart(Creature effector, Creature effected, Skill skill)
{ {
if (effected.isPlayer()) return effected.isPlayer() && !effected.isTransformed();
}
@Override
public void onStart(Creature effector, Creature effected, Skill skill, Item item)
{ {
final Player player = effected.getActingPlayer(); final Player player = effected.getActingPlayer();
final Skill knownSkill = player.getKnownSkill(_existingSkill.getSkillId()); final Skill knownSkill = player.getKnownSkill(_existingSkill.getSkillId());
@@ -77,7 +81,6 @@ public class ReplaceSkillBySkill extends AbstractEffect
player.sendSkillList(); player.sendSkillList();
ThreadPool.schedule(() -> player.sendPacket(new ShortCutInit(player)), 1100); ThreadPool.schedule(() -> player.sendPacket(new ShortCutInit(player)), 1100);
} }
}
@Override @Override
public void onExit(Creature effector, Creature effected, Skill skill) public void onExit(Creature effector, Creature effected, Skill skill)

View File

@@ -45,9 +45,13 @@ public class ReplaceSkillBySkill extends AbstractEffect
} }
@Override @Override
public void onStart(Creature effector, Creature effected, Skill skill, Item item) public boolean canStart(Creature effector, Creature effected, Skill skill)
{ {
if (effected.isPlayer()) return effected.isPlayer() && !effected.isTransformed();
}
@Override
public void onStart(Creature effector, Creature effected, Skill skill, Item item)
{ {
final Player player = effected.getActingPlayer(); final Player player = effected.getActingPlayer();
final Skill knownSkill = player.getKnownSkill(_existingSkill.getSkillId()); final Skill knownSkill = player.getKnownSkill(_existingSkill.getSkillId());
@@ -77,7 +81,6 @@ public class ReplaceSkillBySkill extends AbstractEffect
player.sendSkillList(); player.sendSkillList();
ThreadPool.schedule(() -> player.sendPacket(new ShortCutInit(player)), 1100); ThreadPool.schedule(() -> player.sendPacket(new ShortCutInit(player)), 1100);
} }
}
@Override @Override
public void onExit(Creature effector, Creature effected, Skill skill) public void onExit(Creature effector, Creature effected, Skill skill)

View File

@@ -45,9 +45,13 @@ public class ReplaceSkillBySkill extends AbstractEffect
} }
@Override @Override
public void onStart(Creature effector, Creature effected, Skill skill, Item item) public boolean canStart(Creature effector, Creature effected, Skill skill)
{ {
if (effected.isPlayer()) return effected.isPlayer() && !effected.isTransformed();
}
@Override
public void onStart(Creature effector, Creature effected, Skill skill, Item item)
{ {
final Player player = effected.getActingPlayer(); final Player player = effected.getActingPlayer();
final Skill knownSkill = player.getKnownSkill(_existingSkill.getSkillId()); final Skill knownSkill = player.getKnownSkill(_existingSkill.getSkillId());
@@ -77,7 +81,6 @@ public class ReplaceSkillBySkill extends AbstractEffect
player.sendSkillList(); player.sendSkillList();
ThreadPool.schedule(() -> player.sendPacket(new ShortCutInit(player)), 1100); ThreadPool.schedule(() -> player.sendPacket(new ShortCutInit(player)), 1100);
} }
}
@Override @Override
public void onExit(Creature effector, Creature effected, Skill skill) public void onExit(Creature effector, Creature effected, Skill skill)

View File

@@ -26,6 +26,7 @@ import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.effects.AbstractEffect; import org.l2jmobius.gameserver.model.effects.AbstractEffect;
import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.holders.SkillHolder;
import org.l2jmobius.gameserver.model.item.instance.Item; import org.l2jmobius.gameserver.model.item.instance.Item;
import org.l2jmobius.gameserver.model.skill.AbnormalType;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.network.serverpackets.ShortCutInit; import org.l2jmobius.gameserver.network.serverpackets.ShortCutInit;
import org.l2jmobius.gameserver.network.serverpackets.ShortCutRegister; import org.l2jmobius.gameserver.network.serverpackets.ShortCutRegister;
@@ -45,9 +46,13 @@ public class ReplaceSkillBySkill extends AbstractEffect
} }
@Override @Override
public void onStart(Creature effector, Creature effected, Skill skill, Item item) public boolean canStart(Creature effector, Creature effected, Skill skill)
{ {
if (effected.isPlayer()) return effected.isPlayer() && (!effected.isTransformed() || effected.hasAbnormalType(AbnormalType.KAMAEL_TRANSFORM));
}
@Override
public void onStart(Creature effector, Creature effected, Skill skill, Item item)
{ {
final Player player = effected.getActingPlayer(); final Player player = effected.getActingPlayer();
final Skill knownSkill = player.getKnownSkill(_existingSkill.getSkillId()); final Skill knownSkill = player.getKnownSkill(_existingSkill.getSkillId());
@@ -77,7 +82,6 @@ public class ReplaceSkillBySkill extends AbstractEffect
player.sendSkillList(); player.sendSkillList();
ThreadPool.schedule(() -> player.sendPacket(new ShortCutInit(player)), 1100); ThreadPool.schedule(() -> player.sendPacket(new ShortCutInit(player)), 1100);
} }
}
@Override @Override
public void onExit(Creature effector, Creature effected, Skill skill) public void onExit(Creature effector, Creature effected, Skill skill)

View File

@@ -26,6 +26,7 @@ import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.effects.AbstractEffect; import org.l2jmobius.gameserver.model.effects.AbstractEffect;
import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.holders.SkillHolder;
import org.l2jmobius.gameserver.model.item.instance.Item; import org.l2jmobius.gameserver.model.item.instance.Item;
import org.l2jmobius.gameserver.model.skill.AbnormalType;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.network.serverpackets.ShortCutInit; import org.l2jmobius.gameserver.network.serverpackets.ShortCutInit;
import org.l2jmobius.gameserver.network.serverpackets.ShortCutRegister; import org.l2jmobius.gameserver.network.serverpackets.ShortCutRegister;
@@ -45,9 +46,13 @@ public class ReplaceSkillBySkill extends AbstractEffect
} }
@Override @Override
public void onStart(Creature effector, Creature effected, Skill skill, Item item) public boolean canStart(Creature effector, Creature effected, Skill skill)
{ {
if (effected.isPlayer()) return effected.isPlayer() && (!effected.isTransformed() || effected.hasAbnormalType(AbnormalType.KAMAEL_TRANSFORM));
}
@Override
public void onStart(Creature effector, Creature effected, Skill skill, Item item)
{ {
final Player player = effected.getActingPlayer(); final Player player = effected.getActingPlayer();
final Skill knownSkill = player.getKnownSkill(_existingSkill.getSkillId()); final Skill knownSkill = player.getKnownSkill(_existingSkill.getSkillId());
@@ -77,7 +82,6 @@ public class ReplaceSkillBySkill extends AbstractEffect
player.sendSkillList(); player.sendSkillList();
ThreadPool.schedule(() -> player.sendPacket(new ShortCutInit(player)), 1100); ThreadPool.schedule(() -> player.sendPacket(new ShortCutInit(player)), 1100);
} }
}
@Override @Override
public void onExit(Creature effector, Creature effected, Skill skill) public void onExit(Creature effector, Creature effected, Skill skill)

View File

@@ -26,6 +26,7 @@ import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.effects.AbstractEffect; import org.l2jmobius.gameserver.model.effects.AbstractEffect;
import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.holders.SkillHolder;
import org.l2jmobius.gameserver.model.item.instance.Item; import org.l2jmobius.gameserver.model.item.instance.Item;
import org.l2jmobius.gameserver.model.skill.AbnormalType;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.network.serverpackets.ShortCutInit; import org.l2jmobius.gameserver.network.serverpackets.ShortCutInit;
import org.l2jmobius.gameserver.network.serverpackets.ShortCutRegister; import org.l2jmobius.gameserver.network.serverpackets.ShortCutRegister;
@@ -45,9 +46,13 @@ public class ReplaceSkillBySkill extends AbstractEffect
} }
@Override @Override
public void onStart(Creature effector, Creature effected, Skill skill, Item item) public boolean canStart(Creature effector, Creature effected, Skill skill)
{ {
if (effected.isPlayer()) return effected.isPlayer() && (!effected.isTransformed() || effected.hasAbnormalType(AbnormalType.KAMAEL_TRANSFORM));
}
@Override
public void onStart(Creature effector, Creature effected, Skill skill, Item item)
{ {
final Player player = effected.getActingPlayer(); final Player player = effected.getActingPlayer();
final Skill knownSkill = player.getKnownSkill(_existingSkill.getSkillId()); final Skill knownSkill = player.getKnownSkill(_existingSkill.getSkillId());
@@ -77,7 +82,6 @@ public class ReplaceSkillBySkill extends AbstractEffect
player.sendSkillList(); player.sendSkillList();
ThreadPool.schedule(() -> player.sendPacket(new ShortCutInit(player)), 1100); ThreadPool.schedule(() -> player.sendPacket(new ShortCutInit(player)), 1100);
} }
}
@Override @Override
public void onExit(Creature effector, Creature effected, Skill skill) public void onExit(Creature effector, Creature effected, Skill skill)

View File

@@ -26,6 +26,7 @@ import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.effects.AbstractEffect; import org.l2jmobius.gameserver.model.effects.AbstractEffect;
import org.l2jmobius.gameserver.model.holders.SkillHolder; import org.l2jmobius.gameserver.model.holders.SkillHolder;
import org.l2jmobius.gameserver.model.item.instance.Item; import org.l2jmobius.gameserver.model.item.instance.Item;
import org.l2jmobius.gameserver.model.skill.AbnormalType;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.network.serverpackets.ShortCutInit; import org.l2jmobius.gameserver.network.serverpackets.ShortCutInit;
import org.l2jmobius.gameserver.network.serverpackets.ShortCutRegister; import org.l2jmobius.gameserver.network.serverpackets.ShortCutRegister;
@@ -45,9 +46,13 @@ public class ReplaceSkillBySkill extends AbstractEffect
} }
@Override @Override
public void onStart(Creature effector, Creature effected, Skill skill, Item item) public boolean canStart(Creature effector, Creature effected, Skill skill)
{ {
if (effected.isPlayer()) return effected.isPlayer() && (!effected.isTransformed() || effected.hasAbnormalType(AbnormalType.KAMAEL_TRANSFORM));
}
@Override
public void onStart(Creature effector, Creature effected, Skill skill, Item item)
{ {
final Player player = effected.getActingPlayer(); final Player player = effected.getActingPlayer();
final Skill knownSkill = player.getKnownSkill(_existingSkill.getSkillId()); final Skill knownSkill = player.getKnownSkill(_existingSkill.getSkillId());
@@ -77,7 +82,6 @@ public class ReplaceSkillBySkill extends AbstractEffect
player.sendSkillList(); player.sendSkillList();
ThreadPool.schedule(() -> player.sendPacket(new ShortCutInit(player)), 1100); ThreadPool.schedule(() -> player.sendPacket(new ShortCutInit(player)), 1100);
} }
}
@Override @Override
public void onExit(Creature effector, Creature effected, Skill skill) public void onExit(Creature effector, Creature effected, Skill skill)