Addition of OpNotAffectedBySkill skill condition handler.

This commit is contained in:
MobiusDevelopment
2021-06-14 22:37:35 +00:00
parent a81169820a
commit 61c0b985dd
38 changed files with 969 additions and 0 deletions

View File

@@ -98,6 +98,7 @@ public class SkillConditionMasterHandler
SkillConditionHandler.getInstance().registerHandler("OpMainjob", OpMainjobSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNeedAgathion", OpNeedAgathionSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNeedSummonOrPet", OpNeedSummonOrPetSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotAffectedBySkill", OpNotAffectedBySkillSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotCursed", OpNotCursedSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotInCeremonyOfChaos", OpNotInCeremonyOfChaosSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotInPeacezone", OpNotInPeacezoneSkillCondition::new);

View File

@@ -0,0 +1,50 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package handlers.skillconditionhandlers;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.skills.BuffInfo;
import org.l2jmobius.gameserver.model.skills.ISkillCondition;
import org.l2jmobius.gameserver.model.skills.Skill;
/**
* @author Mobius
*/
public class OpNotAffectedBySkillSkillCondition implements ISkillCondition
{
private final int _skillId;
private final int _skillLevel;
public OpNotAffectedBySkillSkillCondition(StatSet params)
{
_skillId = params.getInt("skillId", -1);
_skillLevel = params.getInt("skillLevel", -1);
}
@Override
public boolean canUse(Creature caster, Skill skill, WorldObject target)
{
final BuffInfo buffInfo = caster.getEffectList().getBuffInfoBySkillId(_skillId);
if (_skillLevel > 0)
{
return (buffInfo == null) || (buffInfo.getSkill().getLevel() < _skillLevel);
}
return buffInfo == null;
}
}

View File

@@ -98,6 +98,7 @@ public class SkillConditionMasterHandler
SkillConditionHandler.getInstance().registerHandler("OpMainjob", OpMainjobSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNeedAgathion", OpNeedAgathionSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNeedSummonOrPet", OpNeedSummonOrPetSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotAffectedBySkill", OpNotAffectedBySkillSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotCursed", OpNotCursedSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotInCeremonyOfChaos", OpNotInCeremonyOfChaosSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotInPeacezone", OpNotInPeacezoneSkillCondition::new);

View File

@@ -0,0 +1,50 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package handlers.skillconditionhandlers;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.skills.BuffInfo;
import org.l2jmobius.gameserver.model.skills.ISkillCondition;
import org.l2jmobius.gameserver.model.skills.Skill;
/**
* @author Mobius
*/
public class OpNotAffectedBySkillSkillCondition implements ISkillCondition
{
private final int _skillId;
private final int _skillLevel;
public OpNotAffectedBySkillSkillCondition(StatSet params)
{
_skillId = params.getInt("skillId", -1);
_skillLevel = params.getInt("skillLevel", -1);
}
@Override
public boolean canUse(Creature caster, Skill skill, WorldObject target)
{
final BuffInfo buffInfo = caster.getEffectList().getBuffInfoBySkillId(_skillId);
if (_skillLevel > 0)
{
return (buffInfo == null) || (buffInfo.getSkill().getLevel() < _skillLevel);
}
return buffInfo == null;
}
}

View File

@@ -98,6 +98,7 @@ public class SkillConditionMasterHandler
SkillConditionHandler.getInstance().registerHandler("OpMainjob", OpMainjobSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNeedAgathion", OpNeedAgathionSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNeedSummonOrPet", OpNeedSummonOrPetSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotAffectedBySkill", OpNotAffectedBySkillSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotCursed", OpNotCursedSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotInCeremonyOfChaos", OpNotInCeremonyOfChaosSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotInPeacezone", OpNotInPeacezoneSkillCondition::new);

View File

