You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
mhapi/templates/damage/monster_damage_by_rarity.html

280 lines
6.6 KiB

## -*- coding: utf-8 -*-
<!DOCTYPE html>
<html>
<head>
<title>Poogie's Calculator: ${monster} r${rarity}</title>
<meta charset="utf-8" />
<!-- Include meta tag to ensure proper rendering and touch zooming -->
<meta name="viewport" content="width=device-width, initial-scale=1">
<script src="/js/jquery.min.js"></script>
<link rel="stylesheet" href="/css/jquery-ui.min.css" />
<script src="/js/jquery-ui.min.js"></script>
<script src="/js/common.js"></script>
<link rel="stylesheet" href="/css/poogie.css">
<style>
body {
font-size: 1em;
line-height: 1.3;
font-family: sans-serif;
}
img.icon { width: 20px; height: 20px; }
.sharpness-bar {
border: 1px #a9a9a9 solid;
min-width: 82px;
height: 10px;
background-color: #a9a9a9;
float: left;
clear: both;
}
.sharpness-bar span {
display: inline-block;
height: 100%;
float: left;
}
.sharpness-bar .red {
background-color: #C00C38 !important;
}
.sharpness-bar .orange {
background-color: #E85018 !important;
}
.sharpness-bar .yellow {
background-color: #F0C830 !important;
}
.sharpness-bar .green {
background-color: #58D000 !important;
}
.sharpness-bar .blue {
background-color: #3068E8 !important;
}
.sharpness-bar .white {
background-color: #F0F0F0 !important;
}
.sharpness-bar .purple {
background-color: #c3c !important;
}
#sharpness_popup {
position: absolute;
display: none;
border: 1px solid;
background: rgba(204, 204, 204, 0.9);
z-index: 10;
}
.sharpness-box {
float: left;
width: 10px;
height: 10px;
margin: 1px;
border: 1px solid rgba(0, 0, 0, .2);
}
.Red {
background-color: #C00C38 !important;
}
.Orange {
background-color: #E85018 !important;
}
.Yellow {
background-color: #F0C830 !important;
}
.Green {
background-color: #58D000 !important;
}
.Blue {
background-color: #3068E8 !important;
}
.White {
background-color: #F0F0F0 !important;
}
.Purple {
background-color: #c3c !important;
}
</style>
<script type="text/javascript">
function load_monster_damage(form) {
var url = "/mhr/damage/" + $("#monster").val()
+ "/r" + $("#rarity").val()
+ "/" + $("#weapon_type").val() + ".html";
window.location.href = url;
}
$(document).ready(function(){
setup_monster_autocomplete("mhr", "#monster");
$( "#rarity" ).spinner({
spin: function(event, ui) {
if (ui.value > 10) {
return false;
}
}
});
});
</script>
</head>
<body>
<form action="javascript:void(0);" onsubmit="load_monster_damage(this)">
<span>
<input id="monster" name="monster" type="text" size="20"
value="${monster}" /></td>
<select id="weapon_type" name="weapon_type">
% for wname in weapon_types:
% if wname == weapon_type:
<option value="${wname}" selected="selected">${wname}</option>
% else:
<option value="${wname}">${wname}</option>
% endif
% endfor
</select>
</span>
<span>
<label for="rarity">Rarity:</label>
<input id="rarity" name="rarity" value="${rarity}"
style="width: 18px">
<input type="submit" value="Go" />
</span>
</form>
<table border="1" cellpadding="2" cellspacing="0">
<tr>
<th colspan="6">Weapon</th>
<th>Avg</th>
% for part in part_names:
<th>${part}</th>
% endfor
</tr>
% for dtype in damage_types:
<% max_damage = monster_damage.max(dtype) %>
<% avg_damage = monster_damage.avg(dtype) %>
<% alt_avg_damage = monster_damage.alt_avg(dtype) %>
<tr style="border: 0px;">
<td colspan="6" align="left">
<img style="height:.8em"
title="dtype"
src="/img/${dtype.capitalize()}.png" />
${dtype}
</td>
<td align="right">
% if avg_damage > 0 or alt_avg_damage > 0:
${round(avg_damage, 1)}
% if alt_avg_damage != avg_damage:
(${round(alt_avg_damage, 1)})
% endif
<img style="height:.8em"
title="dtype"
src="/img/${dtype.capitalize()}.png" />
% else:
&nbsp;
% endif
</td>
% for part_name, part in monster_damage.items():
<% bgcolor = "lightyellow" if (part[dtype] > 0 and part[dtype] == max_damage) else "white" %>
% if part.state_diff(dtype) != 0:
<td align="right" style="background: ${bgcolor}">
% if part[dtype] > 0 or part.get_alt_state(dtype) > 0:
${part[dtype]} (${part.get_alt_state(dtype)})
<img style="height:.8em"
title="dtype"
src="/img/${dtype.capitalize()}.png" />
% else:
&nbsp;
% endif
</td>
% else:
<td align="right" style="background: ${bgcolor}">
% if part[dtype] > 0:
${part[dtype]}
<img style="height:.8em"
title="dtype"
src="/img/${dtype.capitalize()}.png" />
% else:
&nbsp;
%endif
</td>
% endif
% endfor
</tr>
% endfor
% for weapon in weapon_names:
<% damage = weapon_damage_map[weapon] %>
<% affinity = str(int(damage.affinity)) + "%" if damage.affinity else "&nbsp;" %>
<% avg = damage.uniform(0.0) %>
<% avg_break = damage.uniform(1.0) %>
<tr style="border: 0px;">
<td align="left">
<a href="/mhr/weaponplanner.html?weapon=${weapon | u}">${weapon}</a>
</td>
<td align="right">${int(damage.attack)}</td>
<td align="right">${affinity}</td>
<td align="center" title="${damage.weapon.sharpness}">
<div class="sharpness-box ${damage.sharpness_name}" />
</td>
% if damage.eattack > 0:
<td align="right">
${int(damage.eattack)}
<img style="height:.8em"
title="${damage.etype}"
src="/img/${damage.etype}.png" />
</td>
% else:
<td>&nbsp;</td>
% endif
% if damage.eattack2 > 0:
<td align="right">
${int(damage.eattack2)}
<img style="height:.8em"
title="${damage.etype2}"
src="/img/${damage.etype2}.png" />
</td>
% else:
<td>&nbsp;</td>
% endif
<td align="right">
${round(avg, 1)}
% if avg != avg_break:
(${round(avg_break, 1)})
% endif
</td>
% for part in part_names:
<% bgcolor = "yellow" if damage[part].average() == part_max_damage[part] else "white" %>
<td align="right" style="background: ${bgcolor};">
${int(damage[part].total)}
% if damage[part].total_break != damage[part].total:
(${int(damage[part].total_break)})
% endif
</td>
% endfor
</tr>
% endfor
</table>
<div id="sharpness_popup"></div>
</body>