add link to calculating palico
This commit is contained in:
1
web/data/calculating_palico_weapon_map.json
Normal file
1
web/data/calculating_palico_weapon_map.json
Normal file
File diff suppressed because one or more lines are too long
@@ -5,6 +5,9 @@ WEAPON_NAME_IDX = {};
|
||||
// ["name", "wtype", "final", "element", "element_2", "awaken"]
|
||||
WEAPON_ID_IDX = {};
|
||||
|
||||
// maps weapon name name -> calculating palico id string
|
||||
PALICO_ID = {};
|
||||
|
||||
_ITEM_NAME_SPECIAL = {
|
||||
"welldonesteak": "Well-done Steak",
|
||||
"lrgelderdragonbone": "Lrg ElderDragon Bone",
|
||||
@@ -154,6 +157,17 @@ function load_weapon_data(ready_fn) {
|
||||
}
|
||||
|
||||
|
||||
function load_calculating_palico_data(ready_fn) {
|
||||
var DATA_PATH = get_base_path() + "/data/";
|
||||
$.getJSON(DATA_PATH + "calculating_palico_weapon_map.json",
|
||||
function(data) {
|
||||
PALICO_ID = data;
|
||||
ready_fn();
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
|
||||
function setup_weapon_autocomplete(weapon_selector, predicate_fn, ready_fn,
|
||||
change_fn) {
|
||||
load_weapon_data(function() {
|
||||
@@ -235,3 +249,32 @@ function set_horn_melodies_title(weapon_data) {
|
||||
});
|
||||
weapon_data["horn_melodies_title"] = lines.join(" ");
|
||||
}
|
||||
|
||||
|
||||
function get_calculating_palico_setup(weapon_data) {
|
||||
// NB: load_calculating_palico_data must be called first
|
||||
var name = weapon_data["name"];
|
||||
if (! name in PALICO_ID) {
|
||||
return "";
|
||||
}
|
||||
|
||||
var setup = [];
|
||||
setup.push(PALICO_ID[name]);
|
||||
var sharpness_plus = weapon_data["sharpness_plus"];
|
||||
var max_sharpness = -1;
|
||||
for (var i=0; i < sharpness_plus.length; i++) {
|
||||
if (sharpness_plus[i] == 0) {
|
||||
break;
|
||||
}
|
||||
max_sharpness = i;
|
||||
}
|
||||
setup.push(max_sharpness);
|
||||
setup.push("3.1.awk,shp");
|
||||
return setup.join(".");
|
||||
}
|
||||
|
||||
function get_calculating_palico_uri(setups) {
|
||||
// m=31 is Great Jaggi
|
||||
var base = "http://minyoung.ch/calculatingpalico/?m=31&s=";
|
||||
return base + encodeURIComponent(JSON.stringify(setups));
|
||||
}
|
||||
|
||||
@@ -90,6 +90,10 @@
|
||||
z-index: 10;
|
||||
}
|
||||
|
||||
#cp_div {
|
||||
display: none;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<script type="text/javascript">
|
||||
@@ -98,7 +102,9 @@
|
||||
var template_row = new EJS({ url: "templates/weaponrow.ejs" });
|
||||
|
||||
$(document).ready(function(){
|
||||
load_weapon_data(init_page);
|
||||
load_weapon_data(function() {
|
||||
load_calculating_palico_data(init_page);
|
||||
});
|
||||
|
||||
$("#sharpness_popup").on("click", function(evt) {
|
||||
$(this).html("").offset({top:0, left:0}).hide();
|
||||
@@ -211,6 +217,7 @@
|
||||
|
||||
function update_weapon_list(state) {
|
||||
var match_count = 0;
|
||||
var cp_setups = [];
|
||||
var comps = state["weapon_component_text"].split("|");
|
||||
console.log("updating weapon list: " + JSON.stringify(state));
|
||||
$("#weapon_table").empty();
|
||||
@@ -238,10 +245,30 @@
|
||||
data["ELEMENT_ABBR"] = ELEMENT_ABBR;
|
||||
var html = template_row.render(data);
|
||||
$("#weapon_table").append(html);
|
||||
var setup = get_calculating_palico_setup(data);
|
||||
console.log("setup for " + weapon_id + ": "
|
||||
+ setup);
|
||||
if (setup.length) {
|
||||
cp_setups.push(setup);
|
||||
}
|
||||
update_cp_link(cp_setups);
|
||||
});
|
||||
}
|
||||
});
|
||||
console.log("match count: " + match_count);
|
||||
|
||||
}
|
||||
|
||||
function update_cp_link(setups) {
|
||||
if (setups.length == 0) {
|
||||
console.log("no matches or no cp setups, hiding cp link");
|
||||
$("#cp_div").hide();
|
||||
} else {
|
||||
var href = get_calculating_palico_uri(setups);
|
||||
console.log("cp link: " + href);
|
||||
$("#cp_link").prop("href", href);
|
||||
$("#cp_div").show();
|
||||
}
|
||||
}
|
||||
</script>
|
||||
</head>
|
||||
@@ -304,6 +331,11 @@
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<div id="cp_div">
|
||||
<a id="cp_link"
|
||||
href="http://minyoung.ch/calculatingpalico/"
|
||||
>Compare weapons (Calculating Palico)</a>
|
||||
</div>
|
||||
<table id="weapon_table">
|
||||
</table>
|
||||
<div id="sharpness_popup"></div>
|
||||
|
||||
Reference in New Issue
Block a user