forked from MagicBane/Server
Initial refactor of damagetype
This commit is contained in:
@@ -529,7 +529,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, SourceType.Fly) && bonus.getBool(ModType.Fly, SourceType.None) && flyer.isAlive())
|
||||
canFly = true;
|
||||
|
||||
return canFly;
|
||||
@@ -615,10 +615,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, SourceType.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, SourceType.None);
|
||||
defense = (short) (defense * (1 + pos_Bonus));
|
||||
|
||||
//Lucky rune applies next
|
||||
@@ -627,7 +627,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, SourceType.None);
|
||||
defense = (short) (defense * (1 + neg_Bonus));
|
||||
|
||||
} else
|
||||
@@ -729,7 +729,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, SourceType.None);
|
||||
|
||||
if (mainHand)
|
||||
abstractCharacter.rangeHandOne *= range_bonus;
|
||||
@@ -773,10 +773,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, SourceType.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, SourceType.None));
|
||||
atr *= pos_Bonus;
|
||||
|
||||
// next precise
|
||||
@@ -784,7 +784,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, SourceType.None);
|
||||
|
||||
atr *= (1 + neg_Bonus);
|
||||
}
|
||||
@@ -804,9 +804,9 @@ 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, SourceType.None));
|
||||
|
||||
speed *= (1 + abstractCharacter.bonuses.getFloatPercentAll(ModType.AttackDelay, SourceType.NONE));
|
||||
speed *= (1 + abstractCharacter.bonuses.getFloatPercentAll(ModType.AttackDelay, SourceType.None));
|
||||
|
||||
if (speed < 10)
|
||||
speed = 10;
|
||||
@@ -815,22 +815,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, SourceType.None);
|
||||
max += weapon.getBonus(ModType.MaxDamage, SourceType.None);
|
||||
|
||||
min += weapon.getBonus(ModType.MeleeDamageModifier, SourceType.NONE);
|
||||
max += weapon.getBonus(ModType.MeleeDamageModifier, SourceType.NONE);
|
||||
min += weapon.getBonus(ModType.MeleeDamageModifier, SourceType.None);
|
||||
max += weapon.getBonus(ModType.MeleeDamageModifier, SourceType.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, SourceType.None);
|
||||
percentMinDamage += weapon.getBonusPercent(ModType.MeleeDamageModifier, SourceType.None);
|
||||
|
||||
percentMaxDamage += weapon.getBonusPercent(ModType.MaxDamage, SourceType.NONE);
|
||||
percentMaxDamage += weapon.getBonusPercent(ModType.MeleeDamageModifier, SourceType.NONE);
|
||||
percentMaxDamage += weapon.getBonusPercent(ModType.MaxDamage, SourceType.None);
|
||||
percentMaxDamage += weapon.getBonusPercent(ModType.MeleeDamageModifier, SourceType.None);
|
||||
|
||||
|
||||
min *= percentMinDamage;
|
||||
@@ -867,21 +867,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, SourceType.None);
|
||||
maxDamage += abstractCharacter.bonuses.getFloat(ModType.MaxDamage, SourceType.None);
|
||||
|
||||
minDamage += abstractCharacter.bonuses.getFloat(ModType.MeleeDamageModifier, SourceType.NONE);
|
||||
maxDamage += abstractCharacter.bonuses.getFloat(ModType.MeleeDamageModifier, SourceType.NONE);
|
||||
minDamage += abstractCharacter.bonuses.getFloat(ModType.MeleeDamageModifier, SourceType.None);
|
||||
maxDamage += abstractCharacter.bonuses.getFloat(ModType.MeleeDamageModifier, SourceType.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, SourceType.None);
|
||||
percentMinDamage += abstractCharacter.bonuses.getFloatPercentAll(ModType.MeleeDamageModifier, SourceType.None);
|
||||
|
||||
percentMaxDamage += abstractCharacter.bonuses.getFloatPercentAll(ModType.MaxDamage, SourceType.NONE);
|
||||
percentMaxDamage += abstractCharacter.bonuses.getFloatPercentAll(ModType.MeleeDamageModifier, SourceType.NONE);
|
||||
percentMaxDamage += abstractCharacter.bonuses.getFloatPercentAll(ModType.MaxDamage, SourceType.None);
|
||||
percentMaxDamage += abstractCharacter.bonuses.getFloatPercentAll(ModType.MeleeDamageModifier, SourceType.None);
|
||||
|
||||
minDamage *= percentMinDamage;
|
||||
maxDamage *= percentMaxDamage;
|
||||
@@ -930,8 +930,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, SourceType.None);
|
||||
def *= (1 + shield.getBonusPercent(ModType.DR, SourceType.None));
|
||||
|
||||
}
|
||||
|
||||
@@ -974,8 +974,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, SourceType.None);
|
||||
def *= (1 + armor.getBonusPercent(ModType.DR, SourceType.None));
|
||||
}
|
||||
|
||||
return (def * (1 + ((int) armorSkill.getModifiedAmount() / 50f)));
|
||||
@@ -2176,7 +2176,7 @@ public abstract class AbstractCharacter extends AbstractWorldObject {
|
||||
PowersManager.cancelOnTakeDamage(this);
|
||||
}
|
||||
|
||||
public final void cancelOnTakeDamage(final SourceType type, final float amount) {
|
||||
public final void cancelOnTakeDamage(final DamageType type, final float amount) {
|
||||
boolean changed = false;
|
||||
for (String s : this.effects.keySet()) {
|
||||
Effect eff = this.effects.get(s);
|
||||
|
||||
Reference in New Issue
Block a user