From 9da168afa69c788a6862ac84ae8fdc38ae099a7d Mon Sep 17 00:00:00 2001
From: Gesina Schwalbe <gesina.schwalbe@pheerai.de>
Date: Wed, 30 Dec 2020 01:03:06 +0100
Subject: [PATCH] abbr for armor type&material in item overview

Additions:
- further abbreviations included in localization

Changes:
- now not full armor type / material expression displayed in char sheet,
  but only an abbreviation with tooltip
- description now smaller for weapon and armor
---
 src/lang/en.json                       | 11 ++++++++-
 src/module/config.ts                   | 33 ++++++++++++++++++++++----
 src/module/ds4.ts                      | 10 +++++++-
 src/templates/actor/partials/items.hbs | 15 ++++++++----
 4 files changed, 57 insertions(+), 12 deletions(-)

diff --git a/src/lang/en.json b/src/lang/en.json
index b7c84f1d..601ffc37 100644
--- a/src/lang/en.json
+++ b/src/lang/en.json
@@ -38,12 +38,21 @@
     "DS4.ArmorValue": "Armor Value",
     "DS4.ArmorValueAbbr": "AV",
     "DS4.ArmorTypeBody": "Body",
+    "DS4.ArmorTypeBodyAbbr": "Body",
     "DS4.ArmorTypeHelmet": "Helmet",
+    "DS4.ArmorTypeHelmetAbbr": "Helm",
     "DS4.ArmorTypeVambrace": "Vambrace",
+    "DS4.ArmorTypeVambraceAbbr": "Vambr",
     "DS4.ArmorTypeGreaves": "Greaves",
+    "DS4.ArmorTypeGreavesAbbr": "Greav",
     "DS4.ArmorTypeVambraceGreaves": "Vambrace + Greaves",
+    "DS4.ArmorTypeVambraceGreavesAbbr": "V+G",
     "DS4.ArmorMaterialTypeCloth": "Cloth",
+    "DS4.ArmorMaterialTypeClothAbbr": "Cloth",
     "DS4.ArmorMaterialTypeLeather": "Leather",
+    "DS4.ArmorMaterialTypeLeatherAbbr": "Leath",
     "DS4.ArmorMaterialTypeChain": "Chain",
-    "DS4.ArmorMaterialTypePlate": "Plate"
+    "DS4.ArmorMaterialTypeChainAbbr": "Chain",
+    "DS4.ArmorMaterialTypePlate": "Plate",
+    "DS4.ArmorMaterialTypePlateAbbr": "Plate"
 }
diff --git a/src/module/config.ts b/src/module/config.ts
index 0b0720fd..3ea52ba3 100644
--- a/src/module/config.ts
+++ b/src/module/config.ts
@@ -18,6 +18,16 @@ export const DS4 = {
         meleeRanged: "DS4.AttackTypeMeleeRanged",
     },
 
+    /**
+     *  * Define the file paths to icon images
+     * @type {Object}
+     */
+    attackTypesIcons: {
+        melee: "systems/ds4/assets/DS4-MAT.png",
+        meleeRanged: "systems/ds4/assets/DS4-MRA.png",
+        ranged: "systems/ds4/assets/DS4-RAT.png",
+    },
+
     /**
      * Define the set of item availabilties
      * @type {Object}
@@ -56,6 +66,18 @@ export const DS4 = {
         vambraceGreaves: "DS4.ArmorTypeVambraceGreaves",
     },
 
+    /**
+     *  * Define abbreviations for the armor types
+     * @type {Object}
+     */
+    armorTypesAbbr: {
+        body: "DS4.ArmorTypeBodyAbbr",
+        helmet: "DS4.ArmorTypeHelmetAbbr",
+        vambrace: "DS4.ArmorTypeVambraceAbbr",
+        greaves: "DS4.ArmorTypeGreavesAbbr",
+        vambraceGreaves: "DS4.ArmorTypeVambraceGreavesAbbr",
+    },
+
     /**
      *  * Define the set of armor materials, used to determine if a characer may wear the armor without additional penalties
      * @type {Object}
@@ -68,12 +90,13 @@ export const DS4 = {
     },
 
     /**
-     *  * Define the file paths to icon images
+     *  * Define the abbreviations of armor materials
      * @type {Object}
      */
