Proper fix for latest Inventory checkEquipTask revert.

This commit is contained in:
MobiusDevelopment
2022-06-29 09:53:04 +00:00
parent f46bd54faa
commit f348221dd6
23 changed files with 391 additions and 207 deletions

View File

@@ -1426,17 +1426,25 @@ public abstract class Inventory extends ItemContainer
*/ */
private void checkEquipTask() private void checkEquipTask()
{ {
if ((_skillItemTask == null) && (getOwner() != null) && getOwner().isPlayer() && getOwner().getActingPlayer().hasEnteredWorld()) if (_skillItemTask == null)
{ {
getOwner().getActingPlayer().setUsingSkillItem(true); final Creature owner = getOwner();
_skillItemTask = ThreadPool.schedule(() -> if ((owner != null) && owner.isPlayer())
{ {
getOwner().getActingPlayer().setUsingSkillItem(false); final Player player = owner.getActingPlayer();
getOwner().getStat().recalculateStats(true); if (player.hasEnteredWorld())
getOwner().updateAbnormalVisualEffects(); {
getOwner().getActingPlayer().sendSkillList(); player.setUsingSkillItem(true);
_skillItemTask = null; _skillItemTask = ThreadPool.schedule(() ->
}, 50); {
player.setUsingSkillItem(false);
player.getStat().recalculateStats(true);
player.updateAbnormalVisualEffects();
player.sendSkillList();
_skillItemTask = null;
}, 50);
}
}
} }
} }

View File

@@ -1432,17 +1432,25 @@ public abstract class Inventory extends ItemContainer
*/ */
private void checkEquipTask() private void checkEquipTask()
{ {
if ((_skillItemTask == null) && (getOwner() != null) && getOwner().isPlayer() && getOwner().getActingPlayer().hasEnteredWorld()) if (_skillItemTask == null)
{ {
getOwner().getActingPlayer().setUsingSkillItem(true); final Creature owner = getOwner();
_skillItemTask = ThreadPool.schedule(() -> if ((owner != null) && owner.isPlayer())
{ {
getOwner().getActingPlayer().setUsingSkillItem(false); final Player player = owner.getActingPlayer();
getOwner().getStat().recalculateStats(true); if (player.hasEnteredWorld())
getOwner().updateAbnormalVisualEffects(); {
getOwner().getActingPlayer().sendSkillList(); player.setUsingSkillItem(true);
_skillItemTask = null; _skillItemTask = ThreadPool.schedule(() ->
}, 50); {
player.setUsingSkillItem(false);
player.getStat().recalculateStats(true);
player.updateAbnormalVisualEffects();
player.sendSkillList();
_skillItemTask = null;
}, 50);
}
}
} }
} }

View File

@@ -1432,17 +1432,25 @@ public abstract class Inventory extends ItemContainer
*/ */
private void checkEquipTask() private void checkEquipTask()
{ {
if ((_skillItemTask == null) && (getOwner() != null) && getOwner().isPlayer() && getOwner().getActingPlayer().hasEnteredWorld()) if (_skillItemTask == null)
{ {
getOwner().getActingPlayer().setUsingSkillItem(true); final Creature owner = getOwner();
_skillItemTask = ThreadPool.schedule(() -> if ((owner != null) && owner.isPlayer())
{ {
getOwner().getActingPlayer().setUsingSkillItem(false); final Player player = owner.getActingPlayer();
getOwner().getStat().recalculateStats(true); if (player.hasEnteredWorld())
getOwner().updateAbnormalVisualEffects(); {
getOwner().getActingPlayer().sendSkillList(); player.setUsingSkillItem(true);
_skillItemTask = null; _skillItemTask = ThreadPool.schedule(() ->
}, 50); {
player.setUsingSkillItem(false);
player.getStat().recalculateStats(true);
player.updateAbnormalVisualEffects();
player.sendSkillList();
_skillItemTask = null;
}, 50);
}
}
} }
} }

View File