@@ -0,0 +1,50 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package handlers.skillconditionhandlers;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.skills.BuffInfo;
import org.l2jmobius.gameserver.model.skills.ISkillCondition;
import org.l2jmobius.gameserver.model.skills.Skill;
/**
* @author Mobius
*/
public class OpNotAffectedBySkillSkillCondition implements ISkillCondition
{
private final int _skillId;
private final int _skillLevel;
public OpNotAffectedBySkillSkillCondition(StatSet params)
{
_skillId = params.getInt("skillId", -1);
_skillLevel = params.getInt("skillLevel", -1);
}
@Override
public boolean canUse(Creature caster, Skill skill, WorldObject target)
{
final BuffInfo buffInfo = caster.getEffectList().getBuffInfoBySkillId(_skillId);
if (_skillLevel > 0)
{
return (buffInfo == null) || (buffInfo.getSkill().getLevel() < _skillLevel);
}
return buffInfo == null;
}
}

View File

@@ -98,6 +98,7 @@ public class SkillConditionMasterHandler
SkillConditionHandler.getInstance().registerHandler("OpMainjob", OpMainjobSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNeedAgathion", OpNeedAgathionSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNeedSummonOrPet", OpNeedSummonOrPetSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotAffectedBySkill", OpNotAffectedBySkillSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotCursed", OpNotCursedSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotInCeremonyOfChaos", OpNotInCeremonyOfChaosSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotInPeacezone", OpNotInPeacezoneSkillCondition::new);

View File

@@ -0,0 +1,50 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package handlers.skillconditionhandlers;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.skills.BuffInfo;
import org.l2jmobius.gameserver.model.skills.ISkillCondition;
import org.l2jmobius.gameserver.model.skills.Skill;
/**
* @author Mobius
*/
public class OpNotAffectedBySkillSkillCondition implements ISkillCondition
{
private final int _skillId;
private final int _skillLevel;
public OpNotAffectedBySkillSkillCondition(StatSet params)
{
_skillId = params.getInt("skillId", -1);
_skillLevel = params.getInt("skillLevel", -1);
}
@Override
public boolean canUse(Creature caster, Skill skill, WorldObject target)
{
final BuffInfo buffInfo = caster.getEffectList().getBuffInfoBySkillId(_skillId);
if (_skillLevel > 0)
{
return (buffInfo == null) || (buffInfo.getSkill().getLevel() < _skillLevel);
}
return buffInfo == null;
}
}

View File

@@ -98,6 +98,7 @@ public class SkillConditionMasterHandler
SkillConditionHandler.getInstance().registerHandler("OpMainjob", OpMainjobSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNeedAgathion", OpNeedAgathionSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNeedSummonOrPet", OpNeedSummonOrPetSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotAffectedBySkill", OpNotAffectedBySkillSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotCursed", OpNotCursedSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotInCeremonyOfChaos", OpNotInCeremonyOfChaosSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotInPeacezone", OpNotInPeacezoneSkillCondition::new);

View File

@@ -0,0 +1,50 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package handlers.skillconditionhandlers;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.skills.BuffInfo;
import org.l2jmobius.gameserver.model.skills.ISkillCondition;
import org.l2jmobius.gameserver.model.skills.Skill;
/**
* @author Mobius
*/
public class OpNotAffectedBySkillSkillCondition implements ISkillCondition
{
private final int _skillId;
private final int _skillLevel;
public OpNotAffectedBySkillSkillCondition(StatSet params)
{
_skillId = params.getInt("skillId", -1);
_skillLevel = params.getInt("skillLevel", -1);
}
@Override
public boolean canUse(Creature caster, Skill skill, WorldObject target)
{
final BuffInfo buffInfo = caster.getEffectList().getBuffInfoBySkillId(_skillId);
if (_skillLevel > 0)
{
return (buffInfo == null) || (buffInfo.getSkill().getLevel() < _skillLevel);
}
return buffInfo == null;
}
}

View File

@@ -98,6 +98,7 @@ public class SkillConditionMasterHandler
SkillConditionHandler.getInstance().registerHandler("OpMainjob", OpMainjobSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNeedAgathion", OpNeedAgathionSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNeedSummonOrPet", OpNeedSummonOrPetSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotAffectedBySkill", OpNotAffectedBySkillSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotCursed", OpNotCursedSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotInCeremonyOfChaos", OpNotInCeremonyOfChaosSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotInPeacezone", OpNotInPeacezoneSkillCondition::new);

