Skip to content

Commit

Permalink
Exponential Armor patch by Alpha123, with new updated armor values.
Browse files Browse the repository at this point in the history
Needs a ton of testing.

git-svn-id: http://svn.wildfiregames.com/public/ps/trunk@13381 3db68df2-c116-0410-a063-a993310a9797
  • Loading branch information
michael authored and Steven Fuchs committed May 24, 2013
1 parent b94998a commit ada8d64
Show file tree
Hide file tree
Showing 314 changed files with 1,125 additions and 1,397 deletions.
2 changes: 1 addition & 1 deletion binaries/data/mods/public/gui/session/selection_details.js
Expand Up @@ -192,7 +192,7 @@ function displaySingle(entState, template)
// Show max attack range if ranged attack, also convert to tiles (4m per tile)
if (entState.attack && entState.attack.type == "Ranged")
attack += ", [font=\"serif-bold-13\"]Range:[/font] " + Math.round(entState.attack.maxRange/4);
getGUIObjectByName("attackAndArmorStats").tooltip = attack + "\n[font=\"serif-bold-13\"]Armor:[/font] " + damageTypeDetails(entState.armour);
getGUIObjectByName("attackAndArmorStats").tooltip = attack + "\n[font=\"serif-bold-13\"]Armor:[/font] " + armorTypeDetails(entState.armour);

// Icon Tooltip
var iconTooltip = "";
Expand Down
2 changes: 1 addition & 1 deletion binaries/data/mods/public/gui/session/unit_commands.js
Expand Up @@ -455,7 +455,7 @@ function setupUnitPanel(guiName, usedPanels, unitEntState, playerState, items, c
if (template.health)
tooltip += "\n[font=\"serif-bold-13\"]Health:[/font] " + template.health;
if (template.armour)
tooltip += "\n[font=\"serif-bold-13\"]Armour:[/font] " + damageTypesToText(template.armour);
tooltip += "\n[font=\"serif-bold-13\"]Armour:[/font] " + armorTypesToText(template.armour);
if (template.attack)
tooltip += "\n" + getEntityAttack(template);
if (template.speed)
Expand Down
57 changes: 57 additions & 0 deletions binaries/data/mods/public/gui/session/utility_functions.js
Expand Up @@ -177,6 +177,42 @@ function damageTypeDetails(dmg)
}
}

// Converts an armor level into the actual reduction percentage
function armorLevelToPercentage(level)
{
return 100 - Math.round(Math.pow(0.9, level) * 100);
}

// Also for the unit details panel
function armorTypeDetails(dmg)
{
if (dmg)
{
var dmgArray = [];
if (dmg.hack)
{
dmgArray.push(dmg.hack + "[font=\"sans-10\"][color=\"orange\"] Hack[/color][/font] " +
" [font=\"sans-10\"](" + armorLevelToPercentage(dmg.hack) + "%)[/font]");
}
if (dmg.pierce)
{
dmgArray.push(dmg.pierce + "[font=\"sans-10\"][color=\"orange\"] Pierce[/color][/font] " +
" [font=\"sans-10\"](" + armorLevelToPercentage(dmg.pierce) + "%)[/font]");
}
if (dmg.crush)
{
dmgArray.push(dmg.crush + "[font=\"sans-10\"][color=\"orange\"] Crush[/color][/font] " +
" [font=\"sans-10\"](" + armorLevelToPercentage(dmg.crush) + "%)[/font]");
}

return dmgArray.join(", ");
}
else
{
return "[font=\"serif-12\"](None)[/font]";
}
}

// For the training tooltip
function damageTypesToText(dmg)
{
Expand All @@ -198,6 +234,27 @@ function damageTypesToText(dmg)
return dmgArray.join("[font=\"serif-12\"], [/font]");
}

// Also for the training tooltip
function armorTypesToText(dmg)
{
if (!dmg)
return "[font=\"serif-12\"](None)[/font]";

var hackDamage = dmg.hack;
var pierceDamage = dmg.pierce;
var crushDamage = dmg.crush;
var hackLabel = "[font=\"serif-12\"] Hack (" + armorLevelToPercentage(hackDamage) + "%)[/font]";
var pierceLabel = "[font=\"serif-12\"] Pierce (" + armorLevelToPercentage(pierceDamage) + "%)[/font]";
var crushLabel = "[font=\"serif-12\"] Crush (" + armorLevelToPercentage(crushDamage) + "%)[/font]";

var dmgArray = [];
if (hackDamage) dmgArray.push(hackDamage + hackLabel);
if (pierceDamage) dmgArray.push(pierceDamage + pierceLabel);
if (crushDamage) dmgArray.push(crushDamage + crushLabel);

return dmgArray.join("[font=\"serif-12\"], [/font]");
}

function getEntityCommandsList(entState)
{
var commands = [];
Expand Down

0 comments on commit ada8d64

Please sign in to comment.