@@ -1432,17 +1432,25 @@ public abstract class Inventory extends ItemContainer
*/ */
private void checkEquipTask() private void checkEquipTask()
{ {
if ((_skillItemTask == null) && (getOwner() != null) && getOwner().isPlayer() && getOwner().getActingPlayer().hasEnteredWorld()) if (_skillItemTask == null)
{ {
getOwner().getActingPlayer().setUsingSkillItem(true); final Creature owner = getOwner();
_skillItemTask = ThreadPool.schedule(() -> if ((owner != null) && owner.isPlayer())
{ {
getOwner().getActingPlayer().setUsingSkillItem(false); final Player player = owner.getActingPlayer();
getOwner().getStat().recalculateStats(true); if (player.hasEnteredWorld())
getOwner().updateAbnormalVisualEffects(); {
getOwner().getActingPlayer().sendSkillList(); player.setUsingSkillItem(true);
_skillItemTask = null; _skillItemTask = ThreadPool.schedule(() ->
}, 50); {
player.setUsingSkillItem(false);
player.getStat().recalculateStats(true);
player.updateAbnormalVisualEffects();
player.sendSkillList();
_skillItemTask = null;
}, 50);
}
}
} }
} }

View File

@@ -1534,17 +1534,25 @@ public abstract class Inventory extends ItemContainer
*/ */
private void checkEquipTask() private void checkEquipTask()
{ {
if ((_skillItemTask == null) && (getOwner() != null) && getOwner().isPlayer() && getOwner().getActingPlayer().hasEnteredWorld()) if (_skillItemTask == null)
{ {
getOwner().getActingPlayer().setUsingSkillItem(true); final Creature owner = getOwner();
_skillItemTask = ThreadPool.schedule(() -> if ((owner != null) && owner.isPlayer())
{ {
getOwner().getActingPlayer().setUsingSkillItem(false); final Player player = owner.getActingPlayer();
getOwner().getStat().recalculateStats(true); if (player.hasEnteredWorld())
getOwner().updateAbnormalVisualEffects(); {
getOwner().getActingPlayer().sendSkillList(); player.setUsingSkillItem(true);
_skillItemTask = null; _skillItemTask = ThreadPool.schedule(() ->
}, 50); {
player.setUsingSkillItem(false);
player.getStat().recalculateStats(true);
player.updateAbnormalVisualEffects();
player.sendSkillList();
_skillItemTask = null;
}, 50);
}
}
} }
} }

View File

@@ -1616,17 +1616,25 @@ public abstract class Inventory extends ItemContainer
*/ */
private void checkEquipTask() private void checkEquipTask()
{ {
if ((_skillItemTask == null) && (getOwner() != null) && getOwner().isPlayer() && getOwner().getActingPlayer().hasEnteredWorld()) if (_skillItemTask == null)
{ {
getOwner().getActingPlayer().setUsingSkillItem(true); final Creature owner = getOwner();
_skillItemTask = ThreadPool.schedule(() -> if ((owner != null) && owner.isPlayer())
{ {
getOwner().getActingPlayer().setUsingSkillItem(false); final Player player = owner.getActingPlayer();
getOwner().getStat().recalculateStats(true); if (player.hasEnteredWorld())
getOwner().updateAbnormalVisualEffects(); {
getOwner().getActingPlayer().sendSkillList(); player.setUsingSkillItem(true);
_skillItemTask = null; _skillItemTask = ThreadPool.schedule(() ->
}, 50); {
player.setUsingSkillItem(false);
player.getStat().recalculateStats(true);
player.updateAbnormalVisualEffects();
player.sendSkillList();
_skillItemTask = null;
}, 50);
}
}
} }
} }

View File

