Money ! it's a crime :d

This commit is contained in:
Vlyan
2020-12-30 19:27:50 +01:00
parent 2d9fbcabfb
commit c9b60c1333
9 changed files with 97 additions and 5 deletions

View File

@@ -72,7 +72,6 @@
"book_reference": "Reference",
"value": "Value",
"rarity": "Rarity",
"zeni": "Zeni",
"chatdices": {
"successes": "Successes",
"explosives": "Explosives",
@@ -140,6 +139,12 @@
"approaches": "Approaches",
"notes": "Notes",
"inventory": "Inventory",
"money": {
"title": "Personal money",
"koku": "Koku",
"bu": "Bu",
"zeni": "Zeni"
},
"equipment": "Equipment",
"rank": "Rank",
"name": "Name",

View File

@@ -72,7 +72,6 @@
"book_reference": "Reference",
"value": "Value",
"rarity": "Rarity",
"zeni": "Zeni",
"chatdices": {
"successes": "Successes",
"explosives": "Explosives",
@@ -140,6 +139,12 @@
"approaches": "Planteamientos",
"notes": "Notas",
"inventory": "Inventario",
"money": {
"title": "Personal money",
"koku": "Koku",
"bu": "Bu",
"zeni": "Zeni"
},
"equipment": "Equipo",
"rank": "Rango",
"name": "Nombre",

View File

@@ -72,7 +72,6 @@
"book_reference": "Référence",
"value": "Valeur",
"rarity": "Rareté",
"zeni": "Zeni",
"chatdices": {
"successes": "Succès",
"explosives": "Explosifs",
@@ -140,6 +139,12 @@
"approaches": "Approches",
"notes": "Notes",
"inventory": "Inventaire",
"money": {
"title": "Fortune personnelle",
"koku": "Koku",
"bu": "Bu",
"zeni": "Zeni"
},
"equipment": "Équipement",
"rank": "Rang",
"name": "Nom",

View File

@@ -42,6 +42,9 @@ export class CharacterSheetL5r5e extends BaseSheetL5r5e {
// Min rank = 1
this.actor.data.data.identity.school_rank = Math.max(1, this.actor.data.data.identity.school_rank);
// Split Money
sheetData.data.money = this._zeniToMoney(this.actor.data.data.zeni);
// Sort Items by name
sheetData.items.sort((a, b) => {
return a.name.localeCompare(b.name);
@@ -91,4 +94,48 @@ export class CharacterSheetL5r5e extends BaseSheetL5r5e {
});
sheetData.advancementsListByRank = adv;
}
/**
* Update the actor.
* @param event
* @param formData
*/
_updateObject(event, formData) {
// Store money in zeni
formData["data.zeni"] = this._moneyToZeni(
formData["data.money.koku"],
formData["data.money.bu"],
formData["data.money.zeni"]
);
// Remove fake money object
delete formData["data.money.koku"];
delete formData["data.money.bu"];
delete formData["data.money.zeni"];
return super._updateObject(event, formData);
}
_zeniToMoney(zeni) {
const money = {
koku: 0,
bu: 0,
zeni: zeni,
};
if (money.zeni >= CONFIG.l5r5e.money[0]) {
money.koku = Math.floor(money.zeni / CONFIG.l5r5e.money[0]);
money.zeni = Math.floor(money.zeni % CONFIG.l5r5e.money[0]);
}
if (money.zeni >= CONFIG.l5r5e.money[1]) {
money.bu = Math.floor(money.zeni / CONFIG.l5r5e.money[1]);
money.zeni = Math.floor(money.zeni % CONFIG.l5r5e.money[1]);
}
return money;
}
_moneyToZeni(koku, bu, zeni) {
return Math.floor(koku * CONFIG.l5r5e.money[0]) + Math.floor(bu * CONFIG.l5r5e.money[1]) + Math.floor(zeni);
}
}

View File

@@ -13,6 +13,7 @@ L5R5E.xp = {
skillCostMultiplier: 2,
techniqueCost: 3,
};
L5R5E.money = [50, 10];
// Map SkillId - CategoryId
L5R5E.skills = new Map();

File diff suppressed because one or more lines are too long

View File

@@ -402,6 +402,20 @@
display: flex;
}
}
.money {
&-wrapper {
display: block;
flex: 100%;
text-align: center;
}
input[type="text"],
input[type="number"],
input[type="password"],
input[type="date"],
input[type="time"] {
width: 100px;
}
}
.techniques-wrapper {
.checklist {
display: flex;

View File

@@ -47,6 +47,21 @@
{{!-- Inventory Tab --}}
<article class="tab inventory" data-group="primary" data-tab="inventory">
<fieldset class="money money-wrapper">
<legend class="section-header">{{localize 'l5r5e.money.title'}}</legend>
<label>
{{localize 'l5r5e.money.koku'}}
<input name="data.money.koku" type="number" value="{{actor.data.money.koku}}" data-dtype="Number" min="0" placeholder="0"/>
</label>
<label>
{{localize 'l5r5e.money.bu'}}
<input name="data.money.bu" type="number" value="{{actor.data.money.bu}}" data-dtype="Number" min="0" placeholder="0"/>
</label>
<label>
{{localize 'l5r5e.money.zeni'}}
<input name="data.money.zeni" type="number" value="{{actor.data.money.zeni}}" data-dtype="Number" min="0" placeholder="0"/>
</label>
</fieldset>
{{> 'systems/l5r5e/templates/items/item/items.html' }}
</article>

View File

@@ -11,6 +11,6 @@
<input type="text" name="data.rarity" value="{{data.rarity}}" data-dtype="Number"/>
</label>
<label class="value">
{{ localize 'l5r5e.zeni' }}
{{ localize 'l5r5e.money.zeni' }}
<input type="text" name="data.zeni" value="{{data.zeni}}" data-dtype="Number"/>
</label>