Fixed probable ConditionUsingSlotType NPE.

This commit is contained in:
MobiusDevelopment 2023-06-29 12:55:03 +03:00
parent e00b9ecf2d
commit dba2e23f72
29 changed files with 273 additions and 29 deletions

View File

@ -18,6 +18,7 @@ package org.l2jmobius.gameserver.model.conditions;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.item.ItemTemplate; import org.l2jmobius.gameserver.model.item.ItemTemplate;
import org.l2jmobius.gameserver.model.item.Weapon;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
/** /**
@ -39,6 +40,13 @@ public class ConditionUsingSlotType extends Condition
{ {
return false; return false;
} }
return (effector.getActiveWeaponItem().getBodyPart() & _mask) != 0;
final Weapon activeWeapon = effector.getActiveWeaponItem();
if (activeWeapon == null)
{
return false;
}
return (activeWeapon.getBodyPart() & _mask) != 0;
} }
} }

View File

@ -18,6 +18,7 @@ package org.l2jmobius.gameserver.model.conditions;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.item.ItemTemplate; import org.l2jmobius.gameserver.model.item.ItemTemplate;
import org.l2jmobius.gameserver.model.item.Weapon;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
/** /**
@ -39,6 +40,13 @@ public class ConditionUsingSlotType extends Condition
{ {
return false; return false;
} }
return (effector.getActiveWeaponItem().getBodyPart() & _mask) != 0;
final Weapon activeWeapon = effector.getActiveWeaponItem();
if (activeWeapon == null)
{
return false;
}
return (activeWeapon.getBodyPart() & _mask) != 0;
} }
} }

View File

@ -18,6 +18,7 @@ package org.l2jmobius.gameserver.model.conditions;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.item.ItemTemplate; import org.l2jmobius.gameserver.model.item.ItemTemplate;
import org.l2jmobius.gameserver.model.item.Weapon;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
/** /**
@ -39,6 +40,13 @@ public class ConditionUsingSlotType extends Condition
{ {
return false; return false;
} }
return (effector.getActiveWeaponItem().getBodyPart() & _mask) != 0;
final Weapon activeWeapon = effector.getActiveWeaponItem();
if (activeWeapon == null)
{
return false;
}
return (activeWeapon.getBodyPart() & _mask) != 0;
} }
} }

View File

@ -18,6 +18,7 @@ package org.l2jmobius.gameserver.model.conditions;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.item.ItemTemplate; import org.l2jmobius.gameserver.model.item.ItemTemplate;
import org.l2jmobius.gameserver.model.item.Weapon;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
/** /**
@ -39,6 +40,13 @@ public class ConditionUsingSlotType extends Condition
{ {
return false; return false;
} }
return (effector.getActiveWeaponItem().getBodyPart() & _mask) != 0;
final Weapon activeWeapon = effector.getActiveWeaponItem();
if (activeWeapon == null)
{
return false;
}
return (activeWeapon.getBodyPart() & _mask) != 0;
} }
} }

View File

@ -18,6 +18,7 @@ package org.l2jmobius.gameserver.model.conditions;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.item.ItemTemplate; import org.l2jmobius.gameserver.model.item.ItemTemplate;
import org.l2jmobius.gameserver.model.item.Weapon;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
/** /**
@ -39,6 +40,13 @@ public class ConditionUsingSlotType extends Condition
{ {
return false; return false;
} }
return (effector.getActiveWeaponItem().getBodyPart() & _mask) != 0;
final Weapon activeWeapon = effector.getActiveWeaponItem();
if (activeWeapon == null)
{
return false;
}
return (activeWeapon.getBodyPart() & _mask) != 0;
} }
} }

View File

@ -18,6 +18,7 @@ package org.l2jmobius.gameserver.model.conditions;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.item.ItemTemplate; import org.l2jmobius.gameserver.model.item.ItemTemplate;
import org.l2jmobius.gameserver.model.item.Weapon;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
/** /**
@ -39,6 +40,13 @@ public class ConditionUsingSlotType extends Condition
{ {
return false; return false;
} }
return (effector.getActiveWeaponItem().getBodyPart() & _mask) != 0;
final Weapon activeWeapon = effector.getActiveWeaponItem();
if (activeWeapon == null)
{
return false;
}
return (activeWeapon.getBodyPart() & _mask) != 0;
} }
} }

View File

@ -18,6 +18,7 @@ package org.l2jmobius.gameserver.model.conditions;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.item.ItemTemplate; import org.l2jmobius.gameserver.model.item.ItemTemplate;
import org.l2jmobius.gameserver.model.item.Weapon;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
/** /**
@ -39,6 +40,13 @@ public class ConditionUsingSlotType extends Condition
{ {
return false; return false;
} }
return (effector.getActiveWeaponItem().getBodyPart() & _mask) != 0;
final Weapon activeWeapon = effector.getActiveWeaponItem();
if (activeWeapon == null)
{
return false;
}
return (activeWeapon.getBodyPart() & _mask) != 0;
} }
} }

View File

@ -18,6 +18,7 @@ package org.l2jmobius.gameserver.model.conditions;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.item.ItemTemplate; import org.l2jmobius.gameserver.model.item.ItemTemplate;
import org.l2jmobius.gameserver.model.item.Weapon;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
/** /**
@ -39,6 +40,13 @@ public class ConditionUsingSlotType extends Condition
{ {
return false; return false;
} }
return (effector.getActiveWeaponItem().getBodyPart() & _mask) != 0;
final Weapon activeWeapon = effector.getActiveWeaponItem();
if (activeWeapon == null)
{
return false;
}
return (activeWeapon.getBodyPart() & _mask) != 0;
} }
} }

View File

@ -18,6 +18,7 @@ package org.l2jmobius.gameserver.model.conditions;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.item.ItemTemplate; import org.l2jmobius.gameserver.model.item.ItemTemplate;
import org.l2jmobius.gameserver.model.item.Weapon;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
/** /**
@ -39,6 +40,13 @@ public class ConditionUsingSlotType extends Condition
{ {
return false; return false;
} }
return (effector.getActiveWeaponItem().getBodyPart() & _mask) != 0;
final Weapon activeWeapon = effector.getActiveWeaponItem();
if (activeWeapon == null)
{
return false;
}
return (activeWeapon.getBodyPart() & _mask) != 0;
} }
} }

View File

@ -18,6 +18,7 @@ package org.l2jmobius.gameserver.model.conditions;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.item.ItemTemplate; import org.l2jmobius.gameserver.model.item.ItemTemplate;
import org.l2jmobius.gameserver.model.item.Weapon;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
/** /**
@ -39,6 +40,13 @@ public class ConditionUsingSlotType extends Condition
{ {
return false; return false;
} }
return (effector.getActiveWeaponItem().getBodyPart() & _mask) != 0;
final Weapon activeWeapon = effector.getActiveWeaponItem();
if (activeWeapon == null)
{
return false;
}
return (activeWeapon.getBodyPart() & _mask) != 0;
} }
} }

View File

@ -18,6 +18,7 @@ package org.l2jmobius.gameserver.model.conditions;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.item.ItemTemplate; import org.l2jmobius.gameserver.model.item.ItemTemplate;
import org.l2jmobius.gameserver.model.item.Weapon;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
/** /**
@ -39,6 +40,13 @@ public class ConditionUsingSlotType extends Condition
{ {
return false; return false;
} }
return (effector.getActiveWeaponItem().getBodyPart() & _mask) != 0;
final Weapon activeWeapon = effector.getActiveWeaponItem();
if (activeWeapon == null)
{
return false;
}
return (activeWeapon.getBodyPart() & _mask) != 0;
} }
} }

View File

@ -18,6 +18,7 @@ package org.l2jmobius.gameserver.model.conditions;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.item.ItemTemplate; import org.l2jmobius.gameserver.model.item.ItemTemplate;
import org.l2jmobius.gameserver.model.item.Weapon;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
/** /**
@ -39,6 +40,13 @@ public class ConditionUsingSlotType extends Condition
{ {
return false; return false;
} }
return (effector.getActiveWeaponItem().getBodyPart() & _mask) != 0;
final Weapon activeWeapon = effector.getActiveWeaponItem();
if (activeWeapon == null)
{
return false;
}
return (activeWeapon.getBodyPart() & _mask) != 0;
} }
} }

View File

@ -18,6 +18,7 @@ package org.l2jmobius.gameserver.model.conditions;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.item.ItemTemplate; import org.l2jmobius.gameserver.model.item.ItemTemplate;
import org.l2jmobius.gameserver.model.item.Weapon;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
/** /**
@ -35,6 +36,17 @@ public class ConditionUsingSlotType extends Condition
@Override @Override
public boolean testImpl(Creature effector, Creature effected, Skill skill, ItemTemplate item) public boolean testImpl(Creature effector, Creature effected, Skill skill, ItemTemplate item)
{ {
return (effector != null) && effector.isPlayer() && ((effector.getActiveWeaponItem().getBodyPart() & _mask) != 0); if ((effector == null) || !effector.isPlayer())
{
return false;
}
final Weapon activeWeapon = effector.getActiveWeaponItem();
if (activeWeapon == null)
{
return false;
}
return (activeWeapon.getBodyPart() & _mask) != 0;
} }
} }

View File

@ -18,6 +18,7 @@ package org.l2jmobius.gameserver.model.conditions;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.item.ItemTemplate; import org.l2jmobius.gameserver.model.item.ItemTemplate;
import org.l2jmobius.gameserver.model.item.Weapon;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
/** /**
@ -35,6 +36,17 @@ public class ConditionUsingSlotType extends Condition
@Override @Override
public boolean testImpl(Creature effector, Creature effected, Skill skill, ItemTemplate item) public boolean testImpl(Creature effector, Creature effected, Skill skill, ItemTemplate item)
{ {
return (effector != null) && effector.isPlayer() && ((effector.getActiveWeaponItem().getBodyPart() & _mask) != 0); if ((effector == null) || !effector.isPlayer())
{
return false;
}
final Weapon activeWeapon = effector.getActiveWeaponItem();
if (activeWeapon == null)
{
return false;
}
return (activeWeapon.getBodyPart() & _mask) != 0;
} }
} }

View File

@ -18,6 +18,7 @@ package org.l2jmobius.gameserver.model.conditions;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.item.ItemTemplate; import org.l2jmobius.gameserver.model.item.ItemTemplate;
import org.l2jmobius.gameserver.model.item.Weapon;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
/** /**
@ -35,6 +36,17 @@ public class ConditionUsingSlotType extends Condition
@Override @Override
public boolean testImpl(Creature effector, Creature effected, Skill skill, ItemTemplate item) public boolean testImpl(Creature effector, Creature effected, Skill skill, ItemTemplate item)
{ {
return (effector != null) && effector.isPlayer() && ((effector.getActiveWeaponItem().getBodyPart() & _mask) != 0); if ((effector == null) || !effector.isPlayer())
{
return false;
}
final Weapon activeWeapon = effector.getActiveWeaponItem();
if (activeWeapon == null)
{
return false;
}
return (activeWeapon.getBodyPart() & _mask) != 0;
} }
} }

View File

@ -18,6 +18,7 @@ package org.l2jmobius.gameserver.model.conditions;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.item.ItemTemplate; import org.l2jmobius.gameserver.model.item.ItemTemplate;
import org.l2jmobius.gameserver.model.item.Weapon;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
/** /**
@ -39,6 +40,13 @@ public class ConditionUsingSlotType extends Condition
{ {
return false; return false;
} }
return (effector.getActiveWeaponItem().getBodyPart() & _mask) != 0;
final Weapon activeWeapon = effector.getActiveWeaponItem();
if (activeWeapon == null)
{
return false;
}
return (activeWeapon.getBodyPart() & _mask) != 0;
} }
} }

View File

@ -18,6 +18,7 @@ package org.l2jmobius.gameserver.model.conditions;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.item.ItemTemplate; import org.l2jmobius.gameserver.model.item.ItemTemplate;
import org.l2jmobius.gameserver.model.item.Weapon;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
/** /**
@ -39,6 +40,13 @@ public class ConditionUsingSlotType extends Condition
{ {
return false; return false;
} }
return (effector.getActiveWeaponItem().getBodyPart() & _mask) != 0;
final Weapon activeWeapon = effector.getActiveWeaponItem();
if (activeWeapon == null)
{
return false;
}
return (activeWeapon.getBodyPart() & _mask) != 0;
} }
} }

View File

@ -18,6 +18,7 @@ package org.l2jmobius.gameserver.model.conditions;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.item.ItemTemplate; import org.l2jmobius.gameserver.model.item.ItemTemplate;
import org.l2jmobius.gameserver.model.item.Weapon;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
/** /**
@ -39,6 +40,13 @@ public class ConditionUsingSlotType extends Condition
{ {
return false; return false;
} }
return (effector.getActiveWeaponItem().getBodyPart() & _mask) != 0;
final Weapon activeWeapon = effector.getActiveWeaponItem();
if (activeWeapon == null)
{
return false;
}
return (activeWeapon.getBodyPart() & _mask) != 0;
} }
} }

View File

@ -18,6 +18,7 @@ package org.l2jmobius.gameserver.model.conditions;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.item.ItemTemplate; import org.l2jmobius.gameserver.model.item.ItemTemplate;
import org.l2jmobius.gameserver.model.item.Weapon;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
/** /**
@ -39,6 +40,13 @@ public class ConditionUsingSlotType extends Condition
{ {
return false; return false;
} }
return (effector.getActiveWeaponItem().getBodyPart() & _mask) != 0;
final Weapon activeWeapon = effector.getActiveWeaponItem();
if (activeWeapon == null)
{
return false;
}
return (activeWeapon.getBodyPart() & _mask) != 0;
} }
} }

View File

@ -18,6 +18,7 @@ package org.l2jmobius.gameserver.model.conditions;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.item.ItemTemplate; import org.l2jmobius.gameserver.model.item.ItemTemplate;
import org.l2jmobius.gameserver.model.item.Weapon;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
/** /**
@ -39,6 +40,13 @@ public class ConditionUsingSlotType extends Condition
{ {
return false; return false;
} }
return (effector.getActiveWeaponItem().getBodyPart() & _mask) != 0;
final Weapon activeWeapon = effector.getActiveWeaponItem();
if (activeWeapon == null)
{
return false;
}
return (activeWeapon.getBodyPart() & _mask) != 0;
} }
} }

View File

@ -18,6 +18,7 @@ package org.l2jmobius.gameserver.model.conditions;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.item.ItemTemplate; import org.l2jmobius.gameserver.model.item.ItemTemplate;
import org.l2jmobius.gameserver.model.item.Weapon;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
/** /**
@ -39,6 +40,13 @@ public class ConditionUsingSlotType extends Condition
{ {
return false; return false;
} }
return (effector.getActiveWeaponItem().getBodyPart() & _mask) != 0;
final Weapon activeWeapon = effector.getActiveWeaponItem();
if (activeWeapon == null)
{
return false;
}
return (activeWeapon.getBodyPart() & _mask) != 0;
} }
} }

View File

@ -18,6 +18,7 @@ package org.l2jmobius.gameserver.model.conditions;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.item.ItemTemplate; import org.l2jmobius.gameserver.model.item.ItemTemplate;
import org.l2jmobius.gameserver.model.item.Weapon;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
/** /**
@ -39,6 +40,13 @@ public class ConditionUsingSlotType extends Condition
{ {
return false; return false;
} }
return (effector.getActiveWeaponItem().getBodyPart() & _mask) != 0;
final Weapon activeWeapon = effector.getActiveWeaponItem();
if (activeWeapon == null)
{
return false;
}
return (activeWeapon.getBodyPart() & _mask) != 0;
} }
} }

View File

@ -18,6 +18,7 @@ package org.l2jmobius.gameserver.model.conditions;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.item.ItemTemplate; import org.l2jmobius.gameserver.model.item.ItemTemplate;
import org.l2jmobius.gameserver.model.item.Weapon;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
/** /**
@ -39,6 +40,13 @@ public class ConditionUsingSlotType extends Condition
{ {
return false; return false;
} }
return (effector.getActiveWeaponItem().getBodyPart() & _mask) != 0;
final Weapon activeWeapon = effector.getActiveWeaponItem();
if (activeWeapon == null)
{
return false;
}
return (activeWeapon.getBodyPart() & _mask) != 0;
} }
} }

View File

@ -18,6 +18,7 @@ package org.l2jmobius.gameserver.model.conditions;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.item.ItemTemplate; import org.l2jmobius.gameserver.model.item.ItemTemplate;
import org.l2jmobius.gameserver.model.item.Weapon;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
/** /**
@ -39,6 +40,13 @@ public class ConditionUsingSlotType extends Condition
{ {
return false; return false;
} }
return (effector.getActiveWeaponItem().getBodyPart() & _mask) != 0;
final Weapon activeWeapon = effector.getActiveWeaponItem();
if (activeWeapon == null)
{
return false;
}
return (activeWeapon.getBodyPart() & _mask) != 0;
} }
} }

View File

@ -18,6 +18,7 @@ package org.l2jmobius.gameserver.model.conditions;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.item.ItemTemplate; import org.l2jmobius.gameserver.model.item.ItemTemplate;
import org.l2jmobius.gameserver.model.item.Weapon;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
/** /**
@ -39,6 +40,13 @@ public class ConditionUsingSlotType extends Condition
{ {
return false; return false;
} }
return (effector.getActiveWeaponItem().getBodyPart() & _mask) != 0;
final Weapon activeWeapon = effector.getActiveWeaponItem();
if (activeWeapon == null)
{
return false;
}
return (activeWeapon.getBodyPart() & _mask) != 0;
} }
} }

View File

@ -18,6 +18,7 @@ package org.l2jmobius.gameserver.model.conditions;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.item.ItemTemplate; import org.l2jmobius.gameserver.model.item.ItemTemplate;
import org.l2jmobius.gameserver.model.item.Weapon;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
/** /**
@ -39,6 +40,13 @@ public class ConditionUsingSlotType extends Condition
{ {
return false; return false;
} }
return (effector.getActiveWeaponItem().getBodyPart() & _mask) != 0;
final Weapon activeWeapon = effector.getActiveWeaponItem();
if (activeWeapon == null)
{
return false;
}
return (activeWeapon.getBodyPart() & _mask) != 0;
} }
} }

View File

@ -18,6 +18,7 @@ package org.l2jmobius.gameserver.model.conditions;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.item.ItemTemplate; import org.l2jmobius.gameserver.model.item.ItemTemplate;
import org.l2jmobius.gameserver.model.item.Weapon;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
/** /**
@ -39,6 +40,13 @@ public class ConditionUsingSlotType extends Condition
{ {
return false; return false;
} }
return (effector.getActiveWeaponItem().getBodyPart() & _mask) != 0;
final Weapon activeWeapon = effector.getActiveWeaponItem();
if (activeWeapon == null)
{
return false;
}
return (activeWeapon.getBodyPart() & _mask) != 0;
} }
} }

View File

@ -18,6 +18,7 @@ package org.l2jmobius.gameserver.model.conditions;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.item.ItemTemplate; import org.l2jmobius.gameserver.model.item.ItemTemplate;
import org.l2jmobius.gameserver.model.item.Weapon;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
/** /**
@ -39,6 +40,13 @@ public class ConditionUsingSlotType extends Condition
{ {
return false; return false;
} }
return (effector.getActiveWeaponItem().getBodyPart() & _mask) != 0;
final Weapon activeWeapon = effector.getActiveWeaponItem();
if (activeWeapon == null)
{
return false;
}
return (activeWeapon.getBodyPart() & _mask) != 0;
} }
} }

View File

@ -18,6 +18,7 @@ package org.l2jmobius.gameserver.model.conditions;
import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Creature;
import org.l2jmobius.gameserver.model.item.ItemTemplate; import org.l2jmobius.gameserver.model.item.ItemTemplate;
import org.l2jmobius.gameserver.model.item.Weapon;
import org.l2jmobius.gameserver.model.skill.Skill; import org.l2jmobius.gameserver.model.skill.Skill;
/** /**
@ -39,6 +40,13 @@ public class ConditionUsingSlotType extends Condition
{ {
return false; return false;
} }
return (effector.getActiveWeaponItem().getBodyPart() & _mask) != 0;
final Weapon activeWeapon = effector.getActiveWeaponItem();
if (activeWeapon == null)
{
return false;
}
return (activeWeapon.getBodyPart() & _mask) != 0;
} }
} }