Difference between revisions of "User:Lusterless"
From Fallen Sword Wiki
Lusterless (Talk | contribs) |
Lusterless (Talk | contribs) (→Shops) |
||
Line 25: | Line 25: | ||
<nowiki> | <nowiki> | ||
− | var items = Array.from($(".shopInventoryItem")).map((e,i) => { | + | var items = Array.from($(".shopInventoryItem")).map((e,i) => { return { |
price: $(e).find(".price").text(), | price: $(e).find(".price").text(), | ||
imageID: $(e).find(".inventory-item").css("background-image").match(/(\d+)\.gif/)[1], | imageID: $(e).find(".inventory-item").css("background-image").match(/(\d+)\.gif/)[1], | ||
data: $(e).find(".inventory-item-slot").data("tipped"), | data: $(e).find(".inventory-item-slot").data("tipped"), | ||
− | }); | + | }}); |
items.reduce((promiseChain, currentTask) => { | items.reduce((promiseChain, currentTask) => { |
Revision as of 19:31, 1 March 2022
Contents |
Lusterless
Documentation enthusiast and Fallen Sword Helper developer.
Guilds
- Balance Guild, 2008 - 2019
- Sharingan Warriors, 2019 - present
Javascript for the Wiki
I've written some JS code that can be run in developer mode to generate sections of wiki-pages.
Realm Maps
This script generates the cells of a map table. It must be run after a page refresh, and requires manual tagging and review.
realmMap = GameData.realm().tiles.map((r,i) => r.map((i) => `| {{tileSheet|tiles/${GameData.realm().set}|${GameData.realm().tile_lookup[i].i}}}`)) GameData.realm().fixed.forEach((i) => realmMap[i.y][i.x] = `| {{MapNote|image={{tileSheet|realms/${GameData.realm().id}|${i.i}}}|target=${i.name}}}`) realmMap.map((r, i) => `| ${i}\n` + r.join("\n") + `\n| ${i}\n`).join("|-\n")
Shops
This script creates the code for items in the Shop Template.
var items = Array.from($(".shopInventoryItem")).map((e,i) => { return { price: $(e).find(".price").text(), imageID: $(e).find(".inventory-item").css("background-image").match(/(\d+)\.gif/)[1], data: $(e).find(".inventory-item-slot").data("tipped"), }}); items.reduce((promiseChain, currentTask) => { return promiseChain.then(chainResults => $.ajax(currentTask.data).then((e) => [ ...chainResults, $(e).find('nobr').text() ] ) ); }, Promise.resolve([])).then(arrayOfResults => { arrayOfResults.map((e,i) => `|item-name-${i+1}=${e.name}|item-image-${i+1}={{ItemPicture|${e.imageID}}}|item-price-${i+1}=${e.price}`).join("\n") });