Browse Source

Update sourcetype

bugfix-sources
MagicBot 4 months ago
parent
commit
b53133655c
  1. 2
      src/engine/db/handlers/dbPowerHandler.java
  2. 4
      src/engine/gameManager/ChatManager.java
  3. 14
      src/engine/gameManager/CombatManager.java
  4. 6
      src/engine/gameManager/MovementManager.java
  5. 22
      src/engine/gameManager/PowersManager.java
  6. 4
      src/engine/jobs/ChantJob.java
  7. 4
      src/engine/jobs/FinishSummonsJob.java
  8. 172
      src/engine/mbEnums.java
  9. 2
      src/engine/mobileAI/MobAI.java
  10. 4
      src/engine/mobileAI/utilities/MovementUtilities.java
  11. 2
      src/engine/net/client/handlers/RecvSummonsMsgHandler.java
  12. 2
      src/engine/net/client/handlers/RepairMsgHandler.java
  13. 2
      src/engine/net/client/handlers/TrackWindowMsgHandler.java
  14. 60
      src/engine/objects/AbstractCharacter.java
  15. 4
      src/engine/objects/AbstractIntelligenceAgent.java
  16. 14
      src/engine/objects/CharacterSkill.java
  17. 4
      src/engine/objects/Item.java
  18. 36
      src/engine/objects/Mob.java
  19. 42
      src/engine/objects/PlayerBonuses.java
  20. 58
      src/engine/objects/PlayerCharacter.java
  21. 60
      src/engine/objects/Resists.java
  22. 8
      src/engine/objects/SkillsBase.java
  23. 13
      src/engine/powers/ActionsBase.java
  24. 6
      src/engine/powers/effectmodifiers/AbstractEffectModifier.java
  25. 4
      src/engine/powers/effectmodifiers/AmbidexterityEffectModifier.java
  26. 4
      src/engine/powers/effectmodifiers/BlackMantleEffectModifier.java
  27. 6
      src/engine/powers/effectmodifiers/HealthEffectModifier.java
  28. 6
      src/engine/powers/effectmodifiers/ManaEffectModifier.java
  29. 6
      src/engine/powers/effectmodifiers/StaminaEffectModifier.java
  30. 4
      src/engine/powers/poweractions/ApplyEffectPowerAction.java
  31. 2
      src/engine/powers/poweractions/RemoveEffectPowerAction.java
  32. 4
      src/engine/powers/poweractions/TeleportPowerAction.java
  33. 6
      src/engine/powers/poweractions/TransferStatPowerAction.java

2
src/engine/db/handlers/dbPowerHandler.java

