diff --git a/sku.0/sys.server/compiled/game/script/library/armor.java b/sku.0/sys.server/compiled/game/script/library/armor.java index e57267b6b..3fe988d10 100755 --- a/sku.0/sys.server/compiled/game/script/library/armor.java +++ b/sku.0/sys.server/compiled/game/script/library/armor.java @@ -1501,6 +1501,7 @@ public class armor extends script.base_script float fltTempProtection = 0; float fltGenericProtection = getSkillStatisticModifier(objPlayer, "expertise_overridable_protection_generic"); float fltInnateProtectionAll = getSkillStatisticModifier(objPlayer, "expertise_innate_protection_all"); + float fltSpecialProtectionAll = getSkillStatisticModifier(objPlayer, "elemental_resistance");//get entertainer buildabuff stat fltGeneralProtection = fltGeneralProtection / fltTotal; dictionary dctProtections = new dictionary(); int intMod; @@ -1508,6 +1509,10 @@ public class armor extends script.base_script { fltSpecialProts[intI] = fltSpecialProts[intI] / fltTotal; fltSpecialProts[intI] += fltInnateProtectionAll; + if ( !(DATATABLE_SPECIAL_PROTECTIONS[intI] == "energy") && !(DATATABLE_SPECIAL_PROTECTIONS[intI] == "kinetic") )//only apply buildabuff stat for elemental armors + { + fltSpecialProts[intI] += fltSpecialProtectionAll; + } fltSpecialProts[intI] += getSkillStatisticModifier(objPlayer, "expertise_innate_protection_" + DATATABLE_SPECIAL_PROTECTIONS[intI]); fltSpecialProts[intI] += getSkillStatisticModifier(objPlayer, "expertise_armorset_protection_" + armorSetWorn + "_" + DATATABLE_SPECIAL_PROTECTIONS[intI]); if ((fltSpecialProts[intI] + fltGeneralProtection) > 0) @@ -1538,6 +1543,7 @@ public class armor extends script.base_script int generalProtectionValue = 0; final float[] fltSpecialProts = new float[armor.DATATABLE_SPECIAL_PROTECTIONS.length]; float fltInnateProtectionAll = getSkillStatisticModifier(objPlayer, "expertise_innate_protection_all"); + float fltSpecialProtectionAll = getSkillStatisticModifier(objPlayer, "elemental_resistance");//get entertainer buildabuff stat trial.bumpSession(objPlayer, "displayDefensiveMods"); messageTo(objPlayer, "setDisplayOnlyDefensiveMods", trial.getSessionDict(objPlayer, "displayDefensiveMods"), 5, false); if (intProtection > 0) @@ -1553,6 +1559,10 @@ public class armor extends script.base_script { armorValue = intProtection; fltSpecialProts[intI] += fltInnateProtectionAll; + if ( !(DATATABLE_SPECIAL_PROTECTIONS[intI] == "energy") && !(DATATABLE_SPECIAL_PROTECTIONS[intI] == "kinetic") )//only apply buildabuff stat for elemental armors + { + fltSpecialProts[intI] += fltSpecialProtectionAll; + } fltSpecialProts[intI] += getSkillStatisticModifier(objPlayer, "expertise_innate_protection_" + DATATABLE_SPECIAL_PROTECTIONS[intI]); fltSpecialProts[intI] += getSkillStatisticModifier(objPlayer, "expertise_armorset_protection_" + "_" + DATATABLE_SPECIAL_PROTECTIONS[intI]); intMod = (int) (fltSpecialProts[intI] + armorValue + 0.5f); diff --git a/sku.0/sys.server/compiled/game/script/systems/buff/buff_handler.java b/sku.0/sys.server/compiled/game/script/systems/buff/buff_handler.java index 073e1da99..1175a3935 100755 --- a/sku.0/sys.server/compiled/game/script/systems/buff/buff_handler.java +++ b/sku.0/sys.server/compiled/game/script/systems/buff/buff_handler.java @@ -1865,7 +1865,8 @@ public class buff_handler extends script.base_script addSkillModModifier(self, "buildabuff_" + effect, effect, (int) buffValue, duration, false, true); if ((effect.startsWith("constitution")) || (effect.startsWith("stamina"))) { messageTo(self, "recalcPools", null, 0.25f, false); - } else if (effect.startsWith("expertise_innate_protection_")) { + } else if (effect.startsWith("expertise_innate_protection_") || effect.equals("elemental_resistance")) //ensure recalc for new elemental_resistance Modifier + { messageTo(self, "recalcArmor", null, 0.25f, false); } break; diff --git a/sku.0/sys.server/compiled/game/script/terminal/terminal_character_builder.java b/sku.0/sys.server/compiled/game/script/terminal/terminal_character_builder.java index 7a8008442..47360de07 100755 --- a/sku.0/sys.server/compiled/game/script/terminal/terminal_character_builder.java +++ b/sku.0/sys.server/compiled/game/script/terminal/terminal_character_builder.java @@ -10512,9 +10512,9 @@ public class terminal_character_builder extends script.base_script }; float[] weaponAttackSpeed = { - 0.8f, - 0.8f, - 0.8f + 1.0f, + 1.0f, + 1.0f }; float weaponWoundChance = 1.0f; float weaponForceCost = 0.0f;