@@ -1616,17 +1616,25 @@ public abstract class Inventory extends ItemContainer
*/ */
private void checkEquipTask() private void checkEquipTask()
{ {
if ((_skillItemTask == null) && (getOwner() != null) && getOwner().isPlayer() && getOwner().getActingPlayer().hasEnteredWorld()) if (_skillItemTask == null)
{ {
getOwner().getActingPlayer().setUsingSkillItem(true); final Creature owner = getOwner();
_skillItemTask = ThreadPool.schedule(() -> if ((owner != null) && owner.isPlayer())
{ {
getOwner().getActingPlayer().setUsingSkillItem(false); final Player player = owner.getActingPlayer();
getOwner().getStat().recalculateStats(true); if (player.hasEnteredWorld())
getOwner().updateAbnormalVisualEffects(); {
getOwner().getActingPlayer().sendSkillList(); player.setUsingSkillItem(true);
_skillItemTask = null; _skillItemTask = ThreadPool.schedule(() ->
}, 50); {
player.setUsingSkillItem(false);
player.getStat().recalculateStats(true);
player.updateAbnormalVisualEffects();
player.sendSkillList();
_skillItemTask = null;
}, 50);
}
}
} }
} }

View File

@@ -1610,17 +1610,25 @@ public abstract class Inventory extends ItemContainer
*/ */
private void checkEquipTask() private void checkEquipTask()
{ {
if ((_skillItemTask == null) && (getOwner() != null) && getOwner().isPlayer() && getOwner().getActingPlayer().hasEnteredWorld()) if (_skillItemTask == null)
{ {
getOwner().getActingPlayer().setUsingSkillItem(true); final Creature owner = getOwner();
_skillItemTask = ThreadPool.schedule(() -> if ((owner != null) && owner.isPlayer())
{ {
getOwner().getActingPlayer().setUsingSkillItem(false); final Player player = owner.getActingPlayer();
getOwner().getStat().recalculateStats(true); if (player.hasEnteredWorld())
getOwner().updateAbnormalVisualEffects(); {
getOwner().getActingPlayer().sendSkillList(); player.setUsingSkillItem(true);
_skillItemTask = null; _skillItemTask = ThreadPool.schedule(() ->
}, 50); {
player.setUsingSkillItem(false);
player.getStat().recalculateStats(true);
player.updateAbnormalVisualEffects();
player.sendSkillList();
_skillItemTask = null;
}, 50);
}
}
} }
} }

View File

@@ -1592,17 +1592,25 @@ public abstract class Inventory extends ItemContainer
*/ */
private void checkEquipTask() private void checkEquipTask()
{ {
if ((_skillItemTask == null) && (getOwner() != null) && getOwner().isPlayer() && getOwner().getActingPlayer().hasEnteredWorld()) if (_skillItemTask == null)
{ {
getOwner().getActingPlayer().setUsingSkillItem(true); final Creature owner = getOwner();
_skillItemTask = ThreadPool.schedule(() -> if ((owner != null) && owner.isPlayer())
{ {
getOwner().getActingPlayer().setUsingSkillItem(false); final Player player = owner.getActingPlayer();
getOwner().getStat().recalculateStats(true); if (player.hasEnteredWorld())
getOwner().updateAbnormalVisualEffects(); {
getOwner().getActingPlayer().sendSkillList(); player.setUsingSkillItem(true);
_skillItemTask = null; _skillItemTask = ThreadPool.schedule(() ->
}, 50); {
player.setUsingSkillItem(false);
player.getStat().recalculateStats(true);
player.updateAbnormalVisualEffects();
player.sendSkillList();
_skillItemTask = null;
}, 50);
}
}
} }
} }

View File

@@ -1592,17 +1592,25 @@ public abstract class Inventory extends ItemContainer
*/ */
private void checkEquipTask() private void checkEquipTask()
{ {
if ((_skillItemTask == null) && (getOwner() != null) && getOwner().isPlayer() && getOwner().getActingPlayer().hasEnteredWorld()) if (_skillItemTask == null)
{ {
getOwner().getActingPlayer().setUsingSkillItem(true); final Creature owner = getOwner();
_skillItemTask = ThreadPool.schedule(() -> if ((owner != null) && owner.isPlayer())
{ {
getOwner().getActingPlayer().setUsingSkillItem(false); final Player player = owner.getActingPlayer();
getOwner().getStat().recalculateStats(true); if (player.hasEnteredWorld())
getOwner().updateAbnormalVisualEffects(); {
getOwner().getActingPlayer().sendSkillList(); player.setUsingSkillItem(true);
_skillItemTask = null; _skillItemTask = ThreadPool.schedule(() ->
}, 50); {
player.setUsingSkillItem(false);
player.getStat().recalculateStats(true);
player.updateAbnormalVisualEffects();
player.sendSkillList();
_skillItemTask = null;
}, 50);
}
}
} }
} }