@ -41,7 +41,7 @@ public class dbPowerHandler extends dbHandlerBase { @@ -41,7 +41,7 @@ public class dbPowerHandler extends dbHandlerBase {
int token = DbManager.hasher.SBStringHash(IDString);
source = rs.getString("source").replace("-", "").trim();
mbEnums.EffectSourceType effectSourceType = mbEnums.EffectSourceType.GetEffectSourceType(source);
mbEnums.EffectSourceType effectSourceType = mbEnums.EffectSourceType.getEffectSourceType(source);
if (EffectsBase.effectSourceTypeMap.containsKey(token) == false)
EffectsBase.effectSourceTypeMap.put(token, new HashSet<>());

4
src/engine/gameManager/ChatManager.java

@ -13,9 +13,9 @@ import engine.InterestManagement.WorldGrid; @@ -13,9 +13,9 @@ import engine.InterestManagement.WorldGrid;
import engine.db.archive.BaneRecord;
import engine.db.archive.PvpRecord;
import engine.mbEnums;
import engine.mbEnums.EffectSourceType;
import engine.mbEnums.GameObjectType;
import engine.mbEnums.ModType;
import engine.mbEnums.SourceType;
import engine.net.Dispatch;
import engine.net.MessageDispatcher;
import engine.net.client.ClientConnection;
@ -94,7 +94,7 @@ public enum ChatManager { @@ -94,7 +94,7 @@ public enum ChatManager {
PlayerBonuses bonus = pc.getBonuses();
if (bonus != null && bonus.getBool(ModType.Silenced, SourceType.None)) {
if (bonus != null && bonus.getBool(ModType.Silenced, EffectSourceType.None)) {
ChatManager.chatSayError(pc, SILENCED);
return true;
}

14
src/engine/gameManager/CombatManager.java

@ -67,7 +67,7 @@ public enum CombatManager { @@ -67,7 +67,7 @@ public enum CombatManager {
case PlayerCharacter:
case Mob:
PlayerBonuses bonuses = ((AbstractCharacter) target).getBonuses();
if (bonuses != null && bonuses.getBool(mbEnums.ModType.ImmuneToAttack, mbEnums.SourceType.None))
if (bonuses != null && bonuses.getBool(mbEnums.ModType.ImmuneToAttack, mbEnums.EffectSourceType.None))
return;
break;
case NPC:
@ -143,7 +143,7 @@ public enum CombatManager { @@ -143,7 +143,7 @@ public enum CombatManager {
if (weapon != null) {
if (bonus != null)
rangeMod += bonus.getFloatPercentAll(mbEnums.ModType.WeaponRange, mbEnums.SourceType.None);
rangeMod += bonus.getFloatPercentAll(mbEnums.ModType.WeaponRange, mbEnums.EffectSourceType.None);
attackRange += weapon.template.item_weapon_max_range * rangeMod;
}
@ -204,11 +204,11 @@ public enum CombatManager { @@ -204,11 +204,11 @@ public enum CombatManager {
float wepSpeed = (int) (weapon.template.item_weapon_wepspeed);
if (weapon.getBonusPercent(mbEnums.ModType.WeaponSpeed, mbEnums.SourceType.None) != 0f) //add weapon speed bonus
wepSpeed *= (1 + weapon.getBonus(mbEnums.ModType.WeaponSpeed, mbEnums.SourceType.None));
if (weapon.getBonusPercent(mbEnums.ModType.WeaponSpeed, mbEnums.EffectSourceType.None) != 0f) //add weapon speed bonus
wepSpeed *= (1 + weapon.getBonus(mbEnums.ModType.WeaponSpeed, mbEnums.EffectSourceType.None));
if (attacker.getBonuses() != null && attacker.getBonuses().getFloatPercentAll(mbEnums.ModType.AttackDelay, mbEnums.SourceType.None) != 0f) //add effects speed bonus
wepSpeed *= (1 + attacker.getBonuses().getFloatPercentAll(mbEnums.ModType.AttackDelay, mbEnums.SourceType.None));
if (attacker.getBonuses() != null && attacker.getBonuses().getFloatPercentAll(mbEnums.ModType.AttackDelay, mbEnums.EffectSourceType.None) != 0f) //add effects speed bonus
wepSpeed *= (1 + attacker.getBonuses().getFloatPercentAll(mbEnums.ModType.AttackDelay, mbEnums.EffectSourceType.None));
if (wepSpeed < 10)
wepSpeed = 10; //Old was 10, but it can be reached lower with legit buffs,effects.
@ -641,7 +641,7 @@ public enum CombatManager { @@ -641,7 +641,7 @@ public enum CombatManager {
float damage;
float min = 40;
float max = 60;
float dmgMultiplier = 1 + agent.getBonuses().getFloatPercentAll(mbEnums.ModType.MeleeDamageModifier, mbEnums.SourceType.None);
float dmgMultiplier = 1 + agent.getBonuses().getFloatPercentAll(mbEnums.ModType.MeleeDamageModifier, mbEnums.EffectSourceType.None);
double minDmg = getMinDmg(min, agent);
double maxDmg = getMaxDmg(max, agent);
dmgMultiplier += agent.getLevel() * 0.1f;

6
src/engine/gameManager/MovementManager.java

@ -14,9 +14,9 @@ import engine.math.Vector3f; @@ -14,9 +14,9 @@ import engine.math.Vector3f;
import engine.math.Vector3fImmutable;
import engine.mbEnums;
import engine.mbEnums.DispatchChannel;
import engine.mbEnums.EffectSourceType;
import engine.mbEnums.GameObjectType;
import engine.mbEnums.ModType;
import engine.mbEnums.SourceType;
import engine.net.client.ClientConnection;
import engine.net.client.msg.MoveToPointMsg;
import engine.net.client.msg.TeleportToPointMsg;
@ -74,7 +74,7 @@ public enum MovementManager { @@ -74,7 +74,7 @@ public enum MovementManager {
toMove.setIsCasting(false);
toMove.setItemCasting(false);
if (toMove.getBonuses().getBool(ModType.Stunned, SourceType.None) || toMove.getBonuses().getBool(ModType.CannotMove, SourceType.None)) {
if (toMove.getBonuses().getBool(ModType.Stunned, EffectSourceType.None) || toMove.getBonuses().getBool(ModType.CannotMove, EffectSourceType.None)) {
return;
}
@ -390,7 +390,7 @@ public enum MovementManager { @@ -390,7 +390,7 @@ public enum MovementManager {
//don't move if player is stunned or rooted
PlayerBonuses bonus = member.getBonuses();
if (bonus.getBool(ModType.Stunned, SourceType.None) || bonus.getBool(ModType.CannotMove, SourceType.None))
if (bonus.getBool(ModType.Stunned, EffectSourceType.None) || bonus.getBool(ModType.CannotMove, EffectSourceType.None))
continue;
member.update();

22
src/engine/gameManager/PowersManager.java

@ -348,8 +348,8 @@ public enum PowersManager { @@ -348,8 +348,8 @@ public enum PowersManager {
// verify player is not stunned or prohibited from casting
PlayerBonuses bonus = playerCharacter.getBonuses();
SourceType sourceType = SourceType.GetSourceType(pb.getCategory());
if (bonus != null && (bonus.getBool(ModType.Stunned, SourceType.None) || bonus.getBool(ModType.CannotCast, SourceType.None) || bonus.getBool(ModType.BlockedPowerType, sourceType)))
SourceType sourceType = EffectSourceType.GetSourceType(pb.getCategory());
if (bonus != null && (bonus.getBool(ModType.Stunned, EffectSourceType.None) || bonus.getBool(ModType.CannotCast, EffectSourceType.None) || bonus.getBool(ModType.BlockedPowerType, sourceType)))
return true;
// if moving make sure spell valid for movement
@ -485,7 +485,7 @@ public enum PowersManager { @@ -485,7 +485,7 @@ public enum PowersManager {
cost = 0;
if (bonus != null)
cost *= (1 + bonus.getFloatPercentAll(ModType.PowerCost, SourceType.None));
cost *= (1 + bonus.getFloatPercentAll(ModType.PowerCost, EffectSourceType.None));
if (playerCharacter.getAltitude() > 0)
cost *= 1.5f;
@ -631,8 +631,8 @@ public enum PowersManager { @@ -631,8 +631,8 @@ public enum PowersManager {
// verify player is in correct mode (combat/nonCombat)
// verify player is not stunned or prohibited from casting
PlayerBonuses bonus = caster.getBonuses();
SourceType sourceType = SourceType.GetSourceType(pb.getCategory());
if (bonus != null && (bonus.getBool(ModType.Stunned, SourceType.None) || bonus.getBool(ModType.CannotCast, SourceType.None) || bonus.getBool(ModType.BlockedPowerType, sourceType)))
SourceType sourceType = EffectSourceType.GetSourceType(pb.getCategory());
if (bonus != null && (bonus.getBool(ModType.Stunned, EffectSourceType.None) || bonus.getBool(ModType.CannotCast, EffectSourceType.None) || bonus.getBool(ModType.BlockedPowerType, sourceType)))
return true;
// if moving make sure spell valid for movement
@ -792,10 +792,10 @@ public enum PowersManager { @@ -792,10 +792,10 @@ public enum PowersManager {
PlayerBonuses bonus = playerCharacter.getBonuses();
if (bonus != null) {
if (bonus.getBool(ModType.Stunned, SourceType.None))
if (bonus.getBool(ModType.Stunned, EffectSourceType.None))
return;
SourceType sourceType = SourceType.GetSourceType(pb.getCategory());
SourceType sourceType = EffectSourceType.GetSourceType(pb.getCategory());
if (bonus.getBool(ModType.BlockedPowerType, sourceType)) {
finishRecycleTime(msg.getPowerUsedID(), playerCharacter, true);
return;
@ -1065,9 +1065,9 @@ public enum PowersManager { @@ -1065,9 +1065,9 @@ public enum PowersManager {
// verify player is not stunned or power type is blocked
PlayerBonuses bonus = caster.getBonuses();
if (bonus != null) {
if (bonus.getBool(ModType.Stunned, SourceType.None))
if (bonus.getBool(ModType.Stunned, EffectSourceType.None))
return;
SourceType sourceType = SourceType.GetSourceType(pb.getCategory());
SourceType sourceType = EffectSourceType.GetSourceType(pb.getCategory());
if (bonus.getBool(ModType.BlockedPowerType, sourceType))
return;
}
@ -1700,7 +1700,7 @@ public enum PowersManager { @@ -1700,7 +1700,7 @@ public enum PowersManager {
PlayerCharacter pcc = (PlayerCharacter) awo;
PlayerBonuses bonuses = pcc.getBonuses();
if (bonuses != null && bonuses.getBool(ModType.ImmuneToPowers, SourceType.None)) {
if (bonuses != null && bonuses.getBool(ModType.ImmuneToPowers, EffectSourceType.None)) {
awolist.remove();
continue;
}
@ -1850,7 +1850,7 @@ public enum PowersManager { @@ -1850,7 +1850,7 @@ public enum PowersManager {
// Remove players who are in safe mode
PlayerCharacter pcc = (PlayerCharacter) awo;
PlayerBonuses bonuses = pcc.getBonuses();
if (bonuses != null && bonuses.getBool(ModType.ImmuneToPowers, SourceType.None)) {
if (bonuses != null && bonuses.getBool(ModType.ImmuneToPowers, EffectSourceType.None)) {
awolist.remove();
continue;
}

4
src/engine/jobs/ChantJob.java

@ -11,9 +11,9 @@ package engine.jobs; @@ -11,9 +11,9 @@ package engine.jobs;
import engine.gameManager.PowersManager;
import engine.gameManager.SessionManager;
import engine.mbEnums.EffectSourceType;
import engine.mbEnums.GameObjectType;
import engine.mbEnums.ModType;
import engine.mbEnums.SourceType;
import engine.objects.AbstractCharacter;
import engine.objects.AbstractWorldObject;
import engine.objects.PlayerBonuses;
@ -52,7 +52,7 @@ public class ChantJob extends AbstractEffectJob { @@ -52,7 +52,7 @@ public class ChantJob extends AbstractEffectJob {
PowersManager.finishEffectTime(this.source, this.target, this.action, this.trains);
if (AbstractWorldObject.IsAbstractCharacter(source))
((AbstractCharacter) source).cancelLastChant();
} else if (bonuses != null && bonuses.getBool(ModType.Silenced, SourceType.None)) {
} else if (bonuses != null && bonuses.getBool(ModType.Silenced, EffectSourceType.None)) {
PowersManager.finishEffectTime(this.source, this.target, this.action, this.trains);
if (AbstractWorldObject.IsAbstractCharacter(source))
((AbstractCharacter) source).cancelLastChant();

4
src/engine/jobs/FinishSummonsJob.java

@ -12,8 +12,8 @@ package engine.jobs; @@ -12,8 +12,8 @@ package engine.jobs;
import engine.gameManager.PowersManager;
import engine.job.AbstractScheduleJob;
import engine.job.JobContainer;
import engine.mbEnums.EffectSourceType;
import engine.mbEnums.ModType;
import engine.mbEnums.SourceType;
import engine.net.client.msg.ErrorPopupMsg;
import engine.objects.PlayerCharacter;
@ -55,7 +55,7 @@ public class FinishSummonsJob extends AbstractScheduleJob { @@ -55,7 +55,7 @@ public class FinishSummonsJob extends AbstractScheduleJob {
return;
}
if (this.target.getBonuses() != null && this.target.getBonuses().getBool(ModType.BlockedPowerType, SourceType.SUMMON)) {
if (this.target.getBonuses() != null && this.target.getBonuses().getBool(ModType.BlockedPowerType, EffectSourceType.SUMMON)) {
ErrorPopupMsg.sendErrorMsg(this.target, "You have been blocked from receiving summons!");
ErrorPopupMsg.sendErrorMsg(this.source, "Target is blocked from receiving summons!");
return;

172
src/engine/mbEnums.java

@ -861,176 +861,6 @@ public class mbEnums { @@ -861,176 +861,6 @@ public class mbEnums {
}
}
public enum SourceType {
None,
Abjuration,
Acid,
AntiSiege,
Archery,
Axe,
Bardsong,
Beastcraft,
Benediction,
BladeWeaving,
Bleeding,
Blind,
Block,
Bloodcraft,
Bow,
Buff,
Channeling,
Charm,
Cold,
COLD,
Constitution,
Corruption,
Crossbow,
Crushing,
Dagger,
DaggerMastery,
DeBuff,
Dexterity,
Disease,
Dodge,
Dragon,
Drain,
Earth,
Effect,
Exorcism,
Fear,
Fire,
FIRE,
Fly,
Giant,
GreatAxeMastery,
GreatSwordMastery,
Hammer,
Heal,
Healing,
Holy,
HOLY,
ImmuneToAttack,
ImmuneToPowers,
Intelligence,
Invisible,
Lightning,
LIGHTNING,
Liturgy,
Magic,
MAGIC,
Mental,
MENTAL,
NatureLore,
Necromancy,
Parry,
Piercing,
Poison,
POISON,
PoleArm,
Powerblock,
Rat,
ResistDeBuff,
Restoration,
Root,
Shadowmastery,
Siege,
Slashing,
Snare,
Sorcery,
Spear,
SpearMastery,
Spirit,
Staff,
Stormcalling,
Strength,
Stun,
Summon,
Sword,
SwordMastery,
Thaumaturgy,
Theurgy,
Transform,
UnarmedCombat,
UnarmedCombatMastery,
Unholy,
UNHOLY,
Unknown,
Warding,
Warlockry,
WayoftheGaana,
WearArmorHeavy,
WearArmorLight,
WearArmorMedium,
Wereform,
Athletics,
AxeMastery,
Bargaining,
BladeMastery,
FlameCalling,
GreatHammerMastery,
HammerMastery,
Leadership,
PoleArmMastery,
Running,
StaffMastery,
Throwing,
Toughness,
WayoftheWolf,
WayoftheRat,
WayoftheBear,
Orthanatos,
SunDancing,
//Power categories.
AE,
AEDAMAGE,
BEHAVIOR,
BLESSING,
BOONCLASS,
BOONRACE,
BREAKFLY,
BUFF,
CHANT,
DAMAGE,
DEBUFF,
DISPEL,
FLIGHT,
GROUPBUFF,
GROUPHEAL,
HEAL,
INVIS,
MOVE,
RECALL,
SPECIAL,
SPIREDISABLE,
SPIREPROOFTELEPORT,
STANCE,
STUN,
SUMMON,
TELEPORT,
THIEF,
TRACK,
TRANSFORM,
VAMPDRAIN,
WEAPON,
Wizardry;
public static SourceType GetSourceType(String modName) {
SourceType returnMod;
if (modName.isEmpty())
return SourceType.None;
try {
returnMod = SourceType.valueOf(modName.replace(",", ""));
} catch (Exception e) {
Logger.error(modName);
Logger.error(e);
return SourceType.None;
}
return returnMod;
}
}
public enum EffectSourceType {
None,
AttackSpeedBuff,
@ -1090,7 +920,7 @@ public class mbEnums { @@ -1090,7 +920,7 @@ public class mbEnums {
WereformSPRecBuff,
WereformStrBuff;
public static EffectSourceType GetEffectSourceType(String modName) {
public static EffectSourceType getEffectSourceType(String modName) {
EffectSourceType returnMod;
if (modName.isEmpty())
return EffectSourceType.None;

2
src/engine/mobileAI/MobAI.java

@ -938,7 +938,7 @@ public class MobAI { @@ -938,7 +938,7 @@ public class MobAI {
if (mob.isSit() && mob.getTimeStamp("HEALTHRECOVERED") < System.currentTimeMillis() + 3000)
if (mob.getHealth() < mob.getHealthMax()) {
float recoveredHealth = mob.getHealthMax() * ((1 + mob.getBonuses().getFloatPercentAll(mbEnums.ModType.HealthRecoverRate, mbEnums.SourceType.None)) * 0.01f);
float recoveredHealth = mob.getHealthMax() * ((1 + mob.getBonuses().getFloatPercentAll(mbEnums.ModType.HealthRecoverRate, mbEnums.EffectSourceType.None)) * 0.01f);
mob.setHealth(mob.getHealth() + recoveredHealth);
mob.getTimestamps().put("HEALTHRECOVERED", System.currentTimeMillis());

4
src/engine/mobileAI/utilities/MovementUtilities.java

@ -12,9 +12,9 @@ package engine.mobileAI.utilities; @@ -12,9 +12,9 @@ package engine.mobileAI.utilities;
import engine.gameManager.MovementManager;
import engine.math.Vector3fImmutable;
import engine.mbEnums;
import engine.mbEnums.EffectSourceType;
import engine.mbEnums.GameObjectType;
import engine.mbEnums.ModType;
import engine.mbEnums.SourceType;
import engine.mobileAI.Threads.MobAIThread;
import engine.net.client.msg.MoveToPointMsg;
import engine.objects.*;
@ -169,7 +169,7 @@ public class MovementUtilities { @@ -169,7 +169,7 @@ public class MovementUtilities {
if (agent.getMobBase() != null && agent.getMobBase().getFlags().contains(mbEnums.MobFlagType.SENTINEL))
return false;
return (agent.isAlive() && !agent.getBonuses().getBool(ModType.Stunned, SourceType.None) && !agent.getBonuses().getBool(ModType.CannotMove, SourceType.None));
return (agent.isAlive() && !agent.getBonuses().getBool(ModType.Stunned, EffectSourceType.None) && !agent.getBonuses().getBool(ModType.CannotMove, EffectSourceType.None));
}
public static Vector3fImmutable randomPatrolLocation(Mob agent, Vector3fImmutable center, float radius) {

2
src/engine/net/client/handlers/RecvSummonsMsgHandler.java

@ -58,7 +58,7 @@ public class RecvSummonsMsgHandler extends AbstractClientMsgHandler { @@ -58,7 +58,7 @@ public class RecvSummonsMsgHandler extends AbstractClientMsgHandler {
return true;
}
if (playerCharacter.getBonuses() != null && playerCharacter.getBonuses().getBool(mbEnums.ModType.BlockedPowerType, mbEnums.SourceType.SUMMON)) {
if (playerCharacter.getBonuses() != null && playerCharacter.getBonuses().getBool(mbEnums.ModType.BlockedPowerType, mbEnums.EffectSourceType.SUMMON)) {
ErrorPopupMsg.sendErrorMsg(playerCharacter, "You have been blocked from receiving summons!");
ErrorPopupMsg.sendErrorMsg(source, "Target is blocked from receiving summons!");
playerCharacter.removeSummoner(source.getObjectUUID());

2
src/engine/net/client/handlers/RepairMsgHandler.java

@ -89,7 +89,7 @@ public class RepairMsgHandler extends AbstractClientMsgHandler { @@ -89,7 +89,7 @@ public class RepairMsgHandler extends AbstractClientMsgHandler {
//account for durability modifications
float durMod = toRepair.getBonusPercent(mbEnums.ModType.Durability, mbEnums.SourceType.None);
float durMod = toRepair.getBonusPercent(mbEnums.ModType.Durability, mbEnums.EffectSourceType.None);
max *= (1 + (durMod * 0.01f));
if (dur >= max || dur < 1) {

2
src/engine/net/client/handlers/TrackWindowMsgHandler.java

@ -148,7 +148,7 @@ public class TrackWindowMsgHandler extends AbstractClientMsgHandler { @@ -148,7 +148,7 @@ public class TrackWindowMsgHandler extends AbstractClientMsgHandler {
else if (awo.getObjectType().equals(mbEnums.GameObjectType.PlayerCharacter)) {
PlayerBonuses bonus = ((PlayerCharacter) awo).getBonuses();
if (bonus != null && bonus.getBool(mbEnums.ModType.CannotTrack, mbEnums.SourceType.None))
if (bonus != null && bonus.getBool(mbEnums.ModType.CannotTrack, mbEnums.EffectSourceType.None))
it.remove();
}
}

60
src/engine/objects/AbstractCharacter.java

@ -527,7 +527,7 @@ public abstract class AbstractCharacter extends AbstractWorldObject { @@ -527,7 +527,7 @@ public abstract class AbstractCharacter extends AbstractWorldObject {
boolean canFly = false;
PlayerBonuses bonus = flyer.getBonuses();
if (bonus != null && !bonus.getBool(ModType.NoMod, SourceType.Fly) && bonus.getBool(ModType.Fly, SourceType.None) && flyer.isAlive())
if (bonus != null && !bonus.getBool(ModType.NoMod, EffectSourceType.Flight) && bonus.getBool(ModType.Fly, EffectSourceType.None) && flyer.isAlive())
canFly = true;
return canFly;
@ -613,10 +613,10 @@ public abstract class AbstractCharacter extends AbstractWorldObject { @@ -613,10 +613,10 @@ public abstract class AbstractCharacter extends AbstractWorldObject {
if (abstractCharacter.bonuses != null) {
// add any bonuses
defense += (short) abstractCharacter.bonuses.getFloat(ModType.DCV, SourceType.None);
defense += (short) abstractCharacter.bonuses.getFloat(ModType.DCV, EffectSourceType.None);
// Finally multiply any percent modifiers. DO THIS LAST!
float pos_Bonus = abstractCharacter.bonuses.getFloatPercentPositive(ModType.DCV, SourceType.None);
float pos_Bonus = abstractCharacter.bonuses.getFloatPercentPositive(ModType.DCV, EffectSourceType.None);
defense = (short) (defense * (1 + pos_Bonus));
//Lucky rune applies next
@ -625,7 +625,7 @@ public abstract class AbstractCharacter extends AbstractWorldObject { @@ -625,7 +625,7 @@ public abstract class AbstractCharacter extends AbstractWorldObject {
//and negative percent modifiers
//already done...
float neg_Bonus = abstractCharacter.bonuses.getFloatPercentNegative(ModType.DCV, SourceType.None);
float neg_Bonus = abstractCharacter.bonuses.getFloatPercentNegative(ModType.DCV, EffectSourceType.None);
defense = (short) (defense * (1 + neg_Bonus));
} else
@ -728,7 +728,7 @@ public abstract class AbstractCharacter extends AbstractWorldObject { @@ -728,7 +728,7 @@ public abstract class AbstractCharacter extends AbstractWorldObject {
abstractCharacter.rangeHandTwo = weapon.template.item_weapon_max_range * (1 + (abstractCharacter.statStrBase / 600));
if (abstractCharacter.bonuses != null) {
float range_bonus = 1 + abstractCharacter.bonuses.getFloatPercentAll(ModType.WeaponRange, SourceType.None);
float range_bonus = 1 + abstractCharacter.bonuses.getFloatPercentAll(ModType.WeaponRange, EffectSourceType.None);
if (mainHand)
abstractCharacter.rangeHandOne *= range_bonus;
@ -772,10 +772,10 @@ public abstract class AbstractCharacter extends AbstractWorldObject { @@ -772,10 +772,10 @@ public abstract class AbstractCharacter extends AbstractWorldObject {
// add in any bonuses to atr
if (abstractCharacter.bonuses != null) {
// Add any base bonuses
atr += abstractCharacter.bonuses.getFloat(ModType.OCV, SourceType.None);
atr += abstractCharacter.bonuses.getFloat(ModType.OCV, EffectSourceType.None);
// Finally use any multipliers. DO THIS LAST!
float pos_Bonus = (1 + abstractCharacter.bonuses.getFloatPercentPositive(ModType.OCV, SourceType.None));
float pos_Bonus = (1 + abstractCharacter.bonuses.getFloatPercentPositive(ModType.OCV, EffectSourceType.None));
atr *= pos_Bonus;
// next precise
@ -783,7 +783,7 @@ public abstract class AbstractCharacter extends AbstractWorldObject { @@ -783,7 +783,7 @@ public abstract class AbstractCharacter extends AbstractWorldObject {
// atr *= (1 + ((float) this.bonuses.getShort("rune.Attack") / 100));
//and negative percent modifiers
float neg_Bonus = abstractCharacter.bonuses.getFloatPercentNegative(ModType.OCV, SourceType.None);
float neg_Bonus = abstractCharacter.bonuses.getFloatPercentNegative(ModType.OCV, EffectSourceType.None);
atr *= (1 + neg_Bonus);
}
@ -803,7 +803,7 @@ public abstract class AbstractCharacter extends AbstractWorldObject { @@ -803,7 +803,7 @@ public abstract class AbstractCharacter extends AbstractWorldObject {
else
speed = 20f; //unarmed attack speed
if (weapon != null)
speed *= (1 + abstractCharacter.bonuses.getFloatPercentAll(ModType.WeaponSpeed, SourceType.None));
speed *= (1 + abstractCharacter.bonuses.getFloatPercentAll(ModType.WeaponSpeed, EffectSourceType.None));
PlayerBonuses bonuses = abstractCharacter.bonuses;
if (bonuses != null) {
@ -823,7 +823,7 @@ public abstract class AbstractCharacter extends AbstractWorldObject { @@ -823,7 +823,7 @@ public abstract class AbstractCharacter extends AbstractWorldObject {
speed *= (1 + bonuses.bonusFloats.get(mod));
}
}
//speed *= (1 + abstractCharacter.bonuses.getFloatPercentAll(ModType.AttackDelay, SourceType.None));
//speed *= (1 + abstractCharacter.bonuses.getFloatPercentAll(ModType.AttackDelay, EffectSourceType.None));
if (speed < 10)
speed = 10;
@ -832,22 +832,22 @@ public abstract class AbstractCharacter extends AbstractWorldObject { @@ -832,22 +832,22 @@ public abstract class AbstractCharacter extends AbstractWorldObject {
if (weapon != null) {
// Add any base bonuses
min += weapon.getBonus(ModType.MinDamage, SourceType.None);
max += weapon.getBonus(ModType.MaxDamage, SourceType.None);
min += weapon.getBonus(ModType.MinDamage, EffectSourceType.None);
max += weapon.getBonus(ModType.MaxDamage, EffectSourceType.None);
min += weapon.getBonus(ModType.MeleeDamageModifier, SourceType.None);
max += weapon.getBonus(ModType.MeleeDamageModifier, SourceType.None);
min += weapon.getBonus(ModType.MeleeDamageModifier, EffectSourceType.None);
max += weapon.getBonus(ModType.MeleeDamageModifier, EffectSourceType.None);
// Finally use any multipliers. DO THIS LAST!
float percentMinDamage = 1;
float percentMaxDamage = 1;
percentMinDamage += weapon.getBonusPercent(ModType.MinDamage, SourceType.None);
percentMinDamage += weapon.getBonusPercent(ModType.MeleeDamageModifier, SourceType.None);
percentMinDamage += weapon.getBonusPercent(ModType.MinDamage, EffectSourceType.None);
percentMinDamage += weapon.getBonusPercent(ModType.MeleeDamageModifier, EffectSourceType.None);
percentMaxDamage += weapon.getBonusPercent(ModType.MaxDamage, SourceType.None);
percentMaxDamage += weapon.getBonusPercent(ModType.MeleeDamageModifier, SourceType.None);
percentMaxDamage += weapon.getBonusPercent(ModType.MaxDamage, EffectSourceType.None);
percentMaxDamage += weapon.getBonusPercent(ModType.MeleeDamageModifier, EffectSourceType.None);
min *= percentMinDamage;
@ -884,21 +884,21 @@ public abstract class AbstractCharacter extends AbstractWorldObject { @@ -884,21 +884,21 @@ public abstract class AbstractCharacter extends AbstractWorldObject {
// add in any bonuses to damage
if (abstractCharacter.bonuses != null) {
// Add any base bonuses
minDamage += abstractCharacter.bonuses.getFloat(ModType.MinDamage, SourceType.None);
maxDamage += abstractCharacter.bonuses.getFloat(ModType.MaxDamage, SourceType.None);
minDamage += abstractCharacter.bonuses.getFloat(ModType.MinDamage, EffectSourceType.None);
maxDamage += abstractCharacter.bonuses.getFloat(ModType.MaxDamage, EffectSourceType.None);
minDamage += abstractCharacter.bonuses.getFloat(ModType.MeleeDamageModifier, SourceType.None);
maxDamage += abstractCharacter.bonuses.getFloat(ModType.MeleeDamageModifier, SourceType.None);
minDamage += abstractCharacter.bonuses.getFloat(ModType.MeleeDamageModifier, EffectSourceType.None);
maxDamage += abstractCharacter.bonuses.getFloat(ModType.MeleeDamageModifier, EffectSourceType.None);
// Finally use any multipliers. DO THIS LAST!
float percentMinDamage = 1;
float percentMaxDamage = 1;
percentMinDamage += abstractCharacter.bonuses.getFloatPercentAll(ModType.MinDamage, SourceType.None);
percentMinDamage += abstractCharacter.bonuses.getFloatPercentAll(ModType.MeleeDamageModifier, SourceType.None);
percentMinDamage += abstractCharacter.bonuses.getFloatPercentAll(ModType.MinDamage, EffectSourceType.None);
percentMinDamage += abstractCharacter.bonuses.getFloatPercentAll(ModType.MeleeDamageModifier, EffectSourceType.None);
percentMaxDamage += abstractCharacter.bonuses.getFloatPercentAll(ModType.MaxDamage, SourceType.None);
percentMaxDamage += abstractCharacter.bonuses.getFloatPercentAll(ModType.MeleeDamageModifier, SourceType.None);
percentMaxDamage += abstractCharacter.bonuses.getFloatPercentAll(ModType.MaxDamage, EffectSourceType.None);
percentMaxDamage += abstractCharacter.bonuses.getFloatPercentAll(ModType.MeleeDamageModifier, EffectSourceType.None);
minDamage *= percentMinDamage;
maxDamage *= percentMaxDamage;
@ -947,8 +947,8 @@ public abstract class AbstractCharacter extends AbstractWorldObject { @@ -947,8 +947,8 @@ public abstract class AbstractCharacter extends AbstractWorldObject {
//apply item defense bonuses
if (shield != null) {
def += shield.getBonus(ModType.DR, SourceType.None);
def *= (1 + shield.getBonusPercent(ModType.DR, SourceType.None));
def += shield.getBonus(ModType.DR, EffectSourceType.None);
def *= (1 + shield.getBonusPercent(ModType.DR, EffectSourceType.None));
}
@ -991,8 +991,8 @@ public abstract class AbstractCharacter extends AbstractWorldObject { @@ -991,8 +991,8 @@ public abstract class AbstractCharacter extends AbstractWorldObject {
//apply item defense bonuses
if (armor != null) {
def += armor.getBonus(ModType.DR, SourceType.None);
def *= (1 + armor.getBonusPercent(ModType.DR, SourceType.None));
def += armor.getBonus(ModType.DR, EffectSourceType.None);
def *= (1 + armor.getBonusPercent(ModType.DR, EffectSourceType.None));
}
return (def * (1 + ((int) armorSkill.getModifiedAmount() / 50f)));

4
src/engine/objects/AbstractIntelligenceAgent.java

@ -14,9 +14,9 @@ import engine.gameManager.DispatchManager; @@ -14,9 +14,9 @@ import engine.gameManager.DispatchManager;
import engine.gameManager.ZoneManager;
import engine.math.Vector3fImmutable;
import engine.mbEnums;
import engine.mbEnums.EffectSourceType;
import engine.mbEnums.GameObjectType;
import engine.mbEnums.ModType;
import engine.mbEnums.SourceType;
import engine.mobileAI.Threads.MobAIThread;
import engine.net.Dispatch;
import engine.net.client.msg.PetMsg;
@ -141,7 +141,7 @@ public abstract class AbstractIntelligenceAgent extends AbstractCharacter { @@ -141,7 +141,7 @@ public abstract class AbstractIntelligenceAgent extends AbstractCharacter {
float ret = MobAIThread.AI_BASE_AGGRO_RANGE;
if (this.bonuses != null)
ret *= (1 + this.bonuses.getFloatPercentAll(ModType.ScanRange, SourceType.None));
ret *= (1 + this.bonuses.getFloatPercentAll(ModType.ScanRange, EffectSourceType.None));
return ret;
}

14
src/engine/objects/CharacterSkill.java

@ -11,8 +11,8 @@ package engine.objects; @@ -11,8 +11,8 @@ package engine.objects;
import engine.gameManager.DbManager;
import engine.mbEnums;
import engine.mbEnums.EffectSourceType;
import engine.mbEnums.ModType;
import engine.mbEnums.SourceType;
import engine.net.ByteBufferWriter;
import engine.server.MBServerStatics;
import org.pmw.tinylog.Logger;
@ -306,12 +306,12 @@ public class CharacterSkill extends AbstractGameObject { @@ -306,12 +306,12 @@ public class CharacterSkill extends AbstractGameObject {
PlayerBonuses bonus = ac.getBonuses();
if (bonus == null)
return atr;
atr += bonus.getFloat(ModType.OCV, SourceType.None);
float pos_Bonus = bonus.getFloatPercentPositive(ModType.OCV, SourceType.None);
atr += bonus.getFloat(ModType.OCV, EffectSourceType.None);
float pos_Bonus = bonus.getFloatPercentPositive(ModType.OCV, EffectSourceType.None);
atr *= (1 + pos_Bonus);
//rUNES will already be applied
// atr *= (1 + ((float)bonus.getShort("rune.Attack") / 100)); //precise
float neg_Bonus = bonus.getFloatPercentNegative(ModType.OCV, SourceType.None);
float neg_Bonus = bonus.getFloatPercentNegative(ModType.OCV, EffectSourceType.None);
atr *= (1 + neg_Bonus);
return atr;
}
@ -462,7 +462,7 @@ public class CharacterSkill extends AbstractGameObject { @@ -462,7 +462,7 @@ public class CharacterSkill extends AbstractGameObject {
}
float bonus = 0f;
SourceType sourceType = SourceType.GetSourceType(sb.getNameNoSpace());
EffectSourceType sourceType = EffectSourceType.getEffectSourceType(sb.getNameNoSpace());
if (pc.getBonuses() != null) {
//Get bonuses from runes
bonus = pc.getBonuses().getSkillBonus(sb.sourceType);
@ -1103,7 +1103,7 @@ public class CharacterSkill extends AbstractGameObject { @@ -1103,7 +1103,7 @@ public class CharacterSkill extends AbstractGameObject {
statMod = 600f;
}
base += CharacterSkill.baseSkillValues[(int) statMod];
SourceType sourceType = SourceType.GetSourceType(this.skillsBase.getNameNoSpace());
EffectSourceType sourceType = EffectSourceType.getEffectSourceType(this.skillsBase.getNameNoSpace());
//Get any rune, effect and item bonus
@ -1217,7 +1217,7 @@ public class CharacterSkill extends AbstractGameObject { @@ -1217,7 +1217,7 @@ public class CharacterSkill extends AbstractGameObject {
return 0;
float bonus = 0f;
SourceType sourceType = SourceType.GetSourceType(this.skillsBase.getNameNoSpace());
EffectSourceType sourceType = EffectSourceType.getEffectSourceType(this.skillsBase.getNameNoSpace());
if (CharacterSkill.GetOwner(this).getBonuses() != null) {
//Get bonuses from runes
bonus = CharacterSkill.GetOwner(this).getBonuses().getSkillBonus(this.skillsBase.sourceType);

4
src/engine/objects/Item.java

@ -694,7 +694,7 @@ public class Item extends AbstractWorldObject { @@ -694,7 +694,7 @@ public class Item extends AbstractWorldObject {
this.bonuses.clear();
}
public float getBonus(ModType modType, SourceType sourceType) {
public float getBonus(ModType modType, EffectSourceType sourceType) {
int amount = 0;
for (AbstractEffectModifier modifier : this.getBonuses().keySet()) {
@ -707,7 +707,7 @@ public class Item extends AbstractWorldObject { @@ -707,7 +707,7 @@ public class Item extends AbstractWorldObject {
return amount;
}
public float getBonusPercent(ModType modType, SourceType sourceType) {
public float getBonusPercent(ModType modType, EffectSourceType sourceType) {
int amount = 0;
for (AbstractEffectModifier modifier : this.getBonuses().keySet()) {

36
src/engine/objects/Mob.java

@ -708,19 +708,19 @@ public class Mob extends AbstractIntelligenceAgent implements Delayed { @@ -708,19 +708,19 @@ public class Mob extends AbstractIntelligenceAgent implements Delayed {
// TODO modify for equipment
if (this.bonuses != null) {
// modify for effects
strVal += this.bonuses.getFloat(ModType.Attr, SourceType.Strength);
dexVal += this.bonuses.getFloat(ModType.Attr, SourceType.Dexterity);
conVal += this.bonuses.getFloat(ModType.Attr, SourceType.Constitution);
intVal += this.bonuses.getFloat(ModType.Attr, SourceType.Intelligence);
spiVal += this.bonuses.getFloat(ModType.Attr, SourceType.Spirit);
strVal += this.bonuses.getFloat(ModType.Attr, EffectSourceType.Strength);
dexVal += this.bonuses.getFloat(ModType.Attr, EffectSourceType.Dexterity);
conVal += this.bonuses.getFloat(ModType.Attr, EffectSourceType.Constitution);
intVal += this.bonuses.getFloat(ModType.Attr, EffectSourceType.Intelligence);
spiVal += this.bonuses.getFloat(ModType.Attr, EffectSourceType.Spirit);
// apply dex penalty for armor
// modify percent amounts. DO THIS LAST!
strVal *= (1 + this.bonuses.getFloatPercentAll(ModType.Attr, SourceType.Strength));
dexVal *= (1 + this.bonuses.getFloatPercentAll(ModType.Attr, SourceType.Dexterity));
conVal *= (1 + this.bonuses.getFloatPercentAll(ModType.Attr, SourceType.Constitution));
intVal *= (1 + this.bonuses.getFloatPercentAll(ModType.Attr, SourceType.Intelligence));
spiVal *= (1 + this.bonuses.getFloatPercentAll(ModType.Attr, SourceType.Spirit));
strVal *= (1 + this.bonuses.getFloatPercentAll(ModType.Attr, EffectSourceType.Strength));
dexVal *= (1 + this.bonuses.getFloatPercentAll(ModType.Attr, EffectSourceType.Dexterity));
conVal *= (1 + this.bonuses.getFloatPercentAll(ModType.Attr, EffectSourceType.Constitution));
intVal *= (1 + this.bonuses.getFloatPercentAll(ModType.Attr, EffectSourceType.Intelligence));
spiVal *= (1 + this.bonuses.getFloatPercentAll(ModType.Attr, EffectSourceType.Spirit));
}
// Set current stats
@ -737,7 +737,7 @@ public class Mob extends AbstractIntelligenceAgent implements Delayed { @@ -737,7 +737,7 @@ public class Mob extends AbstractIntelligenceAgent implements Delayed {
float bonus = 1;
if (this.bonuses != null)
// get rune and effect bonuses
bonus *= (1 + this.bonuses.getFloatPercentAll(ModType.Speed, SourceType.None));
bonus *= (1 + this.bonuses.getFloatPercentAll(ModType.Speed, EffectSourceType.None));
if (this.isPlayerGuard())
switch (this.mobBase.getLoadID()) {
@ -834,7 +834,7 @@ public class Mob extends AbstractIntelligenceAgent implements Delayed { @@ -834,7 +834,7 @@ public class Mob extends AbstractIntelligenceAgent implements Delayed {
if (!this.isMoving())
return;
if (this.isAlive() == false || this.getBonuses().getBool(ModType.Stunned, SourceType.None) || this.getBonuses().getBool(ModType.CannotMove, SourceType.None)) {
if (this.isAlive() == false || this.getBonuses().getBool(ModType.Stunned, EffectSourceType.None) || this.getBonuses().getBool(ModType.CannotMove, EffectSourceType.None)) {
//Target is stunned or rooted. Don't move
this.stopMovement(this.getMovementLoc());
@ -1070,15 +1070,15 @@ public class Mob extends AbstractIntelligenceAgent implements Delayed { @@ -1070,15 +1070,15 @@ public class Mob extends AbstractIntelligenceAgent implements Delayed {
// Apply any bonuses from runes and effects
if (this.bonuses != null) {
h += this.bonuses.getFloat(ModType.HealthFull, SourceType.None);
m += this.bonuses.getFloat(ModType.ManaFull, SourceType.None);
s += this.bonuses.getFloat(ModType.StaminaFull, SourceType.None);
h += this.bonuses.getFloat(ModType.HealthFull, EffectSourceType.None);
m += this.bonuses.getFloat(ModType.ManaFull, EffectSourceType.None);
s += this.bonuses.getFloat(ModType.StaminaFull, EffectSourceType.None);
//apply effects percent modifiers. DO THIS LAST!
h *= (1 + this.bonuses.getFloatPercentAll(ModType.HealthFull, SourceType.None));
m *= (1 + this.bonuses.getFloatPercentAll(ModType.ManaFull, SourceType.None));
s *= (1 + this.bonuses.getFloatPercentAll(ModType.StaminaFull, SourceType.None));
h *= (1 + this.bonuses.getFloatPercentAll(ModType.HealthFull, EffectSourceType.None));
m *= (1 + this.bonuses.getFloatPercentAll(ModType.ManaFull, EffectSourceType.None));
s *= (1 + this.bonuses.getFloatPercentAll(ModType.StaminaFull, EffectSourceType.None));
}
// Set max health, mana and stamina

42
src/engine/objects/PlayerBonuses.java

@ -13,8 +13,8 @@ import engine.gameManager.ChatManager; @@ -13,8 +13,8 @@ import engine.gameManager.ChatManager;
import engine.gameManager.ConfigManager;
import engine.gameManager.PowersManager;
import engine.mbEnums;
import engine.mbEnums.EffectSourceType;
import engine.mbEnums.ModType;
import engine.mbEnums.SourceType;
import engine.powers.DamageShield;
import engine.powers.EffectsBase;
import engine.powers.effectmodifiers.AbstractEffectModifier;
@ -30,9 +30,9 @@ public class PlayerBonuses { @@ -30,9 +30,9 @@ public class PlayerBonuses {
ConcurrentHashMap<AbstractEffectModifier, Float> bonusFloats = new ConcurrentHashMap<>();
private ConcurrentHashMap<AbstractEffectModifier, DamageShield> bonusDamageShields = new ConcurrentHashMap<>();
private ConcurrentHashMap<AbstractEffectModifier, String> bonusStrings = new ConcurrentHashMap<>();
private ConcurrentHashMap<ModType, HashSet<SourceType>> bonusLists = new ConcurrentHashMap<>();
private ConcurrentHashMap<ModType, HashMap<SourceType, Boolean>> bonusBools = new ConcurrentHashMap<>();
private ConcurrentHashMap<SourceType, Float> skillBonuses = new ConcurrentHashMap<>();
private ConcurrentHashMap<ModType, HashSet<EffectSourceType>> bonusLists = new ConcurrentHashMap<>();
private ConcurrentHashMap<ModType, HashMap<EffectSourceType, Boolean>> bonusBools = new ConcurrentHashMap<>();
private ConcurrentHashMap<EffectSourceType, Float> skillBonuses = new ConcurrentHashMap<>();
private ConcurrentHashMap<ModType, Float> regens = new ConcurrentHashMap<>();
//If active == 0 then all gets come from the A list and all puts go to the B list
@ -229,7 +229,7 @@ public class PlayerBonuses { @@ -229,7 +229,7 @@ public class PlayerBonuses {
//Update seeInvis if needed
float seeInvis = this.getFloat(ModType.SeeInvisible, SourceType.None);
float seeInvis = this.getFloat(ModType.SeeInvisible, EffectSourceType.None);
if (pc.getSeeInvis() < seeInvis)
pc.setSeeInvis((short) seeInvis);
@ -254,7 +254,7 @@ public class PlayerBonuses { @@ -254,7 +254,7 @@ public class PlayerBonuses {
this.bonusStrings.remove(mod);
}
public void setList(ModType mod, HashSet<SourceType> val) {
public void setList(ModType mod, HashSet<EffectSourceType> val) {
if (!val.equals(null))
this.bonusLists.put(mod, val);
else
@ -281,7 +281,7 @@ public class PlayerBonuses { @@ -281,7 +281,7 @@ public class PlayerBonuses {
}
public boolean getBool(ModType modType, SourceType sourceType) {
public boolean getBool(ModType modType, EffectSourceType sourceType) {
if (this.bonusBools.containsKey(modType) == false)
return false;
@ -293,7 +293,7 @@ public class PlayerBonuses { @@ -293,7 +293,7 @@ public class PlayerBonuses {
}
public float getSkillBonus(SourceType sourceType) {
public float getSkillBonus(EffectSourceType sourceType) {
if (this.skillBonuses.containsKey(sourceType) == false)
return 0;
@ -301,7 +301,7 @@ public class PlayerBonuses { @@ -301,7 +301,7 @@ public class PlayerBonuses {
}
public float getFloat(ModType modType, SourceType sourceType) {
public float getFloat(ModType modType, EffectSourceType sourceType) {
float amount = 0;
for (AbstractEffectModifier mod : this.bonusFloats.keySet()) {
if (mod.getPercentMod() != 0)
@ -317,7 +317,7 @@ public class PlayerBonuses { @@ -317,7 +317,7 @@ public class PlayerBonuses {
return amount;
}
public float getFloatPercentPositive(ModType modType, SourceType sourceType) {
public float getFloatPercentPositive(ModType modType, EffectSourceType sourceType) {
float amount = 0;
for (AbstractEffectModifier mod : this.bonusFloats.keySet()) {
@ -340,7 +340,7 @@ public class PlayerBonuses { @@ -340,7 +340,7 @@ public class PlayerBonuses {
return amount;
}
public float getFloatPercentAll(ModType modType, SourceType sourceType) {
public float getFloatPercentAll(ModType modType, EffectSourceType sourceType) {
float amount = 0;
for (AbstractEffectModifier mod : this.bonusFloats.keySet()) {
@ -365,7 +365,7 @@ public class PlayerBonuses { @@ -365,7 +365,7 @@ public class PlayerBonuses {
}
public float getFloatPercentNullZero(ModType modType, SourceType sourceType) {
public float getFloatPercentNullZero(ModType modType, EffectSourceType sourceType) {
float amount = 0;
for (AbstractEffectModifier mod : this.bonusFloats.keySet()) {
@ -382,7 +382,7 @@ public class PlayerBonuses { @@ -382,7 +382,7 @@ public class PlayerBonuses {
return amount;
}
public float getFloatPercentNegative(ModType modType, SourceType sourceType) {
public float getFloatPercentNegative(ModType modType, EffectSourceType sourceType) {
float amount = 0;
for (AbstractEffectModifier mod : this.bonusFloats.keySet()) {
@ -404,7 +404,7 @@ public class PlayerBonuses { @@ -404,7 +404,7 @@ public class PlayerBonuses {
}
public HashSet<SourceType> getList(ModType modType) {
public HashSet<EffectSourceType> getList(ModType modType) {
if (this.bonusLists.containsKey(modType))
return this.bonusLists.get(modType);
else
@ -442,7 +442,7 @@ public class PlayerBonuses { @@ -442,7 +442,7 @@ public class PlayerBonuses {
for (ModType modType : this.bonusBools.keySet()) {
for (SourceType sourceType : this.bonusBools.get(modType).keySet()) {
for (EffectSourceType sourceType : this.bonusBools.get(modType).keySet()) {
ChatManager.chatSystemInfo(pc, modType.name() + "-" + sourceType.name() + " = " + this.bonusBools.get(modType).get(sourceType));
}
}
@ -452,19 +452,19 @@ public class PlayerBonuses { @@ -452,19 +452,19 @@ public class PlayerBonuses {
if (modType.equals(ModType.StaminaRecoverRate) || modType.equals(ModType.HealthRecoverRate) || modType.equals(ModType.ManaRecoverRate))
ChatManager.chatSystemInfo(pc, modType.name() + " = " + this.getRegen(modType));
else
for (SourceType sourceType : SourceType.values()) {
for (EffectSourceType sourceType : EffectSourceType.values()) {
float amount = this.getFloat(modType, sourceType);
float percentAmount = this.getFloatPercentPositive(modType, sourceType);
float percentAmountNegative = this.getFloatPercentNegative(modType, sourceType);
if (amount != 0)
ChatManager.chatSystemInfo(pc, modType.name() + "-" + (sourceType.equals(SourceType.None) == false ? sourceType.name() : "") + " = " + amount);
ChatManager.chatSystemInfo(pc, modType.name() + "-" + (sourceType.equals(EffectSourceType.None) == false ? sourceType.name() : "") + " = " + amount);
if (percentAmount != 0)
ChatManager.chatSystemInfo(pc, "Percent : " + modType.name() + "-" + (sourceType.equals(SourceType.None) == false ? sourceType.name() : "") + " = " + percentAmount);
ChatManager.chatSystemInfo(pc, "Percent : " + modType.name() + "-" + (sourceType.equals(EffectSourceType.None) == false ? sourceType.name() : "") + " = " + percentAmount);
if (percentAmountNegative != 0)
ChatManager.chatSystemInfo(pc, "Negative Percent : " + modType.name() + "-" + (sourceType.equals(SourceType.None) == false ? sourceType.name() : "") + " = " + percentAmountNegative);
ChatManager.chatSystemInfo(pc, "Negative Percent : " + modType.name() + "-" + (sourceType.equals(EffectSourceType.None) == false ? sourceType.name() : "") + " = " + percentAmountNegative);
}
}
@ -472,11 +472,11 @@ public class PlayerBonuses { @@ -472,11 +472,11 @@ public class PlayerBonuses {
}
public void setBool(ModType modType, SourceType sourceType, boolean val) {
public void setBool(ModType modType, EffectSourceType sourceType, boolean val) {
if (val == true) {
if (this.bonusBools.get(modType) == null) {
HashMap<SourceType, Boolean> sourceMap = new HashMap<>();
HashMap<EffectSourceType, Boolean> sourceMap = new HashMap<>();
this.bonusBools.put(modType, sourceMap);
}

58
src/engine/objects/PlayerCharacter.java

@ -3093,7 +3093,7 @@ public class PlayerCharacter extends AbstractCharacter { @@ -3093,7 +3093,7 @@ public class PlayerCharacter extends AbstractCharacter {
if (this.bonuses != null)
// get rune and effect bonuses
bonus += this.bonuses.getFloatPercentNullZero(ModType.Speed, SourceType.None);
bonus += this.bonuses.getFloatPercentNullZero(ModType.Speed, EffectSourceType.None);
// TODO get equip bonus
this.update();
@ -3597,8 +3597,8 @@ public class PlayerCharacter extends AbstractCharacter { @@ -3597,8 +3597,8 @@ public class PlayerCharacter extends AbstractCharacter {
//calculateModifiedStats();
//update hide and seeInvis levels
if (this.bonuses != null) {
this.hidden = (int) bonuses.getFloat(ModType.Invisible, SourceType.None);
this.seeInvis = (int) bonuses.getFloat(ModType.SeeInvisible, SourceType.None);
this.hidden = (int) bonuses.getFloat(ModType.Invisible, EffectSourceType.None);
this.seeInvis = (int) bonuses.getFloat(ModType.SeeInvisible, EffectSourceType.None);
} else {
this.hidden = (byte) 0;
this.seeInvis = (byte) 0;
@ -3666,21 +3666,21 @@ public class PlayerCharacter extends AbstractCharacter { @@ -3666,21 +3666,21 @@ public class PlayerCharacter extends AbstractCharacter {
// TODO modify for equipment
if (this.bonuses != null) {
// modify for effects
strVal += Math.round(this.bonuses.getFloat(ModType.Attr, SourceType.Strength));
dexVal += Math.round(this.bonuses.getFloat(ModType.Attr, SourceType.Dexterity));
conVal += Math.round(this.bonuses.getFloat(ModType.Attr, SourceType.Constitution));
intVal += Math.round(this.bonuses.getFloat(ModType.Attr, SourceType.Intelligence));
spiVal += Math.round(this.bonuses.getFloat(ModType.Attr, SourceType.Spirit));
strVal += Math.round(this.bonuses.getFloat(ModType.Attr, EffectSourceType.Strength));
dexVal += Math.round(this.bonuses.getFloat(ModType.Attr, EffectSourceType.Dexterity));
conVal += Math.round(this.bonuses.getFloat(ModType.Attr, EffectSourceType.Constitution));
intVal += Math.round(this.bonuses.getFloat(ModType.Attr, EffectSourceType.Intelligence));
spiVal += Math.round(this.bonuses.getFloat(ModType.Attr, EffectSourceType.Spirit));
// apply dex penalty for armor
dexVal *= this.dexPenalty;
// modify percent amounts. DO THIS LAST!
strVal *= (1 + this.bonuses.getFloatPercentAll(ModType.Attr, SourceType.Strength));
dexVal *= (1 + this.bonuses.getFloatPercentAll(ModType.Attr, SourceType.Dexterity));
conVal *= (1 + this.bonuses.getFloatPercentAll(ModType.Attr, SourceType.Constitution));
intVal *= (1 + this.bonuses.getFloatPercentAll(ModType.Attr, SourceType.Intelligence));
spiVal *= (1 + this.bonuses.getFloatPercentAll(ModType.Attr, SourceType.Spirit));
strVal *= (1 + this.bonuses.getFloatPercentAll(ModType.Attr, EffectSourceType.Strength));
dexVal *= (1 + this.bonuses.getFloatPercentAll(ModType.Attr, EffectSourceType.Dexterity));
conVal *= (1 + this.bonuses.getFloatPercentAll(ModType.Attr, EffectSourceType.Constitution));
intVal *= (1 + this.bonuses.getFloatPercentAll(ModType.Attr, EffectSourceType.Intelligence));
spiVal *= (1 + this.bonuses.getFloatPercentAll(ModType.Attr, EffectSourceType.Spirit));
} else
// apply dex penalty for armor
@ -3776,24 +3776,24 @@ public class PlayerCharacter extends AbstractCharacter { @@ -3776,24 +3776,24 @@ public class PlayerCharacter extends AbstractCharacter {
wbOff = off.template;
//set block if block found
this.bonuses.setBool(ModType.Block, SourceType.None, false);
this.bonuses.setBool(ModType.Block, EffectSourceType.None, false);
if (this.baseClass != null && (this.baseClass.getObjectUUID() == 2500 || this.baseClass.getObjectUUID() == 2501))
if (off != null && off.template != null && ItemManager.isShield(off))
this.bonuses.setBool(ModType.Block, SourceType.None, true);
this.bonuses.setBool(ModType.Block, EffectSourceType.None, true);
//set dodge if rogue
if (this.baseClass != null && this.baseClass.getObjectUUID() == 2502)
this.bonuses.setBool(ModType.Dodge, SourceType.None, true);
this.bonuses.setBool(ModType.Dodge, EffectSourceType.None, true);
else
this.bonuses.setBool(ModType.Dodge, SourceType.None, false);
this.bonuses.setBool(ModType.Dodge, EffectSourceType.None, false);
//set parry if fighter or thief and no invalid weapon found
this.bonuses.setBool(ModType.Parry, SourceType.None, false);
this.bonuses.setBool(ModType.Parry, EffectSourceType.None, false);
if ((this.baseClass != null && this.baseClass.getObjectUUID() == 2500)
|| (this.promotionClass != null && this.promotionClass.getObjectUUID() == 2520))
if (wbMain == null || wbMain.item_weapon_max_range < MBServerStatics.RANGED_WEAPON_RANGE)
if (wbOff == null || wbOff.item_weapon_max_range < MBServerStatics.RANGED_WEAPON_RANGE)
this.bonuses.setBool(ModType.Parry, SourceType.None, true);
this.bonuses.setBool(ModType.Parry, EffectSourceType.None, true);
}
@ -3892,13 +3892,13 @@ public class PlayerCharacter extends AbstractCharacter { @@ -3892,13 +3892,13 @@ public class PlayerCharacter extends AbstractCharacter {
//apply effects
h += this.bonuses.getFloat(ModType.HealthFull, SourceType.None);
m += this.bonuses.getFloat(ModType.ManaFull, SourceType.None);
s += this.bonuses.getFloat(ModType.StaminaFull, SourceType.None);
h += this.bonuses.getFloat(ModType.HealthFull, EffectSourceType.None);
m += this.bonuses.getFloat(ModType.ManaFull, EffectSourceType.None);
s += this.bonuses.getFloat(ModType.StaminaFull, EffectSourceType.None);
h *= (1 + this.bonuses.getFloatPercentAll(ModType.HealthFull, SourceType.None));
m *= (1 + this.bonuses.getFloatPercentAll(ModType.ManaFull, SourceType.None));
s *= (1 + this.bonuses.getFloatPercentAll(ModType.StaminaFull, SourceType.None));
h *= (1 + this.bonuses.getFloatPercentAll(ModType.HealthFull, EffectSourceType.None));
m *= (1 + this.bonuses.getFloatPercentAll(ModType.ManaFull, EffectSourceType.None));
s *= (1 + this.bonuses.getFloatPercentAll(ModType.StaminaFull, EffectSourceType.None));
}
@ -3933,11 +3933,11 @@ public class PlayerCharacter extends AbstractCharacter { @@ -3933,11 +3933,11 @@ public class PlayerCharacter extends AbstractCharacter {
ModType modType = ModType.GetModType(type);
// must be allowed to use this passive
if (!this.bonuses.getBool(modType, SourceType.None))
if (!this.bonuses.getBool(modType, EffectSourceType.None))
return 0f;
// must not be stunned
if (this.bonuses.getBool(ModType.Stunned, SourceType.None))
if (this.bonuses.getBool(ModType.Stunned, EffectSourceType.None))
return 0f;
// Get base skill amount
@ -3949,7 +3949,7 @@ public class PlayerCharacter extends AbstractCharacter { @@ -3949,7 +3949,7 @@ public class PlayerCharacter extends AbstractCharacter {
amount = sk.getModifiedAmount();
// Add bonuses
amount += this.bonuses.getFloat(modType, SourceType.None);
amount += this.bonuses.getFloat(modType, EffectSourceType.None);
// Add item bonuses and return
if (type.equals(ModType.Dodge) && !fromCombat)
@ -4383,7 +4383,7 @@ public class PlayerCharacter extends AbstractCharacter { @@ -4383,7 +4383,7 @@ public class PlayerCharacter extends AbstractCharacter {
Vector3fImmutable newLoc = this.getMovementLoc();
if (this.isAlive() == false || this.getBonuses().getBool(ModType.Stunned, SourceType.None) || this.getBonuses().getBool(ModType.CannotMove, SourceType.None)) {
if (this.isAlive() == false || this.getBonuses().getBool(ModType.Stunned, EffectSourceType.None) || this.getBonuses().getBool(ModType.CannotMove, EffectSourceType.None)) {
//Target is stunned or rooted. Don't move
this.stopMovement(newLoc);
return;

60
src/engine/objects/Resists.java

@ -12,8 +12,8 @@ package engine.objects; @@ -12,8 +12,8 @@ package engine.objects;
import engine.gameManager.ChatManager;
import engine.gameManager.DbManager;
import engine.mbEnums;
import engine.mbEnums.EffectSourceType;
import engine.mbEnums.ModType;
import engine.mbEnums.SourceType;
import engine.server.MBServerStatics;
import org.pmw.tinylog.Logger;
@ -105,7 +105,7 @@ public class Resists { @@ -105,7 +105,7 @@ public class Resists {
PlayerBonuses bonus = target.getBonuses();
//see if there is a fortitude
float damageCap = bonus.getFloatPercentAll(ModType.DamageCap, SourceType.None);
float damageCap = bonus.getFloatPercentAll(ModType.DamageCap, EffectSourceType.None);
if (damageCap == 0f || type == mbEnums.DamageType.HEALING)
return damage;
@ -117,7 +117,7 @@ public class Resists { @@ -117,7 +117,7 @@ public class Resists {
//let's see if valid damagetype to apply it
boolean exclusive;
HashSet<SourceType> forts = bonus.getList(ModType.IgnoreDamageCap);
HashSet<EffectSourceType> forts = bonus.getList(ModType.IgnoreDamageCap);
if (forts == null) {
exclusive = true;
forts = bonus.getList(ModType.ExclusiveDamageCap);
@ -126,15 +126,15 @@ public class Resists { @@ -126,15 +126,15 @@ public class Resists {
if (forts == null || !isValidDamageCapType(forts, type, exclusive))
return damage;
float adjustedDamage = bonus.getFloatPercentAll(ModType.AdjustAboveDmgCap, SourceType.None);
float adjustedDamage = bonus.getFloatPercentAll(ModType.AdjustAboveDmgCap, EffectSourceType.None);
//Adjust damage down and return new amount
float aadc = 1 + adjustedDamage;
return capFire * aadc;
}
//Test if Damagetype is valid for foritude
private static boolean isValidDamageCapType(HashSet<SourceType> forts, mbEnums.DamageType damageType, boolean exclusive) {
for (SourceType fort : forts) {
private static boolean isValidDamageCapType(HashSet<EffectSourceType> forts, mbEnums.DamageType damageType, boolean exclusive) {
for (EffectSourceType fort : forts) {
mbEnums.DamageType dt = mbEnums.DamageType.getDamageType(fort.name());
if (dt.equals(mbEnums.DamageType.NONE))
@ -327,7 +327,7 @@ public class Resists { @@ -327,7 +327,7 @@ public class Resists {
damage = handleFortitude(target, type, damage);
//calculate armor piercing
float ap = source.getBonuses().getFloatPercentAll(ModType.ArmorPiercing, SourceType.None);
float ap = source.getBonuses().getFloatPercentAll(ModType.ArmorPiercing, EffectSourceType.None);
float damageAfterResists = damage * (1 - (this.getResist(type, trains) * 0.01f) + ap);
//check to see if any damage absorbers should cancel
@ -346,41 +346,41 @@ public class Resists { @@ -346,41 +346,41 @@ public class Resists {
if (rb != null) {
// Handle immunities
if (rb.getBool(ModType.ImmuneTo, SourceType.Stun))
if (rb.getBool(ModType.ImmuneTo, EffectSourceType.Stun))
this.immuneTo.put(mbEnums.DamageType.STUN, true);
if (rb.getBool(ModType.ImmuneTo, SourceType.Blind))
if (rb.getBool(ModType.ImmuneTo, EffectSourceType.Blind))
this.immuneTo.put(mbEnums.DamageType.BLINDNESS, true);
if (rb.getBool(ModType.ImmuneToAttack, SourceType.None))
if (rb.getBool(ModType.ImmuneToAttack, EffectSourceType.None))
this.immuneTo.put(mbEnums.DamageType.ATTACK, true);
if (rb.getBool(ModType.ImmuneToPowers, SourceType.None))
if (rb.getBool(ModType.ImmuneToPowers, EffectSourceType.None))
this.immuneTo.put(mbEnums.DamageType.POWERS, true);
if (rb.getBool(ModType.ImmuneTo, SourceType.Powerblock))
if (rb.getBool(ModType.ImmuneTo, EffectSourceType.Powerblock))
this.immuneTo.put(mbEnums.DamageType.POWERINHIBITOR, true);
if (rb.getBool(ModType.ImmuneTo, SourceType.DeBuff))
if (rb.getBool(ModType.ImmuneTo, EffectSourceType.DeBuff))
this.immuneTo.put(mbEnums.DamageType.DEBUFF, true);
if (rb.getBool(ModType.ImmuneTo, SourceType.Fear))
if (rb.getBool(ModType.ImmuneTo, EffectSourceType.Fear))
this.immuneTo.put(mbEnums.DamageType.FEAR, true);
if (rb.getBool(ModType.ImmuneTo, SourceType.Charm))
if (rb.getBool(ModType.ImmuneTo, EffectSourceType.Charm))
this.immuneTo.put(mbEnums.DamageType.CHARM, true);
if (rb.getBool(ModType.ImmuneTo, SourceType.Root))
if (rb.getBool(ModType.ImmuneTo, EffectSourceType.Root))
this.immuneTo.put(mbEnums.DamageType.ROOT, true);
if (rb.getBool(ModType.ImmuneTo, SourceType.Snare))
if (rb.getBool(ModType.ImmuneTo, EffectSourceType.Snare))
this.immuneTo.put(mbEnums.DamageType.SNARE, true);
// Handle resists
slash += rb.getFloat(ModType.Resistance, SourceType.Slashing);
crush += rb.getFloat(ModType.Resistance, SourceType.Crushing);
pierce += rb.getFloat(ModType.Resistance, SourceType.Piercing);
magic += rb.getFloat(ModType.Resistance, SourceType.Magic);
bleed += rb.getFloat(ModType.Resistance, SourceType.Bleeding);
poison += rb.getFloat(ModType.Resistance, SourceType.Poison);
mental += rb.getFloat(ModType.Resistance, SourceType.Mental);
holy += rb.getFloat(ModType.Resistance, SourceType.Holy);
unholy += rb.getFloat(ModType.Resistance, SourceType.Unholy);
lightning += rb.getFloat(ModType.Resistance, SourceType.Lightning);
fire += rb.getFloat(ModType.Resistance, SourceType.Fire);
cold += rb.getFloat(ModType.Resistance, SourceType.Cold);
healing += rb.getFloat(ModType.Resistance, SourceType.Healing); // DamageType.Healing.name());
slash += rb.getFloat(ModType.Resistance, EffectSourceType.Slashing);
crush += rb.getFloat(ModType.Resistance, EffectSourceType.Crushing);
pierce += rb.getFloat(ModType.Resistance, EffectSourceType.Piercing);
magic += rb.getFloat(ModType.Resistance, EffectSourceType.Magic);
bleed += rb.getFloat(ModType.Resistance, EffectSourceType.Bleeding);
poison += rb.getFloat(ModType.Resistance, EffectSourceType.Poison);
mental += rb.getFloat(ModType.Resistance, EffectSourceType.Mental);
holy += rb.getFloat(ModType.Resistance, EffectSourceType.Holy);
unholy += rb.getFloat(ModType.Resistance, EffectSourceType.Unholy);
lightning += rb.getFloat(ModType.Resistance, EffectSourceType.Lightning);
fire += rb.getFloat(ModType.Resistance, EffectSourceType.Fire);
cold += rb.getFloat(ModType.Resistance, EffectSourceType.Cold);
healing += rb.getFloat(ModType.Resistance, EffectSourceType.Heal); // DamageType.Healing.name());
}

8
src/engine/objects/SkillsBase.java

@ -10,7 +10,7 @@ @@ -10,7 +10,7 @@
package engine.objects;
import engine.gameManager.DbManager;
import engine.mbEnums.SourceType;
import engine.mbEnums.EffectSourceType;
import engine.server.MBServerStatics;
import java.sql.ResultSet;
@ -33,7 +33,7 @@ public class SkillsBase extends AbstractGameObject { @@ -33,7 +33,7 @@ public class SkillsBase extends AbstractGameObject {
private final short conMod;
private final short intMod;
private final short spiMod;
public SourceType sourceType;
public EffectSourceType sourceType;
/**
* No Table ID Constructor
@ -43,7 +43,7 @@ public class SkillsBase extends AbstractGameObject { @@ -43,7 +43,7 @@ public class SkillsBase extends AbstractGameObject {
super();
this.name = name;
this.nameNoSpace = name.replace(" ", "");
this.sourceType = SourceType.GetSourceType(this.nameNoSpace.replace(",", ""));
this.sourceType = EffectSourceType.getEffectSourceType(this.nameNoSpace.replace(",", ""));
this.description = description;
this.token = token;
this.strMod = strMod;
@ -79,7 +79,7 @@ public class SkillsBase extends AbstractGameObject { @@ -79,7 +79,7 @@ public class SkillsBase extends AbstractGameObject {
this.name = rs.getString("name");
this.nameNoSpace = name.replace(" ", "");
this.description = rs.getString("description");
this.sourceType = SourceType.GetSourceType(this.nameNoSpace.replace("-", "").replace("\"", "").replace(",", ""));
this.sourceType = EffectSourceType.getEffectSourceType(this.nameNoSpace.replace("-", "").replace("\"", "").replace(",", ""));
this.token = rs.getInt("token");
this.strMod = rs.getShort("strMod");
this.dexMod = rs.getShort("dexMod");

13
src/engine/powers/ActionsBase.java

@ -12,10 +12,13 @@ package engine.powers; @@ -12,10 +12,13 @@ package engine.powers;
import engine.gameManager.DbManager;
import engine.gameManager.PowersManager;
import engine.mbEnums;
import engine.mbEnums.EffectSourceType;
import engine.mbEnums.ModType;
import engine.mbEnums.SourceType;
import engine.mbEnums.StackType;
import engine.objects.*;
import engine.objects.AbstractCharacter;
import engine.objects.AbstractWorldObject;
import engine.objects.PlayerBonuses;
import engine.objects.Runegate;
import engine.powers.poweractions.AbstractPowerAction;
import org.pmw.tinylog.Logger;
@ -249,10 +252,10 @@ public class ActionsBase { @@ -249,10 +252,10 @@ public class ActionsBase {
PlayerBonuses bonus = pcTarget.getBonuses();
if(vampDrain)
return bonus.getBool(ModType.BlockedPowerType, SourceType.VAMPDRAIN);
return bonus.getBool(ModType.BlockedPowerType, EffectSourceType.VAMPDRAIN);
if ((this.stackType.equals("Flight") && bonus.getBool(ModType.NoMod, SourceType.Fly)) ||
(this.stackType.equals("Track") && bonus.getBool(ModType.CannotTrack, SourceType.None))) {
if ((this.stackType.equals("Flight") && bonus.getBool(ModType.NoMod, EffectSourceType.Fly)) ||
(this.stackType.equals("Track") && bonus.getBool(ModType.CannotTrack, EffectSourceType.None))) {
return true;
}

6
src/engine/powers/effectmodifiers/AbstractEffectModifier.java

@ -10,8 +10,8 @@ @@ -10,8 +10,8 @@
package engine.powers.effectmodifiers;
import engine.jobs.AbstractEffectJob;
import engine.mbEnums.EffectSourceType;
import engine.mbEnums.ModType;
import engine.mbEnums.SourceType;
import engine.objects.AbstractCharacter;
import engine.objects.AbstractWorldObject;
import engine.objects.Building;
@ -25,7 +25,7 @@ import java.sql.SQLException; @@ -25,7 +25,7 @@ import java.sql.SQLException;
public abstract class AbstractEffectModifier {
public float minMod;
public SourceType sourceType;
public EffectSourceType sourceType;
public ModType modType;
protected EffectsBase parent;
protected int UUID;
@ -46,7 +46,7 @@ public abstract class AbstractEffectModifier { @@ -46,7 +46,7 @@ public abstract class AbstractEffectModifier {
this.effectType = rs.getString("modType");
this.modType = ModType.GetModType(this.effectType);
this.type = rs.getString("type").replace("\"", "");
this.sourceType = SourceType.GetSourceType(this.type.replace(" ", "").replace("-", ""));
this.sourceType = EffectSourceType.getEffectSourceType(this.type.replace(" ", "").replace("-", ""));
this.minMod = rs.getFloat("minMod");
this.maxMod = rs.getFloat("maxMod");
this.percentMod = rs.getFloat("percentMod");

4
src/engine/powers/effectmodifiers/AmbidexterityEffectModifier.java

@ -10,8 +10,8 @@ @@ -10,8 +10,8 @@
package engine.powers.effectmodifiers;
import engine.jobs.AbstractEffectJob;
import engine.mbEnums.EffectSourceType;
import engine.mbEnums.ModType;
import engine.mbEnums.SourceType;
import engine.objects.*;
import java.sql.ResultSet;
@ -32,7 +32,7 @@ public class AmbidexterityEffectModifier extends AbstractEffectModifier { @@ -32,7 +32,7 @@ public class AmbidexterityEffectModifier extends AbstractEffectModifier {
@Override
public void applyBonus(AbstractCharacter ac, int trains) {
PlayerBonuses bonus = ac.getBonuses();
bonus.setBool(ModType.Ambidexterity, SourceType.None, true);
bonus.setBool(ModType.Ambidexterity, EffectSourceType.None, true);
}
@Override

4
src/engine/powers/effectmodifiers/BlackMantleEffectModifier.java

@ -10,8 +10,8 @@ @@ -10,8 +10,8 @@
package engine.powers.effectmodifiers;
import engine.jobs.AbstractEffectJob;
import engine.mbEnums.EffectSourceType;
import engine.mbEnums.ModType;
import engine.mbEnums.SourceType;
import engine.objects.*;
import org.pmw.tinylog.Logger;
@ -33,7 +33,7 @@ public class BlackMantleEffectModifier extends AbstractEffectModifier { @@ -33,7 +33,7 @@ public class BlackMantleEffectModifier extends AbstractEffectModifier {
@Override
public void applyBonus(AbstractCharacter ac, int trains) {
PlayerBonuses bonus = ac.getBonuses();
SourceType sourceType = SourceType.valueOf(this.type);
SourceType sourceType = EffectSourceType.valueOf(this.type);
if (sourceType == null) {
Logger.error("Bad Source Type for " + this.type);

6
src/engine/powers/effectmodifiers/HealthEffectModifier.java

@ -13,9 +13,9 @@ import engine.gameManager.DispatchManager; @@ -13,9 +13,9 @@ import engine.gameManager.DispatchManager;
import engine.jobs.AbstractEffectJob;
import engine.jobs.DamageOverTimeJob;
import engine.mbEnums;
import engine.mbEnums.EffectSourceType;
import engine.mbEnums.GameObjectType;
import engine.mbEnums.ModType;
import engine.mbEnums.SourceType;
import engine.net.AbstractNetMsg;
import engine.net.client.msg.ModifyHealthKillMsg;
import engine.net.client.msg.ModifyHealthMsg;
@ -154,7 +154,7 @@ public class HealthEffectModifier extends AbstractEffectModifier { @@ -154,7 +154,7 @@ public class HealthEffectModifier extends AbstractEffectModifier {
// Apply any power effect modifiers (such as stances)
if (bonus != null)
modAmount *= (1 + (bonus.getFloatPercentAll(ModType.PowerDamageModifier, SourceType.None)));
modAmount *= (1 + (bonus.getFloatPercentAll(ModType.PowerDamageModifier, EffectSourceType.None)));
}
if (modAmount == 0f)
return;
@ -193,7 +193,7 @@ public class HealthEffectModifier extends AbstractEffectModifier { @@ -193,7 +193,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, EffectSourceType.Heal) >= trains) {
ModifyHealthMsg mhm = new ModifyHealthMsg(source, ac, 0f, 0f, 0f, powerID, powerName, trains, effectID);
mhm.setUnknown03(5); //set target is immune
DispatchManager.sendToAllInRange(ac, mhm);

6
src/engine/powers/effectmodifiers/ManaEffectModifier.java

@ -13,8 +13,8 @@ import engine.gameManager.DispatchManager; @@ -13,8 +13,8 @@ import engine.gameManager.DispatchManager;
import engine.jobs.AbstractEffectJob;
import engine.jobs.DamageOverTimeJob;
import engine.mbEnums;
import engine.mbEnums.EffectSourceType;
import engine.mbEnums.ModType;
import engine.mbEnums.SourceType;
import engine.net.client.msg.ModifyHealthMsg;
import engine.objects.*;
import engine.powers.ActionsBase;
@ -114,7 +114,7 @@ public class ManaEffectModifier extends AbstractEffectModifier { @@ -114,7 +114,7 @@ public class ManaEffectModifier extends AbstractEffectModifier {
// Apply any power effect modifiers (such as stances)
if (bonus != null)
modAmount *= (1 + bonus.getFloatPercentAll(ModType.PowerDamageModifier, SourceType.None));
modAmount *= (1 + bonus.getFloatPercentAll(ModType.PowerDamageModifier, EffectSourceType.None));
}
if (modAmount == 0f)
return;
@ -142,7 +142,7 @@ public class ManaEffectModifier extends AbstractEffectModifier { @@ -142,7 +142,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, EffectSourceType.Heal) >= trains) {
ModifyHealthMsg mhm = new ModifyHealthMsg(source, ac, 0f, 0f, 0f, powerID, powerName, trains, effectID);
mhm.setUnknown03(5); //set target is immune
DispatchManager.sendToAllInRange(ac, mhm);

6
src/engine/powers/effectmodifiers/StaminaEffectModifier.java

@ -13,8 +13,8 @@ import engine.gameManager.DispatchManager; @@ -13,8 +13,8 @@ import engine.gameManager.DispatchManager;
import engine.jobs.AbstractEffectJob;
import engine.jobs.DamageOverTimeJob;
import engine.mbEnums;
import engine.mbEnums.EffectSourceType;
import engine.mbEnums.ModType;
import engine.mbEnums.SourceType;
import engine.net.client.msg.ModifyHealthMsg;
import engine.objects.*;
import engine.powers.ActionsBase;
@ -112,7 +112,7 @@ public class StaminaEffectModifier extends AbstractEffectModifier { @@ -112,7 +112,7 @@ public class StaminaEffectModifier extends AbstractEffectModifier {
// Apply any power effect modifiers (such as stances)
if (bonus != null)
modAmount *= (1 + (bonus.getFloatPercentAll(ModType.PowerDamageModifier, SourceType.None)));
modAmount *= (1 + (bonus.getFloatPercentAll(ModType.PowerDamageModifier, EffectSourceType.None)));
}
if (modAmount == 0f)
return;
@ -140,7 +140,7 @@ public class StaminaEffectModifier extends AbstractEffectModifier { @@ -140,7 +140,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, EffectSourceType.Heal) >= trains) {
ModifyHealthMsg mhm = new ModifyHealthMsg(source, ac, 0f, 0f, 0f, powerID, powerName, trains, effectID);
mhm.setUnknown03(5); //set target is immune
DispatchManager.sendToAllInRange(ac, mhm);

4
src/engine/powers/poweractions/ApplyEffectPowerAction.java

@ -16,9 +16,9 @@ import engine.jobs.ChantJob; @@ -16,9 +16,9 @@ import engine.jobs.ChantJob;
import engine.jobs.DeferredPowerJob;
import engine.jobs.FinishEffectTimeJob;
import engine.math.Vector3fImmutable;
import engine.mbEnums.EffectSourceType;
import engine.mbEnums.GameObjectType;
import engine.mbEnums.ModType;
import engine.mbEnums.SourceType;
import engine.net.client.msg.chat.ChatSystemMsg;
import engine.objects.*;
import engine.powers.ActionsBase;
@ -180,7 +180,7 @@ public class ApplyEffectPowerAction extends AbstractPowerAction { @@ -180,7 +180,7 @@ public class ApplyEffectPowerAction extends AbstractPowerAction {
if (bonuses == null)
return;
boolean noSilence = bonuses.getBool(ModType.Silenced, SourceType.None);
boolean noSilence = bonuses.getBool(ModType.Silenced, EffectSourceType.None);
if (noSilence)
return;

2
src/engine/powers/poweractions/RemoveEffectPowerAction.java

@ -29,7 +29,7 @@ public class RemoveEffectPowerAction extends AbstractPowerAction { @@ -29,7 +29,7 @@ public class RemoveEffectPowerAction extends AbstractPowerAction {
public RemoveEffectPowerAction(ResultSet rs) throws SQLException {
super(rs);
String effectTypeToRemove = rs.getString("effectSourceToRemove").replace("-", "").trim();
sourceType = EffectSourceType.GetEffectSourceType(effectTypeToRemove);
sourceType = EffectSourceType.getEffectSourceType(effectTypeToRemove);
int flags = rs.getInt("flags");
this.removeAll = ((flags & 2) != 0) ? true : false;
}

4
src/engine/powers/poweractions/TeleportPowerAction.java

@ -14,8 +14,8 @@ import engine.gameManager.PowersManager; @@ -14,8 +14,8 @@ import engine.gameManager.PowersManager;
import engine.gameManager.ZoneManager;
import engine.math.Vector3fImmutable;
import engine.mbEnums;
import engine.mbEnums.EffectSourceType;
import engine.mbEnums.ModType;
import engine.mbEnums.SourceType;
import engine.objects.*;
import engine.powers.ActionsBase;
import engine.powers.PowersBase;
@ -66,7 +66,7 @@ public class TeleportPowerAction extends AbstractPowerAction { @@ -66,7 +66,7 @@ public class TeleportPowerAction extends AbstractPowerAction {
return;
}
if (source.getBonuses().getBool(ModType.BlockedPowerType, SourceType.TELEPORT))
if (source.getBonuses().getBool(ModType.BlockedPowerType, EffectSourceType.TELEPORT))
return;
City city = ZoneManager.getCityAtLocation(targetLoc);

6
src/engine/powers/poweractions/TransferStatPowerAction.java

@ -12,8 +12,8 @@ package engine.powers.poweractions; @@ -12,8 +12,8 @@ package engine.powers.poweractions;
import engine.gameManager.DispatchManager;
import engine.math.Vector3fImmutable;
import engine.mbEnums;
import engine.mbEnums.EffectSourceType;
import engine.mbEnums.ModType;
import engine.mbEnums.SourceType;
import engine.net.AbstractNetMsg;
import engine.net.client.msg.ModifyHealthKillMsg;
import engine.net.client.msg.ModifyHealthMsg;
@ -210,7 +210,7 @@ public class TransferStatPowerAction extends AbstractPowerAction { @@ -210,7 +210,7 @@ public class TransferStatPowerAction extends AbstractPowerAction {
// Apply any power effect modifiers (such as stances)
PlayerBonuses bonus = source.getBonuses();
if (bonus != null)
damage *= (1 + bonus.getFloatPercentAll(ModType.PowerDamageModifier, SourceType.None));
damage *= (1 + bonus.getFloatPercentAll(ModType.PowerDamageModifier, EffectSourceType.None));
//get amount to transfer
fromAmount = damage;
@ -236,7 +236,7 @@ public class TransferStatPowerAction extends AbstractPowerAction { @@ -236,7 +236,7 @@ public class TransferStatPowerAction extends AbstractPowerAction {
AbstractNetMsg mhmFrom = null;
//stop if target is immune to drains
if (from.getBonuses().getBool(ModType.ImmuneTo, SourceType.Drain)) {
if (from.getBonuses().getBool(ModType.ImmuneTo, EffectSourceType.Drain)) {
ModifyHealthMsg mhm = new ModifyHealthMsg(source, to, 0f, 0f, 0f, powerID, powerName, trains, effectID);
mhm.setUnknown03(5); //set target is immune
DispatchManager.sendToAllInRange(from, mhm);

Loading…
Cancel
Save