View File

@@ -0,0 +1,50 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package handlers.skillconditionhandlers;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.skills.BuffInfo;
import org.l2jmobius.gameserver.model.skills.ISkillCondition;
import org.l2jmobius.gameserver.model.skills.Skill;
/**
* @author Mobius
*/
public class OpNotAffectedBySkillSkillCondition implements ISkillCondition
{
private final int _skillId;
private final int _skillLevel;
public OpNotAffectedBySkillSkillCondition(StatSet params)
{
_skillId = params.getInt("skillId", -1);
_skillLevel = params.getInt("skillLevel", -1);
}
@Override
public boolean canUse(Creature caster, Skill skill, WorldObject target)
{
final BuffInfo buffInfo = caster.getEffectList().getBuffInfoBySkillId(_skillId);
if (_skillLevel > 0)
{
return (buffInfo == null) || (buffInfo.getSkill().getLevel() < _skillLevel);
}
return buffInfo == null;
}
}

View File

@@ -98,6 +98,7 @@ public class SkillConditionMasterHandler
SkillConditionHandler.getInstance().registerHandler("OpMainjob", OpMainjobSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNeedAgathion", OpNeedAgathionSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNeedSummonOrPet", OpNeedSummonOrPetSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotAffectedBySkill", OpNotAffectedBySkillSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotCursed", OpNotCursedSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotInCeremonyOfChaos", OpNotInCeremonyOfChaosSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotInPeacezone", OpNotInPeacezoneSkillCondition::new);

View File

@@ -0,0 +1,50 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package handlers.skillconditionhandlers;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.skills.BuffInfo;
import org.l2jmobius.gameserver.model.skills.ISkillCondition;
import org.l2jmobius.gameserver.model.skills.Skill;
/**
* @author Mobius
*/
public class OpNotAffectedBySkillSkillCondition implements ISkillCondition
{
private final int _skillId;
private final int _skillLevel;
public OpNotAffectedBySkillSkillCondition(StatSet params)
{
_skillId = params.getInt("skillId", -1);
_skillLevel = params.getInt("skillLevel", -1);
}
@Override
public boolean canUse(Creature caster, Skill skill, WorldObject target)
{
final BuffInfo buffInfo = caster.getEffectList().getBuffInfoBySkillId(_skillId);
if (_skillLevel > 0)
{
return (buffInfo == null) || (buffInfo.getSkill().getLevel() < _skillLevel);
}
return buffInfo == null;
}
}

View File

@@ -98,6 +98,7 @@ public class SkillConditionMasterHandler
SkillConditionHandler.getInstance().registerHandler("OpMainjob", OpMainjobSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNeedAgathion", OpNeedAgathionSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNeedSummonOrPet", OpNeedSummonOrPetSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotAffectedBySkill", OpNotAffectedBySkillSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotCursed", OpNotCursedSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotInCeremonyOfChaos", OpNotInCeremonyOfChaosSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotInPeacezone", OpNotInPeacezoneSkillCondition::new);

View File

@@ -0,0 +1,50 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package handlers.skillconditionhandlers;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.skills.BuffInfo;
import org.l2jmobius.gameserver.model.skills.ISkillCondition;
import org.l2jmobius.gameserver.model.skills.Skill;
/**
* @author Mobius
*/
public class OpNotAffectedBySkillSkillCondition implements ISkillCondition
{
private final int _skillId;
private final int _skillLevel;
public OpNotAffectedBySkillSkillCondition(StatSet params)
{
_skillId = params.getInt("skillId", -1);
_skillLevel = params.getInt("skillLevel", -1);
}
@Override
public boolean canUse(Creature caster, Skill skill, WorldObject target)
{
final BuffInfo buffInfo = caster.getEffectList().getBuffInfoBySkillId(_skillId);
if (_skillLevel > 0)
{
return (buffInfo == null) || (buffInfo.getSkill().getLevel() < _skillLevel);
}
return buffInfo == null;
}
}

View File