View File

@@ -1603,17 +1603,25 @@ public abstract class Inventory extends ItemContainer
*/ */
private void checkEquipTask() private void checkEquipTask()
{ {
if ((_skillItemTask == null) && (getOwner() != null) && getOwner().isPlayer() && getOwner().getActingPlayer().hasEnteredWorld()) if (_skillItemTask == null)
{ {
getOwner().getActingPlayer().setUsingSkillItem(true); final Creature owner = getOwner();
_skillItemTask = ThreadPool.schedule(() -> if ((owner != null) && owner.isPlayer())
{ {
getOwner().getActingPlayer().setUsingSkillItem(false); final Player player = owner.getActingPlayer();
getOwner().getStat().recalculateStats(true); if (player.hasEnteredWorld())
getOwner().updateAbnormalVisualEffects(); {
getOwner().getActingPlayer().sendSkillList(); player.setUsingSkillItem(true);
_skillItemTask = null; _skillItemTask = ThreadPool.schedule(() ->
}, 50); {
player.setUsingSkillItem(false);
player.getStat().recalculateStats(true);
player.updateAbnormalVisualEffects();
player.sendSkillList();
_skillItemTask = null;
}, 50);
}
}
} }
} }

View File

@@ -1603,17 +1603,25 @@ public abstract class Inventory extends ItemContainer
*/ */
private void checkEquipTask() private void checkEquipTask()
{ {
if ((_skillItemTask == null) && (getOwner() != null) && getOwner().isPlayer() && getOwner().getActingPlayer().hasEnteredWorld()) if (_skillItemTask == null)
{ {
getOwner().getActingPlayer().setUsingSkillItem(true); final Creature owner = getOwner();
_skillItemTask = ThreadPool.schedule(() -> if ((owner != null) && owner.isPlayer())
{ {
getOwner().getActingPlayer().setUsingSkillItem(false); final Player player = owner.getActingPlayer();
getOwner().getStat().recalculateStats(true); if (player.hasEnteredWorld())
getOwner().updateAbnormalVisualEffects(); {
getOwner().getActingPlayer().sendSkillList(); player.setUsingSkillItem(true);
_skillItemTask = null; _skillItemTask = ThreadPool.schedule(() ->
}, 50); {
player.setUsingSkillItem(false);
player.getStat().recalculateStats(true);
player.updateAbnormalVisualEffects();
player.sendSkillList();
_skillItemTask = null;
}, 50);
}
}
} }
} }

View File

@@ -1434,17 +1434,25 @@ public abstract class Inventory extends ItemContainer
*/ */
private void checkEquipTask() private void checkEquipTask()
{ {
if ((_skillItemTask == null) && (getOwner() != null) && getOwner().isPlayer() && getOwner().getActingPlayer().hasEnteredWorld()) if (_skillItemTask == null)
{ {
getOwner().getActingPlayer().setUsingSkillItem(true); final Creature owner = getOwner();
_skillItemTask = ThreadPool.schedule(() -> if ((owner != null) && owner.isPlayer())
{ {
getOwner().getActingPlayer().setUsingSkillItem(false); final Player player = owner.getActingPlayer();
getOwner().getStat().recalculateStats(true); if (player.hasEnteredWorld())
getOwner().updateAbnormalVisualEffects(); {
getOwner().getActingPlayer().sendSkillList(); player.setUsingSkillItem(true);
_skillItemTask = null; _skillItemTask = ThreadPool.schedule(() ->
}, 50); {
player.setUsingSkillItem(false);
player.getStat().recalculateStats(true);
player.updateAbnormalVisualEffects();
player.sendSkillList();
_skillItemTask = null;
}, 50);
}
}
} }
} }

View File

