forked from MagicBane/Server
Error log for invalid effect
This commit is contained in:
@@ -143,6 +143,7 @@ public class WpakPowerManager {
|
|||||||
//stunned check
|
//stunned check
|
||||||
PlayerBonuses bonus = playerCharacter.getBonuses();
|
PlayerBonuses bonus = playerCharacter.getBonuses();
|
||||||
mbEnums.SourceType sourceType = mbEnums.SourceType.GetSourceType(powerCast.category);
|
mbEnums.SourceType sourceType = mbEnums.SourceType.GetSourceType(powerCast.category);
|
||||||
|
|
||||||
if (bonus != null && (bonus.getBool(mbEnums.ModType.Stunned, mbEnums.SourceType.None) || bonus.getBool(mbEnums.ModType.CannotCast, mbEnums.SourceType.None) || bonus.getBool(mbEnums.ModType.BlockedPowerType, sourceType)))
|
if (bonus != null && (bonus.getBool(mbEnums.ModType.Stunned, mbEnums.SourceType.None) || bonus.getBool(mbEnums.ModType.CannotCast, mbEnums.SourceType.None) || bonus.getBool(mbEnums.ModType.BlockedPowerType, sourceType)))
|
||||||
return true;
|
return true;
|
||||||
|
|
||||||
@@ -177,9 +178,10 @@ public class WpakPowerManager {
|
|||||||
|
|
||||||
//validate prereqs for power cast
|
//validate prereqs for power cast
|
||||||
//equipment prereqs
|
//equipment prereqs
|
||||||
if (!powerCast.equipmentPreReq.isEmpty()) {
|
if (!powerCast.equipmentPreReq.isEmpty())
|
||||||
for (EquipmentPreReq prereq : powerCast.equipmentPreReq) {
|
for (EquipmentPreReq prereq : powerCast.equipmentPreReq) {
|
||||||
String requiredSkill = prereq.skill;
|
String requiredSkill = prereq.skill;
|
||||||
|
|
||||||
if (playerCharacter.charItemManager.equipped.get(prereq.slot) != null) {
|
if (playerCharacter.charItemManager.equipped.get(prereq.slot) != null) {
|
||||||
Item equippedItem = playerCharacter.charItemManager.equipped.get(prereq.slot);
|
Item equippedItem = playerCharacter.charItemManager.equipped.get(prereq.slot);
|
||||||
if (!equippedItem.template.item_skill_mastery_used.equals(requiredSkill) && !equippedItem.template.item_skill_used.equals(requiredSkill))
|
if (!equippedItem.template.item_skill_mastery_used.equals(requiredSkill) && !equippedItem.template.item_skill_used.equals(requiredSkill))
|
||||||
@@ -188,7 +190,6 @@ public class WpakPowerManager {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
//effect prereqs
|
//effect prereqs
|
||||||
if (!powerCast.effectPreReqs.isEmpty()) {
|
if (!powerCast.effectPreReqs.isEmpty()) {
|
||||||
@@ -239,6 +240,7 @@ public class WpakPowerManager {
|
|||||||
Dispatch dispatch = Dispatch.borrow(playerCharacter, recyclePowerMsg);
|
Dispatch dispatch = Dispatch.borrow(playerCharacter, recyclePowerMsg);
|
||||||
DispatchManager.dispatchMsgDispatch(dispatch, mbEnums.DispatchChannel.PRIMARY);
|
DispatchManager.dispatchMsgDispatch(dispatch, mbEnums.DispatchChannel.PRIMARY);
|
||||||
}
|
}
|
||||||
|
|
||||||
int tr = msg.getNumTrains();
|
int tr = msg.getNumTrains();
|
||||||
DispatchManager.dispatchMsgToInterestArea(playerCharacter, msg, mbEnums.DispatchChannel.PRIMARY, MBServerStatics.CHARACTER_LOAD_RANGE, sendCastToSelf, false);
|
DispatchManager.dispatchMsgToInterestArea(playerCharacter, msg, mbEnums.DispatchChannel.PRIMARY, MBServerStatics.CHARACTER_LOAD_RANGE, sendCastToSelf, false);
|
||||||
|
|
||||||
@@ -252,7 +254,6 @@ public class WpakPowerManager {
|
|||||||
playerCharacter.setSit(false);
|
playerCharacter.setSit(false);
|
||||||
UpdateStateMsg updateStateMsg = new UpdateStateMsg(playerCharacter);
|
UpdateStateMsg updateStateMsg = new UpdateStateMsg(playerCharacter);
|
||||||
DispatchManager.dispatchMsgToInterestArea(playerCharacter, updateStateMsg, mbEnums.DispatchChannel.PRIMARY, MBServerStatics.CHARACTER_LOAD_RANGE, true, false);
|
DispatchManager.dispatchMsgToInterestArea(playerCharacter, updateStateMsg, mbEnums.DispatchChannel.PRIMARY, MBServerStatics.CHARACTER_LOAD_RANGE, true, false);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// update cast (use skill) fail condition
|
// update cast (use skill) fail condition
|
||||||
@@ -267,13 +268,11 @@ public class WpakPowerManager {
|
|||||||
|
|
||||||
// set player is casting for regens
|
// set player is casting for regens
|
||||||
|
|
||||||
|
|
||||||
if (time > 100) {
|
if (time > 100) {
|
||||||
playerCharacter.update();
|
playerCharacter.update();
|
||||||
playerCharacter.setIsCasting(true);
|
playerCharacter.setIsCasting(true);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
playerCharacter.setLastMovementState(playerCharacter.getMovementState());
|
playerCharacter.setLastMovementState(playerCharacter.getMovementState());
|
||||||
|
|
||||||
// run timer job to end cast
|
// run timer job to end cast
|
||||||
@@ -292,14 +291,18 @@ public class WpakPowerManager {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public static void finishUsePower(PerformActionMsg msg, PlayerCharacter caster, AbstractWorldObject target) {
|
public static void finishUsePower(PerformActionMsg msg, PlayerCharacter caster, AbstractWorldObject target) {
|
||||||
|
|
||||||
Power powerUsed = _powersLookup.get(msg.getPowerUsedID());
|
Power powerUsed = _powersLookup.get(msg.getPowerUsedID());
|
||||||
if (powerUsed == null)
|
|
||||||
|
if (powerUsed == null) {
|
||||||
|
Logger.error("Invalid power: " + msg.getPowerUsedID());
|
||||||
return;
|
return;
|
||||||
if (powerUsed.maxMobTargets > 1 || powerUsed.maxPlayerTargets > 1) {
|
|
||||||
AoeHandler(caster, target, powerUsed, msg.getNumTrains());
|
|
||||||
} else {
|
|
||||||
applyAllPowerEffects(caster, powerUsed, msg.getNumTrains(), target);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (powerUsed.maxMobTargets > 1 || powerUsed.maxPlayerTargets > 1)
|
||||||
|
AoeHandler(caster, target, powerUsed, msg.getNumTrains());
|
||||||
|
else
|
||||||
|
applyAllPowerEffects(caster, powerUsed, msg.getNumTrains(), target);
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void AoeHandler(PlayerCharacter caster, AbstractWorldObject target, Power powerUsed, int rank) {
|
private static void AoeHandler(PlayerCharacter caster, AbstractWorldObject target, Power powerUsed, int rank) {
|
||||||
|
|||||||
Reference in New Issue
Block a user