@@ -98,6 +98,7 @@ public class SkillConditionMasterHandler
SkillConditionHandler.getInstance().registerHandler("OpMainjob", OpMainjobSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNeedAgathion", OpNeedAgathionSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNeedSummonOrPet", OpNeedSummonOrPetSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotAffectedBySkill", OpNotAffectedBySkillSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotCursed", OpNotCursedSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotInCeremonyOfChaos", OpNotInCeremonyOfChaosSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotInPeacezone", OpNotInPeacezoneSkillCondition::new);

View File

@@ -0,0 +1,50 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package handlers.skillconditionhandlers;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.skills.BuffInfo;
import org.l2jmobius.gameserver.model.skills.ISkillCondition;
import org.l2jmobius.gameserver.model.skills.Skill;
/**
* @author Mobius
*/
public class OpNotAffectedBySkillSkillCondition implements ISkillCondition
{
private final int _skillId;
private final int _skillLevel;
public OpNotAffectedBySkillSkillCondition(StatSet params)
{
_skillId = params.getInt("skillId", -1);
_skillLevel = params.getInt("skillLevel", -1);
}
@Override
public boolean canUse(Creature caster, Skill skill, WorldObject target)
{
final BuffInfo buffInfo = caster.getEffectList().getBuffInfoBySkillId(_skillId);
if (_skillLevel > 0)
{
return (buffInfo == null) || (buffInfo.getSkill().getLevel() < _skillLevel);
}
return buffInfo == null;
}
}

View File

@@ -98,6 +98,7 @@ public class SkillConditionMasterHandler
SkillConditionHandler.getInstance().registerHandler("OpMainjob", OpMainjobSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNeedAgathion", OpNeedAgathionSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNeedSummonOrPet", OpNeedSummonOrPetSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotAffectedBySkill", OpNotAffectedBySkillSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotCursed", OpNotCursedSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotInCeremonyOfChaos", OpNotInCeremonyOfChaosSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotInPeacezone", OpNotInPeacezoneSkillCondition::new);

View File

@@ -0,0 +1,50 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package handlers.skillconditionhandlers;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.skills.BuffInfo;
import org.l2jmobius.gameserver.model.skills.ISkillCondition;
import org.l2jmobius.gameserver.model.skills.Skill;
/**
* @author Mobius
*/
public class OpNotAffectedBySkillSkillCondition implements ISkillCondition
{
private final int _skillId;
private final int _skillLevel;
public OpNotAffectedBySkillSkillCondition(StatSet params)
{
_skillId = params.getInt("skillId", -1);
_skillLevel = params.getInt("skillLevel", -1);
}
@Override
public boolean canUse(Creature caster, Skill skill, WorldObject target)
{
final BuffInfo buffInfo = caster.getEffectList().getBuffInfoBySkillId(_skillId);
if (_skillLevel > 0)
{
return (buffInfo == null) || (buffInfo.getSkill().getLevel() < _skillLevel);
}
return buffInfo == null;
}
}

View File

@@ -98,6 +98,7 @@ public class SkillConditionMasterHandler
SkillConditionHandler.getInstance().registerHandler("OpMainjob", OpMainjobSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNeedAgathion", OpNeedAgathionSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNeedSummonOrPet", OpNeedSummonOrPetSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotAffectedBySkill", OpNotAffectedBySkillSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotCursed", OpNotCursedSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotInPeacezone", OpNotInPeacezoneSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotInstantzone", OpNotInstantzoneSkillCondition::new);

View File

@@ -0,0 +1,50 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package handlers.skillconditionhandlers;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.skills.BuffInfo;
import org.l2jmobius.gameserver.model.skills.ISkillCondition;
import org.l2jmobius.gameserver.model.skills.Skill;
/**
* @author Mobius
*/
public class OpNotAffectedBySkillSkillCondition implements ISkillCondition
{
private final int _skillId;
private final int _skillLevel;
public OpNotAffectedBySkillSkillCondition(StatSet params)
{
_skillId = params.getInt("skillId", -1);
_skillLevel = params.getInt("skillLevel", -1);
}
@Override
public boolean canUse(Creature caster, Skill skill, WorldObject target)
{
final BuffInfo buffInfo = caster.getEffectList().getBuffInfoBySkillId(_skillId);
if (_skillLevel > 0)
{
return (buffInfo == null) || (buffInfo.getSkill().getLevel() < _skillLevel);
}
return buffInfo == null;
}
}

