Browse Source

Error log for invalid effect

feature-config-usage
MagicBot 2 days ago
parent
commit
4f74d43081
  1. 21
      src/engine/wpakpowers/WpakPowerManager.java

21
src/engine/wpakpowers/WpakPowerManager.java

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

Loading…
Cancel
Save