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()) {
|
for (PowerAction powerAction : WpakPowerManager._powerActionLookup.values()) {
|
||||||
AbstractPowerAction apa;
|
AbstractPowerAction apa;
|
||||||
String type = powerAction.action_type;
|
PowerActionType type = powerAction.action_type;
|
||||||
String IDString = powerAction.action_id;
|
String IDString = powerAction.action_id;
|
||||||
int token = DbManager.hasher.SBStringHash(IDString);
|
int token = DbManager.hasher.SBStringHash(IDString);
|
||||||
//cache token, used for applying effects.
|
//cache token, used for applying effects.
|
||||||
@@ -148,102 +148,90 @@ public enum PowersManager {
|
|||||||
default:
|
default:
|
||||||
Logger.error("valid type not found for poweraction of ID" + IDString);
|
Logger.error("valid type not found for poweraction of ID" + IDString);
|
||||||
break;
|
break;
|
||||||
case "ApplyEffect":
|
case ApplyEffect:
|
||||||
apa = new ApplyEffectPowerAction(powerAction, effects);
|
apa = new ApplyEffectPowerAction(powerAction, effects);
|
||||||
break;
|
break;
|
||||||
case "ApplyEffects":
|
case ApplyEffects:
|
||||||
apa = new ApplyEffectsPowerAction(powerAction, effects);
|
apa = new ApplyEffectsPowerAction(powerAction, effects);
|
||||||
break;
|
break;
|
||||||
case "DeferredPower":
|
case DeferredPower:
|
||||||
apa = new DeferredPowerPowerAction(powerAction, effects);
|
apa = new DeferredPowerPowerAction(powerAction, effects);
|
||||||
break;
|
break;
|
||||||
case "DamageOverTime":
|
case DamageOverTime:
|
||||||
apa = new DamageOverTimePowerAction(powerAction, effects);
|
apa = new DamageOverTimePowerAction(powerAction, effects);
|
||||||
break;
|
break;
|
||||||
case "Peek":
|
case Peek:
|
||||||
apa = new PeekPowerAction(powerAction);
|
apa = new PeekPowerAction(powerAction);
|
||||||
break;
|
break;
|
||||||
case "Charm":
|
case Charm:
|
||||||
apa = new CharmPowerAction(powerAction);
|
apa = new CharmPowerAction(powerAction);
|
||||||
break;
|
break;
|
||||||
case "Fear":
|
case RemoveEffect:
|
||||||
apa = new FearPowerAction(powerAction);
|
|
||||||
break;
|
|
||||||
case "Confusion":
|
|
||||||
apa = new ConfusionPowerAction(powerAction);
|
|
||||||
break;
|
|
||||||
case "RemoveEffect":
|
|
||||||
apa = new RemoveEffectPowerAction(powerAction);
|
apa = new RemoveEffectPowerAction(powerAction);
|
||||||
break;
|
break;
|
||||||
case "Track":
|
case Track:
|
||||||
apa = new TrackPowerAction(powerAction, effects);
|
apa = new TrackPowerAction(powerAction, effects);
|
||||||
break;
|
break;
|
||||||
case "DirectDamage":
|
case DirectDamage:
|
||||||
apa = new DirectDamagePowerAction(powerAction, effects);
|
apa = new DirectDamagePowerAction(powerAction, effects);
|
||||||
break;
|
break;
|
||||||
case "Transform":
|
case Transform:
|
||||||
apa = new TransformPowerAction(powerAction, effects);
|
apa = new TransformPowerAction(powerAction, effects);
|
||||||
break;
|
break;
|
||||||
case "CreateMob":
|
case CreateMob:
|
||||||
apa = new CreateMobPowerAction(powerAction);
|
apa = new CreateMobPowerAction(powerAction);
|
||||||
break;
|
break;
|
||||||
case "Invis":
|
case Invis:
|
||||||
apa = new InvisPowerAction(powerAction, effects);
|
apa = new InvisPowerAction(powerAction, effects);
|
||||||
break;
|
break;
|
||||||
case "ClearNearbyAggro":
|
case ClearNearbyAggro:
|
||||||
apa = new ClearNearbyAggroPowerAction(powerAction);
|
apa = new ClearNearbyAggroPowerAction(powerAction);
|
||||||
break;
|
break;
|
||||||
case "MobRecall":
|
case MobRecall:
|
||||||
apa = new MobRecallPowerAction(powerAction);
|
apa = new MobRecallPowerAction(powerAction);
|
||||||
break;
|
break;
|
||||||
case "SetItemFlag":
|
case SetItemFlag:
|
||||||
apa = new SetItemFlagPowerAction(powerAction);
|
apa = new SetItemFlagPowerAction(powerAction);
|
||||||
break;
|
break;
|
||||||
case "SimpleDamage":
|
case SimpleDamage:
|
||||||
apa = new SimpleDamagePowerAction(powerAction);
|
apa = new SimpleDamagePowerAction(powerAction);
|
||||||
break;
|
break;
|
||||||
case "TransferStatOT":
|
case TransferStatOT:
|
||||||
apa = new TransferStatOTPowerAction(powerAction, effects);
|
apa = new TransferStatOTPowerAction(powerAction, effects);
|
||||||
break;
|
break;
|
||||||
case "TransferStat":
|
case TransferStat:
|
||||||
apa = new TransferStatPowerAction(powerAction, effects);
|
apa = new TransferStatPowerAction(powerAction, effects);
|
||||||
break;
|
break;
|
||||||
case "Teleport":
|
case Teleport:
|
||||||
apa = new TeleportPowerAction(powerAction);
|
apa = new TeleportPowerAction(powerAction);
|
||||||
break;
|
break;
|
||||||
case "TreeChoke":
|
case TreeChoke:
|
||||||
apa = new TreeChokePowerAction(powerAction);
|
apa = new TreeChokePowerAction(powerAction);
|
||||||
break;
|
break;
|
||||||
case "Block":
|
case Block:
|
||||||
apa = new BlockPowerAction(powerAction);
|
apa = new BlockPowerAction(powerAction);
|
||||||
break;
|
break;
|
||||||
case "Resurrect":
|
case Resurrect:
|
||||||
apa = new ResurrectPowerAction(powerAction);
|
apa = new ResurrectPowerAction(powerAction);
|
||||||
break;
|
break;
|
||||||
case "ClearAggro":
|
case ClaimMine:
|
||||||
apa = new ClearAggroPowerAction(powerAction);
|
|
||||||
break;
|
|
||||||
case "ClaimMine":
|
|
||||||
apa = new ClaimMinePowerAction(powerAction);
|
apa = new ClaimMinePowerAction(powerAction);
|
||||||
break;
|
break;
|
||||||
case "Recall":
|
case Recall:
|
||||||
apa = new RecallPowerAction(powerAction);
|
apa = new RecallPowerAction(powerAction);
|
||||||
break;
|
break;
|
||||||
case "SpireDisable":
|
case SpireDisable:
|
||||||
apa = new SpireDisablePowerAction(powerAction);
|
apa = new SpireDisablePowerAction(powerAction);
|
||||||
break;
|
break;
|
||||||
case "Steal":
|
case Steal:
|
||||||
apa = new StealPowerAction(powerAction);
|
apa = new StealPowerAction(powerAction);
|
||||||
break;
|
break;
|
||||||
case "Summon":
|
case Summon:
|
||||||
apa = new SummonPowerAction(powerAction);
|
apa = new SummonPowerAction(powerAction);
|
||||||
break;
|
break;
|
||||||
case "RunegateTeleport":
|
case RunegateTeleport:
|
||||||
apa = new RunegateTeleportPowerAction(powerAction);
|
apa = new RunegateTeleportPowerAction(powerAction);
|
||||||
break;
|
break;
|
||||||
case "OpenGate":
|
|
||||||
apa = new OpenGatePowerAction(powerAction);
|
|
||||||
break;
|
|
||||||
}
|
}
|
||||||
PowersManager.powerActionsByIDString.put(IDString, apa);
|
PowersManager.powerActionsByIDString.put(IDString, apa);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
package engine.powers.poweractions;
|
package engine.powers.poweractions;
|
||||||
|
|
||||||
import engine.math.Vector3fImmutable;
|
import engine.math.Vector3fImmutable;
|
||||||
|
import engine.mbEnums;
|
||||||
import engine.objects.AbstractCharacter;
|
import engine.objects.AbstractCharacter;
|
||||||
import engine.objects.AbstractWorldObject;
|
import engine.objects.AbstractWorldObject;
|
||||||
import engine.objects.Item;
|
import engine.objects.Item;
|
||||||
@@ -24,7 +25,7 @@ public abstract class AbstractPowerAction {
|
|||||||
protected PowersBase parent;
|
protected PowersBase parent;
|
||||||
protected int UUID;
|
protected int UUID;
|
||||||
protected String IDString;
|
protected String IDString;
|
||||||
protected String type;
|
protected mbEnums.PowerActionType type;
|
||||||
protected boolean isAggressive;
|
protected boolean isAggressive;
|
||||||
protected long validItemFlags;
|
protected long validItemFlags;
|
||||||
|
|
||||||
@@ -46,7 +47,7 @@ public abstract class AbstractPowerAction {
|
|||||||
this.isAggressive = powerAction.isAggressive;
|
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) {
|
long validItemFlags) {
|
||||||
super();
|
super();
|
||||||
UUID = uUID;
|
UUID = uUID;
|
||||||
@@ -130,7 +131,7 @@ public abstract class AbstractPowerAction {
|
|||||||
return this.validItemFlags;
|
return this.validItemFlags;
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getType() {
|
public mbEnums.PowerActionType getType() {
|
||||||
return type;
|
return type;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ public class OpenGatePowerAction extends AbstractPowerAction {
|
|||||||
super(powerAction);
|
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);
|
super(uUID, iDString, type, isAggressive, validItemFlags);
|
||||||
// TODO Auto-generated constructor stub
|
// TODO Auto-generated constructor stub
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ public class PowerAction {
|
|||||||
// Header values
|
// Header values
|
||||||
|
|
||||||
public String action_id;
|
public String action_id;
|
||||||
public String action_type;
|
public mbEnums.PowerActionType action_type;
|
||||||
public ArrayList<Effect> effects = new ArrayList<>();
|
public ArrayList<Effect> effects = new ArrayList<>();
|
||||||
public int petLevel;
|
public int petLevel;
|
||||||
public int petRace;
|
public int petRace;
|
||||||
|
|||||||
Reference in New Issue
Block a user