View File

@@ -98,6 +98,7 @@ public class SkillConditionMasterHandler
SkillConditionHandler.getInstance().registerHandler("OpMainjob", OpMainjobSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNeedAgathion", OpNeedAgathionSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNeedSummonOrPet", OpNeedSummonOrPetSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotAffectedBySkill", OpNotAffectedBySkillSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotCursed", OpNotCursedSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotInPeacezone", OpNotInPeacezoneSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotInstantzone", OpNotInstantzoneSkillCondition::new);

View File

@@ -0,0 +1,50 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package handlers.skillconditionhandlers;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.skills.BuffInfo;
import org.l2jmobius.gameserver.model.skills.ISkillCondition;
import org.l2jmobius.gameserver.model.skills.Skill;
/**
* @author Mobius
*/
public class OpNotAffectedBySkillSkillCondition implements ISkillCondition
{
private final int _skillId;
private final int _skillLevel;
public OpNotAffectedBySkillSkillCondition(StatSet params)
{
_skillId = params.getInt("skillId", -1);
_skillLevel = params.getInt("skillLevel", -1);
}
@Override
public boolean canUse(Creature caster, Skill skill, WorldObject target)
{
final BuffInfo buffInfo = caster.getEffectList().getBuffInfoBySkillId(_skillId);
if (_skillLevel > 0)
{
return (buffInfo == null) || (buffInfo.getSkill().getLevel() < _skillLevel);
}
return buffInfo == null;
}
}

View File

@@ -98,6 +98,7 @@ public class SkillConditionMasterHandler
SkillConditionHandler.getInstance().registerHandler("OpMainjob", OpMainjobSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNeedAgathion", OpNeedAgathionSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNeedSummonOrPet", OpNeedSummonOrPetSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotAffectedBySkill", OpNotAffectedBySkillSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotCursed", OpNotCursedSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotInPeacezone", OpNotInPeacezoneSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotInstantzone", OpNotInstantzoneSkillCondition::new);

View File

@@ -0,0 +1,50 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package handlers.skillconditionhandlers;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.skills.BuffInfo;
import org.l2jmobius.gameserver.model.skills.ISkillCondition;
import org.l2jmobius.gameserver.model.skills.Skill;
/**
* @author Mobius
*/
public class OpNotAffectedBySkillSkillCondition implements ISkillCondition
{
private final int _skillId;
private final int _skillLevel;
public OpNotAffectedBySkillSkillCondition(StatSet params)
{
_skillId = params.getInt("skillId", -1);
_skillLevel = params.getInt("skillLevel", -1);
}
@Override
public boolean canUse(Creature caster, Skill skill, WorldObject target)
{
final BuffInfo buffInfo = caster.getEffectList().getBuffInfoBySkillId(_skillId);
if (_skillLevel > 0)
{
return (buffInfo == null) || (buffInfo.getSkill().getLevel() < _skillLevel);
}
return buffInfo == null;
}
}

View File

@@ -98,6 +98,7 @@ public class SkillConditionMasterHandler
SkillConditionHandler.getInstance().registerHandler("OpMainjob", OpMainjobSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNeedAgathion", OpNeedAgathionSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNeedSummonOrPet", OpNeedSummonOrPetSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotAffectedBySkill", OpNotAffectedBySkillSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotCursed", OpNotCursedSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotInPeacezone", OpNotInPeacezoneSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotInstantzone", OpNotInstantzoneSkillCondition::new);

View File

