forked from MagicBane/Server
Merge Damage and Source types.
This commit is contained in:
@@ -8,23 +8,22 @@
|
||||
|
||||
|
||||
package engine.powers;
|
||||
|
||||
import engine.Enum.DamageType;
|
||||
import engine.Enum;
|
||||
|
||||
public class DamageShield {
|
||||
|
||||
private final DamageType damageType;
|
||||
private final Enum.SourceType damageType;
|
||||
private final float amount;
|
||||
private final boolean usePercent;
|
||||
|
||||
public DamageShield(DamageType damageType, float amount, boolean usePercent) {
|
||||
public DamageShield(Enum.SourceType damageType, float amount, boolean usePercent) {
|
||||
super();
|
||||
this.damageType = damageType;
|
||||
this.amount = amount;
|
||||
this.usePercent = usePercent;
|
||||
}
|
||||
|
||||
public DamageType getDamageType() {
|
||||
public Enum.SourceType getDamageType() {
|
||||
return this.damageType;
|
||||
}
|
||||
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
package engine.powers;
|
||||
|
||||
import engine.Enum;
|
||||
import engine.Enum.DamageType;
|
||||
import engine.Enum.EffectSourceType;
|
||||
import engine.Enum.GameObjectType;
|
||||
import engine.Enum.PowerFailCondition;
|
||||
@@ -45,7 +44,7 @@ public class EffectsBase {
|
||||
public static HashMap<String, HashMap<String, ArrayList<String>>> NewEffectsMap = new HashMap<>();
|
||||
public static HashMap<String, HashMap<String, ArrayList<String>>> ChangedEffectsMap = new HashMap<>();
|
||||
public static HashMap<String, HashSet<PowerFailCondition>> EffectFailConditions = new HashMap<>();
|
||||
public static HashMap<Integer, HashSet<DamageType>> EffectDamageTypes = new HashMap<>();
|
||||
public static HashMap<Integer, HashSet<Enum.SourceType>> EffectDamageTypes = new HashMap<>();
|
||||
public static HashSet<AbstractEffectModifier> DefaultModifiers = new HashSet<>();
|
||||
private static ConcurrentHashMap<String, String> itemEffectsByName = new ConcurrentHashMap<>(MBServerStatics.CHM_INIT_CAP, MBServerStatics.CHM_LOAD, MBServerStatics.CHM_THREAD_LOW);
|
||||
private static int NewID = 3000;
|
||||
@@ -245,7 +244,7 @@ public class EffectsBase {
|
||||
damageType3 = "Pierce";
|
||||
if (damageType3.equalsIgnoreCase("Slashing"))
|
||||
damageType3 = "Slash";
|
||||
DamageType dt = getDamageType(damageType1);
|
||||
Enum.SourceType dt = getDamageType(damageType1);
|
||||
if (dt != null)
|
||||
EffectsBase.EffectDamageTypes.get(eb.token).add(dt);
|
||||
|
||||
@@ -301,27 +300,13 @@ public class EffectsBase {
|
||||
|
||||
}
|
||||
|
||||
private static DamageType getDamageType(String name) {
|
||||
try {
|
||||
switch (name) {
|
||||
case "Crushing":
|
||||
name = "Crush";
|
||||
break;
|
||||
case "Slashing":
|
||||
name = "Slash";
|
||||
break;
|
||||
case "Piercing":
|
||||
name = "Pierce";
|
||||
break;
|
||||
}
|
||||
if (name.isEmpty())
|
||||
return null;
|
||||
else
|
||||
return DamageType.valueOf(name);
|
||||
} catch (Exception e) {
|
||||
Logger.error(name);
|
||||
private static Enum.SourceType getDamageType(String name) {
|
||||
|
||||
if (name.isEmpty())
|
||||
return null;
|
||||
}
|
||||
else
|
||||
return Enum.SourceType.valueOf(name);
|
||||
|
||||
}
|
||||
|
||||
public static String getItemEffectsByName(String string) {
|
||||
@@ -351,7 +336,7 @@ public class EffectsBase {
|
||||
|
||||
}
|
||||
|
||||
public boolean containsDamageType(DamageType dt) {
|
||||
public boolean containsDamageType(Enum.SourceType dt) {
|
||||
if (!EffectsBase.EffectDamageTypes.containsKey(this.token))
|
||||
return false;
|
||||
return EffectsBase.EffectDamageTypes.get(this.token).contains(dt);
|
||||
@@ -742,7 +727,7 @@ public class EffectsBase {
|
||||
String text = "";
|
||||
if (!EffectsBase.EffectDamageTypes.containsKey(this.token))
|
||||
return text;
|
||||
for (DamageType type : EffectsBase.EffectDamageTypes.get(this.token)) {
|
||||
for (Enum.SourceType type : EffectsBase.EffectDamageTypes.get(this.token)) {
|
||||
text += type.name() + ' ';
|
||||
}
|
||||
return text;
|
||||
|
||||
@@ -8,8 +8,7 @@
|
||||
|
||||
|
||||
package engine.powers.effectmodifiers;
|
||||
|
||||
import engine.Enum.DamageType;
|
||||
import engine.Enum;
|
||||
import engine.jobs.AbstractEffectJob;
|
||||
import engine.objects.*;
|
||||
import engine.powers.DamageShield;
|
||||
@@ -49,7 +48,8 @@ public class DamageShieldEffectModifier extends AbstractEffectModifier {
|
||||
amount *= (1 + mod);
|
||||
}
|
||||
|
||||
DamageType dt = DamageType.valueOf(this.type);
|
||||
Enum.SourceType dt = Enum.SourceType.valueOf(this.type);
|
||||
|
||||
if (dt != null) {
|
||||
DamageShield ds = new DamageShield(dt, amount, usePercent);
|
||||
PlayerBonuses bonus = ac.getBonuses();
|
||||
|
||||
@@ -8,8 +8,6 @@
|
||||
|
||||
|
||||
package engine.powers.effectmodifiers;
|
||||
|
||||
import engine.Enum.DamageType;
|
||||
import engine.Enum.GameObjectType;
|
||||
import engine.Enum.ModType;
|
||||
import engine.Enum.SourceType;
|
||||
@@ -29,13 +27,13 @@ import java.util.concurrent.ThreadLocalRandom;
|
||||
|
||||
public class HealthEffectModifier extends AbstractEffectModifier {
|
||||
|
||||
private DamageType damageType;
|
||||
private SourceType damageType;
|
||||
|
||||
public HealthEffectModifier(ResultSet rs) throws SQLException {
|
||||
super(rs);
|
||||
String damageTypeDB = rs.getString("type");
|
||||
try {
|
||||
this.damageType = DamageType.valueOf(damageTypeDB);
|
||||
this.damageType = SourceType.valueOf(damageTypeDB);
|
||||
} catch (IllegalArgumentException e) {
|
||||
Logger.error("DamageType could not be loaded from database. " + "UUID = " + this.UUID
|
||||
+ " value received = '" + damageTypeDB + '\'', e);
|
||||
@@ -205,7 +203,7 @@ public class HealthEffectModifier extends AbstractEffectModifier {
|
||||
}*/
|
||||
|
||||
PlayerBonuses bonus = ac.getBonuses();
|
||||
if (!skipImmune && bonus.getFloat(ModType.BlackMantle, SourceType.Heal) >= trains) {
|
||||
if (!skipImmune && bonus.getFloat(ModType.BlackMantle, SourceType.Healing) >= trains) {
|
||||
ModifyHealthMsg mhm = new ModifyHealthMsg(source, ac, 0f, 0f, 0f, powerID, powerName, trains, effectID);
|
||||
mhm.setUnknown03(5); //set target is immune
|
||||
DispatchMessage.sendToAllInRange(ac, mhm);
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
package engine.powers.effectmodifiers;
|
||||
|
||||
import engine.Enum;
|
||||
import engine.Enum.DamageType;
|
||||
import engine.Enum.ModType;
|
||||
import engine.Enum.SourceType;
|
||||
import engine.gameManager.ChatManager;
|
||||
@@ -32,13 +31,13 @@ import java.util.concurrent.ThreadLocalRandom;
|
||||
|
||||
public class ManaEffectModifier extends AbstractEffectModifier {
|
||||
|
||||
private DamageType damageType;
|
||||
private SourceType damageType;
|
||||
|
||||
public ManaEffectModifier(ResultSet rs) throws SQLException {
|
||||
super(rs);
|
||||
String damageTypeDB = rs.getString("type");
|
||||
try {
|
||||
this.damageType = DamageType.valueOf(damageTypeDB);
|
||||
this.damageType = SourceType.valueOf(damageTypeDB);
|
||||
} catch (IllegalArgumentException e) {
|
||||
Logger.error("DamageType could not be loaded from database. " + "UUID = " + this.UUID
|
||||
+ " value received = '" + damageTypeDB + '\'', e);
|
||||
@@ -158,7 +157,7 @@ public class ManaEffectModifier extends AbstractEffectModifier {
|
||||
}
|
||||
}
|
||||
PlayerBonuses bonus = ac.getBonuses();
|
||||
if (!skipImmune && bonus.getFloat(ModType.BlackMantle, SourceType.Heal) >= trains) {
|
||||
if (!skipImmune && bonus.getFloat(ModType.BlackMantle, SourceType.Healing) >= trains) {
|
||||
ModifyHealthMsg mhm = new ModifyHealthMsg(source, ac, 0f, 0f, 0f, powerID, powerName, trains, effectID);
|
||||
mhm.setUnknown03(5); //set target is immune
|
||||
DispatchMessage.sendToAllInRange(ac, mhm);
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
package engine.powers.effectmodifiers;
|
||||
|
||||
import engine.Enum;
|
||||
import engine.Enum.DamageType;
|
||||
import engine.Enum.ModType;
|
||||
import engine.Enum.SourceType;
|
||||
import engine.gameManager.ChatManager;
|
||||
@@ -32,13 +31,13 @@ import java.util.concurrent.ThreadLocalRandom;
|
||||
|
||||
public class StaminaEffectModifier extends AbstractEffectModifier {
|
||||
|
||||
private DamageType damageType;
|
||||
private SourceType damageType;
|
||||
|
||||
public StaminaEffectModifier(ResultSet rs) throws SQLException {
|
||||
super(rs);
|
||||
String damageTypeDB = rs.getString("type");
|
||||
try {
|
||||
this.damageType = DamageType.valueOf(damageTypeDB);
|
||||
this.damageType = SourceType.valueOf(damageTypeDB);
|
||||
} catch (IllegalArgumentException e) {
|
||||
Logger.error("DamageType could not be loaded from database. " + "UUID = " + this.UUID
|
||||
+ " value received = '" + damageTypeDB + '\'', e);
|
||||
@@ -154,7 +153,7 @@ public class StaminaEffectModifier extends AbstractEffectModifier {
|
||||
}
|
||||
}
|
||||
PlayerBonuses bonus = ac.getBonuses();
|
||||
if (!skipImmune && bonus.getFloat(ModType.BlackMantle, SourceType.Heal) >= trains) {
|
||||
if (!skipImmune && bonus.getFloat(ModType.BlackMantle, SourceType.Healing) >= trains) {
|
||||
ModifyHealthMsg mhm = new ModifyHealthMsg(source, ac, 0f, 0f, 0f, powerID, powerName, trains, effectID);
|
||||
mhm.setUnknown03(5); //set target is immune
|
||||
DispatchMessage.sendToAllInRange(ac, mhm);
|
||||
|
||||
@@ -10,7 +10,6 @@
|
||||
package engine.powers.poweractions;
|
||||
|
||||
import engine.Enum;
|
||||
import engine.Enum.DamageType;
|
||||
import engine.Enum.ModType;
|
||||
import engine.Enum.SourceType;
|
||||
import engine.gameManager.ChatManager;
|
||||
@@ -46,7 +45,7 @@ public class TransferStatPowerAction extends AbstractPowerAction {
|
||||
protected float transferEfficiencyRamp;
|
||||
protected boolean transferEfficiencyRampAdd;
|
||||
protected boolean targetToCaster;
|
||||
protected DamageType damageType;
|
||||
protected SourceType damageType;
|
||||
protected EffectsBase effect;
|
||||
|
||||
public TransferStatPowerAction(ResultSet rs, HashMap<String, EffectsBase> effects) throws SQLException {
|
||||
@@ -80,7 +79,7 @@ public class TransferStatPowerAction extends AbstractPowerAction {
|
||||
// Damage type can sometimes be null in the DB.
|
||||
|
||||
if (damageString.isEmpty() == false)
|
||||
this.damageType = DamageType.valueOf(damageString);
|
||||
this.damageType = SourceType.valueOf(damageString);
|
||||
} catch (Exception e) {
|
||||
this.damageType = null;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user