ZergMultiplier scales correctly
This commit is contained in:
@@ -505,8 +505,8 @@ public enum CombatManager {
|
|||||||
if (weapon != null && weapon.getBonusPercent(ModType.WeaponSpeed, SourceType.None) != 0f) //add weapon speed bonus
|
if (weapon != null && weapon.getBonusPercent(ModType.WeaponSpeed, SourceType.None) != 0f) //add weapon speed bonus
|
||||||
wepSpeed *= (1 + weapon.getBonus(ModType.WeaponSpeed, SourceType.None));
|
wepSpeed *= (1 + weapon.getBonus(ModType.WeaponSpeed, SourceType.None));
|
||||||
|
|
||||||
if (abstractCharacter.getBonuses() != null && abstractCharacter.getBonuses().getFloatPercentAll(ModType.AttackDelay, SourceType.None, null) != 0f) //add effects speed bonus
|
if (abstractCharacter.getBonuses() != null && abstractCharacter.getBonuses().getFloatPercentAll(ModType.AttackDelay, SourceType.None) != 0f) //add effects speed bonus
|
||||||
wepSpeed *= (1 + abstractCharacter.getBonuses().getFloatPercentAll(ModType.AttackDelay, SourceType.None, null));
|
wepSpeed *= (1 + abstractCharacter.getBonuses().getFloatPercentAll(ModType.AttackDelay, SourceType.None));
|
||||||
|
|
||||||
if (wepSpeed < 10)
|
if (wepSpeed < 10)
|
||||||
wepSpeed = 10; //Old was 10, but it can be reached lower with legit buffs,effects.
|
wepSpeed = 10; //Old was 10, but it can be reached lower with legit buffs,effects.
|
||||||
@@ -599,9 +599,9 @@ public enum CombatManager {
|
|||||||
//Dont think we need to do this anymore.
|
//Dont think we need to do this anymore.
|
||||||
|
|
||||||
if (tarIsRat)
|
if (tarIsRat)
|
||||||
if (ac.getBonuses().getFloatPercentAll(ModType.Slay, SourceType.Rat, null) != 0) { //strip away current % dmg buffs then add with rat %
|
if (ac.getBonuses().getFloatPercentAll(ModType.Slay, SourceType.Rat) != 0) { //strip away current % dmg buffs then add with rat %
|
||||||
|
|
||||||
float percent = 1 + ac.getBonuses().getFloatPercentAll(ModType.Slay, SourceType.Rat, null);
|
float percent = 1 + ac.getBonuses().getFloatPercentAll(ModType.Slay, SourceType.Rat);
|
||||||
|
|
||||||
minDamage *= percent;
|
minDamage *= percent;
|
||||||
maxDamage *= percent;
|
maxDamage *= percent;
|
||||||
@@ -1130,9 +1130,9 @@ public enum CombatManager {
|
|||||||
if (eff.getPower() != null && (eff.getPower().getToken() == 429506943 || eff.getPower().getToken() == 429408639 || eff.getPower().getToken() == 429513599 || eff.getPower().getToken() == 429415295))
|
if (eff.getPower() != null && (eff.getPower().getToken() == 429506943 || eff.getPower().getToken() == 429408639 || eff.getPower().getToken() == 429513599 || eff.getPower().getToken() == 429415295))
|
||||||
swingAnimation = 0;
|
swingAnimation = 0;
|
||||||
|
|
||||||
// if(source != null && source.getObjectType().equals(GameObjectType.PlayerCharacter)){
|
if(source != null && source.getObjectType().equals(GameObjectType.PlayerCharacter)){
|
||||||
// damage *= ((PlayerCharacter)source).ZergMultiplier;
|
damage *= ((PlayerCharacter)source).ZergMultiplier;
|
||||||
//} // Health modifications are modified by the ZergMechanic
|
} // Health modifications are modified by the ZergMechanic
|
||||||
|
|
||||||
TargetedActionMsg cmm = new TargetedActionMsg(source, target, damage, swingAnimation);
|
TargetedActionMsg cmm = new TargetedActionMsg(source, target, damage, swingAnimation);
|
||||||
DispatchMessage.sendToAllInRange(target, cmm);
|
DispatchMessage.sendToAllInRange(target, cmm);
|
||||||
@@ -1295,7 +1295,7 @@ public enum CombatManager {
|
|||||||
return 0f;
|
return 0f;
|
||||||
|
|
||||||
if (bonus != null)
|
if (bonus != null)
|
||||||
rangeMod += bonus.getFloatPercentAll(ModType.WeaponRange, SourceType.None, null);
|
rangeMod += bonus.getFloatPercentAll(ModType.WeaponRange, SourceType.None);
|
||||||
|
|
||||||
return weapon.getRange() * rangeMod;
|
return weapon.getRange() * rangeMod;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -564,7 +564,7 @@ public enum PowersManager {
|
|||||||
cost = 0;
|
cost = 0;
|
||||||
|
|
||||||
if (bonus != null)
|
if (bonus != null)
|
||||||
cost *= (1 + bonus.getFloatPercentAll(ModType.PowerCost, SourceType.None, null));
|
cost *= (1 + bonus.getFloatPercentAll(ModType.PowerCost, SourceType.None));
|
||||||
|
|
||||||
if (playerCharacter.getAltitude() > 0)
|
if (playerCharacter.getAltitude() > 0)
|
||||||
cost *= 1.5f;
|
cost *= 1.5f;
|
||||||
|
|||||||
@@ -1437,7 +1437,7 @@ public class MobAI {
|
|||||||
if (mob.isSit() && mob.getTimeStamp("HEALTHRECOVERED") < System.currentTimeMillis() + 3000)
|
if (mob.isSit() && mob.getTimeStamp("HEALTHRECOVERED") < System.currentTimeMillis() + 3000)
|
||||||
if (mob.getHealth() < mob.getHealthMax()) {
|
if (mob.getHealth() < mob.getHealthMax()) {
|
||||||
|
|
||||||
float recoveredHealth = mob.getHealthMax() * ((1 + mob.getBonuses().getFloatPercentAll(Enum.ModType.HealthRecoverRate, Enum.SourceType.None, null)) * 0.01f);
|
float recoveredHealth = mob.getHealthMax() * ((1 + mob.getBonuses().getFloatPercentAll(Enum.ModType.HealthRecoverRate, Enum.SourceType.None)) * 0.01f);
|
||||||
mob.setHealth(mob.getHealth() + recoveredHealth);
|
mob.setHealth(mob.getHealth() + recoveredHealth);
|
||||||
mob.getTimestamps().put("HEALTHRECOVERED", System.currentTimeMillis());
|
mob.getTimestamps().put("HEALTHRECOVERED", System.currentTimeMillis());
|
||||||
|
|
||||||
|
|||||||
@@ -151,7 +151,7 @@ public class CombatUtilities {
|
|||||||
int atr = agent.mobBase.getAtr();
|
int atr = agent.mobBase.getAtr();
|
||||||
if(agent.getBonuses() != null){
|
if(agent.getBonuses() != null){
|
||||||
atr += agent.getBonuses().getFloat(ModType.OCV,SourceType.None);
|
atr += agent.getBonuses().getFloat(ModType.OCV,SourceType.None);
|
||||||
atr *= 1 + agent.getBonuses().getFloatPercentAll(ModType.OCV,SourceType.None, null);
|
atr *= 1 + agent.getBonuses().getFloatPercentAll(ModType.OCV,SourceType.None);
|
||||||
}
|
}
|
||||||
switch (target.getObjectType()) {
|
switch (target.getObjectType()) {
|
||||||
case PlayerCharacter:
|
case PlayerCharacter:
|
||||||
@@ -357,7 +357,7 @@ public class CombatUtilities {
|
|||||||
float damage;
|
float damage;
|
||||||
float min = 40;
|
float min = 40;
|
||||||
float max = 60;
|
float max = 60;
|
||||||
float dmgMultiplier = 1 + agent.getBonuses().getFloatPercentAll(ModType.MeleeDamageModifier, SourceType.None, null);
|
float dmgMultiplier = 1 + agent.getBonuses().getFloatPercentAll(ModType.MeleeDamageModifier, SourceType.None);
|
||||||
double minDmg = getMinDmg(agent);
|
double minDmg = getMinDmg(agent);
|
||||||
double maxDmg = getMaxDmg(agent);
|
double maxDmg = getMaxDmg(agent);
|
||||||
dmgMultiplier += agent.getLevel() * 0.1f;
|
dmgMultiplier += agent.getLevel() * 0.1f;
|
||||||
@@ -371,7 +371,7 @@ public class CombatUtilities {
|
|||||||
ItemBase weapon = agent.getEquip().get(1).getItemBase();
|
ItemBase weapon = agent.getEquip().get(1).getItemBase();
|
||||||
AbstractWorldObject target = agent.getCombatTarget();
|
AbstractWorldObject target = agent.getCombatTarget();
|
||||||
|
|
||||||
float dmgMultiplier = 1 + agent.getBonuses().getFloatPercentAll(ModType.MeleeDamageModifier, SourceType.None, null);
|
float dmgMultiplier = 1 + agent.getBonuses().getFloatPercentAll(ModType.MeleeDamageModifier, SourceType.None);
|
||||||
|
|
||||||
double minDmg = weapon.getMinDamage();
|
double minDmg = weapon.getMinDamage();
|
||||||
double maxDmg = weapon.getMaxDamage();
|
double maxDmg = weapon.getMaxDamage();
|
||||||
@@ -395,7 +395,7 @@ public class CombatUtilities {
|
|||||||
//handle r8 mob damage
|
//handle r8 mob damage
|
||||||
DamageType dt = DamageType.Crush;
|
DamageType dt = DamageType.Crush;
|
||||||
AbstractWorldObject target = agent.getCombatTarget();
|
AbstractWorldObject target = agent.getCombatTarget();
|
||||||
float dmgMultiplier = 1 + agent.getBonuses().getFloatPercentAll(ModType.MeleeDamageModifier, SourceType.None, null);
|
float dmgMultiplier = 1 + agent.getBonuses().getFloatPercentAll(ModType.MeleeDamageModifier, SourceType.None);
|
||||||
double min = agent.getMinDamageHandOne();
|
double min = agent.getMinDamageHandOne();
|
||||||
double max = agent.getMaxDamageHandOne();
|
double max = agent.getMaxDamageHandOne();
|
||||||
if (agent.getEquip().get(1) != null) {
|
if (agent.getEquip().get(1) != null) {
|
||||||
|
|||||||
@@ -134,7 +134,7 @@ public abstract class AbstractIntelligenceAgent extends AbstractCharacter {
|
|||||||
float ret = MobAIThread.AI_BASE_AGGRO_RANGE;
|
float ret = MobAIThread.AI_BASE_AGGRO_RANGE;
|
||||||
|
|
||||||
if (this.bonuses != null)
|
if (this.bonuses != null)
|
||||||
ret *= (1 + this.bonuses.getFloatPercentAll(ModType.ScanRange, SourceType.None, null));
|
ret *= (1 + this.bonuses.getFloatPercentAll(ModType.ScanRange, SourceType.None));
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1127,7 +1127,7 @@ public class CharacterSkill extends AbstractGameObject {
|
|||||||
|
|
||||||
if (CharacterSkill.GetOwner(this).getBonuses() != null) {
|
if (CharacterSkill.GetOwner(this).getBonuses() != null) {
|
||||||
//Multiply any percent bonuses
|
//Multiply any percent bonuses
|
||||||
modAmount *= (1 + CharacterSkill.GetOwner(this).getBonuses().getFloatPercentAll(ModType.Skill, sourceType, null));
|
modAmount *= (1 + CharacterSkill.GetOwner(this).getBonuses().getFloatPercentAll(ModType.Skill, sourceType));
|
||||||
}
|
}
|
||||||
|
|
||||||
this.modifiedAmount = (int) (modAmount);
|
this.modifiedAmount = (int) (modAmount);
|
||||||
|
|||||||
+15
-15
@@ -1177,11 +1177,11 @@ public class Mob extends AbstractIntelligenceAgent {
|
|||||||
|
|
||||||
// apply dex penalty for armor
|
// apply dex penalty for armor
|
||||||
// modify percent amounts. DO THIS LAST!
|
// modify percent amounts. DO THIS LAST!
|
||||||
strVal *= (1 + this.bonuses.getFloatPercentAll(ModType.Attr, SourceType.Strength, null));
|
strVal *= (1 + this.bonuses.getFloatPercentAll(ModType.Attr, SourceType.Strength));
|
||||||
dexVal *= (1 + this.bonuses.getFloatPercentAll(ModType.Attr, SourceType.Dexterity, null));
|
dexVal *= (1 + this.bonuses.getFloatPercentAll(ModType.Attr, SourceType.Dexterity));
|
||||||
conVal *= (1 + this.bonuses.getFloatPercentAll(ModType.Attr, SourceType.Constitution, null));
|
conVal *= (1 + this.bonuses.getFloatPercentAll(ModType.Attr, SourceType.Constitution));
|
||||||
intVal *= (1 + this.bonuses.getFloatPercentAll(ModType.Attr, SourceType.Intelligence, null));
|
intVal *= (1 + this.bonuses.getFloatPercentAll(ModType.Attr, SourceType.Intelligence));
|
||||||
spiVal *= (1 + this.bonuses.getFloatPercentAll(ModType.Attr, SourceType.Spirit, null));
|
spiVal *= (1 + this.bonuses.getFloatPercentAll(ModType.Attr, SourceType.Spirit));
|
||||||
} else {
|
} else {
|
||||||
// apply dex penalty for armor
|
// apply dex penalty for armor
|
||||||
}
|
}
|
||||||
@@ -1200,7 +1200,7 @@ public class Mob extends AbstractIntelligenceAgent {
|
|||||||
float bonus = 1;
|
float bonus = 1;
|
||||||
if (this.bonuses != null)
|
if (this.bonuses != null)
|
||||||
// get rune and effect bonuses
|
// get rune and effect bonuses
|
||||||
bonus *= (1 + this.bonuses.getFloatPercentAll(ModType.Speed, SourceType.None, null));
|
bonus *= (1 + this.bonuses.getFloatPercentAll(ModType.Speed, SourceType.None));
|
||||||
|
|
||||||
if (this.isPlayerGuard)
|
if (this.isPlayerGuard)
|
||||||
switch (this.mobBase.getLoadID()) {
|
switch (this.mobBase.getLoadID()) {
|
||||||
@@ -1568,9 +1568,9 @@ public class Mob extends AbstractIntelligenceAgent {
|
|||||||
|
|
||||||
//apply effects percent modifiers. DO THIS LAST!
|
//apply effects percent modifiers. DO THIS LAST!
|
||||||
|
|
||||||
h *= (1 + this.bonuses.getFloatPercentAll(ModType.HealthFull, SourceType.None, null));
|
h *= (1 + this.bonuses.getFloatPercentAll(ModType.HealthFull, SourceType.None));
|
||||||
m *= (1 + this.bonuses.getFloatPercentAll(ModType.ManaFull, SourceType.None, null));
|
m *= (1 + this.bonuses.getFloatPercentAll(ModType.ManaFull, SourceType.None));
|
||||||
s *= (1 + this.bonuses.getFloatPercentAll(ModType.StaminaFull, SourceType.None, null));
|
s *= (1 + this.bonuses.getFloatPercentAll(ModType.StaminaFull, SourceType.None));
|
||||||
}
|
}
|
||||||
|
|
||||||
// Set max health, mana and stamina
|
// Set max health, mana and stamina
|
||||||
@@ -1853,9 +1853,9 @@ public class Mob extends AbstractIntelligenceAgent {
|
|||||||
int max = (int)this.mobBase.getDamageMax();
|
int max = (int)this.mobBase.getDamageMax();
|
||||||
int atr = this.mobBase.getAtr();
|
int atr = this.mobBase.getAtr();
|
||||||
if(this.bonuses != null){
|
if(this.bonuses != null){
|
||||||
min *= 1 + this.bonuses.getFloatPercentAll(ModType.MeleeDamageModifier, SourceType.None, null);
|
min *= 1 + this.bonuses.getFloatPercentAll(ModType.MeleeDamageModifier, SourceType.None);
|
||||||
max *= 1 + this.bonuses.getFloatPercentAll(ModType.MeleeDamageModifier, SourceType.None, null);
|
max *= 1 + this.bonuses.getFloatPercentAll(ModType.MeleeDamageModifier, SourceType.None);
|
||||||
atr *= 1 + this.bonuses.getFloatPercentAll(ModType.OCV,SourceType.None, null);
|
atr *= 1 + this.bonuses.getFloatPercentAll(ModType.OCV,SourceType.None);
|
||||||
atr += this.bonuses.getFloat(ModType.OCV,SourceType.None);
|
atr += this.bonuses.getFloat(ModType.OCV,SourceType.None);
|
||||||
}
|
}
|
||||||
this.minDamageHandOne = min;
|
this.minDamageHandOne = min;
|
||||||
@@ -1873,9 +1873,9 @@ public class Mob extends AbstractIntelligenceAgent {
|
|||||||
int max = (int)this.mobBase.getDamageMax();
|
int max = (int)this.mobBase.getDamageMax();
|
||||||
int atr = this.mobBase.getAtr();
|
int atr = this.mobBase.getAtr();
|
||||||
if(this.bonuses != null){
|
if(this.bonuses != null){
|
||||||
min *= 1 + this.bonuses.getFloatPercentAll(ModType.MeleeDamageModifier, SourceType.None, null);
|
min *= 1 + this.bonuses.getFloatPercentAll(ModType.MeleeDamageModifier, SourceType.None);
|
||||||
max *= 1 + this.bonuses.getFloatPercentAll(ModType.MeleeDamageModifier, SourceType.None, null);
|
max *= 1 + this.bonuses.getFloatPercentAll(ModType.MeleeDamageModifier, SourceType.None);
|
||||||
atr *= 1 + this.bonuses.getFloatPercentAll(ModType.OCV,SourceType.None, null);
|
atr *= 1 + this.bonuses.getFloatPercentAll(ModType.OCV,SourceType.None);
|
||||||
atr += this.bonuses.getFloat(ModType.OCV,SourceType.None);
|
atr += this.bonuses.getFloat(ModType.OCV,SourceType.None);
|
||||||
}
|
}
|
||||||
this.minDamageHandTwo = min;
|
this.minDamageHandTwo = min;
|
||||||
|
|||||||
@@ -340,7 +340,7 @@ public class PlayerBonuses {
|
|||||||
return amount;
|
return amount;
|
||||||
}
|
}
|
||||||
|
|
||||||
public float getFloatPercentAll(ModType modType, SourceType sourceType, PlayerCharacter pc) {
|
public float getFloatPercentAll(ModType modType, SourceType sourceType) {
|
||||||
float amount = 0;
|
float amount = 0;
|
||||||
for (AbstractEffectModifier mod : this.bonusFloats.keySet()) {
|
for (AbstractEffectModifier mod : this.bonusFloats.keySet()) {
|
||||||
|
|
||||||
@@ -357,15 +357,6 @@ public class PlayerBonuses {
|
|||||||
amount += this.bonusFloats.get(mod);
|
amount += this.bonusFloats.get(mod);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(pc != null) {
|
|
||||||
if (modType.equals(ModType.PowerDamageModifier) || modType.equals(ModType.MeleeDamageModifier)) {
|
|
||||||
if(pc.ZergMultiplier == 0.0f){
|
|
||||||
amount = -1.0f;
|
|
||||||
}else {
|
|
||||||
amount -= 1.0f - pc.ZergMultiplier;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return amount;
|
return amount;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -3717,11 +3717,11 @@ public class PlayerCharacter extends AbstractCharacter {
|
|||||||
dexVal *= this.dexPenalty;
|
dexVal *= this.dexPenalty;
|
||||||
|
|
||||||
// modify percent amounts. DO THIS LAST!
|
// modify percent amounts. DO THIS LAST!
|
||||||
strVal *= (1 + this.bonuses.getFloatPercentAll(ModType.Attr, SourceType.Strength, null));
|
strVal *= (1 + this.bonuses.getFloatPercentAll(ModType.Attr, SourceType.Strength));
|
||||||
dexVal *= (1 + this.bonuses.getFloatPercentAll(ModType.Attr, SourceType.Dexterity, null));
|
dexVal *= (1 + this.bonuses.getFloatPercentAll(ModType.Attr, SourceType.Dexterity));
|
||||||
conVal *= (1 + this.bonuses.getFloatPercentAll(ModType.Attr, SourceType.Constitution, null));
|
conVal *= (1 + this.bonuses.getFloatPercentAll(ModType.Attr, SourceType.Constitution));
|
||||||
intVal *= (1 + this.bonuses.getFloatPercentAll(ModType.Attr, SourceType.Intelligence, null));
|
intVal *= (1 + this.bonuses.getFloatPercentAll(ModType.Attr, SourceType.Intelligence));
|
||||||
spiVal *= (1 + this.bonuses.getFloatPercentAll(ModType.Attr, SourceType.Spirit, null));
|
spiVal *= (1 + this.bonuses.getFloatPercentAll(ModType.Attr, SourceType.Spirit));
|
||||||
|
|
||||||
} else
|
} else
|
||||||
// apply dex penalty for armor
|
// apply dex penalty for armor
|
||||||
@@ -4182,7 +4182,7 @@ public class PlayerCharacter extends AbstractCharacter {
|
|||||||
this.rangeHandTwo = weapon.getItemBase().getRange() * (1 + (this.statStrBase / 600));
|
this.rangeHandTwo = weapon.getItemBase().getRange() * (1 + (this.statStrBase / 600));
|
||||||
|
|
||||||
if (this.bonuses != null) {
|
if (this.bonuses != null) {
|
||||||
float range_bonus = 1 + this.bonuses.getFloatPercentAll(ModType.WeaponRange, SourceType.None, null);
|
float range_bonus = 1 + this.bonuses.getFloatPercentAll(ModType.WeaponRange, SourceType.None);
|
||||||
|
|
||||||
if (mainHand)
|
if (mainHand)
|
||||||
this.rangeHandOne *= range_bonus;
|
this.rangeHandOne *= range_bonus;
|
||||||
@@ -4349,11 +4349,11 @@ public class PlayerCharacter extends AbstractCharacter {
|
|||||||
float percentMinDamage = 1;
|
float percentMinDamage = 1;
|
||||||
float percentMaxDamage = 1;
|
float percentMaxDamage = 1;
|
||||||
|
|
||||||
percentMinDamage += this.bonuses.getFloatPercentAll(ModType.MinDamage, SourceType.None, null);
|
percentMinDamage += this.bonuses.getFloatPercentAll(ModType.MinDamage, SourceType.None);
|
||||||
percentMinDamage += this.bonuses.getFloatPercentAll(ModType.MeleeDamageModifier, SourceType.None, null);
|
percentMinDamage += this.bonuses.getFloatPercentAll(ModType.MeleeDamageModifier, SourceType.None);
|
||||||
|
|
||||||
percentMaxDamage += this.bonuses.getFloatPercentAll(ModType.MaxDamage, SourceType.None, null);
|
percentMaxDamage += this.bonuses.getFloatPercentAll(ModType.MaxDamage, SourceType.None);
|
||||||
percentMaxDamage += this.bonuses.getFloatPercentAll(ModType.MeleeDamageModifier, SourceType.None, null);
|
percentMaxDamage += this.bonuses.getFloatPercentAll(ModType.MeleeDamageModifier, SourceType.None);
|
||||||
|
|
||||||
minDamage *= percentMinDamage;
|
minDamage *= percentMinDamage;
|
||||||
maxDamage *= percentMaxDamage;
|
maxDamage *= percentMaxDamage;
|
||||||
@@ -4673,9 +4673,9 @@ public class PlayerCharacter extends AbstractCharacter {
|
|||||||
m += this.bonuses.getFloat(ModType.ManaFull, SourceType.None);
|
m += this.bonuses.getFloat(ModType.ManaFull, SourceType.None);
|
||||||
s += this.bonuses.getFloat(ModType.StaminaFull, SourceType.None);
|
s += this.bonuses.getFloat(ModType.StaminaFull, SourceType.None);
|
||||||
|
|
||||||
h *= (1 + this.bonuses.getFloatPercentAll(ModType.HealthFull, SourceType.None, null));
|
h *= (1 + this.bonuses.getFloatPercentAll(ModType.HealthFull, SourceType.None));
|
||||||
m *= (1 + this.bonuses.getFloatPercentAll(ModType.ManaFull, SourceType.None, null));
|
m *= (1 + this.bonuses.getFloatPercentAll(ModType.ManaFull, SourceType.None));
|
||||||
s *= (1 + this.bonuses.getFloatPercentAll(ModType.StaminaFull, SourceType.None, null));
|
s *= (1 + this.bonuses.getFloatPercentAll(ModType.StaminaFull, SourceType.None));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -4757,7 +4757,7 @@ public class PlayerCharacter extends AbstractCharacter {
|
|||||||
divisr = 16;
|
divisr = 16;
|
||||||
float blockChance = ((passiveSkill.getModifiedAmount() + blockBonusFromShield) / divisr);
|
float blockChance = ((passiveSkill.getModifiedAmount() + blockBonusFromShield) / divisr);
|
||||||
if(this.bonuses != null)
|
if(this.bonuses != null)
|
||||||
blockChance *= 1 + this.bonuses.getFloatPercentAll(ModType.Block, SourceType.None, null);
|
blockChance *= 1 + this.bonuses.getFloatPercentAll(ModType.Block, SourceType.None);
|
||||||
return blockChance;
|
return blockChance;
|
||||||
case "Parry":
|
case "Parry":
|
||||||
if(!fromCombat)
|
if(!fromCombat)
|
||||||
@@ -4781,7 +4781,7 @@ public class PlayerCharacter extends AbstractCharacter {
|
|||||||
float parryChance =((passiveSkill.getModifiedAmount() + parryBonus) / 4);
|
float parryChance =((passiveSkill.getModifiedAmount() + parryBonus) / 4);
|
||||||
|
|
||||||
if(this.bonuses != null)
|
if(this.bonuses != null)
|
||||||
parryChance *= 1 + this.bonuses.getFloatPercentAll(ModType.Parry, SourceType.None, null);
|
parryChance *= 1 + this.bonuses.getFloatPercentAll(ModType.Parry, SourceType.None);
|
||||||
|
|
||||||
return parryChance;
|
return parryChance;
|
||||||
|
|
||||||
@@ -4797,7 +4797,7 @@ public class PlayerCharacter extends AbstractCharacter {
|
|||||||
float dodgeChance = ((passiveSkill.getModifiedAmount()) / divisor);
|
float dodgeChance = ((passiveSkill.getModifiedAmount()) / divisor);
|
||||||
|
|
||||||
if(this.bonuses != null)
|
if(this.bonuses != null)
|
||||||
dodgeChance *= 1 + this.bonuses.getFloatPercentAll(ModType.Dodge, SourceType.None, null);
|
dodgeChance *= 1 + this.bonuses.getFloatPercentAll(ModType.Dodge, SourceType.None);
|
||||||
|
|
||||||
return dodgeChance;
|
return dodgeChance;
|
||||||
default:
|
default:
|
||||||
|
|||||||
@@ -505,7 +505,7 @@ public class PlayerCombatStats {
|
|||||||
);
|
);
|
||||||
if(this.owner.bonuses != null){
|
if(this.owner.bonuses != null){
|
||||||
minDMG += this.owner.bonuses.getFloat(Enum.ModType.MinDamage, Enum.SourceType.None);
|
minDMG += this.owner.bonuses.getFloat(Enum.ModType.MinDamage, Enum.SourceType.None);
|
||||||
minDMG *= 1 + this.owner.bonuses.getFloatPercentAll(Enum.ModType.MeleeDamageModifier, Enum.SourceType.None, this.owner);
|
minDMG *= 1 + this.owner.bonuses.getFloatPercentAll(Enum.ModType.MeleeDamageModifier, Enum.SourceType.None);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(this.owner.charItemManager != null){
|
if(this.owner.charItemManager != null){
|
||||||
@@ -585,7 +585,7 @@ public class PlayerCombatStats {
|
|||||||
|
|
||||||
if(this.owner.bonuses != null){
|
if(this.owner.bonuses != null){
|
||||||
maxDMG += this.owner.bonuses.getFloat(Enum.ModType.MaxDamage, Enum.SourceType.None);
|
maxDMG += this.owner.bonuses.getFloat(Enum.ModType.MaxDamage, Enum.SourceType.None);
|
||||||
maxDMG *= 1 + this.owner.bonuses.getFloatPercentAll(Enum.ModType.MeleeDamageModifier, Enum.SourceType.None, this.owner);
|
maxDMG *= 1 + this.owner.bonuses.getFloatPercentAll(Enum.ModType.MeleeDamageModifier, Enum.SourceType.None);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(this.owner.charItemManager != null){
|
if(this.owner.charItemManager != null){
|
||||||
@@ -676,7 +676,7 @@ public class PlayerCombatStats {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
float bonusValues = 1 + this.owner.bonuses.getFloatPercentAll(Enum.ModType.AttackDelay,Enum.SourceType.None, null);//1.0f;
|
float bonusValues = 1 + this.owner.bonuses.getFloatPercentAll(Enum.ModType.AttackDelay,Enum.SourceType.None);//1.0f;
|
||||||
bonusValues -= stanceValue + delayExtra; // take away stance modifier from alacrity bonus values
|
bonusValues -= stanceValue + delayExtra; // take away stance modifier from alacrity bonus values
|
||||||
speed *= 1 + stanceValue; // apply stance bonus
|
speed *= 1 + stanceValue; // apply stance bonus
|
||||||
speed *= bonusValues; // apply alacrity bonuses without stance mod
|
speed *= bonusValues; // apply alacrity bonuses without stance mod
|
||||||
@@ -712,7 +712,7 @@ public class PlayerCombatStats {
|
|||||||
range = weapon.getItemBase().getRange();
|
range = weapon.getItemBase().getRange();
|
||||||
}
|
}
|
||||||
if(owner.bonuses != null){
|
if(owner.bonuses != null){
|
||||||
range *= 1 + this.owner.bonuses.getFloatPercentAll(Enum.ModType.WeaponRange, Enum.SourceType.None, null);
|
range *= 1 + this.owner.bonuses.getFloatPercentAll(Enum.ModType.WeaponRange, Enum.SourceType.None);
|
||||||
}
|
}
|
||||||
if(mainHand){
|
if(mainHand){
|
||||||
this.rangeHandOne = range;
|
this.rangeHandOne = range;
|
||||||
|
|||||||
@@ -131,7 +131,7 @@ public class Resists {
|
|||||||
PlayerBonuses bonus = target.getBonuses();
|
PlayerBonuses bonus = target.getBonuses();
|
||||||
|
|
||||||
//see if there is a fortitude
|
//see if there is a fortitude
|
||||||
float damageCap = bonus.getFloatPercentAll(ModType.DamageCap, SourceType.None, null);
|
float damageCap = bonus.getFloatPercentAll(ModType.DamageCap, SourceType.None);
|
||||||
if (damageCap == 0f || type == DamageType.Healing)
|
if (damageCap == 0f || type == DamageType.Healing)
|
||||||
return damage;
|
return damage;
|
||||||
|
|
||||||
@@ -152,7 +152,7 @@ public class Resists {
|
|||||||
if (forts == null || !isValidDamageCapType(forts, type, exclusive))
|
if (forts == null || !isValidDamageCapType(forts, type, exclusive))
|
||||||
return damage;
|
return damage;
|
||||||
|
|
||||||
float adjustedDamage = bonus.getFloatPercentAll(ModType.AdjustAboveDmgCap, SourceType.None, null);
|
float adjustedDamage = bonus.getFloatPercentAll(ModType.AdjustAboveDmgCap, SourceType.None);
|
||||||
//Adjust damage down and return new amount
|
//Adjust damage down and return new amount
|
||||||
float aadc = 1 + adjustedDamage;
|
float aadc = 1 + adjustedDamage;
|
||||||
return capFire * aadc;
|
return capFire * aadc;
|
||||||
|
|||||||
@@ -171,13 +171,14 @@ public class HealthEffectModifier extends AbstractEffectModifier {
|
|||||||
|
|
||||||
// Apply any power effect modifiers (such as stances)
|
// Apply any power effect modifiers (such as stances)
|
||||||
if (bonus != null){
|
if (bonus != null){
|
||||||
if(source.getObjectType().equals(Enum.GameObjectType.PlayerCharacter)){
|
modAmount *= (1 + bonus.getFloatPercentAll(ModType.PowerDamageModifier, SourceType.None));
|
||||||
modAmount *= (1 + bonus.getFloatPercentAll(ModType.PowerDamageModifier, SourceType.None, (PlayerCharacter) source));
|
|
||||||
}else{
|
|
||||||
modAmount *= (1 + bonus.getFloatPercentAll(ModType.PowerDamageModifier, SourceType.None, null));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(source.getObjectType().equals(Enum.GameObjectType.PlayerCharacter)){
|
||||||
|
modAmount *= ((PlayerCharacter)source).ZergMultiplier;
|
||||||
|
}
|
||||||
|
|
||||||
if (modAmount == 0f)
|
if (modAmount == 0f)
|
||||||
return;
|
return;
|
||||||
if (AbstractWorldObject.IsAbstractCharacter(awo)) {
|
if (AbstractWorldObject.IsAbstractCharacter(awo)) {
|
||||||
|
|||||||
@@ -130,14 +130,15 @@ public class ManaEffectModifier extends AbstractEffectModifier {
|
|||||||
|
|
||||||
// Apply any power effect modifiers (such as stances)
|
// Apply any power effect modifiers (such as stances)
|
||||||
if (bonus != null){
|
if (bonus != null){
|
||||||
if(source.getObjectType().equals(Enum.GameObjectType.PlayerCharacter)){
|
modAmount *= (1 + bonus.getFloatPercentAll(ModType.PowerDamageModifier, SourceType.None));
|
||||||
modAmount *= (1 + bonus.getFloatPercentAll(ModType.PowerDamageModifier, SourceType.None, (PlayerCharacter) source));
|
|
||||||
}else{
|
|
||||||
modAmount *= (1 + bonus.getFloatPercentAll(ModType.PowerDamageModifier, SourceType.None, null));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(source.getObjectType().equals(Enum.GameObjectType.PlayerCharacter)){
|
||||||
|
modAmount *= ((PlayerCharacter)source).ZergMultiplier;
|
||||||
|
}
|
||||||
|
|
||||||
if (modAmount == 0f)
|
if (modAmount == 0f)
|
||||||
return;
|
return;
|
||||||
if (AbstractWorldObject.IsAbstractCharacter(awo)) {
|
if (AbstractWorldObject.IsAbstractCharacter(awo)) {
|
||||||
|
|||||||
@@ -126,13 +126,14 @@ public class StaminaEffectModifier extends AbstractEffectModifier {
|
|||||||
|
|
||||||
// Apply any power effect modifiers (such as stances)
|
// Apply any power effect modifiers (such as stances)
|
||||||
if (bonus != null){
|
if (bonus != null){
|
||||||
if(source.getObjectType().equals(Enum.GameObjectType.PlayerCharacter)){
|
modAmount *= (1 + bonus.getFloatPercentAll(ModType.PowerDamageModifier, SourceType.None));
|
||||||
modAmount *= (1 + bonus.getFloatPercentAll(ModType.PowerDamageModifier, SourceType.None, (PlayerCharacter) source));
|
|
||||||
}else{
|
|
||||||
modAmount *= (1 + bonus.getFloatPercentAll(ModType.PowerDamageModifier, SourceType.None, null));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if(source.getObjectType().equals(Enum.GameObjectType.PlayerCharacter)){
|
||||||
|
modAmount *= ((PlayerCharacter)source).ZergMultiplier;
|
||||||
|
}
|
||||||
|
|
||||||
if (modAmount == 0f)
|
if (modAmount == 0f)
|
||||||
return;
|
return;
|
||||||
if (AbstractWorldObject.IsAbstractCharacter(awo)) {
|
if (AbstractWorldObject.IsAbstractCharacter(awo)) {
|
||||||
|
|||||||
@@ -218,11 +218,11 @@ public class TransferStatPowerAction extends AbstractPowerAction {
|
|||||||
// Apply any power effect modifiers (such as stances)
|
// Apply any power effect modifiers (such as stances)
|
||||||
PlayerBonuses bonus = source.getBonuses();
|
PlayerBonuses bonus = source.getBonuses();
|
||||||
if (bonus != null){
|
if (bonus != null){
|
||||||
if(source.getObjectType().equals(Enum.GameObjectType.PlayerCharacter)){
|
damage *= (1 + bonus.getFloatPercentAll(ModType.PowerDamageModifier, SourceType.None));
|
||||||
damage *= (1 + bonus.getFloatPercentAll(ModType.PowerDamageModifier, SourceType.None, (PlayerCharacter) source));
|
}
|
||||||
}else{
|
|
||||||
damage *= (1 + bonus.getFloatPercentAll(ModType.PowerDamageModifier, SourceType.None, null));
|
if(source.getObjectType().equals(Enum.GameObjectType.PlayerCharacter)){
|
||||||
}
|
damage *= ((PlayerCharacter)source).ZergMultiplier;
|
||||||
}
|
}
|
||||||
|
|
||||||
//get amount to transfer
|
//get amount to transfer
|
||||||
|
|||||||
Reference in New Issue
Block a user