-    attackTypesIcons: {
-        melee: "systems/ds4/assets/DS4-MAT.png",
-        meleeRanged: "systems/ds4/assets/DS4-MRA.png",
-        ranged: "systems/ds4/assets/DS4-RAT.png",
+    armorMaterialTypesAbbr: {
+        cloth: "DS4.ArmorMaterialTypeClothAbbr",
+        leather: "DS4.ArmorMaterialTypeLeatherAbbr",
+        chain: "DS4.ArmorMaterialTypeChainAbbr",
+        plate: "DS4.ArmorMaterialTypePlateAbbr",
     },
 };
diff --git a/src/module/ds4.ts b/src/module/ds4.ts
index 09899c42..5cf5d4a0 100644
--- a/src/module/ds4.ts
+++ b/src/module/ds4.ts
@@ -50,7 +50,15 @@ async function registerHandlebarsPartials() {
  */
 Hooks.once("setup", function () {
     // Localize CONFIG objects once up-front
-    const toLocalize = ["attackTypes", "itemAvailabilities", "itemTypes", "armorTypes", "armorMaterialTypes"];
+    const toLocalize = [
+        "attackTypes",
+        "itemAvailabilities",
+        "itemTypes",
+        "armorTypes",
+        "armorTypesAbbr",
+        "armorMaterialTypes",
+        "armorMaterialTypesAbbr",
+    ];
 
     // Exclude some from sorting where the default order matters
     const noSort = [];
diff --git a/src/templates/actor/partials/items.hbs b/src/templates/actor/partials/items.hbs
index 22ddfe40..efde82c2 100644
--- a/src/templates/actor/partials/items.hbs
+++ b/src/templates/actor/partials/items.hbs
@@ -79,9 +79,10 @@
             <div title="{{localize 'DS4.ArmorMaterialType'}}">{{localize 'DS4.ArmorMaterialTypeAbbr'}}</div> {{!--
             SPECIFIC --}}
             <div title="{{localize 'DS4.ArmorType'}}">{{localize 'DS4.ArmorTypeAbbr'}}</div> {{!-- SPECIFIC --}}
-            <div class="flex05 item-num-val" title="{{localize 'DS4.ArmorValue'}}">{{localize 'DS4.ArmorValueAbbr'}}
+            <div class="flex05 item-num-val" title="{{localize 'DS4.ArmorValue'}}">
+                {{localize 'DS4.ArmorValueAbbr'}}
             </div> {{!-- SPECIFIC --}}
-            <div class="flex4">{{localize 'DS4.Description'}}</div>
+            <div class="flex3">{{localize 'DS4.Description'}}</div>
             {{!-- add button --}}
             <div class="item-controls"> {{!-- SPECIFIC --}}
                 <a class="item-control item-create" title="Create item" data-type="armor" {{!-- SPECIFIC --}}>
@@ -107,11 +108,15 @@
             {{!-- name --}}
             <h4 class="item-name flex3">{{item.name}}</h4>
             {{!-- item specifics --}}
-            <div>{{lookup ../../config.armorMaterialTypes itemData.armorMaterialType}}</div> {{!-- SPECIFIC --}}
-            <div>{{lookup ../../config.armorTypes itemData.armorType}}</div> {{!-- SPECIFIC --}}
+            <div title="{{lookup ../../config.armorMaterialTypes itemData.armorMaterialType}}">
+                {{lookup ../../config.armorMaterialTypesAbbr itemData.armorMaterialType}}
+            </div> {{!-- SPECIFIC --}}
+            <div title="{{lookup ../../config.armorTypes itemData.armorType}}">
+                {{lookup ../../config.armorTypesAbbr itemData.armorType}}
+            </div> {{!-- SPECIFIC --}}
             <div class="flex05 item-num-val">{{itemData.armorValue}}</div> {{!-- SPECIFIC --}}
             {{!-- description --}}
-            <div class="flex4 item-description">{{{itemData.description}}}</div>
+            <div class="flex3 item-description">{{{itemData.description}}}</div>
             {{!-- edit & delete buttons --}}
             <div class="item-controls">
                 <a class="item-control item-edit" title="Edit Item"><i class="fas fa-edit"></i></a>