@@ -1434,17 +1434,25 @@ public abstract class Inventory extends ItemContainer
*/ */
private void checkEquipTask() private void checkEquipTask()
{ {
if ((_skillItemTask == null) && (getOwner() != null) && getOwner().isPlayer() && getOwner().getActingPlayer().hasEnteredWorld()) if (_skillItemTask == null)
{ {
getOwner().getActingPlayer().setUsingSkillItem(true); final Creature owner = getOwner();
_skillItemTask = ThreadPool.schedule(() -> if ((owner != null) && owner.isPlayer())
{ {
getOwner().getActingPlayer().setUsingSkillItem(false); final Player player = owner.getActingPlayer();
getOwner().getStat().recalculateStats(true); if (player.hasEnteredWorld())
getOwner().updateAbnormalVisualEffects(); {
getOwner().getActingPlayer().sendSkillList(); player.setUsingSkillItem(true);
_skillItemTask = null; _skillItemTask = ThreadPool.schedule(() ->
}, 50); {
player.setUsingSkillItem(false);
player.getStat().recalculateStats(true);
player.updateAbnormalVisualEffects();
player.sendSkillList();
_skillItemTask = null;
}, 50);
}
}
} }
} }

View File

@@ -1536,17 +1536,25 @@ public abstract class Inventory extends ItemContainer
*/ */
private void checkEquipTask() private void checkEquipTask()
{ {
if ((_skillItemTask == null) && (getOwner() != null) && getOwner().isPlayer() && getOwner().getActingPlayer().hasEnteredWorld()) if (_skillItemTask == null)
{ {
getOwner().getActingPlayer().setUsingSkillItem(true); final Creature owner = getOwner();
_skillItemTask = ThreadPool.schedule(() -> if ((owner != null) && owner.isPlayer())
{ {
getOwner().getActingPlayer().setUsingSkillItem(false); final Player player = owner.getActingPlayer();
getOwner().getStat().recalculateStats(true); if (player.hasEnteredWorld())
getOwner().updateAbnormalVisualEffects(); {
getOwner().getActingPlayer().sendSkillList(); player.setUsingSkillItem(true);
_skillItemTask = null; _skillItemTask = ThreadPool.schedule(() ->
}, 50); {
player.setUsingSkillItem(false);
player.getStat().recalculateStats(true);
player.updateAbnormalVisualEffects();
player.sendSkillList();
_skillItemTask = null;
}, 50);
}
}
} }
} }

View File

@@ -1618,17 +1618,25 @@ public abstract class Inventory extends ItemContainer
*/ */
private void checkEquipTask() private void checkEquipTask()
{ {
if ((_skillItemTask == null) && (getOwner() != null) && getOwner().isPlayer() && getOwner().getActingPlayer().hasEnteredWorld()) if (_skillItemTask == null)
{ {
getOwner().getActingPlayer().setUsingSkillItem(true); final Creature owner = getOwner();
_skillItemTask = ThreadPool.schedule(() -> if ((owner != null) && owner.isPlayer())
{ {
getOwner().getActingPlayer().setUsingSkillItem(false); final Player player = owner.getActingPlayer();
getOwner().getStat().recalculateStats(true); if (player.hasEnteredWorld())
getOwner().updateAbnormalVisualEffects(); {
getOwner().getActingPlayer().sendSkillList(); player.setUsingSkillItem(true);
_skillItemTask = null; _skillItemTask = ThreadPool.schedule(() ->
}, 50); {
player.setUsingSkillItem(false);
player.getStat().recalculateStats(true);
player.updateAbnormalVisualEffects();
player.sendSkillList();
_skillItemTask = null;
}, 50);
}
}
} }
} }

View File

