Difference between revisions of "User:Lusterless"
From Fallen Sword Wiki
Lusterless (Talk | contribs) |
Lusterless (Talk | contribs) (→Realm Maps) |
||
(4 intermediate revisions by one user not shown) | |||
Line 6: | Line 6: | ||
* [https://fallensword.com/index.php?cmd=guild&subcmd=view&guild_id=28686 Balance Guild], 2008 - 2019 | * [https://fallensword.com/index.php?cmd=guild&subcmd=view&guild_id=28686 Balance Guild], 2008 - 2019 | ||
* [https://fallensword.com/index.php?cmd=guild&subcmd=view&guild_id=22663 Sharingan Warriors], 2019 - present | * [https://fallensword.com/index.php?cmd=guild&subcmd=view&guild_id=22663 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. | ||
+ | |||
+ | <nowiki> | ||
+ | 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}|type=${["A", "S", "Q", "P", "R"][i.type]}}}`) | ||
+ | realmMap.map((r, i) => `| ${i}\n` + r.join("\n") + `\n| ${i}\n`).join("|-\n") | ||
+ | </nowiki> | ||
+ | |||
+ | === Shops === | ||
+ | This script creates the code for items in the [[template:Shop|Shop Template]]. | ||
+ | |||
+ | <nowiki> | ||
+ | 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") | ||
+ | }); | ||
+ | </nowiki> | ||
== Links == | == Links == | ||
* [https://fallensword.com/index.php?cmd=profile&player_id=1674838 Player Profile] | * [https://fallensword.com/index.php?cmd=profile&player_id=1674838 Player Profile] | ||
* [https://wiki.fallensword.com/index.php/Special:Contributions/Lusterless Wiki Contributions] | * [https://wiki.fallensword.com/index.php/Special:Contributions/Lusterless Wiki Contributions] | ||
+ | [[Category:Players|{{PAGENAME}}]] |
Latest revision as of 20:20, 29 January 2024
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}|type=${["A", "S", "Q", "P", "R"][i.type]}}}`) 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") });