forked from MagicBane/Server
parser now uses poweractiontype
This commit is contained in:
@@ -138,7 +138,7 @@ public enum PowersManager {
|
||||
|
||||
for (PowerAction powerAction : WpakPowerManager._powerActionLookup.values()) {
|
||||
AbstractPowerAction apa;
|
||||
String type = powerAction.action_type;
|
||||
PowerActionType type = powerAction.action_type;
|
||||
String IDString = powerAction.action_id;
|
||||
int token = DbManager.hasher.SBStringHash(IDString);
|
||||
//cache token, used for applying effects.
|
||||
@@ -148,102 +148,90 @@ public enum PowersManager {
|
||||
default:
|
||||
Logger.error("valid type not found for poweraction of ID" + IDString);
|
||||
break;
|
||||
case "ApplyEffect":
|
||||
case ApplyEffect:
|
||||
apa = new ApplyEffectPowerAction(powerAction, effects);
|
||||
break;
|
||||
case "ApplyEffects":
|
||||
case ApplyEffects:
|
||||
apa = new ApplyEffectsPowerAction(powerAction, effects);
|
||||
break;
|
||||
case "DeferredPower":
|
||||
case DeferredPower:
|
||||
apa = new DeferredPowerPowerAction(powerAction, effects);
|
||||
break;
|
||||
case "DamageOverTime":
|
||||
case DamageOverTime:
|
||||
apa = new DamageOverTimePowerAction(powerAction, effects);
|
||||
break;
|
||||
case "Peek":
|
||||
case Peek:
|
||||
apa = new PeekPowerAction(powerAction);
|
||||
break;
|
||||
case "Charm":
|
||||
case Charm:
|
||||
apa = new CharmPowerAction(powerAction);
|
||||
break;
|
||||
case "Fear":
|
||||
apa = new FearPowerAction(powerAction);
|
||||
break;
|
||||
case "Confusion":
|
||||
apa = new ConfusionPowerAction(powerAction);
|
||||
break;
|
||||
case "RemoveEffect":
|
||||
case RemoveEffect:
|
||||
apa = new RemoveEffectPowerAction(powerAction);
|
||||
break;
|
||||
case "Track":
|
||||
case Track:
|
||||
apa = new TrackPowerAction(powerAction, effects);
|
||||
break;
|
||||
case "DirectDamage":
|
||||
case DirectDamage:
|
||||
apa = new DirectDamagePowerAction(powerAction, effects);
|
||||
break;
|
||||
case "Transform":
|
||||
case Transform:
|
||||
apa = new TransformPowerAction(powerAction, effects);
|
||||
break;
|
||||
case "CreateMob":
|
||||
case CreateMob:
|
||||
apa = new CreateMobPowerAction(powerAction);
|
||||
break;
|
||||
case "Invis":
|
||||
case Invis:
|
||||
apa = new InvisPowerAction(powerAction, effects);
|
||||
break;
|
||||
case "ClearNearbyAggro":
|
||||
case ClearNearbyAggro:
|
||||
apa = new ClearNearbyAggroPowerAction(powerAction);
|
||||
break;
|
||||
case "MobRecall":
|
||||
case MobRecall:
|
||||
apa = new MobRecallPowerAction(powerAction);
|
||||
break;
|
||||
case "SetItemFlag":
|
||||
case SetItemFlag:
|
||||
apa = new SetItemFlagPowerAction(powerAction);
|
||||
break;
|
||||
case "SimpleDamage":
|
||||
case SimpleDamage:
|
||||
apa = new SimpleDamagePowerAction(powerAction);
|
||||
break;
|
||||
case "TransferStatOT":
|
||||
case TransferStatOT:
|
||||
apa = new TransferStatOTPowerAction(powerAction, effects);
|
||||
break;
|
||||
case "TransferStat":
|
||||
case TransferStat:
|
||||
apa = new TransferStatPowerAction(powerAction, effects);
|
||||
break;
|
||||
case "Teleport":
|
||||
case Teleport:
|
||||
apa = new TeleportPowerAction(powerAction);
|
||||
break;
|
||||
case "TreeChoke":
|
||||
case TreeChoke:
|
||||
apa = new TreeChokePowerAction(powerAction);
|
||||
break;
|
||||
case "Block":
|
||||
case Block:
|
||||
apa = new BlockPowerAction(powerAction);
|
||||
break;
|
||||
case "Resurrect":
|
||||
case Resurrect:
|
||||
apa = new ResurrectPowerAction(powerAction);
|
||||
break;
|
||||
case "ClearAggro":
|
||||
apa = new ClearAggroPowerAction(powerAction);
|
||||
break;
|
||||
case "ClaimMine":
|
||||
case ClaimMine:
|
||||
apa = new ClaimMinePowerAction(powerAction);
|
||||
break;
|
||||
case "Recall":
|
||||
case Recall:
|
||||
apa = new RecallPowerAction(powerAction);
|
||||
break;
|
||||
case "SpireDisable":
|
||||
case SpireDisable:
|
||||
apa = new SpireDisablePowerAction(powerAction);
|
||||
break;
|
||||
case "Steal":
|
||||
case Steal:
|
||||
apa = new StealPowerAction(powerAction);
|
||||
break;
|
||||
case "Summon":
|
||||
case Summon:
|
||||
apa = new SummonPowerAction(powerAction);
|
||||
break;
|
||||
case "RunegateTeleport":
|
||||
case RunegateTeleport:
|
||||
apa = new RunegateTeleportPowerAction(powerAction);
|
||||
break;
|
||||
case "OpenGate":
|
||||
apa = new OpenGatePowerAction(powerAction);
|
||||
break;
|
||||
}
|
||||
PowersManager.powerActionsByIDString.put(IDString, apa);
|
||||
}
|
||||
|
||||
@@ -10,6 +10,7 @@
|
||||
package engine.powers.poweractions;
|
||||
|
||||
import engine.math.Vector3fImmutable;
|
||||
import engine.mbEnums;
|
||||
import engine.objects.AbstractCharacter;
|
||||
import engine.objects.AbstractWorldObject;
|
||||
import engine.objects.Item;
|
||||
@@ -24,7 +25,7 @@ public abstract class AbstractPowerAction {
|
||||
protected PowersBase parent;
|
||||
protected int UUID;
|
||||
protected String IDString;
|
||||
protected String type;
|
||||
protected mbEnums.PowerActionType type;
|
||||
protected boolean isAggressive;
|
||||
protected long validItemFlags;
|
||||
|
||||
@@ -46,7 +47,7 @@ public abstract class AbstractPowerAction {
|
||||
this.isAggressive = powerAction.isAggressive;
|
||||
}
|
||||
|
||||
public AbstractPowerAction(int uUID, String iDString, String type, boolean isAggressive,
|
||||
public AbstractPowerAction(int uUID, String iDString, mbEnums.PowerActionType type, boolean isAggressive,
|
||||
long validItemFlags) {
|
||||
super();
|
||||
UUID = uUID;
|
||||
@@ -130,7 +131,7 @@ public abstract class AbstractPowerAction {
|
||||
return this.validItemFlags;
|
||||
}
|
||||
|
||||
public String getType() {
|
||||
public mbEnums.PowerActionType getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
|
||||
@@ -30,7 +30,7 @@ public class OpenGatePowerAction extends AbstractPowerAction {
|
||||
super(powerAction);
|
||||
}
|
||||
|
||||
public OpenGatePowerAction(int uUID, String iDString, String type, boolean isAggressive, long validItemFlags) {
|
||||
public OpenGatePowerAction(int uUID, String iDString, mbEnums.PowerActionType type, boolean isAggressive, long validItemFlags) {
|
||||
super(uUID, iDString, type, isAggressive, validItemFlags);
|
||||
// TODO Auto-generated constructor stub
|
||||
}
|
||||
|
||||
@@ -84,26 +84,26 @@ public class PowerActionParser {
|
||||
|
||||
Iterator<String> headerIterator = headerData.iterator();
|
||||
powerAction.action_id = headerIterator.next();
|
||||
powerAction.action_type = headerIterator.next();
|
||||
powerAction.action_type = mbEnums.PowerActionType.valueOf(headerIterator.next());
|
||||
|
||||
switch (powerAction.action_type) {
|
||||
case "RemoveEffect":
|
||||
case RemoveEffect:
|
||||
effect = new Effect();
|
||||
effect.effect_id = headerIterator.next();
|
||||
powerAction.effects.add(effect);
|
||||
break;
|
||||
case "CreateMob":
|
||||
case CreateMob:
|
||||
powerAction.petRace = Integer.parseInt(headerIterator.next());
|
||||
powerAction.petLevel = Integer.parseInt(headerIterator.next());
|
||||
break;
|
||||
case "DamageOverTime":
|
||||
case DamageOverTime:
|
||||
effect = new Effect();
|
||||
effect.effect_id = headerIterator.next();
|
||||
effect.cycleDuration = Integer.parseInt(headerIterator.next());
|
||||
effect.cycleDelay = Integer.parseInt(headerIterator.next());
|
||||
powerAction.effects.add(effect);
|
||||
break;
|
||||
case "ApplyEffects":
|
||||
case ApplyEffects:
|
||||
int level = Integer.parseInt(headerIterator.next());
|
||||
|
||||
while (headerIterator.hasNext()) {
|
||||
@@ -113,12 +113,12 @@ public class PowerActionParser {
|
||||
powerAction.effects.add(effect);
|
||||
}
|
||||
break;
|
||||
case "Transform":
|
||||
case "Invis":
|
||||
case "ApplyEffect":
|
||||
case "DeferredPower":
|
||||
case "DirectDamage":
|
||||
case "SpireDisable":
|
||||
case Transform:
|
||||
case Invis:
|
||||
case ApplyEffect:
|
||||
case DeferredPower:
|
||||
case DirectDamage:
|
||||
case SpireDisable:
|
||||
while (headerIterator.hasNext()) {
|
||||
effect = new Effect();
|
||||
effect.effect_id = headerIterator.next();
|
||||
@@ -131,7 +131,7 @@ public class PowerActionParser {
|
||||
powerAction.effects.add(effect);
|
||||
}
|
||||
break;
|
||||
case "TransferStat":
|
||||
case TransferStat:
|
||||
statTransfer = new StatTransfer();
|
||||
statTransfer.fromStat = 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());
|
||||
powerAction.statTransfer = statTransfer;
|
||||
break;
|
||||
case "TransferStatOT":
|
||||
case TransferStatOT:
|
||||
statTransfer = new StatTransfer();
|
||||
statTransfer.fromStat = 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());
|
||||
powerAction.statTransfer = statTransfer;
|
||||
break;
|
||||
case "Charm":
|
||||
case Charm:
|
||||
effect = new Effect();
|
||||
effect.effect_id = headerIterator.next();
|
||||
effect.level = Integer.parseInt(headerIterator.next());
|
||||
effect.type = headerIterator.next();
|
||||
powerAction.effects.add(effect);
|
||||
break;
|
||||
case "Block":
|
||||
case Block:
|
||||
effect = new Effect();
|
||||
effect.effect_id = headerIterator.next();
|
||||
effect.level = Integer.parseInt(headerIterator.next());
|
||||
powerAction.effects.add(effect);
|
||||
break;
|
||||
case "Resurrect":
|
||||
case Resurrect:
|
||||
powerAction.ramp = Integer.parseInt(headerIterator.next());
|
||||
break;
|
||||
case "SetItemFlag":
|
||||
case SetItemFlag:
|
||||
powerAction.itemFlag = mbEnums.ItemFlags.valueOf(headerIterator.next());
|
||||
break;
|
||||
case "Track":
|
||||
case Track:
|
||||
trackEntry = new TrackEntry();
|
||||
trackEntry.action_id = headerIterator.next();
|
||||
trackEntry.trackPlayer = Boolean.parseBoolean(headerIterator.next());
|
||||
@@ -186,21 +186,21 @@ public class PowerActionParser {
|
||||
trackEntry.max = Integer.parseInt(headerIterator.next());
|
||||
powerAction.trackEntry = trackEntry;
|
||||
break;
|
||||
case "Teleport":
|
||||
case Teleport:
|
||||
if (headerIterator.hasNext())
|
||||
powerAction.ignoreNoTeleSpire = Boolean.parseBoolean(headerIterator.next());
|
||||
break;
|
||||
case "Recall": // No arguments for these tags or not parsed
|
||||
case "Summon":
|
||||
case "TreeChoke":
|
||||
case "SimpleDamage":
|
||||
case "MobRecall": // One argument always zero
|
||||
case "ClearAggro":
|
||||
case "ClearNearbyAggro":
|
||||
case "Peek":
|
||||
case "ClaimMine":
|
||||
case "RunegateTeleport":
|
||||
case "Steal":
|
||||
case Recall: // No arguments for these tags or not parsed
|
||||
case Summon:
|
||||
case TreeChoke:
|
||||
case SimpleDamage:
|
||||
case MobRecall: // One argument always zero
|
||||
case ClearAggro:
|
||||
case ClearNearbyAggro:
|
||||
case Peek:
|
||||
case ClaimMine:
|
||||
case RunegateTeleport:
|
||||
case Steal:
|
||||
break;
|
||||
default:
|
||||
Logger.error("Unhandled type " + powerAction.action_type + " for Pow4erAction: " + powerAction.action_id);
|
||||
|
||||
@@ -18,7 +18,7 @@ public class PowerAction {
|
||||
// Header values
|
||||
|
||||
public String action_id;
|
||||
public String action_type;
|
||||
public mbEnums.PowerActionType action_type;
|
||||
public ArrayList<Effect> effects = new ArrayList<>();
|
||||
public int petLevel;
|
||||
public int petRace;
|
||||
|
||||
Reference in New Issue
Block a user