@@ -0,0 +1,50 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package handlers.skillconditionhandlers;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.skills.BuffInfo;
import org.l2jmobius.gameserver.model.skills.ISkillCondition;
import org.l2jmobius.gameserver.model.skills.Skill;
/**
* @author Mobius
*/
public class OpNotAffectedBySkillSkillCondition implements ISkillCondition
{
private final int _skillId;
private final int _skillLevel;
public OpNotAffectedBySkillSkillCondition(StatSet params)
{
_skillId = params.getInt("skillId", -1);
_skillLevel = params.getInt("skillLevel", -1);
}
@Override
public boolean canUse(Creature caster, Skill skill, WorldObject target)
{
final BuffInfo buffInfo = caster.getEffectList().getBuffInfoBySkillId(_skillId);
if (_skillLevel > 0)
{
return (buffInfo == null) || (buffInfo.getSkill().getLevel() < _skillLevel);
}
return buffInfo == null;
}
}

View File

@@ -98,6 +98,7 @@ public class SkillConditionMasterHandler
SkillConditionHandler.getInstance().registerHandler("OpMainjob", OpMainjobSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNeedAgathion", OpNeedAgathionSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNeedSummonOrPet", OpNeedSummonOrPetSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotAffectedBySkill", OpNotAffectedBySkillSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotCursed", OpNotCursedSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotInPeacezone", OpNotInPeacezoneSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotInstantzone", OpNotInstantzoneSkillCondition::new);

View File

@@ -0,0 +1,50 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package handlers.skillconditionhandlers;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.skills.BuffInfo;
import org.l2jmobius.gameserver.model.skills.ISkillCondition;
import org.l2jmobius.gameserver.model.skills.Skill;
/**
* @author Mobius
*/
public class OpNotAffectedBySkillSkillCondition implements ISkillCondition
{
private final int _skillId;
private final int _skillLevel;
public OpNotAffectedBySkillSkillCondition(StatSet params)
{
_skillId = params.getInt("skillId", -1);
_skillLevel = params.getInt("skillLevel", -1);
}
@Override
public boolean canUse(Creature caster, Skill skill, WorldObject target)
{
final BuffInfo buffInfo = caster.getEffectList().getBuffInfoBySkillId(_skillId);
if (_skillLevel > 0)
{
return (buffInfo == null) || (buffInfo.getSkill().getLevel() < _skillLevel);
}
return buffInfo == null;
}
}

View File

@@ -98,6 +98,7 @@ public class SkillConditionMasterHandler
SkillConditionHandler.getInstance().registerHandler("OpMainjob", OpMainjobSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNeedAgathion", OpNeedAgathionSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNeedSummonOrPet", OpNeedSummonOrPetSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotAffectedBySkill", OpNotAffectedBySkillSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotCursed", OpNotCursedSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotInPeacezone", OpNotInPeacezoneSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotInstantzone", OpNotInstantzoneSkillCondition::new);

View File

@@ -0,0 +1,50 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package handlers.skillconditionhandlers;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.skills.BuffInfo;
import org.l2jmobius.gameserver.model.skills.ISkillCondition;
import org.l2jmobius.gameserver.model.skills.Skill;
/**
* @author Mobius
*/
public class OpNotAffectedBySkillSkillCondition implements ISkillCondition
{
private final int _skillId;
private final int _skillLevel;
public OpNotAffectedBySkillSkillCondition(StatSet params)
{
_skillId = params.getInt("skillId", -1);
_skillLevel = params.getInt("skillLevel", -1);
}
@Override
public boolean canUse(Creature caster, Skill skill, WorldObject target)
{
final BuffInfo buffInfo = caster.getEffectList().getBuffInfoBySkillId(_skillId);
if (_skillLevel > 0)
{
return (buffInfo == null) || (buffInfo.getSkill().getLevel() < _skillLevel);
}
return buffInfo == null;
}
}

View File

@@ -98,6 +98,7 @@ public class SkillConditionMasterHandler
SkillConditionHandler.getInstance().registerHandler("OpMainjob", OpMainjobSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNeedAgathion", OpNeedAgathionSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNeedSummonOrPet", OpNeedSummonOrPetSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotAffectedBySkill", OpNotAffectedBySkillSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotCursed", OpNotCursedSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotInPeacezone", OpNotInPeacezoneSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotInstantzone", OpNotInstantzoneSkillCondition::new);

View File