@@ -1618,17 +1618,25 @@ public abstract class Inventory extends ItemContainer
*/ */
private void checkEquipTask() private void checkEquipTask()
{ {
if ((_skillItemTask == null) && (getOwner() != null) && getOwner().isPlayer() && getOwner().getActingPlayer().hasEnteredWorld()) if (_skillItemTask == null)
{ {
getOwner().getActingPlayer().setUsingSkillItem(true); final Creature owner = getOwner();
_skillItemTask = ThreadPool.schedule(() -> if ((owner != null) && owner.isPlayer())
{ {
getOwner().getActingPlayer().setUsingSkillItem(false); final Player player = owner.getActingPlayer();
getOwner().getStat().recalculateStats(true); if (player.hasEnteredWorld())
getOwner().updateAbnormalVisualEffects(); {
getOwner().getActingPlayer().sendSkillList(); player.setUsingSkillItem(true);
_skillItemTask = null; _skillItemTask = ThreadPool.schedule(() ->
}, 50); {
player.setUsingSkillItem(false);
player.getStat().recalculateStats(true);
player.updateAbnormalVisualEffects();
player.sendSkillList();
_skillItemTask = null;
}, 50);
}
}
} }
} }

View File

@@ -1612,17 +1612,25 @@ public abstract class Inventory extends ItemContainer
*/ */
private void checkEquipTask() private void checkEquipTask()
{ {
if ((_skillItemTask == null) && (getOwner() != null) && getOwner().isPlayer() && getOwner().getActingPlayer().hasEnteredWorld()) if (_skillItemTask == null)
{ {
getOwner().getActingPlayer().setUsingSkillItem(true); final Creature owner = getOwner();
_skillItemTask = ThreadPool.schedule(() -> if ((owner != null) && owner.isPlayer())
{ {
getOwner().getActingPlayer().setUsingSkillItem(false); final Player player = owner.getActingPlayer();
getOwner().getStat().recalculateStats(true); if (player.hasEnteredWorld())
getOwner().updateAbnormalVisualEffects(); {
getOwner().getActingPlayer().sendSkillList(); player.setUsingSkillItem(true);
_skillItemTask = null; _skillItemTask = ThreadPool.schedule(() ->
}, 50); {
player.setUsingSkillItem(false);
player.getStat().recalculateStats(true);
player.updateAbnormalVisualEffects();
player.sendSkillList();
_skillItemTask = null;
}, 50);
}
}
} }
} }

View File

@@ -1426,17 +1426,25 @@ public abstract class Inventory extends ItemContainer
*/ */
private void checkEquipTask() private void checkEquipTask()
{ {
if ((_skillItemTask == null) && (getOwner() != null) && getOwner().isPlayer() && getOwner().getActingPlayer().hasEnteredWorld()) if (_skillItemTask == null)
{ {
getOwner().getActingPlayer().setUsingSkillItem(true); final Creature owner = getOwner();
_skillItemTask = ThreadPool.schedule(() -> if ((owner != null) && owner.isPlayer())
{ {
getOwner().getActingPlayer().setUsingSkillItem(false); final Player player = owner.getActingPlayer();
getOwner().getStat().recalculateStats(true); if (player.hasEnteredWorld())
getOwner().updateAbnormalVisualEffects(); {
getOwner().getActingPlayer().sendSkillList(); player.setUsingSkillItem(true);
_skillItemTask = null; _skillItemTask = ThreadPool.schedule(() ->
}, 50); {
player.setUsingSkillItem(false);
player.getStat().recalculateStats(true);
player.updateAbnormalVisualEffects();
player.sendSkillList();
_skillItemTask = null;
}, 50);
}
}
} }
} }

View File

@@ -1720,17 +1720,25 @@ public abstract class Inventory extends ItemContainer
*/ */
private void checkEquipTask() private void checkEquipTask()
{ {
if ((_skillItemTask == null) && (getOwner() != null) && getOwner().isPlayer() && getOwner().getActingPlayer().hasEnteredWorld()) if (_skillItemTask == null)
{ {
getOwner().getActingPlayer().setUsingSkillItem(true); final Creature owner = getOwner();
_skillItemTask = ThreadPool.schedule(() -> if ((owner != null) && owner.isPlayer())
{ {
getOwner().getActingPlayer().setUsingSkillItem(false); final Player player = owner.getActingPlayer();
getOwner().getStat().recalculateStats(true); if (player.hasEnteredWorld())
getOwner().updateAbnormalVisualEffects(); {
getOwner().getActingPlayer().sendSkillList(); player.setUsingSkillItem(true);
_skillItemTask = null; _skillItemTask = ThreadPool.schedule(() ->
}, 50); {
player.setUsingSkillItem(false);
player.getStat().recalculateStats(true);
player.updateAbnormalVisualEffects();
player.sendSkillList();
_skillItemTask = null;
}, 50);
}
}
} }
} }

