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

View File

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

View File

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

View File

@@ -42,6 +42,9 @@ export class CharacterSheetL5r5e extends BaseSheetL5r5e {
// Min rank = 1 // Min rank = 1
this.actor.data.data.identity.school_rank = Math.max(1, this.actor.data.data.identity.school_rank); 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 // Sort Items by name
sheetData.items.sort((a, b) => { sheetData.items.sort((a, b) => {
return a.name.localeCompare(b.name); return a.name.localeCompare(b.name);
@@ -91,4 +94,48 @@ export class CharacterSheetL5r5e extends BaseSheetL5r5e {
}); });
sheetData.advancementsListByRank = adv; 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, skillCostMultiplier: 2,
techniqueCost: 3, techniqueCost: 3,
}; };
L5R5E.money = [50, 10];
// Map SkillId - CategoryId // Map SkillId - CategoryId
L5R5E.skills = new Map(); L5R5E.skills = new Map();

File diff suppressed because one or more lines are too long

View File

@@ -402,6 +402,20 @@
display: flex; 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 { .techniques-wrapper {
.checklist { .checklist {
display: flex; display: flex;

View File

@@ -47,6 +47,21 @@
{{!-- Inventory Tab --}} {{!-- Inventory Tab --}}
<article class="tab inventory" data-group="primary" data-tab="inventory"> <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' }} {{> 'systems/l5r5e/templates/items/item/items.html' }}
</article> </article>

View File

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