Merge pull request #131 from ristana/master

Frog 5th gen sabers do not reflect vanilla values
This commit is contained in:
IrishDarkshadow
2020-06-10 09:13:21 +01:00
committed by GitHub
3 changed files with 15 additions and 4 deletions

View File

@@ -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);

View File

@@ -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;

View File

@@ -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;