working mhgen weapon list and planner

main
Bryce Allen 9 years ago
parent cbcf694106
commit 4bb929e826

Binary file not shown.

@ -361,7 +361,7 @@ class Skill(RowModel):
class Weapon(ItemCraftable):
_list_fields = ["id", "wtype", "name", "name_jp"]
_list_fields = ["id", "wtype", "name"]
_indexes = { "name": "id",
"wtype": ["id", "name"],
# subset of all data that can be used for searching and
@ -405,7 +405,9 @@ class Weapon(ItemCraftable):
self._data["sharpness_plus2"] = WeaponSharpness(plus2)
def is_not_localized(self):
return (self.name == self.name_jp)
# Check if first char is ascii, should be the case for all
# english weapons, and not for Japanese DLC weapons.
return ord(self.name[0]) < 128
class Monster(RowModel):

@ -144,7 +144,9 @@ function setup_item_autocomplete(selector) {
function load_weapon_data(ready_fn) {
var DATA_PATH = get_base_path() + "/jsonapi/";
if (typeof DATA_PATH == "undefined") {
DATA_PATH = get_base_path() + "/jsonapi/";
}
$.getJSON(DATA_PATH + "weapon/_index_name.json",
function(data) {
WEAPON_NAME_IDX = data;

@ -246,8 +246,8 @@
if (weapon_predicate(state, weapon_data)) {
weapon_data["id"] = i;
weapon_data["sharpness_width"] = 2;
// TODO: link to planner
weapon_data["url"] = null;
weapon_data["url"] = "weaponplanner.html?weapon="
+ encodeURIComponent(weapon_data["name"]);
weapon_data["bug_type"] = null;
weapon_data["arc_type"] = null;
match_count += 1;

@ -7,9 +7,9 @@
<link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.3/themes/smoothness/jquery-ui.css" />
<script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.11.3/jquery-ui.min.js"></script>
<script type="text/javascript" src="js/ejs_production.js"></script>
<script type="text/javascript" src="/js/ejs_production.js"></script>
<script type="text/javascript" src="js/common.js"></script>
<script type="text/javascript" src="/js/common.js"></script>
<style>
label {
@ -85,10 +85,10 @@
</style>
<script type="text/javascript">
var DATA_PATH = get_base_path() + "/jsonapi/";
var DATA_PATH = "/jsonapi/mhgen/";
var template_path = new EJS({ url: "templates/weaponpath.ejs" });
var template_stats = new EJS({ url: "templates/weaponstats.ejs" });
var template_path = new EJS({ url: "/templates/weaponpath.ejs" });
var template_stats = new EJS({ url: "/templates/weaponstats.ejs" });
$(document).ready(function(){
setup_weapon_autocomplete("#weapon", autocomplete_predicate,
@ -135,7 +135,7 @@
}
function save_state(state, replace) {
var url = "/weaponplanner.html?" + encode_qs(state);
var url = "/mhgen/weaponplanner.html?" + encode_qs(state);
if (replace) {
window.history.replaceState(state, "", url);
} else {
@ -170,6 +170,7 @@
}
function show_trees(weapon_name) {
console.log("show_trees '" + weapon_name + "'");
if (!weapon_name) return;
weapon_id = WEAPON_NAME_IDX[weapon_name][0];
console.log("show_trees(" + weapon_name + "): " + weapon_id);
@ -180,6 +181,13 @@
function(data) {
set_sharpness_titles(data);
set_horn_melodies_title(data);
if (data["parent_id"]) {
var parent_obj = WEAPON_ID_IDX[data["parent_id"]][0];
data["parent_name"] = parent_obj["name"];
} else {
data["parent_name"] = null;
}
data["sharpness_width"] = 2;
var html = template_stats.render(data);
$("#weapon_stats").html(html);
});

@ -22,41 +22,65 @@
<td>
<% if (awaken) { %>
(<img style="height:.8em" title="Awaken <%= awaken %>"
src="img/<%= awaken %>.png" /><%= awaken_attack %> <%= awaken %>)
src="/img/<%= awaken %>.png" /><%= awaken_attack %> <%= awaken %>)
<% } else if (element) { %>
<img style="height:.8em" title="<%= element %>"
src="img/<%= element %>.png" /> <%= element_attack %>
src="/img/<%= element %>.png" /> <%= element_attack %>
<%= element %>
<% if (element_2) { %>
<img style="height:.8em" title="<%= element_2 %>"
src="img/<%= element_2 %>.png" /> <%= element_2_attack %>
src="/img/<%= element_2 %>.png" /> <%= element_2_attack %>
<%= element_2 %>
<% } %>
<% } %>
</td>
<td>
<td id="sharpness_td"
data-sharpness="<%= sharpness_all_title %>"
data-id="<%= id %>">
<% if (sharpness) { %>
<div class="sharpness-bar" title="<%= sharpness_all_title %>">
<span style="width:<%= sharpness[0] %>px" class="red"></span>
<span style="width:<%= sharpness[1] %>px" class="orange"></span>
<span style="width:<%= sharpness[2] %>px" class="yellow"></span>
<span style="width:<%= sharpness[3] %>px" class="green"></span>
<span style="width:<%= sharpness[4] %>px" class="blue"></span>
<span style="width:<%= sharpness[5] %>px" class="white"></span>
<span style="width:<%= sharpness[6] %>px" class="purple"></span>
<span style="width:<%= sharpness[0] * sharpness_width %>px" class="red"></span>
<span style="width:<%= sharpness[1] * sharpness_width %>px" class="orange"></span>
<span style="width:<%= sharpness[2] * sharpness_width %>px" class="yellow"></span>
<span style="width:<%= sharpness[3] * sharpness_width %>px" class="green"></span>
<span style="width:<%= sharpness[4] * sharpness_width %>px" class="blue"></span>
<span style="width:<%= sharpness[5] * sharpness_width %>px" class="white"></span>
<% if (sharpness.length > 6) { %>
<span style="width:<%= sharpness[6] * sharpness_width %>px" class="purple"></span>
<% } %>
</div>
<div class="sharpness-bar" title="<%= sharpness_all_title %>">
<span style="width:<%= sharpness_plus[0] * sharpness_width %>px" class="red"></span>
<span style="width:<%= sharpness_plus[1] * sharpness_width %>px" class="orange"></span>
<span style="width:<%= sharpness_plus[2] * sharpness_width %>px" class="yellow"></span>
<span style="width:<%= sharpness_plus[3] * sharpness_width %>px" class="green"></span>
<span style="width:<%= sharpness_plus[4] * sharpness_width %>px" class="blue"></span>
<span style="width:<%= sharpness_plus[5] * sharpness_width %>px" class="white"></span>
<% if (sharpness.length > 6) { %>
<span style="width:<%= sharpness_plus[6] * sharpness_width %>px" class="purple"></span>
<% } %>
</div>
<% if (sharpness_plus2) { %>
<div class="sharpness-bar" title="<%= sharpness_all_title %>">
<span style="width:<%= sharpness_plus[0] %>px" class="red"></span>
<span style="width:<%= sharpness_plus[1] %>px" class="orange"></span>
<span style="width:<%= sharpness_plus[2] %>px" class="yellow"></span>
<span style="width:<%= sharpness_plus[3] %>px" class="green"></span>
<span style="width:<%= sharpness_plus[4] %>px" class="blue"></span>
<span style="width:<%= sharpness_plus[5] %>px" class="white"></span>
<span style="width:<%= sharpness_plus[6] %>px" class="purple"></span>
<span style="width:<%= sharpness_plus2[0] * sharpness_width %>px" class="red"></span>
<span style="width:<%= sharpness_plus2[1] * sharpness_width %>px" class="orange"></span>
<span style="width:<%= sharpness_plus2[2] * sharpness_width %>px" class="yellow"></span>
<span style="width:<%= sharpness_plus2[3] * sharpness_width %>px" class="green"></span>
<span style="width:<%= sharpness_plus2[4] * sharpness_width %>px" class="blue"></span>
<span style="width:<%= sharpness_plus2[5] * sharpness_width %>px" class="white"></span>
<% if (sharpness.length > 6) { %>
<span style="width:<%= sharpness_plus2[6] * sharpness_width %>px" class="purple"></span>
<% } %>
</div>
<% } %>
<% } %>
</td>
<td style="text-align:right"><% if (defense) { %>+<%= defense %> Def<% } %>
<% if (parent_name) { %>
<a href="weaponplanner.html?weapon=<%= encodeURIComponent(parent_name) %>"
title="<%= parent_name %>">(parent)</a>
<% } %>
</td>
<td style="text-align:right"><% if (defense) { %>+<%= defense %> Def<% } %></td>
</tr>
</table>
<% if (children.length) { %>
@ -70,3 +94,4 @@
</td></tr>
</table>
<% } %>

@ -180,6 +180,14 @@
function(data) {
set_sharpness_titles(data);
set_horn_melodies_title(data);
data["sharpness_plus2"] = null;
data["sharpness_width"] = 1;
if (data["parent_id"]) {
var parent_obj = WEAPON_ID_IDX[data["parent_id"]][0];
data["parent_name"] = parent_obj["name"];
} else {
data["parent_name"] = null;
}
var html = template_stats.render(data);
$("#weapon_stats").html(html);
});

Loading…
Cancel
Save