@@ -0,0 +1,50 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package handlers.skillconditionhandlers;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.skills.BuffInfo;
import org.l2jmobius.gameserver.model.skills.ISkillCondition;
import org.l2jmobius.gameserver.model.skills.Skill;
/**
* @author Mobius
*/
public class OpNotAffectedBySkillSkillCondition implements ISkillCondition
{
private final int _skillId;
private final int _skillLevel;
public OpNotAffectedBySkillSkillCondition(StatSet params)
{
_skillId = params.getInt("skillId", -1);
_skillLevel = params.getInt("skillLevel", -1);
}
@Override
public boolean canUse(Creature caster, Skill skill, WorldObject target)
{
final BuffInfo buffInfo = caster.getEffectList().getBuffInfoBySkillId(_skillId);
if (_skillLevel > 0)
{
return (buffInfo == null) || (buffInfo.getSkill().getLevel() < _skillLevel);
}
return buffInfo == null;
}
}

View File

@@ -100,6 +100,7 @@ public class SkillConditionMasterHandler
SkillConditionHandler.getInstance().registerHandler("OpMainjob", OpMainjobSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNeedAgathion", OpNeedAgathionSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNeedSummonOrPet", OpNeedSummonOrPetSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotAffectedBySkill", OpNotAffectedBySkillSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotCursed", OpNotCursedSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotInPeacezone", OpNotInPeacezoneSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotInstantzone", OpNotInstantzoneSkillCondition::new);

View File

@@ -0,0 +1,50 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package handlers.skillconditionhandlers;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.skills.BuffInfo;
import org.l2jmobius.gameserver.model.skills.ISkillCondition;
import org.l2jmobius.gameserver.model.skills.Skill;
/**
* @author Mobius
*/
public class OpNotAffectedBySkillSkillCondition implements ISkillCondition
{
private final int _skillId;
private final int _skillLevel;
public OpNotAffectedBySkillSkillCondition(StatSet params)
{
_skillId = params.getInt("skillId", -1);
_skillLevel = params.getInt("skillLevel", -1);
}
@Override
public boolean canUse(Creature caster, Skill skill, WorldObject target)
{
final BuffInfo buffInfo = caster.getEffectList().getBuffInfoBySkillId(_skillId);
if (_skillLevel > 0)
{
return (buffInfo == null) || (buffInfo.getSkill().getLevel() < _skillLevel);
}
return buffInfo == null;
}
}

View File

@@ -100,6 +100,7 @@ public class SkillConditionMasterHandler
SkillConditionHandler.getInstance().registerHandler("OpMainjob", OpMainjobSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNeedAgathion", OpNeedAgathionSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNeedSummonOrPet", OpNeedSummonOrPetSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotAffectedBySkill", OpNotAffectedBySkillSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotCursed", OpNotCursedSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotInPeacezone", OpNotInPeacezoneSkillCondition::new);
SkillConditionHandler.getInstance().registerHandler("OpNotInstantzone", OpNotInstantzoneSkillCondition::new);

View File

@@ -0,0 +1,50 @@
/*
* This file is part of the L2J Mobius project.
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
package handlers.skillconditionhandlers;
import org.l2jmobius.gameserver.model.StatSet;
import org.l2jmobius.gameserver.model.WorldObject;
import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.skills.BuffInfo;
import org.l2jmobius.gameserver.model.skills.ISkillCondition;
import org.l2jmobius.gameserver.model.skills.Skill;
/**
* @author Mobius
*/
public class OpNotAffectedBySkillSkillCondition implements ISkillCondition
{
private final int _skillId;
private final int _skillLevel;
public OpNotAffectedBySkillSkillCondition(StatSet params)
{
_skillId = params.getInt("skillId", -1);
_skillLevel = params.getInt("skillLevel", -1);
}
@Override
public boolean canUse(Creature caster, Skill skill, WorldObject target)
{
final BuffInfo buffInfo = caster.getEffectList().getBuffInfoBySkillId(_skillId);
if (_skillLevel > 0)
{
return (buffInfo == null) || (buffInfo.getSkill().getLevel() < _skillLevel);
}
return buffInfo == null;
}
}