Vanguards should not be able to use riding transformations.

This commit is contained in:
MobiusDevelopment 2022-10-08 14:13:56 +00:00
parent 05eae2c23c
commit 1854cda4f3

View File

@ -16,10 +16,14 @@
*/
package handlers.skillconditionhandlers;
import org.l2jmobius.gameserver.data.xml.CategoryData;
import org.l2jmobius.gameserver.data.xml.TransformData;
import org.l2jmobius.gameserver.enums.CategoryType;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.actor.Player;
import org.l2jmobius.gameserver.model.actor.transform.Transform;
import org.l2jmobius.gameserver.model.skill.ISkillCondition;
import org.l2jmobius.gameserver.model.skill.Skill;
import org.l2jmobius.gameserver.network.SystemMessageId;
@ -29,12 +33,11 @@ import org.l2jmobius.gameserver.network.SystemMessageId;
*/
public class CanTransformSkillCondition implements ISkillCondition
{
// TODO: What to do with this?
// private final int _transformId;
private final int _transformId;
public CanTransformSkillCondition(StatSet params)
{
// _transformId = params.getInt("transformId");
_transformId = params.getInt("transformId");
}
@Override
@ -66,6 +69,16 @@ public class CanTransformSkillCondition implements ISkillCondition
player.sendPacket(SystemMessageId.YOU_CANNOT_TRANSFORM_WHILE_RIDING_A_PET);
canTransform = false;
}
else if (CategoryData.getInstance().isInCategory(CategoryType.VANGUARD_ALL_CLASS, player.getClassId().getId()))
{
final Transform transform = TransformData.getInstance().getTransform(_transformId);
if (transform.isRiding())
{
player.sendPacket(SystemMessageId.YOU_CANNOT_TRANSFORM_WHILE_RIDING_A_PET);
canTransform = false;
}
}
return canTransform;
}
}