|
|
@ -84,26 +84,26 @@ public class PowerActionParser { |
|
|
|
|
|
|
|
|
|
|
|
Iterator<String> headerIterator = headerData.iterator(); |
|
|
|
Iterator<String> headerIterator = headerData.iterator(); |
|
|
|
powerAction.action_id = headerIterator.next(); |
|
|
|
powerAction.action_id = headerIterator.next(); |
|
|
|
powerAction.action_type = headerIterator.next(); |
|
|
|
powerAction.action_type = mbEnums.PowerActionType.valueOf(headerIterator.next()); |
|
|
|
|
|
|
|
|
|
|
|
switch (powerAction.action_type) { |
|
|
|
switch (powerAction.action_type) { |
|
|
|
case "RemoveEffect": |
|
|
|
case RemoveEffect: |
|
|
|
effect = new Effect(); |
|
|
|
effect = new Effect(); |
|
|
|
effect.effect_id = headerIterator.next(); |
|
|
|
effect.effect_id = headerIterator.next(); |
|
|
|
powerAction.effects.add(effect); |
|
|
|
powerAction.effects.add(effect); |
|
|
|
break; |
|
|
|
break; |
|
|
|
case "CreateMob": |
|
|
|
case CreateMob: |
|
|
|
powerAction.petRace = Integer.parseInt(headerIterator.next()); |
|
|
|
powerAction.petRace = Integer.parseInt(headerIterator.next()); |
|
|
|
powerAction.petLevel = Integer.parseInt(headerIterator.next()); |
|
|
|
powerAction.petLevel = Integer.parseInt(headerIterator.next()); |
|
|
|
break; |
|
|
|
break; |
|
|
|
case "DamageOverTime": |
|
|
|
case DamageOverTime: |
|
|
|
effect = new Effect(); |
|
|
|
effect = new Effect(); |
|
|
|
effect.effect_id = headerIterator.next(); |
|
|
|
effect.effect_id = headerIterator.next(); |
|
|
|
effect.cycleDuration = Integer.parseInt(headerIterator.next()); |
|
|
|
effect.cycleDuration = Integer.parseInt(headerIterator.next()); |
|
|
|
effect.cycleDelay = Integer.parseInt(headerIterator.next()); |
|
|
|
effect.cycleDelay = Integer.parseInt(headerIterator.next()); |
|
|
|
powerAction.effects.add(effect); |
|
|
|
powerAction.effects.add(effect); |
|
|
|
break; |
|
|
|
break; |
|
|
|
case "ApplyEffects": |
|
|
|
case ApplyEffects: |
|
|
|
int level = Integer.parseInt(headerIterator.next()); |
|
|
|
int level = Integer.parseInt(headerIterator.next()); |
|
|
|
|
|
|
|
|
|
|
|
while (headerIterator.hasNext()) { |
|
|
|
while (headerIterator.hasNext()) { |
|
|
@ -113,12 +113,12 @@ public class PowerActionParser { |
|
|
|
powerAction.effects.add(effect); |
|
|
|
powerAction.effects.add(effect); |
|
|
|
} |
|
|
|
} |
|
|
|
break; |
|
|
|
break; |
|
|
|
case "Transform": |
|
|
|
case Transform: |
|
|
|
case "Invis": |
|
|
|
case Invis: |
|
|
|
case "ApplyEffect": |
|
|
|
case ApplyEffect: |
|
|
|
case "DeferredPower": |
|
|
|
case DeferredPower: |
|
|
|
case "DirectDamage": |
|
|
|
case DirectDamage: |
|
|
|
case "SpireDisable": |
|
|
|
case SpireDisable: |
|
|
|
while (headerIterator.hasNext()) { |
|
|
|
while (headerIterator.hasNext()) { |
|
|
|
effect = new Effect(); |
|
|
|
effect = new Effect(); |
|
|
|
effect.effect_id = headerIterator.next(); |
|
|
|
effect.effect_id = headerIterator.next(); |
|
|
@ -131,7 +131,7 @@ public class PowerActionParser { |
|
|
|
powerAction.effects.add(effect); |
|
|
|
powerAction.effects.add(effect); |
|
|
|
} |
|
|
|
} |
|
|
|
break; |
|
|
|
break; |
|
|
|
case "TransferStat": |
|
|
|
case TransferStat: |
|
|
|
statTransfer = new StatTransfer(); |
|
|
|
statTransfer = new StatTransfer(); |
|
|
|
statTransfer.fromStat = mbEnums.CostType.valueOf(headerIterator.next()); |
|
|
|
statTransfer.fromStat = mbEnums.CostType.valueOf(headerIterator.next()); |
|
|
|
statTransfer.toStat = mbEnums.CostType.valueOf(headerIterator.next()); |
|
|
|
statTransfer.toStat = mbEnums.CostType.valueOf(headerIterator.next()); |
|
|
@ -143,7 +143,7 @@ public class PowerActionParser { |
|
|
|
statTransfer.isDrain = Boolean.parseBoolean(headerIterator.next()); |
|
|
|
statTransfer.isDrain = Boolean.parseBoolean(headerIterator.next()); |
|
|
|
powerAction.statTransfer = statTransfer; |
|
|
|
powerAction.statTransfer = statTransfer; |
|
|
|
break; |
|
|
|
break; |
|
|
|
case "TransferStatOT": |
|
|
|
case TransferStatOT: |
|
|
|
statTransfer = new StatTransfer(); |
|
|
|
statTransfer = new StatTransfer(); |
|
|
|
statTransfer.fromStat = mbEnums.CostType.valueOf(headerIterator.next()); |
|
|
|
statTransfer.fromStat = mbEnums.CostType.valueOf(headerIterator.next()); |
|
|
|
statTransfer.toStat = mbEnums.CostType.valueOf(headerIterator.next()); |
|
|
|
statTransfer.toStat = mbEnums.CostType.valueOf(headerIterator.next()); |
|
|
@ -157,26 +157,26 @@ public class PowerActionParser { |
|
|
|
statTransfer.transfer_ticks = Integer.parseInt(headerIterator.next()); |
|
|
|
statTransfer.transfer_ticks = Integer.parseInt(headerIterator.next()); |
|
|
|
powerAction.statTransfer = statTransfer; |
|
|
|
powerAction.statTransfer = statTransfer; |
|
|
|
break; |
|
|
|
break; |
|
|
|
case "Charm": |
|
|
|
case Charm: |
|
|
|
effect = new Effect(); |
|
|
|
effect = new Effect(); |
|
|
|
effect.effect_id = headerIterator.next(); |
|
|
|
effect.effect_id = headerIterator.next(); |
|
|
|
effect.level = Integer.parseInt(headerIterator.next()); |
|
|
|
effect.level = Integer.parseInt(headerIterator.next()); |
|
|
|
effect.type = headerIterator.next(); |
|
|
|
effect.type = headerIterator.next(); |
|
|
|
powerAction.effects.add(effect); |
|
|
|
powerAction.effects.add(effect); |
|
|
|
break; |
|
|
|
break; |
|
|
|
case "Block": |
|
|
|
case Block: |
|
|
|
effect = new Effect(); |
|
|
|
effect = new Effect(); |
|
|
|
effect.effect_id = headerIterator.next(); |
|
|
|
effect.effect_id = headerIterator.next(); |
|
|
|
effect.level = Integer.parseInt(headerIterator.next()); |
|
|
|
effect.level = Integer.parseInt(headerIterator.next()); |
|
|
|
powerAction.effects.add(effect); |
|
|
|
powerAction.effects.add(effect); |
|
|
|
break; |
|
|
|
break; |
|
|
|
case "Resurrect": |
|
|
|
case Resurrect: |
|
|
|
powerAction.ramp = Integer.parseInt(headerIterator.next()); |
|
|
|
powerAction.ramp = Integer.parseInt(headerIterator.next()); |
|
|
|
break; |
|
|
|
break; |
|
|
|
case "SetItemFlag": |
|
|
|
case SetItemFlag: |
|
|
|
powerAction.itemFlag = mbEnums.ItemFlags.valueOf(headerIterator.next()); |
|
|
|
powerAction.itemFlag = mbEnums.ItemFlags.valueOf(headerIterator.next()); |
|
|
|
break; |
|
|
|
break; |
|
|
|
case "Track": |
|
|
|
case Track: |
|
|
|
trackEntry = new TrackEntry(); |
|
|
|
trackEntry = new TrackEntry(); |
|
|
|
trackEntry.action_id = headerIterator.next(); |
|
|
|
trackEntry.action_id = headerIterator.next(); |
|
|
|
trackEntry.trackPlayer = Boolean.parseBoolean(headerIterator.next()); |
|
|
|
trackEntry.trackPlayer = Boolean.parseBoolean(headerIterator.next()); |
|
|
@ -186,21 +186,21 @@ public class PowerActionParser { |
|
|
|
trackEntry.max = Integer.parseInt(headerIterator.next()); |
|
|
|
trackEntry.max = Integer.parseInt(headerIterator.next()); |
|
|
|
powerAction.trackEntry = trackEntry; |
|
|
|
powerAction.trackEntry = trackEntry; |
|
|
|
break; |
|
|
|
break; |
|
|
|
case "Teleport": |
|
|
|
case Teleport: |
|
|
|
if (headerIterator.hasNext()) |
|
|
|
if (headerIterator.hasNext()) |
|
|
|
powerAction.ignoreNoTeleSpire = Boolean.parseBoolean(headerIterator.next()); |
|
|
|
powerAction.ignoreNoTeleSpire = Boolean.parseBoolean(headerIterator.next()); |
|
|
|
break; |
|
|
|
break; |
|
|
|
case "Recall": // No arguments for these tags or not parsed
|
|
|
|
case Recall: // No arguments for these tags or not parsed
|
|
|
|
case "Summon": |
|
|
|
case Summon: |
|
|
|
case "TreeChoke": |
|
|
|
case TreeChoke: |
|
|
|
case "SimpleDamage": |
|
|
|
case SimpleDamage: |
|
|
|
case "MobRecall": // One argument always zero
|
|
|
|
case MobRecall: // One argument always zero
|
|
|
|
case "ClearAggro": |
|
|
|
case ClearAggro: |
|
|
|
case "ClearNearbyAggro": |
|
|
|
case ClearNearbyAggro: |
|
|
|
case "Peek": |
|
|
|
case Peek: |
|
|
|
case "ClaimMine": |
|
|
|
case ClaimMine: |
|
|
|
case "RunegateTeleport": |
|
|
|
case RunegateTeleport: |
|
|
|
case "Steal": |
|
|
|
case Steal: |
|
|
|
break; |
|
|
|
break; |
|
|
|
default: |
|
|
|
default: |
|
|
|
Logger.error("Unhandled type " + powerAction.action_type + " for Pow4erAction: " + powerAction.action_id); |
|
|
|
Logger.error("Unhandled type " + powerAction.action_type + " for Pow4erAction: " + powerAction.action_id); |
|
|
|