Add Item level

This commit is contained in:
goat 2021-05-27 02:36:02 +02:00
parent aea842eefb
commit 26ef8043db
No known key found for this signature in database
GPG key ID: F18F057873895461
3 changed files with 36 additions and 0 deletions

View file

@ -96,6 +96,8 @@ class CardCreator {
this.imgMinion = await loadImage(absolute("./minion.png")); this.imgMinion = await loadImage(absolute("./minion.png"));
this.imgMount = await loadImage(absolute("./mount.png")); this.imgMount = await loadImage(absolute("./mount.png"));
this.imgIlvl = await loadImage(absolute("./ilvl_n.png"));
this.imgShadow = await loadImage(absolute("./shadow.png"));
this.imgAlchemist = await loadImage(absolute("./cj/1/alchemist.png")); this.imgAlchemist = await loadImage(absolute("./cj/1/alchemist.png"));
this.imgArmorer = await loadImage(absolute("./cj/1/armorer.png")); this.imgArmorer = await loadImage(absolute("./cj/1/armorer.png"));
@ -188,6 +190,31 @@ class CardCreator {
return canvas; return canvas;
} }
getItemLevel(gearset) {
var ilvl = 0;
var cnt = 0;
for (var key in gearset) {
if (key == 'SoulCrystal')
continue;
var piece = gearset[key];
ilvl += piece.Item.LevelItem;
cnt++;
}
if (cnt == 0)
return 0;
return this.pad(Math.ceil(ilvl / cnt), 4);
}
pad(num, size) {
num = num.toString();
while (num.length < size) num = "0" + num;
return num;
}
async createCard(charaId) { async createCard(charaId) {
var response = await fetch(`https://xivapi.com/character/${charaId}?extended=1&data=FC,mimo`); var response = await fetch(`https://xivapi.com/character/${charaId}?extended=1&data=FC,mimo`);
var data = await response.json(); var data = await response.json();
@ -233,8 +260,17 @@ class CardCreator {
ctx.fillText("Free Company", 480, infoTextSmallStartY + infoTextSpacing * 3); ctx.fillText("Free Company", 480, infoTextSmallStartY + infoTextSpacing * 3);
} }
ctx.fillStyle = grey;
ctx.font = smed;
var ilvl = this.getItemLevel(data.Character.GearSet.Gear);
ctx.drawImage(this.imgShadow, 441 - 143, -15, 170, 90);
ctx.drawImage(this.imgIlvl, 441 - 92, 12, 24, 27);
ctx.fillText(ilvl, 441 - 65, 35);
ctx.fillStyle = white; ctx.fillStyle = white;
ctx.font = large; ctx.font = large;
ctx.textAlign = "center"; ctx.textAlign = "center";
// Chara Name // Chara Name
if (data.Character.Title.Name == null || data.Character.Title.Name == "") { if (data.Character.Title.Name == null || data.Character.Title.Name == "") {

BIN
ilvl_n.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.5 KiB

BIN
shadow.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 57 KiB