View File

@@ -1729,17 +1729,25 @@ public abstract class Inventory extends ItemContainer
*/ */
private void checkEquipTask() private void checkEquipTask()
{ {
if ((_skillItemTask == null) && (getOwner() != null) && getOwner().isPlayer() && getOwner().getActingPlayer().hasEnteredWorld()) if (_skillItemTask == null)
{ {
getOwner().getActingPlayer().setUsingSkillItem(true); final Creature owner = getOwner();
_skillItemTask = ThreadPool.schedule(() -> if ((owner != null) && owner.isPlayer())
{ {
getOwner().getActingPlayer().setUsingSkillItem(false); final Player player = owner.getActingPlayer();
getOwner().getStat().recalculateStats(true); if (player.hasEnteredWorld())
getOwner().updateAbnormalVisualEffects(); {
getOwner().getActingPlayer().sendSkillList(); player.setUsingSkillItem(true);
_skillItemTask = null; _skillItemTask = ThreadPool.schedule(() ->
}, 50); {
player.setUsingSkillItem(false);
player.getStat().recalculateStats(true);
player.updateAbnormalVisualEffects();
player.sendSkillList();
_skillItemTask = null;
}, 50);
}
}
} }
} }

View File

@@ -1729,17 +1729,25 @@ public abstract class Inventory extends ItemContainer
*/ */
private void checkEquipTask() private void checkEquipTask()
{ {
if ((_skillItemTask == null) && (getOwner() != null) && getOwner().isPlayer() && getOwner().getActingPlayer().hasEnteredWorld()) if (_skillItemTask == null)
{ {
getOwner().getActingPlayer().setUsingSkillItem(true); final Creature owner = getOwner();
_skillItemTask = ThreadPool.schedule(() -> if ((owner != null) && owner.isPlayer())
{ {
getOwner().getActingPlayer().setUsingSkillItem(false); final Player player = owner.getActingPlayer();
getOwner().getStat().recalculateStats(true); if (player.hasEnteredWorld())
getOwner().updateAbnormalVisualEffects(); {
getOwner().getActingPlayer().sendSkillList(); player.setUsingSkillItem(true);
_skillItemTask = null; _skillItemTask = ThreadPool.schedule(() ->
}, 50); {
player.setUsingSkillItem(false);
player.getStat().recalculateStats(true);
player.updateAbnormalVisualEffects();
player.sendSkillList();
_skillItemTask = null;
}, 50);
}
}
} }
} }

View File

@@ -1729,17 +1729,25 @@ public abstract class Inventory extends ItemContainer
*/ */
private void checkEquipTask() private void checkEquipTask()
{ {
if ((_skillItemTask == null) && (getOwner() != null) && getOwner().isPlayer() && getOwner().getActingPlayer().hasEnteredWorld()) if (_skillItemTask == null)
{ {
getOwner().getActingPlayer().setUsingSkillItem(true); final Creature owner = getOwner();
_skillItemTask = ThreadPool.schedule(() -> if ((owner != null) && owner.isPlayer())
{ {
getOwner().getActingPlayer().setUsingSkillItem(false); final Player player = owner.getActingPlayer();
getOwner().getStat().recalculateStats(true); if (player.hasEnteredWorld())
getOwner().updateAbnormalVisualEffects(); {
getOwner().getActingPlayer().sendSkillList(); player.setUsingSkillItem(true);
_skillItemTask = null; _skillItemTask = ThreadPool.schedule(() ->
}, 50); {
player.setUsingSkillItem(false);
player.getStat().recalculateStats(true);
player.updateAbnormalVisualEffects();
player.sendSkillList();
_skillItemTask = null;
}, 50);
}
}
} }
} }