Envoi initial

This commit is contained in:
JDR-Ninja
2024-05-06 18:14:21 -04:00
parent a93b7ea91a
commit e74cfe71bd
28 changed files with 5878 additions and 0 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 502 KiB

426
lang/en.json Normal file
View File

@@ -0,0 +1,426 @@
{
"TYPES.Item.armor": "Armor",
"TYPES.Item.augment": "Augment",
"TYPES.Item.career": "Career",
"TYPES.Item.contact": "Contact",
"TYPES.Item.computer": "Computer",
"TYPES.Item.disease": "Disease",
"TYPES.Item.item": "Item",
"TYPES.Item.equipment": "Equipment",
"TYPES.Item.talent": "Skill & Psionic Talent",
"TYPES.Item.species": "Espèce",
"TYPES.Item.weapon": "Weapon",
"TYPES.Item.container": "Container (backpack, chest)",
"TYPES.Actor.character": "Traveller",
"TYPES.Actor.vehicule": "Vehicule",
"TYPES.Actor.container": "Container (backpack, chest)",
"MGT2": {
"Themes": {
"BlackAndRed": "Classic Traveller Cover",
"Mwamba": "Oppa Mwamba Style"
},
"Settings": {
"theme": {
"name": "Choice color theme",
"hint": "Choice a theme for color"
},
"useWeightMetric": {
"name": "Use Metric system for WEIGHT",
"hint": "kilogram (kg) instead of pounds (lbs)"
},
"useDistanceMetric": {
"name": "Use Metric system for DISTANCE",
"hint": "kilometer (km) instead of mile (mi)"
},
"usePronouns": {
"name": "Use Pronouns",
"hint": "Displays the fields that allow you to enter pronouns"
},
"useGender": {
"name": "Use Gender",
"hint": "Displays the fields that allow you to enter a gender"
},
"showLife": {
"name": "Show Life in sheet",
"hint": "Show life information in actor sheet"
}
},
"Specie": "Specie",
"Species": "Species",
"Gender": "Gender",
"Pronouns": "Pronouns",
"Actor": {
"StudyPeriod":"Study Period",
"TrainingInSkill":"Training In Skill",
"Completed":"Completed",
"Weeks":"Weeks",
"NewCareer":"New Career",
"AddCareer":"Add Career",
"EditCareer":"Edit Career",
"DeleteCareer":"Delete Career",
"NewSkill":"New Skill",
"DeleteSkill":"Delete Skill",
"EditSkill":"EditSkill",
"PsionicTalents":"Psionic Talents",
"NewPsionicTalent": "New Psionic Talent",
"AddPsionicTalent": "Add Psionic Talent",
"EditPsionic": "Edit Psionic",
"DeletePsionic": "Delete Psionic",
"AddArmor": "Add Armor",
"AddAugment": "Add Augment",
"AddContact": "Add Contact",
"AddDisease": "Add Disease",
"AddEquipment": "Add Equipment",
"AddItem": "Add Item",
"AddWeapon": "Add Weapon",
"AddWound": "Add Wound",
"Armor": "Armor",
"Armors": "Armors",
"Augments": "Augments",
"Biography": "Biography",
"CashOnHand": "Cash On Hand",
"Characteristic": "Characteristic",
"Contacts": "Contacts",
"Damage": "Damage",
"DamageOrder": "Damage Order",
"Debt": "Debt",
"DeleteArmor": "Delete Armor",
"DeleteAugment": "Delete Augment",
"DeleteContact": "Delete Contact",
"DeleteDisease": "Delete Disease",
"DeleteEquipment": "DeleteEquipment",
"DeleteItem": "Delete Item",
"DeleteSoftware": "Delete Software",
"DeleteWeapon": "Delete Weapon",
"DeleteWound": "Delete Wound",
"EditArmor": "Edit Armor",
"EditAugment": "Edit Augment",
"EditContact": "Edit Contact",
"EditDisease": "Edit Disease",
"EditItem": "Edit Item",
"EditSoftware": "Edit Software",
"EditWeapon": "Edit Weapon",
"EditWound": "Edit Wound",
"Encumbrance": "Encumbrance",
"EncumbranceHint": "DM -2 on all physical actions. They will also count as performing heavy labour.",
"Fatigue": "Fatigue",
"FatigueHint": "DM -2 to all checks until full rest.",
"Finance": "Finance",
"Health": "Health",
"HiddenCharacteristics": "Hidden Characteristics",
"Initiative": "Initiative",
"Inventory": "Inventory",
"Life": "Life",
"LivingCost": "Living Cost",
"NewArmor": "New Armor",
"NewAugment": "New Augment",
"NewContact": "New Contact",
"NewDiseases": "New Diseases",
"NewEquipment": "New Equipment",
"NewItem": "New Item",
"NewWeapon": "New Weapon",
"NewWound": "New Wound",
"Notes": "Notes",
"Pension": "Pension",
"PlaceholderAGE": "AGE",
"PlaceholderGENDER": "GENDER",
"PlaceholderPRONOUNS": "PRONOUNS",
"PlaceholderSPECIES": "SPECIES",
"PlaceholderTITLE": "TITLE",
"PlaceholderUCP": "UCP",
"Rads": "Rads",
"RelationsAndContacts": "Relations & Contacts",
"ShowHiddenFields": "Show hidden fields",
"ShowMinMax": "Show Min/Max",
"ShowPsionicTalents": "Show Psionic Talents",
"Skills": "Skills",
"States": "States",
"StoreEquipment": "Store Equipment",
"StoreItem": "Store Item",
"SurgeryRequired": "Surgery Required",
"SurgeryRequiredHint": "Recover only the END DM (can get worse).",
"TabCore": "CORE",
"TabOthers": "OTHERS",
"TotalWeight": "Total Weight",
"UnloadSoftware": "Unload Software",
"UnstoreItem": "UnstoreItem",
"Wounds": "Wounds",
"Show": "Show"
},
"Characteristics": {
"strength": {
"name": "Strength",
"short": "STR"
},
"dexterity": {
"name": "Dexterity",
"short": "DEX"
},
"endurance": {
"name": "Endurance",
"short": "END"
},
"intellect": {
"name": "Intellect",
"short": "INT"
},
"education": {
"name": "Education",
"short": "EDU"
},
"social": {
"name": "Social",
"short": "SOC"
},
"morale": {
"name": "Morale",
"short": "MOR"
},
"luck": {
"name": "Luck",
"short": "LUC"
},
"sanity": {
"name": "Sanity",
"short": "SAN"
},
"charm": {
"name": "Charm",
"short": "CHA"
},
"psionic": {
"name": "Psionic",
"short": "PSI"
},
"other": {
"name": "Other",
"short": "OTH"
}
},
"MetricSystem": {
"Weight": {
"kg": "kg"
},
"Distance": {
"km": "km"
}
},
"ImperialSystem": {
"Weight": {
"lb": "lb"
},
"Distance": {
"mi": "mi"
}
},
"Melee": "Melee",
"MetricRange": {
"meter": "M",
"kilometer": "KM"
},
"MetricWeight": {
"kilogram": "KG",
"ton": "TON"
},
"EquipmentSubType": {
"augment": "Augment",
"clothing": "Clothing",
"equipment": "Equipment",
"computer": "Computer",
"trinket": "trinket",
"toolkit": "toolkit"
},
"ItemSubType": {
"loot": "Loot",
"software": "Software"
},
"DiseaseSubType": {
"disease": "Disease",
"poison": "Poison",
"wound": "Wound"
},
"Difficulty": {
"NA": "Not Applicable",
"Simple": "Simple",
"Easy": "Easy",
"Routine": "Routine",
"Average": "Average",
"Difficult": "Difficult",
"VeryDifficult": "Very Difficult",
"Formidable": "Formidable",
"Impossible": "Impossible"
},
"PsionicReach": {
"NA": "N/A",
"Personal": "Personal",
"Close": "Close",
"Short": "Short",
"Medium": "Medium",
"Long": "Long",
"VeryLong": "VeryLong",
"Distant": "Distant",
"VeryDistant": "VeryDistant",
"Continental": "Continental",
"Planetary": "Planetary"
},
"TalentSubType": {
"skill": "Skill",
"psionic": "Psionic talent"
},
"Contact": {
"Attitude": {
"Unknow": "Unknow",
"Hostile": "Hostile",
"Unfriendly": "Unfriendly",
"Indifferent": "Indifferent",
"Friendly": "Friendly",
"Helpful": "Helpful",
"Complicated": "Complicated"
},
"Relation": {
"Allie": "Allie",
"Contact": "Contact",
"Rival": "Rival",
"Enemy": "Enemy"
},
"Status": {
"Alive": "Alive",
"Unknow": "Unknow",
"Dead": "Dead"
}
},
"TL": {
"NA": "N/A",
"Unknow": "Unknow",
"NotIdentified": "Not Identified",
"L00": "TL0",
"L01": "TL1",
"L02": "TL2",
"L03": "TL3",
"L04": "TL4",
"L05": "TL5",
"L06": "TL6",
"L07": "TL7",
"L08": "TL8",
"L09": "TL9",
"L10": "TL10",
"L11": "TL11",
"L12": "TL12",
"L13": "TL13",
"L14": "TL14",
"L15": "TL15"
},
"RollPrompt": {
"Title": "Roll: ",
"CharacteristicRoll": "Characteristic Roll",
"Roll": "Roll",
"SkillRoll": "Skill Roll",
"ItemRoll": "Item Roll",
"PsionicRoll": "Psionic Roll",
"InitiativeRoll": "Initiative",
"CharacteristicDM": "Characteristic DM",
"SkillDM": "Skill DM",
"Timeframes": "Timeframes",
"States": "States",
"CustomDM": "Custom DM",
"Difficulty": "Difficulty",
"RollMode": "Roll Mode",
"PublicRoll": "Public Roll",
"PrivateGMRoll": "Private GM Roll",
"BlindGMRoll": "Blind GM Roll",
"SelfRoll": "Self Roll",
"EncumbranceDM": "Encumbrance (DM -2)",
"FatigueDM": "Fatigue (DM -2)",
"Boon": "Boon",
"Bane": "Bane"
},
"Timeframes": {
"Normal": "Normal",
"Slower": "Slower (+2)",
"Faster": "Faster (-2)"
},
"Chat": {
"Roll": {
"ApplyDamages": "Apply Damages",
"Damages": "Roll damages"
}
},
"Items": {
"Age": "Age",
"Armor": "Armor",
"Armors": "Armors",
"Assignment": "Assignment",
"Attitude": "Attitude",
"Bandwidth": "Bandwidth",
"Career": "Career",
"Careers": "Careers",
"Characteristic": "Characteristic",
"Characteristics": "Characteristics",
"Computer": "Computer",
"Computers": "Computers",
"Configuration": "Configuration",
"Contact": "Contact",
"Container": "Container",
"Containers": "Containers",
"Cost": "Cost",
"Damage": "Damage",
"Description": "Description",
"Details": "Details",
"Disease": "Disease",
"Diseases": "Diseases",
"Difficulty": "Difficulty",
"Equipped": "Equipped",
"Equipment": "Equipment",
"Equipments": "Equipments",
"EventsMishaps": "Events & Mishaps",
"Homeworld": "Homeworld",
"Informations": "Informations",
"Improvement": "Improvement",
"Interval": "Interval",
"IsMelee": "IsMelee",
"Items": "Items",
"Level": "Level",
"Location": "Location",
"Locked": "Locked",
"LockedDescription": "Locked Description",
"Magazine": "Magazine",
"MagazineCost": "Magazine Cost",
"Nickname": "Nickname",
"NotProficient": "Not proficient (-3)",
"Notes": "Notes",
"Occupation": "Occupation",
"OnHand": "On Hand",
"Options": "Options",
"PSICost": "PSI Cost",
"Powered": "Powered",
"Processing": "Processing",
"Protection": "Protection",
"PsionicSkill": "Psionic Skill",
"Qty": "Qty",
"Radiations": "Radiations",
"Rads": "Rads",
"Range": "Range",
"Rank": "Rank",
"Reach": "Reach",
"ReduceEncumbrance": "Reduce Encumbrance",
"Relation": "Relation",
"Relations": "Relations",
"Skill": "Skill",
"Speciality": "Speciality",
"Status": "Status",
"Storage": "Storage",
"Software": "Software",
"Softwares": "Softwares",
"TL": "TL",
"Terms": "Terms",
"Title": "Title",
"Trait": "Trait",
"Type": "Type",
"Weapon": "Weapon",
"Weapons": "Weapons",
"Weight": "Weight",
"Weightless": "Weightless",
"Quantity": "Quantity"
}
}
}

426
lang/fr.json Normal file
View File

@@ -0,0 +1,426 @@
{
"TYPES.Item.armor": "Armure",
"TYPES.Item.augment": "Augmentation",
"TYPES.Item.career": "Carrière",
"TYPES.Item.contact": "Contact",
"TYPES.Item.computer": "Ordinateur",
"TYPES.Item.disease": "Maladie, Poison & Blessure",
"TYPES.Item.item": "Objet",
"TYPES.Item.equipment": "Équipment",
"TYPES.Item.talent": "Compétence & Talent Psy",
"TYPES.Item.race": "Race",
"TYPES.Item.weapon": "Arme",
"TYPES.Item.container": "Contenant (sac, coffre)",
"TYPES.Actor.character": "Voyageur",
"TYPES.Actor.vehicule": "Véhicule",
"TYPES.Actor.container": "Contenant (sac, coffre)",
"MGT2": {
"Themes": {
"BlackAndRed": "Couverture Classique Traveller",
"Mwamba": "Oppa Mwamba Style"
},
"Settings": {
"theme": {
"name": "Thème",
"hint": "Choisissez un thème"
},
"useWeightMetric": {
"name": "Utiliser le Système Métrique pour le Poid",
"hint": "kilogramme (kg) au lieu de la livre (lbs)"
},
"useDistanceMetric": {
"name": "Utiliser le Système Métrique pour la Distance",
"hint": "kilomètre (km) au lieu du mile (mi)"
},
"usePronouns": {
"name": "Utiliser le Pronom",
"hint": "Afficher le champs qui permet de saisir le pronom"
},
"useGender": {
"name": "Utiliser le Genre",
"hint": "Afficher le champs qui permet de saisir le genre"
},
"showLife": {
"name": "Afficher la Vie sur la fiche",
"hint": "Affiche le compteur de vie sur la fiche"
}
},
"Specie": "Espèce",
"Species": "Espèces",
"Gender": "Genre",
"Pronouns": "Pronoms",
"Actor": {
"StudyPeriod":"Période d'étude",
"TrainingInSkill":"Compétence en formation",
"Completed":"Completée",
"Weeks":"Semaines",
"NewCareer":"Nouvelle Carrière",
"AddCareer":"Ajouter Carrière",
"EditCareer":"Éditer Carrière",
"DeleteCareer":"Supprimer Carrière",
"NewSkill":"Nouvelle Compétence",
"DeleteSkill":"Supprimer Compétence",
"EditSkill":"Éditer Compétence",
"PsionicTalents":"Talents Psionique",
"NewPsionicTalent": "Nouveau Talent Psionique",
"AddPsionicTalent": "Ajouter Talent Psionique",
"EditPsionic": "Éditer Talent Psionique",
"DeletePsionic": "Supprimer Talent Psionique",
"AddArmor": "Ajouter Armure",
"AddAugment": "Ajouter Augmentation",
"AddContact": "Ajouter Contact",
"AddDisease": "Ajouter Maladie",
"AddEquipment": "Ajouter Équipement",
"AddItem": "Ajouter Objet",
"AddWeapon": "Ajouter Arme",
"AddWound": "Ajouter Blessure",
"Armor": "Armure",
"Armors": "Armures",
"Augments": "Augmentations",
"Biography": "Biographie",
"CashOnHand": "Crédits en main",
"Characteristic": "Caractéristique",
"Contacts": "Contacts",
"Damage": "Dégâts",
"DamageOrder": "Ordre des dégâts",
"Debt": "Dette",
"DeleteArmor": "Supprimer Armure",
"DeleteAugment": "Supprimer Augmentation",
"DeleteContact": "Supprimer Contact",
"DeleteDisease": "Supprimer Malaide",
"DeleteEquipment": "Supprimer Équipement",
"DeleteItem": "Supprimer Objet",
"DeleteSoftware": "Supprimer Logiciel",
"DeleteWeapon": "Supprimer Arme",
"DeleteWound": "Supprimer Blessure",
"EditArmor": "Éditer Armure",
"EditAugment": "Éditer Augmentation",
"EditContact": "Éditer Contact",
"EditDisease": "Éditer Maladie",
"EditItem": "Éditer Objet",
"EditSoftware": "Éditer Logiciel",
"EditWeapon": "Éditer Arme",
"EditWound": "Éditer Blessure",
"Encumbrance": "Encombrement",
"EncumbranceHint": "DM -2 on all physical actions. They will also count as performing heavy labour.",
"Fatigue": "Fatigue",
"FatigueHint": "DM -2 to all checks until full rest.",
"Finance": "Finance",
"Health": "Santé",
"HiddenCharacteristics": "Caractéristiques cachées",
"Initiative": "Initiative",
"Inventory": "Inventaire",
"Life": "Vie",
"LivingCost": "Coût de la vie",
"NewArmor": "Nouvelle Armure",
"NewAugment": "Nouvelle Augmentation",
"NewContact": "Nouveau Contact",
"NewDiseases": "Nouvelle Maladie",
"NewEquipment": "Nouvelle Équipement",
"NewItem": "Nouveau Objet",
"NewWeapon": "Nouvel Arme",
"NewWound": "Nouvelle Blessure",
"Notes": "Notes",
"Pension": "Pension",
"PlaceholderAGE": "ÂGE",
"PlaceholderGENDER": "GENRE",
"PlaceholderPRONOUNS": "PRONOMS",
"PlaceholderSPECIES": "ESPÈCE",
"PlaceholderTITLE": "TITRE",
"PlaceholderUCP": "PUP",
"Rads": "Rads",
"RelationsAndContacts": "Relations & Contacts",
"ShowHiddenFields": "Afficher les champs cachés",
"ShowMinMax": "Afficher le Min/Max",
"ShowPsionicTalents": "Afficher les Talents Psy",
"Skills": "Compétences",
"States": "États",
"StoreEquipment": "Entreposer Équipement",
"StoreItem": "Entreposer Objet",
"SurgeryRequired": "Chirugie requise",
"SurgeryRequiredHint": "Recover only the END DM (can get worse).",
"TabCore": "P",
"TabOthers": "A",
"TotalWeight": "Poids total",
"UnloadSoftware": "Éjecter le Logiciel",
"UnstoreItem": "Rependre",
"Wounds": "Blessures",
"Show": "Afficher"
},
"Characteristics": {
"strength": {
"name": "Force",
"short": "FOR"
},
"dexterity": {
"name": "Dexterité",
"short": "DEX"
},
"endurance": {
"name": "Endurance",
"short": "END"
},
"intellect": {
"name": "Intellect",
"short": "INT"
},
"education": {
"name": "Éducation",
"short": "ÉDU"
},
"social": {
"name": "Sociale",
"short": "SOC"
},
"morale": {
"name": "Moral",
"short": "MOR"
},
"luck": {
"name": "Chance",
"short": "CHA"
},
"sanity": {
"name": "Mentale",
"short": "MEN"
},
"charm": {
"name": "Charme",
"short": "CHA"
},
"psionic": {
"name": "Psionique",
"short": "PSI"
},
"other": {
"name": "Autre",
"short": "AUT"
}
},
"MetricSystem": {
"Weight": {
"kg": "kg"
},
"Distance": {
"km": "km"
}
},
"ImperialSystem": {
"Weight": {
"lb": "lb"
},
"Distance": {
"mi": "mi"
}
},
"Melee": "Mêlée",
"MetricRange": {
"meter": "M",
"kilometer": "KM"
},
"MetricWeight": {
"kilogram": "KG",
"ton": "TON"
},
"EquipmentSubType": {
"augment": "Augmentation",
"clothing": "Vêtement",
"equipment": "Équipement",
"computer": "Ordinateur",
"trinket": "Babiole",
"toolkit": "Outils"
},
"ItemSubType": {
"loot": "Butin",
"software": "Logiciel"
},
"DiseaseSubType": {
"disease": "Maladie",
"poison": "Poison",
"wound": "Blessure"
},
"Difficulty": {
"NA": "N/A",
"Simple": "Simple",
"Easy": "Facile",
"Routine": "Routine",
"Average": "Moyenne",
"Difficult": "Difficile",
"VeryDifficult": "Très Difficile",
"Formidable": "Formidable",
"Impossible": "Impossible"
},
"PsionicReach": {
"NA": "N/A",
"Personal": "Personel",
"Close": "Close",
"Short": "Courte",
"Medium": "Moyenne",
"Long": "Longue",
"VeryLong": "Très Longue",
"Distant": "Distant",
"VeryDistant": "Très Distant",
"Continental": "Continental",
"Planetary": "Planétaire"
},
"TalentSubType": {
"skill": "Compétence",
"psionic": "Talent Psionique"
},
"Contact": {
"Attitude": {
"Unknow": "Inconnu",
"Hostile": "Hostile",
"Unfriendly": "Non favorable",
"Indifferent": "Indifférente",
"Friendly": "Amicale",
"Helpful": "Aidante",
"Complicated": "Compliqué"
},
"Relation": {
"Allie": "Allié",
"Contact": "Contact",
"Rival": "Rival",
"Enemy": "Ennemie"
},
"Status": {
"Alive": "En vie",
"Unknow": "Inconnu",
"Dead": "Mort"
}
},
"TL": {
"NA": "N/A",
"Unknow": "Inconnue",
"NotIdentified": "Non Identifié",
"L00": "TL0",
"L01": "TL1",
"L02": "TL2",
"L03": "TL3",
"L04": "TL4",
"L05": "TL5",
"L06": "TL6",
"L07": "TL7",
"L08": "TL8",
"L09": "TL9",
"L10": "TL10",
"L11": "TL11",
"L12": "TL12",
"L13": "TL13",
"L14": "TL14",
"L15": "TL15"
},
"RollPrompt": {
"Title": "Jet: ",
"CharacteristicRoll": "Jet de caractéristique",
"Roll": "Jet",
"SkillRoll": "Jet de Compétence",
"ItemRoll": "Jet d'Objet",
"PsionicRoll": "Jet de Psionique",
"InitiativeRoll": "Initiative",
"CharacteristicDM": "Caractéristique MD",
"SkillDM": "Compétence MD",
"Timeframes": "Délais MD",
"States": "États",
"CustomDM": "MD Personnalisé",
"Difficulty": "Difficulté",
"RollMode": "Style de Jet",
"PublicRoll": "Jet Public",
"PrivateGMRoll": "Jet Privé au MJ",
"BlindGMRoll": "Jet Aveugle au MJ",
"SelfRoll": "Jet pour Soi",
"EncumbranceDM": "Encombrement (MD -2)",
"FatigueDM": "Fatigue (MD -2)",
"Boon": "Avantage",
"Bane": "Désavantage"
},
"Timeframes": {
"Normal": "Normal",
"Slower": "Lent (+2)",
"Faster": "Rapide (-2)"
},
"Chat": {
"Roll": {
"ApplyDamages": "Appliquer Dégâts",
"Damages": "Lancer les Dégâts"
}
},
"Items": {
"Age": "Âge",
"Armor": "Armure",
"Armors": "Armures",
"Assignment": "Affectation",
"Attitude": "Attitude",
"Bandwidth": "Bande passante",
"Career": "Carrière",
"Careers": "Carrières",
"Characteristic": "Caracteristique",
"Characteristics": "Caracteristiques",
"Computer": "Ordinateur",
"Computers": "Ordinateurs",
"Configuration": "Configuration",
"Contact": "Contact",
"Container": "Conteneur",
"Containers": "Conteneurs",
"Cost": "Coût",
"Damage": "Dégâts",
"Description": "Description",
"Details": "Détails",
"Difficulty": "Difficulté",
"Disease": "Maladie",
"Diseases": "Maladies",
"Equipped": "Équipé",
"Equipment": "Équipement",
"Equipments": "Équipements",
"EventsMishaps": "Événements & Incidents",
"Homeworld": "Monde Natal",
"Informations": "Informations",
"Improvement": "Améliorations",
"Interval": "Intervalle",
"IsMelee": "Est Mêlée",
"Items": "Objets",
"Level": "Niveau",
"Location": "Localisation",
"Locked": "Verrouillé",
"LockedDescription": "Description Verrouillé",
"Magazine": "Chargeur",
"MagazineCost": "Coût du Chargeur",
"Nickname": "Surnom",
"NotProficient": "Incompétent (-3)",
"Notes": "Notes",
"Occupation": "Profession",
"OnHand": "Sur Soi",
"Options": "Options",
"PSICost": "Coût PSI",
"Powered": "Alimenté",
"Processing": "Traitement",
"Protection": "Protection",
"PsionicSkill": "Compétence Psionique",
"Qty": "Qté",
"Radiations": "Radiations",
"Rads": "Rads",
"Range": "Portée",
"Rank": "Rang",
"Reach": "Portée",
"ReduceEncumbrance": "Réduit l'Encombrement",
"Relation": "Relation",
"Relations": "Relations",
"Skill": "Compétence",
"Speciality": "Spécialité",
"Status": "Statut",
"Storage": "Stockage",
"Software": "Logiciel",
"Softwares": "Logiciels",
"TL": "TL",
"Terms": "Termes",
"Title": "Titre",
"Trait": "Trait",
"Type": "Type",
"Weapon": "Arme",
"Weapons": "Armes",
"Weight": "Poid",
"Weightless": "Aucun Poid",
"Quantity": "Quantité"
}
}
}

2412
mgt2.bundle.js Normal file

File diff suppressed because it is too large Load Diff

1
mgt2.bundle.js.map Normal file

File diff suppressed because one or more lines are too long

946
styles/mgt2.min.css vendored Normal file
View File

@@ -0,0 +1,946 @@
@import url("https://fonts.googleapis.com/css2?family=Barlow+Condensed:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Rubik:ital,wght@0,300..900;1,300..900&display=swap");
@import url("https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,100..1000;1,9..40,100..1000&display=swap");
.black-and-red {
--mgt2-color-form: #0A0405;
--mgt2-bgcolor-form: #fff;
--mgt2-color-primary: #EE4050;
--mgt2-color-primary-active: #AF2F3C;
--mgt2-bgcolor-primary: #0A0405;
--mgt2-color-primary-light: #4b4a44;
--mgt2-color-warning: #EE4050;
--mgt2-color-dm: #fff;
--mgt2-bgcolor-dm: #0A0405;
--mgt2-color-software: #fff;
--mgt2-bgcolor-software: #0A0405;
--mgt2-input-color: #0A0405;
--mgt2-input-bgcolor: #fff;
--mgt2-editor-border: #C6C6C6;
--mgt2-row-hover: #F2F2F2;
--mgt2-subrow-color: #727272;
--mgt2-row-inactive-icon: #b5b3a4;
--mgt2-encumbrance-normal: #D94826;
--mgt2-encumbrance-heavy: #D82727;
}
.mwamba {
--mgt2-color-form: #0A0405;
--mgt2-bgcolor-form: #fff;
--mgt2-color-primary: #2A9932;
--mgt2-color-primary-active: #40ED4E;
--mgt2-bgcolor-primary: #0A0405;
--mgt2-color-primary-light: #4b4a44;
--mgt2-color-warning: #EE4050;
--mgt2-color-dm: #fff;
--mgt2-bgcolor-dm: #0A0405;
--mgt2-color-software: #fff;
--mgt2-bgcolor-software: #0A0405;
--mgt2-input-color: #0A0405;
--mgt2-input-bgcolor: #fff;
--mgt2-editor-border: #C6C6C6;
--mgt2-row-hover: #F2F2F2;
--mgt2-subrow-color: #727272;
--mgt2-row-inactive-icon: #b5b3a4;
}
.upcase {
text-transform: uppercase;
}
.w1-10 {
width: 10%;
}
.w2-10 {
width: 20%;
}
.w3-10 {
width: 30%;
}
.w4-10 {
width: 40%;
}
.w5-10 {
width: 50%;
}
.h100 {
height: 100%;
}
.w100 {
width: 100%;
}
.mgt2 a:hover {
text-shadow: none;
}
.mgt2 .w-100 {
width: 100%;
}
.mgt2 .mb-1 {
margin-bottom: 8px;
}
.mgt2 .mt-1, .mgt2 .mt-05 {
margin-top: 8px;
}
.mgt2 .mt-2 {
margin-top: 14px;
}
.mgt2 .flex-fix {
flex-grow: 0 !important;
flex-shrink: 0 !important;
}
.mgt2.sheet header.window-header {
color: var(--mgt2-color-primary);
background-color: var(--mgt2-bgcolor-primary);
}
.mgt2.sheet h4.window-title {
font-weight: bold;
text-transform: uppercase;
}
.mgt2.window-app .window-content {
background: var(--mgt2-bgcolor-form);
padding: 0;
}
.nopad .window-content {
padding: 0;
}
.mgt2.sheet textarea {
color: var(--mgt2-input-color);
background-color: var(--mgt2-input-bgcolor);
font-family: "Roboto", sans-serif;
font-size: 13px;
font-stretch: 100%;
}
.mgt2 input:focus,
.mgt2 textarea:focus,
.mgt2 select:focus {
outline: none;
-webkit-box-shadow: none;
box-shadow: none;
}
.mgt2 .checkbox-small {
flex: none !important;
width: auto !important;
height: auto !important;
margin: 0 !important;
}
.mgt2 .header {
color: var(--mgt2-color-primary);
background: var(--mgt2-bgcolor-primary);
font-size: 14px;
font-family: "Roboto Condensed", sans-serif;
font-weight: bold;
padding-left: 5px;
margin-bottom: 4px;
line-height: 30px;
text-transform: uppercase;
}
.mgt2 .field-groups {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
align-items: center;
justify-content: space-between;
}
.mgt2 .field-group label {
text-transform: uppercase;
font-weight: 700;
font-size: 14px;
font-family: "Roboto Condensed", sans-serif;
font-optical-sizing: auto;
}
.mgt2 input.field {
background-color: var(--mgt2-input-bgcolor);
font-size: 13px;
}
.mgt2 input.field-name {
background-color: var(--mgt2-input-bgcolor);
font-size: 2rem;
border: none;
font-weight: 700;
font-family: "Roboto Condensed", sans-serif;
margin-bottom: 0.5rem;
padding: 0;
}
.mgt2 input.field-item-name {
background-color: var(--mgt2-input-bgcolor);
height: auto;
font-size: 2rem;
font-weight: 700;
font-family: "Roboto Condensed", sans-serif;
}
.mgt2 .fields {
display: flex;
}
.mgt2 .editor {
min-height: 3rem;
border: 1px solid var(--mgt2-editor-border);
height: 100%;
}
.mgt2 .sheet-body {
margin-left: 140px;
padding-bottom: 1.5rem;
}
.mgt2 label.mgt2-checkbox {
display: flex;
flex-direction: row;
align-items: center;
}
.mgt2 label.mgt2-checkbox input {
margin: 0 0.3rem 0 0;
}
.mgt2 .dialog-button {
color: var(--mgt2-color-primary);
background-color: var(--mgt2-bgcolor-primary) !important;
}
.characteristics-panel .tab {
padding: 4px;
}
.mgt2 .characteristics {
flex-basis: 138px;
flex-grow: 0;
flex-shrink: 0;
position: relative;
}
.mgt2 .characteristics-header {
color: var(--mgt2-color-primary);
background: var(--mgt2-bgcolor-primary);
font-family: "Rubik", monospace;
font-style: normal;
font-size: 1rem;
line-height: 2rem;
text-transform: uppercase;
}
.mgt2 .characteristic-row {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
position: relative;
}
.mgt2 .characteristic-minmax {
display: flex;
flex-direction: row;
align-items: center;
justify-content: center;
flex-wrap: nowrap;
}
.mgt2 .characteristic-dm span.label {
font-size: 0.8rem;
font-weight: 600;
}
.mgt2 .characteristic-label {
font-family: "Barlow Condensed", sans-serif;
font-size: 1.2rem;
font-weight: 600;
font-style: italic;
text-align: center;
position: relative;
}
.mgt2 .characteristic-label > a.roll {
color: black;
position: absolute;
left: 0;
}
.mgt2 .characteristic-label a.cfg-characteristic {
display: none;
font-size: 12px;
position: absolute;
right: 0;
top: 0;
}
.mgt2 .characteristic-label:hover a.cfg-characteristic {
display: block;
}
.mgt2 .characteristic-input {
color: var(--mgt2-bgcolor-primary);
text-align: center;
font-size: 1.5rem;
font-weight: 500;
width: 2.4rem;
height: 2rem;
-webkit-box-sizing: border-box;
box-sizing: border-box;
border: none;
outline: none;
background: linear-gradient(45deg, rgba(0, 0, 0, 0) 5.66px, #000 0 7.66px, rgba(0, 0, 0, 0) 0 calc(100% - 5.66px - 2px), #000 0 calc(100% - 5.66px), rgba(0, 0, 0, 0) 0), linear-gradient(-45deg, rgba(0, 0, 0, 0) 5.66px, #000 0 7.66px, rgba(0, 0, 0, 0) 0 calc(100% - 5.66px - 2px), #000 0 calc(100% - 5.66px), rgba(0, 0, 0, 0) 0), linear-gradient(90deg, #000 4px, rgba(0, 0, 0, 0) 0) -2px 50%/100% calc(100% - 16px) repeat-x, linear-gradient(#000 4px, rgba(0, 0, 0, 0) 0) 50% -2px/calc(100% - 16px) 100% repeat-y;
}
.mgt2 .characteristic-dm {
color: var(--mgt2-color-dm);
background-color: transparent;
text-align: center;
font-size: 1rem;
width: 1.5rem;
height: 1.4rem;
padding: 0;
outline: none;
border: none;
margin: 0;
position: absolute;
right: 0;
background-color: var(--mgt2-bgcolor-dm);
border-radius: 9px;
margin-right: 2px;
}
.mgt2 .characteristic-dm:focus {
outline: none;
-webkit-box-shadow: none;
box-shadow: none;
}
.mgt2 .characteristic-dm-minmax:focus {
outline: none;
-webkit-box-shadow: none;
box-shadow: none;
}
.mgt2 .minmaxwrapper {
display: flex;
flex-direction: row;
flex-wrap: nowrap;
justify-content: center;
justify-content: center;
align-items: center;
margin: 0 0.5rem;
-webkit-box-sizing: border-box;
box-sizing: border-box;
background: linear-gradient(45deg, rgba(0, 0, 0, 0) 7.07px, #000 0 9.07px, rgba(0, 0, 0, 0) 0 calc(100% - 7.07px - 2px), #000 0 calc(100% - 7.07px), rgba(0, 0, 0, 0) 0), linear-gradient(-45deg, rgba(0, 0, 0, 0) 7.07px, #000 0 9.07px, rgba(0, 0, 0, 0) 0 calc(100% - 7.07px - 2px), #000 0 calc(100% - 7.07px), rgba(0, 0, 0, 0) 0), linear-gradient(90deg, #000 4px, rgba(0, 0, 0, 0) 0) -2px 50%/100% calc(100% - 20px) repeat-x, linear-gradient(#000 4px, rgba(0, 0, 0, 0) 0) 50% -2px/calc(100% - 20px) 100% repeat-y;
}
.mgt2 .minmaxwrapper input {
display: inline-block;
color: black;
background-color: transparent;
text-align: center;
font-size: 1.5rem;
width: 2rem;
height: 2rem;
border: none;
outline: none;
}
.mgt2 .minmaxwrapper input:focus {
outline: none;
-webkit-box-shadow: none;
box-shadow: none;
}
.mgt2 .minmaxwrapper input:first-child {
margin-left: 5px;
}
.mgt2 .minmaxwrapper input:last-child {
margin-right: 5px;
}
.mgt2 .minmaxwrapper span {
font-size: 1.5rem;
font-weight: 500;
}
.computer-overload,
.computer-overload i {
color: var(--mgt2-color-warning) !important;
}
ul.softwares {
list-style: none;
margin: 0;
padding: 0;
}
ul.softwares li {
display: inline-block;
color: var(--mgt2-color-software);
background-color: var(--mgt2-bgcolor-software);
padding: 3px 7px;
border-radius: 8px;
}
ul.softwares li a {
display: none;
}
ul.softwares li a:first-child {
margin: 0 0.5rem;
}
ul.softwares li:hover a {
display: inline-block;
}
.character-header {
display: flex;
margin-top: 8px;
margin-right: 8px;
flex-direction: row;
flex-wrap: nowrap;
flex-grow: 0;
flex-shrink: 0;
justify-content: flex-start;
align-items: flex-start;
}
.character-header-img {
flex-basis: 138px;
flex-grow: 0;
flex-shrink: 0;
text-align: center;
}
.character-summary {
flex: 0 0 100%;
margin: 0;
padding: 0;
list-style: none;
border-top: 5px double var(--mgt2-bgcolor-primary);
}
.character-summary li {
float: left;
margin: 0;
padding: 0;
color: var(--mgt2-color-primary-light);
}
.character-summary input {
display: block;
border: none;
font-weight: bold;
font-family: "Roboto Condensed", sans-serif;
background-color: #fff;
font-size: 0.8rem;
border: 1px solid #fff;
}
.character-summary input:hover {
border: 1px solid #111;
}
.character-header-body {
display: flex;
flex-direction: column;
flex-wrap: nowrap;
justify-content: flex-start;
}
.character-header-body legend {
font-size: 0.7rem;
text-transform: uppercase;
text-wrap: nowrap;
}
.character-header-body legend i {
margin-right: 0.25rem;
}
.character-body {
display: flex;
flex-direction: row;
align-content: flex-start;
flex-wrap: nowrap;
}
.character-body .tab {
width: 100%;
}
.lifes {
height: 100%;
display: flex;
flex-direction: row;
justify-content: center;
align-items: center;
}
.lifes div {
font-size: 2rem;
}
.character-states {
margin: 0;
padding: 0;
list-style: none;
display: flex;
flex-direction: column;
justify-content: flex-start;
align-items: flex-start;
width: 100%;
float: right;
}
.character-states li {
display: flex;
margin: 0;
padding: 0;
color: #4b4a44;
justify-content: space-between;
align-items: center;
width: 100%;
font-size: 0.7rem;
line-height: 1.1rem;
}
.encumbrance-normal {
color: var(--mgt2-encumbrance-normal) !important;
}
.encumbrance-heavy {
color: var(--mgt2-encumbrance-heavy) !important;
font-weight: bold;
}
.actor-footer {
bottom: 0;
color: var(--mgt2-color-primary);
background-color: var(--mgt2-bgcolor-primary);
width: 100%;
margin: 0 -8px;
height: 1.5rem;
justify-content: space-between;
align-items: center;
padding: 0 1rem;
flex-grow: 0;
flex-shrink: 0;
display: flex;
flex-direction: row;
}
.itemsheet {
display: flex;
flex-wrap: nowrap;
flex-direction: row;
}
.itemsheet-header {
display: flex;
background-color: var(--mgt2-bgcolor-primary);
color: red;
padding: 0.5rem;
align-items: center;
flex: 0 0 2rem;
}
.itemsheet-header label {
-webkit-writing-mode: tb-rl;
-ms-writing-mode: tb-rl;
writing-mode: tb-rl;
-webkit-transform: rotate(-180deg);
-ms-transform: rotate(-180deg);
transform: rotate(-180deg);
font-weight: 700;
font-size: 20px;
letter-spacing: 5px;
font-family: "Rubik Mono One", monospace;
font-style: normal;
text-transform: uppercase;
}
.itemsheet-maincol {
flex: 0 0 130px;
padding: 0 1rem 0 0;
}
.itemsheet-panel {
display: flex;
flex: inherit;
padding: 1rem;
}
.itemsheet-panel img.profile-img {
width: 100px;
height: 100px;
}
.itemsheet input,
.itemsheet select {
color: var(--mgt2-input-color);
background-color: var(--mgt2-input-bgcolor);
display: block;
width: 100%;
font-size: 13px;
}
.chat-sidebar,
.mgt2-buttons button {
background: rgba(0, 0, 0, 0.1);
border: 1px solid var(--color-border-light-2);
border-radius: 3px;
-webkit-box-shadow: 0 0 2px #FFF inset;
box-shadow: 0 0 2px #FFF inset;
}
.chat-message.message {
color: #0A0405;
background-color: #fff;
background-image: none;
}
.dice-formula,
.dice-total {
background-color: #fff;
}
.mgt2-buttons {
display: flex;
justify-content: center;
align-items: center;
flex-wrap: nowrap;
color: #0A0405;
margin-top: 5px;
}
.mgt2-buttons button i {
font-size: 1.1rem;
padding: 0;
margin: 0;
}
.roll-info {
display: flex;
flex-direction: column;
}
.roll-type-name {
font-size: 11px;
text-transform: uppercase;
color: #515151;
}
.roll-object-name {
font-weight: 400;
font-size: 1.4rem;
}
.mgt2 nav.horizontal-tabs {
color: var(--mgt2-color-primary);
background: var(--mgt2-bgcolor-primary);
font-style: normal;
font-weight: 700;
font-size: 14px;
line-height: 30px;
text-transform: uppercase;
justify-content: space-around;
align-items: center;
font-family: "Roboto Condensed", sans-serif;
}
.mgt2 nav.horizontal-tabs a.item {
position: relative;
flex: 1 1 auto;
}
.mgt2 nav.horizontal-tabs a.item i {
margin-right: 0.5rem;
}
.mgt2 nav.horizontal-tabs > a.item::after {
content: "";
position: absolute;
inset: 0.25rem 0.25rem 0.25rem 0.25rem;
border: 1px solid var(--mgt2-color-primary-active);
pointer-events: none;
}
.mgt2 nav.horizontal-tabs > a.item.active::after {
border-bottom: none;
border-top: 2px solid var(--mgt2-color-primary-active);
border-left: 2px solid var(--mgt2-color-primary-active);
border-right: 2px solid var(--mgt2-color-primary-active);
inset: 0.25rem 0.25rem 0 0.25rem;
}
.mgt2 nav.horizontal-tabs .active {
color: var(--mgt2-color-primary);
text-decoration: none;
text-shadow: none;
border-bottom: none;
}
.tab[data-tab].fullsize {
height: calc(100% - 3rem);
}
.subTab {
flex-flow: column;
height: 100%;
display: flex;
justify-content: flex-start;
align-items: stretch;
}
.tab-scroll {
overflow-y: auto;
height: 100%;
}
.subTabs {
height: 100%;
flex-direction: column;
}
.subTabs.active {
display: flex !important;
}
.mgt2 .sheet-sidebar .item {
margin: 0 1rem;
}
.mgt2 nav[data-group=sidebar].tabs {
position: absolute;
left: 100%;
top: 172px;
display: flex;
flex-direction: column;
z-index: -1;
}
.mgt2 nav[data-group=sidebar].tabs > .item {
height: 40px;
position: relative;
display: flex;
justify-content: end;
align-items: center;
padding-right: 0.75rem;
background: var(--mgt2-bgcolor-primary);
color: var(--mgt2-color-primary);
border: 1px solid transparent;
font-size: 1rem;
-webkit-transition: all 250ms ease;
transition: all 250ms ease;
margin-left: 0;
}
.mgt2 nav[data-group=sidebar].tabs > .item.active {
text-shadow: none;
margin: 0;
border-color: var(--mgt2-color-primary);
}
.mgt2 nav[data-group=sidebar].tabs > .item.active::after {
border-left: none;
inset: 0.25rem 0.25rem 0.25rem 0;
}
.mgt2 nav[data-group=sidebar].tabs > .item::after {
content: "";
position: absolute;
inset: 0.25rem;
border: 1px solid var(--mgt2-color-primary);
pointer-events: none;
}
.mgt2 nav[data-group=sidebar].tabs > .item i {
margin-left: 0.8rem;
}
.container-controls {
display: inline-block;
margin-left: 1rem;
}
.container-controls a:not(:last-child) {
margin-right: 0.5rem;
}
.table-container {
display: flex;
flex-flow: column nowrap;
width: 100%;
margin: 0 auto;
}
.table-row {
display: flex;
flex-flow: row nowrap;
width: 100%;
position: relative;
align-items: flex-start;
}
.table-row.heading {
background-color: var(--mgt2-bgcolor-primary);
align-items: center;
}
.table-row.heading .row-item {
text-transform: uppercase;
font-size: 12px;
}
.table-row.heading .row-item:first-child {
font-weight: bold;
font-size: 13px;
letter-spacing: 3px;
}
.table-row.heading .row-item:first-child i {
margin-right: 0.5rem;
}
.table-row.heading.color-1 .row-item {
background-color: var(--mgt2-bgcolor-primary);
color: var(--mgt2-color-primary);
}
.table-row.heading.color-2 .row-item {
background-color: var(--mgt2-bgcolor-form);
color: var(--mgt2-bgcolor-primary);
}
.table-row.heading div.row-item {
padding-left: 5px;
}
.table-row.heading div.row-item:last-child {
padding-right: 5px;
}
.table-row:hover:not(.heading) {
background-color: var(--mgt2-row-hover);
}
.table-row-mb-4 {
margin-bottom: 4px;
}
.row-item {
display: flex;
flex-grow: 1;
font-size: 14px;
line-height: 25px;
align-items: center;
-webkit-transition: all 0.15s ease-in-out;
transition: all 0.15s ease-in-out;
overflow: hidden !important;
text-overflow: ellipsis;
text-wrap: nowrap;
}
.row-item.item-controls {
justify-content: right;
padding-right: 4px;
}
.row-item.item-controls a:not(:last-child) {
margin-right: 0.4rem;
}
.row-item i {
color: black;
}
.row-item a[data-roll] {
margin-right: 0.5rem;
}
.heading.color-1 .row-item i {
color: var(--mgt2-color-primary) !important;
}
.heading.color-2 .row-item i {
color: var(--mgt2-bgcolor-primary) !important;
}
.table-subrow {
border-left: 2px var(--mgt2-subrow-color) dashed;
color: var(--mgt2-subrow-color);
}
.table-subrow .row-item {
font-size: 0.8em;
line-height: 20px;
}
.table-subrow .row-item:first-child {
padding-left: 1rem;
}
.table-subrow .row-item > i {
margin-right: 4px;
}
.row-item-center {
justify-content: center;
text-align: center;
}
.row-item-left {
justify-content: left;
}
.row-item-right {
justify-content: right;
}
.row-item-space-between {
justify-content: space-between;
}
.row-item-2 {
flex-basis: 4rem;
}
.row-item-5 {
flex-basis: 5%;
}
.row-item-10 {
flex-basis: 10%;
}
.row-item-12 {
flex-basis: 4rem;
}
.row-item-15 {
flex-basis: 5rem;
}
.row-item-20 {
flex-basis: 20%;
}
.row-item-25 {
flex-basis: 25%;
}
.row-item-30 {
flex-basis: 30%;
}
.row-item-35 {
flex-basis: 35%;
}
.row-item-40 {
flex-basis: 40%;
}
.row-item-45 {
flex-basis: 45%;
}
.row-item-50 {
flex-basis: 50%;
}
.row-item-65 {
flex-basis: 50%;
}
.row-item-85 {
flex-basis: 50%;
}
.row-item-storage {
flex-wrap: wrap;
flex-grow: 0;
flex-basis: 20%;
font-size: 0.7rem;
line-height: 0.8rem;
}
.item-control.item-equip i {
color: var(--mgt2-row-inactive-icon);
}
.item-control.item-equip.active i {
color: var(--mgt2-color-form);
}
.row-description {
flex-basis: 100%;
font-size: 14px;
padding: 4px 0;
justify-content: left;
-webkit-transition: all 0.15s ease-in-out;
transition: all 0.15s ease-in-out;
}
.row-sub-container {
display: flex;
flex-flow: column nowrap;
flex: 1;
}
.row-sub-container .row-item {
padding: 8px 0;
border-bottom: 1px solid var(--mgt2-bgcolor-primary);
}
.table-row:last-child,
.row-sub-container .row-item:last-child {
border-bottom: 0;
}
.item-options {
position: absolute;
top: 0.7rem;
font-size: 0.7em;
left: 1.6rem;
text-transform: uppercase;
font-family: "DM Sans", sans-serif;
font-optical-sizing: auto;
font-weight: 600;
font-style: normal;
color: var(--mgt2-subrow-color);
}

40
system.json Normal file
View File

@@ -0,0 +1,40 @@
{
"id": "mgt2",
"version": "0.1.0",
"title": "MGT2 - Mongoose Traveller (Unofficial)",
"description": "An unofficial implementation of Mongoose Publishing Traveller. Traveller is the property of Mongoose Publishing, and can be purchased at https://www.mongoosepublishing.com",
"background": "systems/mgt2/assets/screens/rosette-nebula-ngc2239-hoo.webp",
"url": "https://github.com/JDR-Ninja/foundryvtt-mgt2",
"manifest": "https://github.com/JDR-Ninja/foundryvtt-mgt2/releases/latest/download/system.json",
"readme": "https://raw.githubusercontent.com/JDR-Ninja/foundryvtt-mgt2/main/README.md",
"download": "https://github.com/JDR-Ninja/foundryvtt-mgt2/releases/download/v0.1.0/mgt2.zip",
"authors": [
{
"name": "JdR Ninja",
"url": "https://www.jdr.ninja/",
"discord": "jdr.ninja"
}
],
"esmodules": ["mgt2.bundle.js"],
"styles": ["styles/mgt2.min.css"],
"packs": [],
"languages": [
{
"lang": "en",
"name": "English",
"path": "lang/en.json"
},
{
"lang": "fr",
"name": "Français",
"path": "lang/fr.json"
}
],
"compatibility": {
"minimum": "11",
"verified": "11.315"
},
"gridDistance": 1.5,
"gridUnits": "m",
"primaryTokenAttribute": "life"
}

39
template.json Normal file
View File

@@ -0,0 +1,39 @@
{
"Actor": {
"types": [
"character",
"vehicule"
],
"htmlFields": ["notes"],
"character": {},
"vehicule": {}
},
"Item": {
"types": [
"contact",
"career",
"disease",
"item",
"equipment",
"talent",
"armor",
"weapon",
"computer",
"container",
"species"
],
"htmlFields": ["description", "notes"],
"item": {},
"equipment": {},
"container": {},
"weapon": {},
"armor": {},
"computer": {},
"disease": {},
"career": {},
"contact": {},
"talent": {},
"race": {},
"species": {}
}
}

View File

@@ -0,0 +1,16 @@
<form class="{{cssClass}} flexcol" autocomplete="off">
<div class="form-group">
<label class="mgt2-checkbox"><input type="checkbox" name="show" data-dtype="Boolean" {{checked show}} />{{ localize 'MGT2.Actor.Show' }}</label>
</div>
<div class="form-group">
<label class="mgt2-checkbox"><input type="checkbox" name="showMax" data-dtype="Boolean" {{checked showMax}} />{{ localize 'MGT2.Actor.ShowMinMax' }}</label>
</div>
{{#if showAll}}
<fieldset>
<legend>{{ localize 'MGT2.Actor.HiddenCharacteristics' }}</legend>
<div class="form-group">
<label class="mgt2-checkbox"><input type="checkbox" name="showAll" data-dtype="Boolean" />{{ localize 'MGT2.Actor.ShowHiddenFields' }}</label>
</div>
</fieldset>
{{/if}}
</form>

View File

@@ -0,0 +1,35 @@
<form class="{{cssClass}} flexcol" autocomplete="off">
<div class="form-group">
<label class="mgt2-checkbox"><input type="checkbox" name="system.config.psionic" data-dtype="Boolean" {{checked system.config.psionic}} />{{ localize 'MGT2.Actor.ShowPsionicTalents' }}</label>
</div>
<fieldset>
<legend>{{ localize 'MGT2.Actor.Initiative' }}</legend>
<div class="form-group">
<label>{{ localize 'MGT2.Actor.Characteristic' }}</label>
<select name="initiative">
{{selectOptions config.InitiativeCharacteristics selected = system.config.initiative localize = true}}
</select>
</div>
</fieldset>
<fieldset>
<legend>{{ localize 'MGT2.Actor.DamageOrder' }}</legend>
<div class="form-group">
<label>{{ localize 'MGT2.Actor.Damage' }} #1</label>
<select name="damages.rank1">
{{selectOptions config.DamageCharacteristics selected = system.config.damages.rank1 localize = true}}
</select>
</div>
<div class="form-group">
<label>{{ localize 'MGT2.Actor.Damage' }} #2</label>
<select name="damages.rank2">
{{selectOptions config.DamageCharacteristics selected = system.config.damages.rank2 localize = true}}
</select>
</div>
<div class="form-group">
<label>{{ localize 'MGT2.Actor.Damage' }} #3</label>
<select name="damages.rank3">
{{selectOptions config.DamageCharacteristics selected = system.config.damages.rank3 localize = true}}
</select>
</div>
</fieldset>
</form>

View File

@@ -0,0 +1,730 @@
<form class="{{cssClass}} flexcol" autocomplete="off" style="align-content: flex-start;align-items: baseline;overflow: hidden;height: 100%;">
<nav class="sheet-sidebar tabs" data-group="sidebar">
<!-- <a class="item tab-select" data-tab="personal" title="Personal"><i class="fa-solid fa-id-card"></i></a> -->
<a class="item tab-select" data-tab="health" title="{{ localize 'MGT2.Actor.Health' }}"><i class="fa-solid fa-heart-pulse"></i></a>
<a class="item tab-select" data-tab="skills" title="{{ localize 'MGT2.Actor.Skills' }}"><i class="fa-solid fa-head-side"></i></a>
<a class="item tab-select" data-tab="inventory" title="{{ localize 'MGT2.Actor.Inventory' }}"><i class="fa-solid fa-briefcase-blank"></i></a>
<a class="item tab-select" data-tab="relations" title="{{ localize 'MGT2.Actor.Contacts' }}"><i class="fa-solid fa-users"></i></a>
<a class="item tab-select" data-tab="notes" title="{{ localize 'MGT2.Actor.Notes' }}"><i class="fa-solid fa-books"></i></a>
<a class="item tab-select" data-tab="biography" title="{{ localize 'MGT2.Actor.Biography' }}"><i class="fa-solid fa-book-user"></i></a>
</nav>
<section class="character-header">
<div class="character-header-img">
<img class="profile" src="{{img}}" data-edit="img" title="{{name}}" height="130" width="100" />
</div>
<div class="character-header-body">
<input class="field-name" name="name" type="text" value="{{name}}" />
<ul class="character-summary">
{{#if (and settings.usePronouns settings.useGender)}}
<li class="w1-10"><input name="system.personal.pronouns" type="text" value="{{system.personal.pronouns}}" placeholder="{{ localize 'MGT2.Actor.PlaceholderPRONOUNS' }}" /></li>
<li class="w1-10"><input name="system.personal.gender" type="text" value="{{system.personal.gender}}" placeholder="{{ localize 'MGT2.Actor.PlaceholderGENDER' }}" /></li>
<li class="w4-10"><input name="system.personal.title" type="text" value="{{system.personal.title}}" placeholder="{{ localize 'MGT2.Actor.PlaceholderTITLE' }}" /></li>
{{else if settings.usePronouns}}
<li class="w5-10"><input name="system.personal.pronouns" type="text" value="{{system.personal.pronouns}}" placeholder="{{ localize 'MGT2.Actor.PlaceholderPRONOUNS' }}" /></li>
<li class="w4-10"><input name="system.personal.title" type="text" value="{{system.personal.title}}" placeholder="{{ localize 'MGT2.Actor.PlaceholderTITLE' }}" /></li>
{{else if settings.useGender}}
<li class="w1-10"><input name="system.personal.gender" type="text" value="{{system.personal.gender}}" placeholder="{{ localize 'MGT2.Actor.PlaceholderGENDER' }}" /></li>
<li class="w4-10"><input name="system.personal.title" type="text" value="{{system.personal.title}}" placeholder="{{ localize 'MGT2.Actor.PlaceholderTITLE' }}" /></li>
{{else}}
<li class="w5-10"><input name="system.personal.title" type="text" value="{{system.personal.title}}" placeholder="{{ localize 'MGT2.Actor.PlaceholderTITLE' }}" /></li>
{{/if}}
<li class="w2-10"><input name="system.personal.species" type="text" value="{{system.personal.species}}" placeholder="{{ localize 'MGT2.Actor.PlaceholderSPECIES' }}" /></li>
<li class="w1-10"><input name="system.personal.age" type="text" value="{{system.personal.age}}" placeholder="{{ localize 'MGT2.Actor.PlaceholderAGE' }}" /></li>
<li class="w2-10"><input name="system.personal.wup" type="text" value="{{system.personal.wup}}" placeholder="{{ localize 'MGT2.Actor.PlaceholderUCP' }}" /></li>
</ul>
<div class="flexrow">
<div class="w4-10">
<!-- FULL REST ICON -->
</div>
<div class="flex-fix">
<fieldset class="lifes">
<legend><a class="roll upcase" data-roll="initiative" tabindex='-1' style="display: inline-flex;"><i class="fa-solid fa-dice"></i>{{ localize 'MGT2.Actor.Initiative' }}</a></legend>
<div>{{showDM initiative}}</div>
</fieldset>
</div>
<div class="flex-fix">
{{#if settings.showLife}}
<fieldset class="lifes">
<legend class="upcase">{{ localize 'MGT2.Actor.Life' }}</legend>
<div>{{system.life.value}}{{#if (gt system.life.max 0) }}/{{system.life.max}}{{/if}}</div>
</fieldset>
{{/if}}
</div>
<div class="flex-fix">
<fieldset class="lifes">
<legend class="upcase">{{ localize 'MGT2.Actor.Armor' }}</legend>
<div>{{system.inventory.armor}}</div>
</fieldset>
</div>
<div class="w4-10">
<fieldset style="margin:0;padding: 0 1rem;">
<legend class="upcase">{{ localize 'MGT2.Actor.States' }}</legend>
<ul class="character-states">
<li><label title="{{ localize 'MGT2.Actor.EncumbranceHint' }}">{{ localize 'MGT2.Actor.Encumbrance' }}</label><input type="checkbox" class="checkbox-small" {{checked system.states.encumbrance}} readonly disabled /></label></li>
<li><label title="{{ localize 'MGT2.Actor.FatigueHint' }}">{{ localize 'MGT2.Actor.Fatigue' }}</label><input type="checkbox" class="checkbox-small" name="system.states.fatigue" data-dtype="Boolean" {{checked system.states.fatigue}} /></label></li>
<li><label title="{{ localize 'MGT2.Actor.SurgeryRequiredHint' }}">{{ localize 'MGT2.Actor.SurgeryRequired' }}</label><input type="checkbox" class="checkbox-small" name="system.states.surgeryRequired" data-dtype="Boolean" {{checked system.states.surgeryRequired}} /></li>
<!-- <li><label>Unconscious</label><input type="checkbox" class="checkbox-small" name="system.states.unconscious" data-dtype="Boolean" {{checked system.states.unconscious}} /></li> -->
</ul>
</fieldset>
</div>
</div>
</div>
</section>
<div style="height: 100%;overflow: hidden;display: flex;flex-direction: row;width: 100%;justify-content: flex-start;align-items: flex-start;">
<div class="characteristics">
<nav class="horizontal-tabs tabs" data-group="characteristics" style="border-right: 7px double #fff;">
<a class="item tab-select" data-tab="core">{{ localize 'MGT2.Actor.TabCore' }}</a>
<a class="item tab-select" data-tab="other">{{ localize 'MGT2.Actor.TabOthers' }}</a>
</nav>
<section class="characteristics-panel">
<div class="tab" data-group="characteristics" data-tab="core">
{{#if system.characteristics.strength.show}}
<div class="characteristic-label"><a class="roll" data-roll="characteristic" data-roll-characteristic="strength" tabindex='-1'><i class="fa-solid fa-dice"></i></a>{{ localize 'MGT2.Characteristics.strength.name' }}<a class="cfg-characteristic" data-cfg-characteristic="strength" title="Configure"><i class="fa-solid fa-gear"></i></a></div>
{{#if system.characteristics.strength.showMax}}
<div class="characteristic-minmax">
<div class="minmaxwrapper">
<input type="text" maxlength="2" name="system.characteristics.strength.value" value="{{system.characteristics.strength.value}}" data-dtype="Number" /><span>|</span><input type="text" maxlength="2" name="system.characteristics.strength.max" value="{{system.characteristics.strength.max}}" />
</div>
<input class="characteristic-dm" type="text" maxlength="2" value="{{#if (gt system.characteristics.strength.dm 0)}}+{{/if}}{{system.characteristics.strength.dm}}" readonly tabindex='-1' />
</div>
{{else}}
<div class="characteristic-row">
<input class="characteristic-input" type="text" maxlength="2" name="system.characteristics.strength.value" value="{{system.characteristics.strength.value}}" />
<input class="characteristic-dm" type="text" maxlength="2" value="{{#if (gt system.characteristics.strength.dm 0)}}+{{/if}}{{system.characteristics.strength.dm}}" readonly tabindex='-1' />
</div>
{{/if}}
{{/if}}
{{#if system.characteristics.dexterity.show}}
<div class="characteristic-label mt-1"><a class="roll" data-roll="characteristic" data-roll-characteristic="dexterity" tabindex='-1'><i class="fa-solid fa-dice"></i></a>{{ localize 'MGT2.Characteristics.dexterity.name' }}<a class="cfg-characteristic" data-cfg-characteristic="dexterity" title="Configure"><i class="fa-solid fa-gear"></i></a></div>
{{#if system.characteristics.dexterity.showMax}}
<div class="characteristic-minmax">
<div class="minmaxwrapper">
<input type="text" maxlength="2" name="system.characteristics.dexterity.value" value="{{system.characteristics.dexterity.value}}" /><span>|</span><input type="text" maxlength="2" name="system.characteristics.dexterity.max" value="{{system.characteristics.dexterity.max}}" />
</div>
<input class="characteristic-dm" type="text" maxlength="2" value="{{#if (gt system.characteristics.dexterity.dm 0)}}+{{/if}}{{system.characteristics.dexterity.dm}}" readonly tabindex='-1' />
</div>
{{else}}
<div class="characteristic-row">
<input class="characteristic-input" type="text" maxlength="2" name="system.characteristics.dexterity.value" value="{{system.characteristics.dexterity.value}}" />
<input class="characteristic-dm" type="text" maxlength="2" value="{{#if (gt system.characteristics.dexterity.dm 0)}}+{{/if}}{{system.characteristics.dexterity.dm}}" readonly tabindex='-1' />
</div>
{{/if}}
{{/if}}
{{#if system.characteristics.endurance.show}}
<div class="characteristic-label mt-1"><a class="roll" data-roll="characteristic" data-roll-characteristic="endurance" tabindex='-1'><i class="fa-solid fa-dice"></i></a>{{ localize 'MGT2.Characteristics.endurance.name' }}<a class="cfg-characteristic" data-cfg-characteristic="endurance" title="Configure"><i class="fa-solid fa-gear"></i></a></div>
{{#if system.characteristics.endurance.showMax}}
<div class="characteristic-minmax">
<div class="minmaxwrapper">
<input type="text" maxlength="2" name="system.characteristics.endurance.value" value="{{system.characteristics.endurance.value}}" /><span>|</span><input type="text" maxlength="2" name="system.characteristics.endurance.max" value="{{system.characteristics.endurance.max}}" />
</div>
<input class="characteristic-dm" type="text" maxlength="2" value="{{#if (gt system.characteristics.endurance.dm 0)}}+{{/if}}{{system.characteristics.endurance.dm}}" readonly tabindex='-1' />
</div>
{{else}}
<div class="characteristic-row">
<input class="characteristic-input" type="text" maxlength="2" name="system.characteristics.endurance.value" value="{{system.characteristics.endurance.value}}" />
<input class="characteristic-dm" type="text" maxlength="2" value="{{#if (gt system.characteristics.endurance.dm 0)}}+{{/if}}{{system.characteristics.endurance.dm}}" readonly tabindex='-1' />
</div>
{{/if}}
{{/if}}
{{#if system.characteristics.intellect.show}}
<div class="characteristic-label mt-1"><a class="roll" data-roll="characteristic" data-roll-characteristic="intellect" tabindex='-1'><i class="fa-solid fa-dice"></i></a>{{ localize 'MGT2.Characteristics.intellect.name' }}<a class="cfg-characteristic" data-cfg-characteristic="intellect" title="Configure"><i class="fa-solid fa-gear"></i></a></div>
{{#if system.characteristics.intellect.showMax}}
<div class="characteristic-minmax">
<div class="minmaxwrapper">
<input type="text" maxlength="2" name="system.characteristics.intellect.value" value="{{system.characteristics.intellect.value}}" /><span>|</span><input type="text" maxlength="2" name="system.characteristics.intellect.max" value="{{system.characteristics.intellect.max}}" />
</div>
<input class="characteristic-dm" type="text" maxlength="2" value="{{#if (gt system.characteristics.intellect.dm 0)}}+{{/if}}{{system.characteristics.intellect.dm}}" readonly tabindex='-1' />
</div>
{{else}}
<div class="characteristic-row">
<input class="characteristic-input" type="text" maxlength="2" name="system.characteristics.intellect.value" value="{{system.characteristics.intellect.value}}" />
<input class="characteristic-dm" type="text" maxlength="2" value="{{#if (gt system.characteristics.intellect.dm 0)}}+{{/if}}{{system.characteristics.intellect.dm}}" readonly tabindex='-1' />
</div>
{{/if}}
{{/if}}
{{#if system.characteristics.education.show}}
<div class="characteristic-label mt-1"><a class="roll" data-roll="characteristic" data-roll-characteristic="education" tabindex='-1'><i class="fa-solid fa-dice"></i></a>{{ localize 'MGT2.Characteristics.education.name' }}<a class="cfg-characteristic" data-cfg-characteristic="education" title="Configure"><i class="fa-solid fa-gear"></i></a></div>
{{#if system.characteristics.education.showMax}}
<div class="characteristic-minmax">
<div class="minmaxwrapper">
<input type="text" maxlength="2" name="system.characteristics.education.value" value="{{system.characteristics.education.value}}" /><span>|</span><input type="text" maxlength="2" name="system.characteristics.education.max" value="{{system.characteristics.education.max}}" />
</div>
<input class="characteristic-dm" type="text" maxlength="2" value="{{#if (gt system.characteristics.education.dm 0)}}+{{/if}}{{system.characteristics.education.dm}}" readonly tabindex='-1' />
</div>
{{else}}
<div class="characteristic-row">
<input class="characteristic-input" type="text" maxlength="2" name="system.characteristics.education.value" value="{{system.characteristics.education.value}}" />
<input class="characteristic-dm" type="text" maxlength="2" value="{{#if (gt system.characteristics.education.dm 0)}}+{{/if}}{{system.characteristics.education.dm}}" readonly tabindex='-1' />
</div>
{{/if}}
{{/if}}
{{#if system.characteristics.social.show}}
<div class="characteristic-label mt-1"><a class="roll" data-roll="characteristic" data-roll-characteristic="social" tabindex='-1'><i class="fa-solid fa-dice"></i></a>{{ localize 'MGT2.Characteristics.social.name' }}<a class="cfg-characteristic" data-cfg-characteristic="social" title="Configure"><i class="fa-solid fa-gear"></i></a></div>
{{#if system.characteristics.social.showMax}}
<div class="characteristic-minmax">
<div class="minmaxwrapper">
<input type="text" maxlength="2" name="system.characteristics.social.value" value="{{system.characteristics.social.value}}" /><span>|</span><input type="text" maxlength="2" name="system.characteristics.social.max" value="{{system.characteristics.social.max}}" />
</div>
<input class="characteristic-dm" type="text" maxlength="2" value="{{#if (gt system.characteristics.social.dm 0)}}+{{/if}}{{system.characteristics.social.dm}}" readonly tabindex='-1' />
</div>
{{else}}
<div class="characteristic-row">
<input class="characteristic-input" type="text" maxlength="2" name="system.characteristics.social.value" value="{{system.characteristics.social.value}}" />
<input class="characteristic-dm" type="text" maxlength="2" value="{{#if (gt system.characteristics.social.dm 0)}}+{{/if}}{{system.characteristics.social.dm}}" readonly tabindex='-1' />
</div>
{{/if}}
{{/if}}
</div>
<div class="tab" data-group="characteristics" data-tab="other">
{{#if system.characteristics.morale.show}}
<div class="characteristic-label"><a class="roll" data-roll="characteristic" data-roll-characteristic="morale" tabindex='-1'><i class="fa-solid fa-dice"></i></a>{{ localize 'MGT2.Characteristics.morale.name' }}<a class="cfg-characteristic" data-cfg-characteristic="morale" title="Configure"><i class="fa-solid fa-gear"></i></a></div>
{{#if system.characteristics.morale.showMax}}
<div class="characteristic-minmax">
<div class="minmaxwrapper">
<input type="text" maxlength="2" name="system.characteristics.morale.value" value="{{system.characteristics.morale.value}}" /><span>|</span><input type="text" maxlength="2" name="system.characteristics.morale.max" value="{{system.characteristics.morale.max}}" />
</div>
<input class="characteristic-dm" type="text" maxlength="2" value="{{#if (gt system.characteristics.morale.dm 0)}}+{{/if}}{{system.characteristics.morale.dm}}" readonly tabindex='-1' />
</div>
{{else}}
<div class="characteristic-row">
<input class="characteristic-input" type="text" maxlength="2" name="system.characteristics.morale.value" value="{{system.characteristics.morale.value}}" />
<input class="characteristic-dm" type="text" maxlength="2" value="{{#if (gt system.characteristics.morale.dm 0)}}+{{/if}}{{system.characteristics.morale.dm}}" readonly tabindex='-1' />
</div>
{{/if}}
{{/if}}
{{#if system.characteristics.luck.show}}
<div class="characteristic-label mt-1"><a class="roll" data-roll="characteristic" data-roll-characteristic="luck" tabindex='-1'><i class="fa-solid fa-dice"></i></a>{{ localize 'MGT2.Characteristics.luck.name' }}<a class="cfg-characteristic" data-cfg-characteristic="luck" title="Configure"><i class="fa-solid fa-gear"></i></a></div>
{{#if system.characteristics.luck.showMax}}
<div class="characteristic-minmax">
<div class="minmaxwrapper">
<input type="text" maxlength="2" name="system.characteristics.luck.value" value="{{system.characteristics.luck.value}}" /><span>|</span><input type="text" maxlength="2" name="system.characteristics.luck.max" value="{{system.characteristics.luck.max}}" />
</div>
<input class="characteristic-dm" type="text" maxlength="2" value="{{#if (gt system.characteristics.luck.dm 0)}}+{{/if}}{{system.characteristics.luck.dm}}" readonly tabindex='-1' />
</div>
{{else}}
<div class="characteristic-row">
<input class="characteristic-input" type="text" maxlength="2" name="system.characteristics.luck.value" value="{{system.characteristics.luck.value}}" />
<input class="characteristic-dm" type="text" maxlength="2" value="{{#if (gt system.characteristics.luck.dm 0)}}+{{/if}}{{system.characteristics.luck.dm}}" readonly tabindex='-1' />
</div>
{{/if}}
{{/if}}
{{#if system.characteristics.sanity.show}}
<div class="characteristic-label mt-1"><a class="roll" data-roll="characteristic" data-roll-characteristic="sanity" tabindex='-1'><i class="fa-solid fa-dice"></i></a>{{ localize 'MGT2.Characteristics.sanity.name' }}<a class="cfg-characteristic" data-cfg-characteristic="sanity" title="Configure"><i class="fa-solid fa-gear"></i></a></div>
{{#if system.characteristics.sanity.showMax}}
<div class="characteristic-minmax">
<div class="minmaxwrapper">
<input type="text" maxlength="2" name="system.characteristics.sanity.value" value="{{system.characteristics.sanity.value}}" /><span>|</span><input type="text" maxlength="2" name="system.characteristics.sanity.max" value="{{system.characteristics.sanity.max}}" />
</div>
<input class="characteristic-dm" type="text" maxlength="2" value="{{#if (gt system.characteristics.sanity.dm 0)}}+{{/if}}{{system.characteristics.sanity.dm}}" readonly tabindex='-1' />
</div>
{{else}}
<div class="characteristic-row">
<input class="characteristic-input" type="text" maxlength="2" name="system.characteristics.sanity.value" value="{{system.characteristics.sanity.value}}" />
<input class="characteristic-dm" type="text" maxlength="2" value="{{#if (gt system.characteristics.sanity.dm 0)}}+{{/if}}{{system.characteristics.sanity.dm}}" readonly tabindex='-1' />
</div>
{{/if}}
{{/if}}
{{#if system.characteristics.charm.show}}
<div class="characteristic-label mt-1"><a class="roll" data-roll="characteristic" data-roll-characteristic="charm" tabindex='-1'><i class="fa-solid fa-dice"></i></a>{{ localize 'MGT2.Characteristics.charm.name' }}<a class="cfg-characteristic" data-cfg-characteristic="charm" title="Configure"><i class="fa-solid fa-gear"></i></a></div>
{{#if system.characteristics.charm.showMax}}
<div class="characteristic-minmax">
<div class="minmaxwrapper">
<input type="text" maxlength="2" name="system.characteristics.charm.value" value="{{system.characteristics.charm.value}}" /><span>|</span><input type="text" maxlength="2" name="system.characteristics.charm.max" value="{{system.characteristics.charm.max}}" />
</div>
<input class="characteristic-dm" type="text" maxlength="2" value="{{#if (gt system.characteristics.charm.dm 0)}}+{{/if}}{{system.characteristics.charm.dm}}" readonly tabindex='-1' />
</div>
{{else}}
<div class="characteristic-row">
<input class="characteristic-input" type="text" maxlength="2" name="system.characteristics.charm.value" value="{{system.characteristics.charm.value}}" />
<input class="characteristic-dm" type="text" maxlength="2" value="{{#if (gt system.characteristics.charm.dm 0)}}+{{/if}}{{system.characteristics.charm.dm}}" readonly tabindex='-1' />
</div>
{{/if}}
{{/if}}
{{#if system.characteristics.psionic.show}}
<div class="characteristic-label mt-1"><a class="roll" data-roll="characteristic" data-roll-characteristic="psionic" tabindex='-1'><i class="fa-solid fa-dice"></i></a>{{ localize 'MGT2.Characteristics.psionic.name' }}<a class="cfg-characteristic" data-cfg-characteristic="psionic" title="Configure"><i class="fa-solid fa-gear"></i></a></div>
{{#if system.characteristics.psionic.showMax}}
<div class="characteristic-minmax">
<div class="minmaxwrapper">
<input type="text" maxlength="2" name="system.characteristics.psionic.value" value="{{system.characteristics.psionic.value}}" /><span>|</span><input type="text" maxlength="2" name="system.characteristics.psionic.max" value="{{system.characteristics.psionic.max}}" />
</div>
<input class="characteristic-dm" type="text" maxlength="2" value="{{#if (gt system.characteristics.psionic.dm 0)}}+{{/if}}{{system.characteristics.psionic.dm}}" readonly tabindex='-1' />
</div>
{{else}}
<div class="characteristic-row">
<input class="characteristic-input" type="text" maxlength="2" name="system.characteristics.psionic.value" value="{{system.characteristics.psionic.value}}" />
<input class="characteristic-dm-input" type="text" maxlength="2" value="{{#if (gt system.characteristics.psionic.dm 0)}}+{{/if}}{{system.characteristics.psionic.dm}}" readonly tabindex='-1' />
</div>
{{/if}}
{{/if}}
{{#if system.characteristics.other.show}}
<div class="characteristic-label mt-1"><a class="roll" data-roll="characteristic" data-roll-characteristic="other" tabindex='-1'><i class="fa-solid fa-dice"></i></a>{{ localize 'MGT2.Characteristics.other.name' }}<a class="cfg-characteristic" data-cfg-characteristic="other" title="Configure"><i class="fa-solid fa-gear"></i></a></div>
{{#if system.characteristics.other.showMax}}
<div class="characteristic-minmax">
<div class="minmaxwrapper">
<input type="text" maxlength="2" name="system.characteristics.other.value" value="{{system.characteristics.other.value}}" /><span>|</span><input type="text" maxlength="2" name="system.characteristics.other.max" value="{{system.characteristics.other.max}}" />
</div>
<input class="characteristic-dm" type="text" maxlength="2" value="{{#if (gt system.characteristics.other.dm 0)}}+{{/if}}{{system.characteristics.other.dm}}" readonly tabindex='-1' />
</div>
{{else}}
<div class="characteristic-row">
<input class="characteristic-input" type="text" maxlength="2" name="system.characteristics.other.value" value="{{system.characteristics.other.value}}" />
<input class="characteristic-dm" type="text" maxlength="2" value="{{#if (gt system.characteristics.other.dm 0)}}+{{/if}}{{system.characteristics.other.dm}}" readonly tabindex='-1' />
</div>
{{/if}}
{{/if}}
</div>
</section>
</div>
<div class="tab w100" data-group="sidebar" data-tab="health">
<div class="header upcase">{{ localize 'MGT2.Actor.Health' }}</div>
<div class="field-group mb-1">
<label class="upcase">{{ localize 'MGT2.Actor.Rads' }}</label>
<input class="field" name="system.health.radiations" type="text" value="{{system.health.radiations}}" />
</div>
<div class="table-container">
<div class="table-row heading color-1">
<div class="row-item row-item-30 row-item-left upcase">{{ localize 'MGT2.Actor.Wounds' }}</div>
<div class="row-item row-item-center">{{ localize 'MGT2.Items.Difficulty' }}</div>
<div class="row-item row-item-center">{{ localize 'MGT2.Items.Damage' }}</div>
<div class="row-item row-item-center">{{ localize 'MGT2.Items.Interval' }}</div>
<div class="row-item row-item row-item-15 item-controls flex-fix"><a class="item-create" data-type-item="disease" data-subtype="wound" data-create-name="{{ localize 'MGT2.Actor.NewWound' }}" title="{{ localize 'MGT2.Actor.AddWound' }}"><i class="fas fa-plus"></i></a></div>
</div>
{{#each wounds as |wound id|}}
<div class="table-row item" data-item-id="{{wound._id}}" role="rowgroup">
<div class="row-item row-item-30 row-item-left">{{wound.name}}</div>
<div class="row-item row-item-center">{{wound.system.difficulty}}</div>
<div class="row-item row-item-center">{{wound.system.damage}}</div>
<div class="row-item row-item-center">{{wound.system.interval}}</div>
<div class="row-item row-item row-item-15 item-controls flex-fix">
<a class="item-control item-edit" title="{{ localize 'MGT2.Actor.EditWound' }}"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="{{ localize 'MGT2.Actor.DeleteWound' }}"><i class="fas fa-trash"></i></a>
</div>
</div>
{{/each}}
</div>
<div class="table-container">
<div class="table-row heading color-1">
<div class="row-item row-item-30 row-item-left upcase">{{ localize 'MGT2.Items.Diseases' }}</div>
<div class="row-item row-item-center">{{ localize 'MGT2.Items.Difficulty' }}</div>
<div class="row-item row-item-center">{{ localize 'MGT2.Items.Damage' }}</div>
<div class="row-item row-item-center">{{ localize 'MGT2.Items.Interval' }}</div>
<div class="row-item row-item row-item-15 item-controls flex-fix"><a class="item-create" data-type-item="disease" data-subtype="disease" data-create-name="{{ localize 'MGT2.Actor.NewDisease' }}" title="{{ localize 'MGT2.Actor.AddDisease' }}"><i class="fas fa-plus"></i></a></div>
</div>
{{#each diseases as |disease id|}}
<div class="table-row item" data-item-id="{{disease._id}}" role="rowgroup">
<div class="row-item row-item-30 row-item-left"><a data-roll="disease" data-item-id="{{disease._id}}"><i class="fa-solid fa-dice"></i></a>{{disease.name}}</div>
<div class="row-item row-item-center">{{disease.system.difficulty}}</div>
<div class="row-item row-item-center">{{disease.system.damage}}</div>
<div class="row-item row-item-center">{{disease.system.interval}}</div>
<div class="row-item row-item row-item-15 item-controls flex-fix">
<a class="item-control item-edit" title="{{ localize 'MGT2.Actor.EditDisease' }}"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="{{ localize 'MGT2.Actor.DeleteDisease' }}"><i class="fas fa-trash"></i></a>
</div>
</div>
{{/each}}
</div>
</div>
<div class="tab w100" data-group="sidebar" data-tab="skills">
<div class="header upcase">{{ localize 'MGT2.Actor.StudyPeriod' }}</div>
<div class="fields mb-1">
<div class="field-group" style="flex: 2 1 auto;">
<label class="upcase">{{ localize 'MGT2.Actor.TrainingInSkill' }}</label>
<input class="field" name="system.study.skill" type="text" value="{{system.study.skill}}" />
</div>
<div class="field-group" style="flex: 1 1 0%;">
<label>{{ localize 'MGT2.Actor.Completed' }}</label>
<input class="field" name="system.study.completed" type="number" value="{{system.study.completed}}" />
</div>
<div class="field-group" style="flex: 1 1 0%;">
<label class="upcase">{{ localize 'MGT2.Actor.Weeks' }}</label>
<input class="field" name="system.study.total" type="number" value="{{system.study.total}}" />
</div>
</div>
<div class="table-container">
<div class="table-row heading color-1">
<div class="row-item row-item-30 row-item-left">{{ localize 'MGT2.Items.Careers' }}</div>
<div class="row-item row-item-center">{{ localize 'MGT2.Items.Terms' }}</div>
<div class="row-item row-item-center">{{ localize 'MGT2.Items.Rank' }}</div>
<div class="row-item row-item row-item-15 item-controls flex-fix"><a class="item-create" data-type-item="career" data-create-name="{{ localize 'MGT2.Actor.NewCareer' }}" title="{{ localize 'MGT2.Actor.AddCareer' }}"><i class="fas fa-plus"></i></a></div>
</div>
{{#each careers as |career id|}}
<div class="table-row item" data-item-id="{{career._id}}" role="rowgroup">
<div class="row-item row-item-30 row-item-left">{{career.name}}</div>
<div class="row-item row-item-center">{{career.system.terms}}</div>
<div class="row-item row-item-center">{{career.system.rank}}</div>
<div class="row-item row-item row-item-15 item-controls flex-fix">
<a class="item-control item-edit" title="{{ localize 'MGT2.Actor.EditCareer' }}"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="{{ localize 'MGT2.Actor.DeleteCareer' }}"><i class="fas fa-trash"></i></a>
</div>
</div>
{{/each}}
</div>
<div class="table-container">
<div class="table-row heading color-1">
<div class="row-item row-item-30 row-item-left flex-fix">{{ localize 'MGT2.Actor.Skills' }}</div>
<div class="row-item row-item-center">{{ localize 'MGT2.Items.Level' }}</div>
<div class="row-item row-item row-item-15 item-controls flex-fix"><a class="item-create" data-type-item="talent" data-subtype="skill" data-create-name="{{ localize 'MGT2.Actor.NewSkill' }}" title="{{ localize 'MGT2.Actor.AddSkill' }}"><i class="fas fa-plus"></i></a></div>
</div>
{{#each skills as |skill id|}}
<div class="table-row" data-item-id="{{skill._id}}" role="rowgroup">
<div class="row-item row-item-30 row-item-left flex-fix">
<a data-roll="skill" data-roll-skill="{{skill._id}}"><i class="fa-solid fa-dice"></i></a>{{skill.name}}{{#if skill.system.skill.speciality}} ({{skill.system.skill.speciality}}){{/if}}
</div>
<div class="row-item row-item-center">{{skill.system.level}}</div>
<div class="row-item item-controls">
<a class="item-control item-edit" title="{{ localize 'MGT2.Actor.EditSkill' }}"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="{{ localize 'MGT2.Actor.DeleteSkill' }}"><i class="fas fa-trash"></i></a>
</div>
</div>
{{/each}}
</div>
{{#if system.config.psionic}}
<div class="table-container">
<div class="table-row heading color-1">
<div class="row-item row-item-30 row-item-left upcase">{{ localize 'MGT2.Actor.PsionicTalents' }}</div>
<div class="row-item row-item-10 row-item-center flex-fix">{{ localize 'MGT2.Items.Level' }}</div>
<div class="row-item row-item-10 row-item-center flex-fix">{{ localize 'MGT2.Items.Cost' }}</div>
<div class="row-item row-item-10 row-item-center flex-fix">{{ localize 'MGT2.Items.Reach' }}</div>
<div class="row-item row-item-10 row-item-center flex-fix">{{ localize 'MGT2.Items.Difficulty' }}</div>
<div class="row-item row-item row-item-15 item-controls flex-fix"><a class="item-create" data-type-item="talent" data-subtype="psionic" data-create-name="{{ localize 'MGT2.Actor.NewPsionicTalent' }}" title="{{ localize 'MGT2.Actor.AddPsionicTalent' }}"><i class="fas fa-plus"></i></a></div>
</div>
{{#each psionics as |psionic id|}}
<div class="table-row" data-item-id="{{psionic._id}}" role="rowgroup">
<div class="row-item row-item-30 row-item-left">
<a data-roll="psionic" data-item-id="{{psionic._id}}"><i class="fa-solid fa-dice"></i></a>{{psionic.name}}
</div>
<div class="row-item row-item-10 row-item-center flex-fix">{{psionic.system.level}}</div>
<div class="row-item row-item-10 row-item-center flex-fix">{{psionic.system.psionic.cost}}</div>
<div class="row-item row-item-10 row-item-center flex-fix">{{psionic.system.psionic.reach}}</div>
<div class="row-item row-item-10 row-item-center flex-fix">{{psionic.system.psionic.difficulty}}</div>
<div class="row-item row-item row-item-15 item-controls flex-fix">
<a class="item-control item-edit" title="{{ localize 'MGT2.Items.EditPsionic' }}"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="{{ localize 'MGT2.Items.DeletePsionic' }}"><i class="fas fa-trash"></i></a>
</div>
</div>
{{/each}}
</div>
{{/if}}
</div>
<div class="tab w100 subTabs" data-group="sidebar" data-tab="inventory">
<nav class="horizontal-tabs tabs" data-group="inventory">
<a class="item tab-select" data-tab="onhand"><i class="fa-solid fa-person-walking-luggage"></i>{{ localize 'MGT2.Items.OnHand' }}</a>
<a class="item tab-select" data-tab="storage"><i class="fa-solid fa-treasure-chest"></i>{{ localize 'MGT2.Items.Storage' }}</a>
<a class="item tab-select" data-tab="finance"><i class="fa-solid fa-credit-card"></i>{{ localize 'MGT2.Actor.Finance' }}</a>
{{#if showTrash}}
<!-- <a class="item tab-select" data-tab="trash" style="flex-basis: 3rem;flex-grow: 0;" title="Trash"><i class="fa-solid fa-trash" style="margin: 0;"></i></a> -->
{{/if}}
</nav>
<div class="tab w100 tab-scroll" data-group="inventory" data-tab="onhand">
<div class="table-container mt-1">
<div class="table-row heading color-1">
<div class="row-item row-item-30 row-item-left upcase"><i class="fa-solid fa-gun"></i>{{ localize 'MGT2.Items.Weapons' }}</div>
<div class="row-item row-item-2 row-item-center">{{ localize 'MGT2.Items.Range' }}</div>
<div class="row-item row-item-20 row-item-center">{{ localize 'MGT2.Items.Damage' }}</div>
<div class="row-item row-item-2 row-item-right flex-fix">{{ localize 'MGT2.Items.Weight' }}</div>
<div class="row-item row-item-15 item-controls flex-fix"><a class="item-create" data-type-item="weapon" data-create-name="{{ localize 'MGT2.Actor.NewWeapon' }}" title="{{ localize 'MGT2.Actor.AddWeapon' }}"><i class="fas fa-plus"></i></a></div>
</div>
{{#each weapons as |weapon id|}}
<div class="table-row{{#if weapon.subInfo}} table-row-mb-4{{/if}} drag-item-list" data-item-id="{{weapon._id}}" role="rowgroup">
<div class="row-item row-item-30 row-item-left flex-3 row-large">
<a data-roll="item" data-item-id="{{weapon._id}}"><i class="fa-solid fa-dice"></i></a>{{weapon.name}}{{#if weapon.subInfo}}<div class="item-options">{{weapon.subInfo}}</div>{{/if}}
</div>
<div class="row-item row-item-2 row-item-center">{{weapon.range}}</div>
<div class="row-item row-item-20 row-item-center">{{weapon.system.damage}}</div>
<div class="row-item row-item-2 row-item-right flex-fix">{{weapon.weight}}</div>
<div class="row-item row-item-15 item-controls flex-fix">
<a class="item-control item-equip {{weapon.toggleClass}}" title="Equip"><i class="fa-solid fa-shield-halved"></i></a>
<a class="item-control item-storage-in" title="{{ localize 'MGT2.Actor.StoreItem' }}"><i class="fa-solid fa-inbox-in"></i></a>
<a class="item-control item-edit" title="{{ localize 'MGT2.Actor.EditWeapon' }}"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="{{ localize 'MGT2.Actor.DeleteWeapon' }}"><i class="fas fa-trash"></i></a>
</div>
</div>
{{/each}}
</div>
<div class="table-container">
<div class="table-row heading color-1">
<div class="row-item row-item-40 row-item-left upcase"><i class="fa-solid fa-shield"></i>{{ localize 'MGT2.Items.Armors' }}</div>
<div class="row-item row-item-10 row-item-center">{{ localize 'MGT2.Items.Rads' }}</div>
<div class="row-item row-item-10 row-item-center">{{ localize 'MGT2.Items.Protection' }}</div>
<div class="row-item row-item-2 row-item-right flex-fix">{{ localize 'MGT2.Items.Weight' }}</div>
<div class="row-item row-item-15 item-controls flex-fix"><a class="item-create" data-type-item="armor" data-create-name="{{ localize 'MGT2.Actor.NewArmor' }}" title="{{ localize 'MGT2.Actor.AddArmor' }}"><i class="fas fa-plus"></i></a></div>
</div>
{{#each armors as |armor id|}}
<div class="table-row{{#if armor.subInfo}} table-row-mb-4{{/if}} drag-item-list" data-item-id="{{armor._id}}" role="rowgroup">
<div class="row-item row-item-40 row-item-left">
<a data-roll="item" data-item-id="{{armor._id}}"><i class="fa-solid fa-dice"></i></a>{{armor.name}}{{#if armor.subInfo}}<div class="item-options">{{armor.subInfo}}</div>{{/if}}
</div>
<div class="row-item row-item-10 row-item-center">{{armor.system.radiations}}</div>
<div class="row-item row-item-10 row-item-center">{{armor.system.protection}}</div>
<div class="row-item row-item-2 row-item-right flex-fix">{{armor.weight}}</div>
<div class="row-item row-item-15 item-controls flex-fix">
<a class="item-control item-equip {{armor.toggleClass}}" title="Equip"><i class="fa-solid fa-shield-halved"></i></a>
<a class="item-control item-storage-in" title="{{ localize 'MGT2.Actor.StoreItem' }}"><i class="fa-solid fa-inbox-in"></i></a>
<a class="item-control item-edit" title="{{ localize 'MGT2.Actor.EditArmor' }}"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="{{ localize 'MGT2.Actor.DeleteArmor' }}"><i class="fas fa-trash"></i></a>
</div>
</div>
{{/each}}
</div>
<div class="table-container">
<div class="table-row heading color-1">
<div class="row-item row-item-30 row-item-left upcase"><i class="fa-solid fa-brain-circuit"></i>{{ localize 'MGT2.Actor.Augments' }}</div>
<div class="row-item row-item-40 row-item-left">{{ localize 'MGT2.Items.Improvement' }}</div>
<div class="row-item row-item-15 item-controls flex-fix"><a class="item-create" data-type-item="equipment" data-subtype="augment" data-create-name="{{ localize 'MGT2.Actor.NewAugment' }}" title="{{ localize 'MGT2.Actor.AddAugment' }}"><i class="fas fa-plus"></i></a></div>
</div>
{{#each augments as |augment id|}}
<div class="table-row drag-item-list" data-item-id="{{augment._id}}" role="rowgroup">
<div class="row-item row-item-30 row-item-left">{{augment.name}}</div>
<div class="row-item row-item-40 row-item-left">{{augment.system.improvement}}</div>
<div class="row-item row-item-15 item-controls flex-fix">
<a class="item-control item-equip {{augment.toggleClass}}" title="Equip"><i class="fa-solid fa-shield-halved"></i></a>
<a class="item-control item-storage-in" title="{{ localize 'MGT2.Actor.StoreItem' }}"><i class="fa-solid fa-inbox-in"></i></a>
<a class="item-control item-edit" title="{{ localize 'MGT2.Actor.EditAugment' }}"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="{{ localize 'MGT2.Actor.DeleteAugment' }}"><i class="fas fa-trash"></i></a>
</div>
</div>
{{/each}}
</div>
<div class="table-container">
<div class="table-row heading color-1">
<div class="row-item row-item-50 row-item-left upcase"><i class="fa-solid fa-tablet-screen"></i>{{ localize 'MGT2.Items.Computers' }}</div>
<div class="row-item row-item-2 row-item-center"><i class="fa-solid fa-bolt-lightning"></i></div>
<div class="row-item row-item-2 row-item-right flex-fix">{{ localize 'MGT2.Items.Weight' }}</div>
<div class="row-item row-item-15 item-controls flex-fix"><a class="item-create" data-type-item="computer" data-create-name="{{ localize 'MGT2.Actor.NewComputer' }}" title="{{ localize 'MGT2.Actor.AddComputer' }}"><i class="fas fa-plus"></i></a></div>
</div>
{{#each computers as |computer id|}}
<div class="table-row drop-item-list" data-item-id="{{computer._id}}" role="rowgroup">
<div class="row-item row-item-50 row-item-left">
<a data-roll="item" data-item-id="{{computer._id}}"><i class="fa-solid fa-dice"></i></a>{{computer.name}}{{#if computer.subInfo}}<div class="item-options">{{computer.subInfo}}</div>{{/if}}
</div>
<div class="row-item row-item-2 row-item-center {{overloadClass}}">{{computer.system.processingUsed}}/{{computer.system.processing}}
{{#if computer.system.overload}}<a title="Overload"><i class="fa-solid fa-triangle-exclamation"></i></a>{{/if}}
</div>
<div class="row-item row-item-2 row-item-right flex-fix">{{computer.weight}}</div>
<div class="row-item row-item-15 item-controls flex-fix">
<a class="item-control item-equip {{computer.toggleClass}}" title="Equip"><i class="fa-solid fa-shield-halved"></i></a>
<a class="item-control item-storage-in" title="{{ localize 'MGT2.Actor.StoreItem' }}"><i class="fa-solid fa-inbox-in"></i></a>
<a class="item-control item-edit" title="{{ localize 'MGT2.Actor.EditComputer' }}"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="{{ localize 'MGT2.Actor.DeleteComputer' }}"><i class="fas fa-trash"></i></a>
</div>
</div>
{{#each subItems as |subItem|}}
<div class="table-row table-subrow drag-item-list" data-item-id="{{subItem._id}}">
<div class="row-item row-item-50 row-item-left"><i class="fa-brands fa-usb"></i>{{subItem.name}}</div>
<div class="row-item row-item-2 row-item-center">{{subItem.system.bandwidth}}</div>
<div class="row-item row-item-2 row-item-right flex-fix"></div>
<div class="row-item row-item-15 item-controls flex-fix">
<a class="item-control software-eject" title="{{ localize 'MGT2.Actor.UnloadSoftware' }}"><i class="fa-solid fa-eject"></i></i></a>
<a class="item-control item-edit" title="{{ localize 'MGT2.Actor.EditSoftware' }}"><i class="fas fa-edit"></i></a>
</div>
</div>
{{/each}}
{{/each}}
{{#if softwares}}
<fieldset style="padding: 5px;margin: 1rem 0;">
<legend><i class="fa-brands fa-usb"></i> {{ localize 'MGT2.Items.Softwares' }}</legend>
<ul class="softwares">
{{#each softwares as |software id|}}
<li class="drag-item-list" data-item-id="{{software._id}}">{{software.display}}
<a class="item-control item-edit" title="{{ localize 'MGT2.Actor.EditSoftware' }}"><i class="fas fa-edit"></i></a>
<a class="item-delete" title="{{ localize 'MGT2.Actor.DeleteSoftware' }}"><i class="fas fa-trash"></i></a>
</li>
{{/each}}
</ul>
</fieldset>
{{/if}}
</div>
<div class="table-container">
<div class="table-row heading color-1">
<div class="row-item row-item-85 row-item-left upcase"><i class="fa-solid fa-toolbox"></i>{{ localize 'MGT2.Items.Equipments' }}</div>
<div class="row-item row-item-2 row-item-center">{{ localize 'MGT2.Items.Qty' }}</div>
<div class="row-item row-item-2 row-item-right flex-fix">{{ localize 'MGT2.Items.Weight' }}</div>
<div class="row-item row-item-15 item-controls flex-fix"><a class="item-create" data-type-item="equipment" data-create-name="{{ localize 'MGT2.Actor.Equipment' }}" title="{{ localize 'MGT2.Actor.AddEquipment' }}"><i class="fas fa-plus"></i></a></div>
</div>
{{#each equipments as |equipment id|}}
<div class="table-row drag-item-list" data-item-id="{{equipment._id}}" role="rowgroup">
<div class="row-item row-item-85 row-item-left">{{equipment.name}}</div>
<div class="row-item row-item-2 row-item-center">{{equipment.system.quantity}}</div>
<div class="row-item row-item-2 row-item-right flex-fix">{{equipment.weight}}</div>
<div class="row-item row-item-15 item-controls flex-fix">
<a class="item-control item-equip {{equipment.toggleClass}}" title="Equip/Unequip"><i class="fa-solid fa-shield-halved"></i></a>
<a class="item-control item-storage-in" title="{{ localize 'MGT2.Actor.StoreEquipment' }}"><i class="fa-solid fa-inbox-in"></i></a>
<a class="item-control item-edit" title="{{ localize 'MGT2.Actor.EditEquipment' }}"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="{{ localize 'MGT2.Actor.DeleteEquipment' }}"><i class="fas fa-trash"></i></a>
</div>
</div>
{{/each}}
</div>
<div class="table-container">
<div class="table-row heading color-1">
<div class="row-item row-item-85 row-item-left upcase"><i class="fa-solid fa-backpack"></i>{{ localize 'MGT2.Items.Items' }}</div>
<div class="row-item row-item-2 row-item-center">{{ localize 'MGT2.Items.Qty' }}</div>
<div class="row-item row-item-2 row-item-right flex-fix">{{ localize 'MGT2.Items.Weight' }}</div>
<div class="row-item row-item-15 item-controls flex-fix"><a class="item-create" data-type-item="item" data-create-name="{{ localize 'MGT2.Actor.NewItem' }}" title="{{ localize 'MGT2.Actor.AddItem' }}"><i class="fas fa-plus"></i></a></div>
</div>
{{#each items as |item|}}
{{#if (eq item.type "container")}}
<div class="table-row drop-item-list" data-item-id="{{item._id}}">
{{else}}
<div class="table-row drag-item-list" data-item-id="{{item._id}}">
{{/if}}
<div class="row-item row-item-85 row-item-left">{{item.name}}</div>
<div class="row-item row-item-2 row-item-center">{{item.system.quantity}}</div>
<div class="row-item row-item-2 row-item-right flex-fix">{{item.weight}}</div>
<div class="row-item row-item-15 item-controls flex-fix">
<a class="item-control item-storage-in" title="Store Item"><i class="fa-solid fa-inbox-in"></i></a>
<a class="item-control item-edit" title="{{ localize 'MGT2.Actor.EditItem' }}"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="{{ localize 'MGT2.Actor.DeleteItem' }}"><i class="fas fa-trash"></i></a>
</div>
</div>
{{#if (eq item.type "container")}}
{{#each subItems as |subItem|}}
<div class="table-row table-subrow drag-item-list" data-item-id="{{subItem._id}}">
<div class="row-item row-item-85 row-item-left">{{subItem.name}}</div>
<div class="row-item row-item-2 row-item-center">{{subItem.system.quantity}}</div>
<div class="row-item row-item-2 row-item-right flex-fix">{{subItem.weight}}</div>
<div class="row-item row-item-15 item-controls flex-fix">
<a class="item-control item-storage-out" title="Unstore Item"><i class="fa-solid fa-inbox-out"></i></a>
<a class="item-control item-edit" title="{{ localize 'MGT2.Actor.EditItem' }}"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="{{ localize 'MGT2.Actor.DeleteItem' }}"><i class="fas fa-trash"></i></a>
</div>
</div>
{{/each}}
{{/if}}
{{/each}}
</div>
<hr />
<div class="table-container">
<div class="table-row">
<div class="row-item row-item-left" style="flex-basis: 48%">{{ localize 'MGT2.Actor.Encumbrance' }} {{encumbranceNormal}} {{settings.weightUnit}} / {{encumbranceHeavy}} {{settings.weightUnit}}</div>
<div class="row-item row-item-right" style="flex-basis: 28%">Total :</div>
<div class="row-item row-item-2 row-item-right {{encumbranceClasses}} flex-fix">{{system.inventory.weight}} {{settings.weightUnit}}</div>
<div class="row-item row-item-15 row-item-left flex-fix {{encumbranceClasses}}"></div>
</div>
</div>
</div>
<div class="tab" data-group="inventory" data-tab="storage">
<div class="mt-1" style="flex-direction: row;display: flex;justify-content: space-between;">
<div>
<label>{{ localize 'MGT2.Items.Containers' }}</label>
<select name="system.containerView">
{{selectOptions containers selected=system.containerView nameAttr="_id" labelAttr="display"}}
</select>
<div class="container-controls">
{{#unless containerShowAll}}<a class="container-edit"><i class="fas fa-edit"></i></a>{{/unless}}
<a class="container-create"><i class="fas fa-plus"></i></a>
{{#unless containerShowAll}}<a class="container-delete"><i class="fas fa-trash"></i></a>{{/unless}}
</div>
</div>
<div>
<label>DropIn</label>
<select name="system.containerDropIn">
{{selectOptions actorContainers selected=system.containerDropIn nameAttr="_id" labelAttr="display"}}
</select>
</div>
</div>
<hr />
{{#if (and containerView.system.locked (not isGM))}}
<i class="fa-solid fa-lock"></i><label class="upcase">{{ localize 'MGT2.Items.Locked' }}</label>
{{else}}
<div class="table-container">
<div class="table-row heading color-1">
<div class="row-item row-item-30 row-item-left upcase">{{ localize 'MGT2.Items.Items' }}</div>
{{#if containerShowAll}}
<div class="row-item row-item-center row-item-storage">{{ localize 'MGT2.Items.Storage' }}</div>
{{/if}}
<div class="row-item row-item-2 row-item-center flex-fix">{{ localize 'MGT2.Items.Qty' }}</div>
<div class="row-item row-item-2 row-item-center flex-fix">{{ localize 'MGT2.Items.Weight' }}</div>
<div class="row-item row-item-15 item-controls flex-fix"></div>
</div>
{{#each containerItems as |containerItem id|}}
<div class="table-row drag-item-list" data-item-id="{{containerItem._id}}" role="rowgroup">
<div class="row-item row-item-30 row-item-left">{{containerItem.name}}</div>
{{#if ../containerShowAll}}
<div class="row-item row-item-center row-item-storage">{{containerItem.containerName}}</div>
{{/if}}
<div class="row-item row-item-2 row-item-center flex-fix">{{containerItem.system.quantity}}</div>
<div class="row-item row-item-2 row-item-center flex-fix">{{containerItem.weight}}</div>
<div class="row-item row-item-15 item-controls flex-fix">
<a class="item-control item-storage-out" title="{{ localize 'MGT2.Actor.UnstoreItem' }}"><i class="fa-solid fa-inbox-out"></i></a>
<a class="item-control item-edit" title="{{ localize 'MGT2.Actor.EditItem' }}"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="{{ localize 'MGT2.Actor.DeleteItem' }}"><i class="fas fa-trash"></i></a>
</div>
</div>
{{/each}}
</div>
<hr />
<div>{{ localize 'MGT2.Actor.TotalWeight' }} : {{containerWeight}} {{settings.weightUnit}}</div>
{{/if}}
</div>
<div class="tab" data-group="inventory" data-tab="finance">
<div class="field-groups mb-1 mt-1">
<div class="field-group">
<label class="upcase">{{ localize 'MGT2.Actor.CashOnHand' }}</label>
<input class="field" name="system.finance.credits" type="text" value="{{system.finance.credits}}" />
</div>
<div class="field-group">
<label class="upcase">{{ localize 'MGT2.Actor.Pension' }}</label>
<input class="field" name="system.finance.pension" type="text" value="{{system.finance.pension}}" />
</div>
<div class="field-group">
<label class="upcase">{{ localize 'MGT2.Actor.LivingCost' }}</label>
<input class="field" name="system.finance.livingCost" type="text" value="{{system.finance.livingCost}}" />
</div>
<div class="field-group">
<label class="upcase">{{ localize 'MGT2.Actor.Debt' }}</label>
<input class="field" name="system.finance.debt" type="text" value="{{system.finance.debt}}" />
</div>
</div>
<div class="field-group mt-1">
<label class="upcase">{{ localize 'MGT2.Actor.Notes' }}</label>
<textarea name="system.finance.description" rows="3">{{system.finance.description}}</textarea>
</div>
</div>
</div>
<div class="tab w100 tab-scroll" data-group="sidebar" data-tab="relations">
<div class="header upcase">{{ localize 'MGT2.Actor.RelationsAndContacts' }}</div>
<div class="table-container">
<div class="table-row heading color-1">
<div class="row-item flex-grow-2">{{ localize 'MGT2.Items.Relations' }}</div>
<div class="row-item row-item-center">{{ localize 'MGT2.Items.Relation' }}</div>
<div class="row-item row-item-center">{{ localize 'MGT2.Items.Attitude' }}</div>
<div class="row-item row-item-center">{{ localize 'MGT2.Items.Occupation' }}</div>
<div class="row-item row-item-center">{{ localize 'MGT2.Items.Location' }}</div>
<div class="row-item item-controls"><a class="item-create" data-type-item="contact" data-create-name="{{ localize 'MGT2.Actor.NewContact' }}" title="{{ localize 'MGT2.Actor.AddContact' }}"><i class="fas fa-plus"></i></a></div>
</div>
{{#each contacts as |contact id|}}
<div class="table-row" data-item-id="{{contact._id}}" role="rowgroup">
<div class="row-item row-item-left flex-grow-2">{{contact.name}}</div>
<div class="row-item row-item-center">{{localize (concat "Contact.Relation." contact.system.relation)}}</div>
<div class="row-item row-item-center">{{localize (concat "Contact.Attitude." contact.system.attitude)}}</div>
<div class="row-item row-item-center">{{contact.system.occupation}}</div>
<div class="row-item row-item-center">{{contact.system.location}}</div>
<div class="row-item item-controls">
<a class="item-control item-edit" title="{{ localize 'MGT2.Actor.EditContact' }}"><i class="fas fa-edit"></i></a>
<a class="item-control item-delete" title="{{ localize 'MGT2.Actor.DeleteContact' }}"><i class="fas fa-trash"></i></a>
</div>
</div>
{{/each}}
</div>
</div>
<div class="tab w100 h100" data-group="sidebar" data-tab="notes">
<div class="header upcase">{{ localize 'MGT2.Actor.Notes' }}</div>
{{editor system.notes target="system.notes" button=true editable=true}}
</div>
<div class="tab w100 h100" data-group="sidebar" data-tab="biography">
<div class="header upcase">{{ localize 'MGT2.Actor.Biography' }}</div>
{{editor system.biography target="system.biography" button=true editable=true}}
</div>
{{#if showTrash}}
<!-- <div class="tab" data-group="inventory" data-tab="trash">
<p>À FAIRE</p>
</div> -->
{{/if}}
</div>
<section class="actor-footer">
<div></div>
<div><a name="config" title="Config" style="margin-right: 0.5rem;"><i class="fa-solid fa-gear"></i></a></div>
</section>
</form>

View File

@@ -0,0 +1,16 @@
<form class="{{cssClass}} flexcol" autocomplete="off" style="align-content: flex-start;align-items: baseline;overflow: hidden;height: 100%;">
<section class="vehicule-header">
<div class="vehicule-header-img">
<img class="profile" src="{{img}}" data-edit="img" title="{{name}}" height="130" width="100" />
</div>
<div class="vehicule-header-body">
<input class="field-name" name="name" type="text" value="{{name}}" />
<ul class="character-summary">
<li class="w5-10"><input name="system.personal.title" type="text" value="{{system.personal.title}}" placeholder="{{ localize 'MGT2.Actor.PlaceholderTITLE' }}" /></li>
<li class="w2-10"><input name="system.personal.species" type="text" value="{{system.personal.species}}" placeholder="{{ localize 'MGT2.Actor.PlaceholderSPECIES' }}" /></li>
<li class="w1-10"><input name="system.personal.age" type="text" value="{{system.personal.age}}" placeholder="{{ localize 'MGT2.Actor.PlaceholderAGE' }}" /></li>
<li class="w2-10"><input name="system.personal.wup" type="text" value="{{system.personal.wup}}" placeholder="{{ localize 'MGT2.Actor.PlaceholderUCP' }}" /></li>
</ul>
</div>
</section>
</form>

View File

35
templates/chat/roll.html Normal file
View File

@@ -0,0 +1,35 @@
<div class="roll-info">
<div class="roll-object-name">{{rollObjectName}}</div>
{{#if rollTypeName}}
<div class="roll-type-name">{{rollTypeName}}</div>
{{/if}}
{{#if rollModifiers}}
{{#each rollModifiers as |rollModifier i| }}
<div>{{rollModifier}}</div>
{{/each}}
{{/if}}
</div>
<div class="dice-roll">
{{#if flavor}}
<div class="dice-flavor">{{flavor}}</div>
{{/if}}
<div class="dice-result">
<div class="dice-formula">{{formula}}</div>
{{{tooltip}}}
<h4 class="dice-total">{{total}}</h4>
</div>
</div>
{{#if showButtons}}
<div class="mgt2-buttons">
{{#if hasDamage}}
<button data-action="damage" title="{{ localize 'MGT2.Chat.Roll.ApplyDamages' }}"><i class="fa-regular fa-heart-circle-minus"></i></button>
<!-- <button data-action="healing" data-multiplier="1" title="Apply Healing"><i class="fa-regular fa-heart-circle-plus"></i></button> -->
{{/if}}
{{#if showRollRequest}}
<button data-action="requestRoll" data-roll="characteristic" data-roll-characteristic="strength" title="Roll!"><i class="fa-solid fa-dice"></i></button>
{{/if}}
{{#if showRollDamage}}
<button data-action="rollDamage" title="Roll">{{ localize 'MGT2.Chat.Roll.Damages' }}</button>
{{/if}}
</div>
{{/if}}

View File

@@ -0,0 +1,74 @@
<form class="{{cssClass}} itemsheet" autocomplete="off">
<div class="itemsheet-header">
<label>{{localize 'MGT2.TYPES.Item.armor'}}</label>
</div>
<div class="itemsheet-panel">
<div class="itemsheet-maincol">
<img class="profile-img" src="{{item.img}}" data-edit="img" data-tooltip="{{item.name}}" />
{{> systems/mgt2/templates/items/parts/sheet-physical-item.html }}
</div>
<div class="w-100">
<input class="field field-item-name" name="name" type="text" value="{{item.name}}" />
<nav class="horizontal-tabs tabs mt-1" data-group="primary">
<a class="item tab-select" data-tab="tab1">{{ localize 'MGT2.Items.Description' }}</a>
<a class="item tab-select" data-tab="tab2">{{ localize 'MGT2.Items.Details' }}</a>
<a class="item tab-select" data-tab="tab3">{{ localize 'MGT2.Items.Configuration' }}</a>
</nav>
<div class="tab" data-group="primary" data-tab="tab1">
<div class="field-group mt-1">
<label>{{ localize 'MGT2.Items.Description' }}</label>
<textarea name="system.description" rows="6">{{system.description}}</textarea>
</div>
</div>
<div class="tab" data-group="primary" data-tab="tab2">
<div class="field-groups mt-1">
<div class="field-group w3-10">
<label class="mgt2-checkbox"><input type="checkbox" name="system.equipped" data-dtype="Boolean" {{checked system.equipped}} />{{ localize 'MGT2.Items.Equipped' }}</label>
</div>
<div class="field-group w3-10">
<label class="mgt2-checkbox"><input type="checkbox" name="system.powered" data-dtype="Boolean" {{checked system.powered}} />{{ localize 'MGT2.Items.Powered' }}</label>
</div>
{{#if hadContainer}}
<div class="field-group w3-10">
<label>{{ localize 'MGT2.Items.Storage' }}</label>
<select name="system.container.id">
{{selectOptions containers selected=system.container.id nameAttr="_id" labelAttr="name"}}
</select>
</div>
{{/if}}
</div>
<div class="field-groups mt-1">
<div class="field-group">
<label>{{ localize 'MGT2.Items.Radiations' }}</label>
<input type="number" name="system.radiations" value="{{system.radiations}}" data-dtype="Number" />
</div>
<div class="field-group">
<label>{{ localize 'MGT2.Items.Protection' }}</label>
<input type="text" name="system.protection" value="{{system.protection}}" data-dtype="String" />
</div>
</div>
<div class="table-container mt-1">
<div class="table-row heading color-2">
<div class="row-item row-item-left row-item-30 flex-fix upcase">{{ localize 'MGT2.Items.Options' }}</div>
<div class="row-item row-item-left">Description</div>
<div class="row-item row-item-right row-item-5 flex-fix"><a class="options-create" data-property="options"><i class="fas fa-plus"></i></a></div>
</div>
{{#each system.options as |option i| }}
<div class="table-row dropitem options-part" data-options-part="{{i}}" data-property="options" role="rowgroup">
<div class="row-item row-item-left row-item-30 flex-fix"><input type="text" name="system.options.{{i}}.name" value="{{option.name}}" /></div>
<div class="row-item row-item-left">
<textarea name="system.options.{{i}}.description" rows="3">{{option.description}}</textarea>
</div>
<div class="row-item row-item-right row-item-5 flex-fix item-controls">
<a class="item-control options-delete" title="Delete Option"><i class="fas fa-trash"></i></a>
</div>
</div>
{{/each}}
</div>
</div>
<div class="tab" data-group="primary" data-tab="tab3">
{{> systems/mgt2/templates/items/parts/sheet-configuration.html }}
</div>
</div>
</div>
</form>

View File

@@ -0,0 +1,50 @@
<form class="{{cssClass}} itemsheet" autocomplete="off">
<div class="itemsheet-header"><label class="upcase">{{ localize 'MGT2.Items.Career' }}</label></div>
<div class="itemsheet-panel">
<div class="itemsheet-maincol">
<img class="profile-img" src="{{item.img}}" data-edit="img" data-tooltip="{{item.name}}" />
<div class="field-group mt-1">
<label class="upcase">{{ localize 'MGT2.Items.Terms' }}</label>
<input type="number" name="system.terms" value="{{system.terms}}" data-dtype="Number" />
</div>
<div class="field-group mt-1">
<label class="upcase">{{ localize 'MGT2.Items.Rank' }}</label>
<input type="number" name="system.rank" value="{{system.rank}}" data-dtype="Number" />
</div>
</div>
<div class="w-100">
<input class="field field-item-name" name="name" type="text" value="{{item.name}}" data-dtype="String" />
<div class="field-group mt-1">
<label class="upcase">{{ localize 'MGT2.Items.Assignment' }}</label>
<input type="text" name="system.assignment" value="{{system.assignment}}" data-dtype="String" />
</div>
<nav class="horizontal-tabs tabs mt-1" data-group="primary">
<a class="item tab-select" data-tab="tab1">{{ localize 'MGT2.Items.Description' }}</a>
<a class="item tab-select" data-tab="events">{{ localize 'MGT2.Items.EventsMishaps' }}</a>
</nav>
<div class="tab" data-group="primary" data-tab="tab1">
<textarea name="system.description" rows="6">{{system.description}}</textarea>
</div>
<div class="tab" data-group="primary" data-tab="events">
<div class="table-container color-2 mt-1">
<div class="table-row heading color-2">
<div class="row-item row-item-left upcase">{{ localize 'MGT2.Items.Age' }}</div>
<div class="row-item row-item-left upcase">{{ localize 'MGT2.Items.Details' }}</div>
<div class="row-item item-controls"><a class="event-create"><i class="fas fa-plus"></i></a></div>
</div>
{{#each system.events as |event i| }}
<div class="table-row dropitem events-part" data-events-part="{{i}}" role="rowgroup">
<div class="row-item row-item-left"><input type="number" name="system.events.{{i}}.age" value="{{event.age}}" data-dtype="Number" /></div>
<div class="row-item row-item-left">
<textarea name="system.events.{{i}}.description" rows="3">{{event.description}}</textarea>
</div>
<div class="row-item item-controls">
<a class="item-control event-delete" title="Delete Event"><i class="fas fa-trash"></i></a>
</div>
</div>
{{/each}}
</div>
</div>
</div>
</div>
</form>

View File

@@ -0,0 +1,65 @@
<form class="{{cssClass}} itemsheet" autocomplete="off">
<div class="itemsheet-header">
<label>{{localize 'MGT2.EquipmentSubType.computer'}}</label>
</div>
<div class="itemsheet-panel">
<div class="itemsheet-maincol">
<img class="profile-img" src="{{item.img}}" data-edit="img" data-tooltip="{{item.name}}" />
{{> systems/mgt2/templates/items/parts/sheet-physical-item.html }}
</div>
<div class="w-100">
<input class="field field-item-name" name="name" type="text" value="{{item.name}}" />
<nav class="horizontal-tabs tabs mt-1" data-group="primary">
<a class="item tab-select" data-tab="tab1">{{ localize 'MGT2.Items.Description' }}</a>
<a class="item tab-select" data-tab="tab2">{{ localize 'MGT2.Items.Details' }}</a>
<a class="item tab-select" data-tab="tab3">{{ localize 'MGT2.Items.Configuration' }}</a>
</nav>
<div class="tab" data-group="primary" data-tab="tab1">
<div class="field-group mt-1">
<label>{{ localize 'MGT2.Items.Description' }}</label>
<textarea name="system.description" rows="6">{{system.description}}</textarea>
</div>
</div>
<div class="tab" data-group="primary" data-tab="tab2">
<div class="field-groups mt-1">
<div class="field-group">
<label class="mgt2-checkbox"><input type="checkbox" name="system.equipped" data-dtype="Boolean" {{checked system.equipped}} />{{ localize 'MGT2.Items.Equipped' }}</label>
</div>
{{#if hadContainer}}
<div class="field-group">
<label>{{ localize 'MGT2.Items.Storage' }}</label>
<select name="system.container.id">
{{selectOptions containers selected=system.container.id nameAttr="_id" labelAttr="name"}}
</select>
</div>
{{/if}}
</div>
<div class="field-group mt-1">
<label>{{ localize 'MGT2.Items.Processing' }}</label>
<input type="number" name="system.processing" value="{{system.processing}}" data-dtype="Number" />
</div>
<div class="table-container mt-1">
<div class="table-row heading color-2">
<div class="row-item row-item-left flex-grow-2 upcase">{{ localize 'MGT2.Items.Options' }}</div>
<div class="row-item row-item-left flex-grow-3">{{ localize 'MGT2.Items.Description' }}</div>
<div class="row-item row-item-right"><a class="options-create" data-property="options"><i class="fas fa-plus"></i></a></div>
</div>
{{#each system.options as |option i| }}
<div class="table-row dropitem options-part" data-options-part="{{i}}" data-property="options" role="rowgroup">
<div class="row-item row-item-left flex-grow-2"><input type="text" name="system.options.{{i}}.name" value="{{option.name}}" /></div>
<div class="row-item row-item-left flex-grow-3">
<textarea name="system.options.{{i}}.description" rows="3">{{option.description}}</textarea>
</div>
<div class="row-item row-item-right item-controls">
<a class="item-control options-delete" title="Delete Option"><i class="fas fa-trash"></i></a>
</div>
</div>
{{/each}}
</div>
</div>
<div class="tab" data-group="primary" data-tab="tab3">
{{> systems/mgt2/templates/items/parts/sheet-configuration.html }}
</div>
</div>
</div>
</form>

View File

@@ -0,0 +1,84 @@
<form class="{{cssClass}} itemsheet" autocomplete="off">
<div class="itemsheet-header"><label class="upcase">{{ localize 'MGT2.Items.Contact' }}</label></div>
<div class="itemsheet-panel">
<div class="itemsheet-maincol">
<img class="profile-img" src="{{item.img}}" data-edit="img" data-tooltip="{{item.name}}" />
<div class="field-group mt-1">
<label>{{ localize 'MGT2.Items.Relation' }}</label>
<select name="system.relation">
{{selectOptions config.ContactRelations selected = system.relation localize = true}}
</select>
</div>
<div class="field-group mt-1">
<label>{{ localize 'MGT2.Items.Attitude' }}</label>
<select name="system.attitude">
{{selectOptions config.Attitudes selected = system.attitude localize = true}}
</select>
</div>
<div class="field-group mt-1">
<label>{{ localize 'MGT2.Items.Status' }}</label>
<select name="system.status">
{{selectOptions config.ContactStatus selected = system.status localize = true}}
</select>
</div>
</div>
<div class="w-100 h100 flexcol">
<input class="field field-item-name" name="name" type="text" value="{{item.name}}" style="flex-grow: 0;" />
<div class="field-groups mt-1" style="flex-grow: 0;">
<div class="field-group">
<label>{{ localize 'MGT2.Species' }}</label>
<input type="text" name="system.species" value="{{system.species}}" data-dtype="String" />
</div>
{{#if settings.useGender}}
<div class="field-group" style="margin:0 1rem">
<label>{{ localize 'MGT2.Gender' }}</label>
<input type="text" name="system.gender" value="{{system.gender}}" data-dtype="String" />
</div>
{{/if}}
{{#if settings.usePronouns}}
<div class="field-group">
<label>{{ localize 'MGT2.Pronouns' }}</label>
<input type="text" name="system.pronouns" value="{{system.pronouns}}" data-dtype="String" />
</div>
{{/if}}
</div>
<nav class="horizontal-tabs tabs mt-1" data-group="primary" style="flex-grow: 0;">
<a class="item tab-select" data-tab="tab1">{{ localize 'MGT2.Items.Informations' }}</a>
<a class="item tab-select" data-tab="description">{{ localize 'MGT2.Items.Description' }}</a>
<a class="item tab-select" data-tab="notes">{{ localize 'MGT2.Items.Notes' }}</a>
</nav>
<div class="tab" data-group="primary" data-tab="tab1">
<div class="field-group mt-1">
<label>{{ localize 'MGT2.Items.Title' }}</label>
<input type="text" name="system.title" value="{{system.title}}" data-dtype="String" />
</div>
<div class="field-group mt-1">
<label>{{ localize 'MGT2.Items.Nickname' }}</label>
<input type="text" name="system.nickname" value="{{system.nickname}}" data-dtype="String" />
</div>
<div class="field-groups mt-1">
<div class="field-group flex-1">
<label>{{ localize 'MGT2.Items.Homeworld' }}</label>
<input type="text" name="system.homeworld" value="{{system.homeworld}}" data-dtype="String" />
</div>
<div class="field-group flex-1">
<label>{{ localize 'MGT2.Items.Location' }}</label>
<input type="text" name="system.location" value="{{system.location}}" data-dtype="String" />
</div>
</div>
<div class="field-group mt-1">
<label>{{ localize 'MGT2.Items.Occupation' }}</label>
<input type="text" name="system.occupation" value="{{system.occupation}}" data-dtype="String" />
</div>
</div>
<div class="tab w100 h100" data-group="primary" data-tab="description">
{{editor system.description.value target="system.description" button=true editable=true}}
</div>
<div class="tab w100 h100" data-group="primary" data-tab="notes">
{{editor system.notes target="system.notes" button=true editable=true}}
</div>
</div>
</div>
</form>

View File

@@ -0,0 +1,55 @@
<form class="{{cssClass}} itemsheet" autocomplete="off">
<div class="itemsheet-header"><label class="upcase">{{ localize 'MGT2.Items.Container' }}</label></div>
<div class="itemsheet-panel">
<div class="itemsheet-maincol">
<img class="profile-img" src="{{item.img}}" data-edit="img" data-tooltip="{{item.name}}" />
{{#if system.locked}}
<div class="field-group mt-05">
<i class="fa-solid fa-lock"></i><label class="upcase">{{ localize 'MGT2.Items.Locked' }}</label>
</div>
{{/if}}
<div class="field-group mt-05">
<label>{{ localize 'MGT2.Items.Weight' }} ({{unitlabels.weight}})</label>
<input type="number" value="{{weight}}" readonly />
</div>
</div>
<div style="flex: 1">
<input class="field field-item-name" name="name" type="text" value="{{item.name}}" data-dtype="String" />
<nav class="horizontal-tabs tabs mt-1" data-group="primary">
<a class="item tab-select" data-tab="tab1">{{ localize 'MGT2.Items.Description' }}</a>
<a class="item tab-select" data-tab="tab2">{{ localize 'MGT2.Items.Details' }}</a>
<a class="item tab-select" data-tab="tab3">{{ localize 'MGT2.Items.Configuration' }}</a>
</nav>
<div class="tab" data-group="primary" data-tab="tab1">
<div class="field-group mt-1">
<label>{{ localize 'MGT2.Items.Description' }}</label>
<textarea name="system.description" rows="6">{{system.description}}</textarea>
</div>
</div>
<div class="tab" data-group="primary" data-tab="tab2">
<div class="field-groups mt-05">
<div class="field-group flex-1">
<label class="mgt2-checkbox"><input type="checkbox" name="system.onHand" data-dtype="Boolean" {{checked system.onHand}} />{{ localize 'MGT2.Items.OnHand' }}</label>
</div>
{{#if isGM}}
<div class="field-group flex-1">
<label class="mgt2-checkbox"><input type="checkbox" name="system.locked" data-dtype="Boolean" {{checked system.locked}} />{{ localize 'MGT2.Items.Locked' }}</label>
</div>
{{/if}}
</div>
<div class="field-group flex-1">
<label>{{ localize 'MGT2.Items.Location' }}</label>
<input type="text" name="system.location" value="{{system.location}}" data-dtype="String" />
</div>
</div>
<div class="tab" data-group="primary" data-tab="tab3">
{{#if isGM}}
<div class="field-group mt-05">
<label>{{ localize 'MGT2.Items.LockedDescription' }}</label>
<textarea name="system.lockedDescription" rows="6">{{system.lockedDescription}}</textarea>
</div>
{{/if}}
</div>
</div>
</div>
</form>

View File

@@ -0,0 +1,45 @@
<form class="{{cssClass}} itemsheet" autocomplete="off">
<div class="itemsheet-header">
{{#if (eq system.subType "disease")}}
<label>{{localize 'MGT2.DiseaseSubType.disease'}}</label>
{{else if (eq system.subType "poison")}}
<label>{{localize 'MGT2.DiseaseSubType.poison'}}</label>
{{else}}
<label>{{localize 'MGT2.DiseaseSubType.wound'}}</label>
{{/if}}
</div>
<div class="itemsheet-panel">
<div class="itemsheet-maincol">
<img class="profile-img" src="{{item.img}}" data-edit="img" data-tooltip="{{item.name}}" />
<div class="field-group mt-1">
<label>{{ localize 'MGT2.Items.Type' }}</label>
<select name="system.subType">
{{selectOptions config.DiseaseSubType selected = system.subType localize = true}}
</select>
</div>
</div>
<div class="w-100">
<input class="field field-item-name" name="name" type="text" value="{{item.name}}" />
<div class="field-groups mt-1">
<div class="field-group w3-10">
<label>{{ localize 'MGT2.Items.Difficulty' }}</label>
<select name="system.difficulty">
{{selectOptions config.Difficulty selected = system.difficulty localize = true}}
</select>
</div>
<div class="field-group w3-10" style="margin: 0 1rem;">
<label>{{ localize 'MGT2.Items.Damage' }}</label>
<input type="text" name="system.damage" value="{{system.damage}}" data-dtype="String" />
</div>
<div class="field-group w3-10">
<label>{{ localize 'MGT2.Items.Interval' }}</label>
<input type="text" name="system.interval" value="{{system.interval}}" data-dtype="String" />
</div>
</div>
<div class="field-group mt-1 w-100">
<label>{{ localize 'MGT2.Items.Description' }}</label>
<textarea name="system.description" rows="6">{{system.description}}</textarea>
</div>
</div>
</div>
</form>

View File

@@ -0,0 +1,57 @@
<form class="{{cssClass}} itemsheet" autocomplete="off">
<div class="itemsheet-header">
{{#if (eq system.subType "augment")}}
<label>{{localize 'MGT2.EquipmentSubType.augment'}}</label>
{{else if (eq system.subType "trinket")}}
<label>{{localize 'MGT2.EquipmentSubType.trinket'}}</label>
{{else if (eq system.subType "clothing")}}
<label>{{localize 'MGT2.EquipmentSubType.clothing'}}</label>
{{else}}
<label>{{localize 'MGT2.EquipmentSubType.equipment'}}</label>
{{/if}}
</div>
<div class="itemsheet-panel">
<div class="itemsheet-maincol">
<img class="profile-img" src="{{item.img}}" data-edit="img" data-tooltip="{{item.name}}" />
<div class="field-group mt-1">
<label>{{ localize 'MGT2.Items.Type' }}</label>
<select name="system.subType">
{{selectOptions config.EquipmentSubType selected = system.subType localize = true}}
</select>
</div>
{{> systems/mgt2/templates/items/parts/sheet-physical-item.html }}
</div>
<div class="w-100">
<input class="field field-item-name" name="name" type="text" value="{{item.name}}" />
<nav class="horizontal-tabs tabs mt-1" data-group="primary">
<a class="item tab-select" data-tab="tab1">{{ localize 'MGT2.Items.Description' }}</a>
<a class="item tab-select" data-tab="tab2">{{ localize 'MGT2.Items.Details' }}</a>
<a class="item tab-select" data-tab="tab3">{{ localize 'MGT2.Items.Configuration' }}</a>
</nav>
<div class="tab" data-group="primary" data-tab="tab1">
<div class="field-group mt-1">
<label>{{ localize 'MGT2.Items.Description' }}</label>
<textarea name="system.description" rows="6">{{system.description}}</textarea>
</div>
</div>
<div class="tab" data-group="primary" data-tab="tab2">
<div class="field-groups mt-1">
<div class="field-group">
<label class="mgt2-checkbox"><input type="checkbox" name="system.equipped" data-dtype="Boolean" {{checked system.equipped}} />Equipped</label>
</div>
{{#if hadContainer}}
<div class="field-group">
<label>{{ localize 'MGT2.Items.Storage' }}</label>
<select name="system.container.id">
{{selectOptions containers selected=system.container.id nameAttr="_id" labelAttr="name"}}
</select>
</div>
{{/if}}
</div>
</div>
<div class="tab" data-group="primary" data-tab="tab3">
{{> systems/mgt2/templates/items/parts/sheet-configuration.html }}
</div>
</div>
</div>
</form>

View File

@@ -0,0 +1,60 @@
<form class="{{cssClass}} itemsheet" autocomplete="off">
<div class="itemsheet-header">
{{#if (eq system.subType "loot")}}
<label>{{localize 'MGT2.ItemSubType.loot'}}</label>
{{else}}
<label>{{localize 'MGT2.ItemSubType.software'}}</label>
{{/if}}
</div>
<div class="itemsheet-panel">
<div class="itemsheet-maincol">
<img class="profile-img" src="{{item.img}}" data-edit="img" data-tooltip="{{item.name}}" />
<div class="field-group mt-1">
<label>{{ localize 'MGT2.Items.Type' }}</label>
<select name="system.subType">
{{selectOptions config.ItemSubType selected = system.subType localize = true}}
</select>
</div>
{{> systems/mgt2/templates/items/parts/sheet-physical-item.html }}
</div>
<div class="flex-1">
<input class="field field-item-name" name="name" type="text" value="{{item.name}}" />
<nav class="horizontal-tabs tabs mt-1" data-group="primary">
<a class="item tab-select" data-tab="tab1">{{ localize 'MGT2.Items.Description' }}</a>
<a class="item tab-select" data-tab="tab2">{{ localize 'MGT2.Items.Details' }}</a>
</nav>
<div class="tab" data-group="primary" data-tab="tab1">
<div class="field-group mt-1">
<label>{{ localize 'MGT2.Items.Description' }}</label>
<textarea name="system.description" rows="6">{{system.description}}</textarea>
</div>
</div>
<div class="tab" data-group="primary" data-tab="tab2">
{{#if hadContainer}}
<div class="field-groups mt-1">
{{#if (eq system.subType "software")}}
<div class="field-group">
<label>{{ localize 'MGT2.Items.Computer' }}</label>
<select name="system.software.computerId">
{{selectOptions computers selected=system.software.computerId nameAttr="_id" labelAttr="name"}}
</select>
</div>
{{/if}}
<div class="field-group">
<label>{{ localize 'MGT2.Items.Storage' }}</label>
<select name="system.container.id">
{{selectOptions containers selected=system.container.id nameAttr="_id" labelAttr="name"}}
</select>
</div>
</div>
{{/if}}
{{#if (eq system.subType "software")}}
<div class="field-group mt-1">
<label>{{ localize 'MGT2.Items.Bandwidth' }}</label>
<input type="number" name="system.software.bandwidth" value="{{system.software.bandwidth}}" data-dtype="Number" />
</div>
{{/if}}
</div>
</div>
</div>
</form>

View File

@@ -0,0 +1,23 @@
<div class="field-groups mt-1">
<div class="field-group w3-10">
<label>{{ localize 'MGT2.Items.Difficulty' }}</label>
<select name="system.roll.difficulty">
<option></option>
{{selectOptions config.Difficulty selected = system.roll.difficulty localize = true}}
</select>
</div>
<div class="field-group w3-10">
<label>{{ localize 'MGT2.Items.Skill' }}</label>
<select name="system.roll.skill">
<option></option>
{{selectOptions skills selected=system.roll.skill nameAttr="_id" labelAttr="name"}}
</select>
</div>
<div class="field-group w3-10">
<label>{{ localize 'MGT2.Items.Characteristic' }}</label>
<select name="system.roll.characteristic">
<option></option>
{{selectOptions config.Characteristics selected=system.roll.characteristic localize = true}}
</select>
</div>
</div>

View File

@@ -0,0 +1,21 @@
<div class="field-group mt-05">
<label>{{ localize 'MGT2.Items.Quantity' }}</label>
<input type="number" name="system.quantity" value="{{system.quantity}}" data-dtype="Number" integer="true" positive="true" />
</div>
<div class="field-group mt-05">
<label>{{ localize 'MGT2.Items.Weight' }} ({{unitlabels.weight}})</label>
<input type="number" name="weight" value="{{weight}}" data-dtype="Number" step="0.5" />
</div>
<div class="field-group mt-05">
<label class="mgt2-checkbox"><input type="checkbox" name="system.weightless" data-dtype="Boolean" {{checked system.weightless}} />{{ localize 'MGT2.Items.Weightless' }}</label>
</div>
<div class="field-group mt-05">
<label>{{ localize 'MGT2.Items.Cost' }}</label>
<input type="number" name="system.cost" value="{{system.cost}}" data-dtype="Number" step="1" />
</div>
<div class="field-group mt-05">
<label>{{ localize 'MGT2.Items.TL' }}</label>
<select name="system.tl">
{{selectOptions config.TL selected = system.tl localize = true}}
</select>
</div>

View File

@@ -0,0 +1,15 @@
<form class="{{cssClass}} itemsheet" autocomplete="off">
<div class="itemsheet-header"><label>{{ localize 'MGT2.Specie' }}</label></div>
<div class="itemsheet-panel">
<div class="itemsheet-maincol">
<img class="profile-img" src="{{item.img}}" data-edit="img" data-tooltip="{{item.name}}" />
</div>
<div class="w-100">
<input class="field item-name" name="name" type="text" value="{{item.name}}" />
<div class="field-group mt-1">
<label>{{ localize 'MGT2.Items.Description' }}</label>
<textarea name="system.description" rows="6">{{system.description}}</textarea>
</div>
</div>
</div>
</form>

View File

@@ -0,0 +1,68 @@
<form class="{{cssClass}} flexrow itemsheet" autocomplete="off">
<div class="itemsheet-header">
{{#if (eq system.subType "skill")}}
<label>{{localize 'MGT2.TalentSubType.skill'}}</label>
{{else if (eq system.subType "psionic")}}
<label>{{localize 'MGT2.TalentSubType.psionic'}}</label>
{{/if}}
</div>
<div class="itemsheet-panel">
<div class="itemsheet-maincol">
<img class="profile-img" src="{{item.img}}" data-edit="img" data-tooltip="{{item.name}}" />
<div class="field-group mt-1">
<label>{{ localize 'MGT2.Items.Type' }}</label>
<select name="system.subType">
{{selectOptions config.TalentSubType selected = system.subType localize = true}}
</select>
</div>
</div>
<div class="w-100">
<input class="field field-item-name" name="name" type="text" value="{{item.name}}" />
{{#if (eq system.subType "skill")}}
<div class="field-groups mt-1">
<div class="field-group">
<label>{{ localize 'MGT2.Items.Speciality' }}</label>
<input type="text" name="system.skill.speciality" value="{{system.skill.speciality}}" data-dtype="String" />
</div>
<div class="field-group">
<label>{{ localize 'MGT2.Items.Level' }}</label>
<input type="text" name="system.level" value="{{system.level}}" data-dtype="Number" />
</div>
</div>
{{else if (eq system.subType "psionic")}}
<div class="field-groups mt-1">
<div class="field-group">
<label>{{ localize 'MGT2.Items.Level' }}</label>
<input type="text" name="system.level" value="{{system.level}}" data-dtype="Number" />
</div>
<div class="field-group">
<label>{{ localize 'MGT2.Items.Reach' }}</label>
<select name="system.psionic.reach">
<option></option>
{{selectOptions config.PsionicReach selected = system.psionic.reach localize = true}}
</select>
</div>
<div class="field-group">
<label>{{ localize 'MGT2.Items.PSICost' }}</label>
<input type="number" name="system.psionic.cost" value="{{system.psionic.cost}}" data-dtype="Number" />
</div>
</div>
{{/if}}
<nav class="horizontal-tabs tabs mt-1" data-group="primary">
<a class="item tab-select" data-tab="tab1">{{ localize 'MGT2.Items.Description' }}</a>
<a class="item tab-select" data-tab="config">{{ localize 'MGT2.Items.Configuration' }}</a>
</nav>
<div class="tab" data-group="primary" data-tab="tab1">
<textarea name="system.description" rows="6">{{system.description}}</textarea>
</div>
<div class="tab" data-group="primary" data-tab="config">
{{#if (eq system.subType "skill")}}
<div class="field-group mt-05">
<label class="mgt2-checkbox"><input type="checkbox" name="system.skill.reduceEncumbrance" data-dtype="Boolean" {{checked system.skill.reduceEncumbrance}} />{{ localize 'MGT2.Items.ReduceEncumbrance' }}</label>
</div>
{{/if}}
{{> systems/mgt2/templates/items/parts/sheet-configuration.html }}
</div>
</div>
</div>
</form>

View File

@@ -0,0 +1,89 @@
<form class="{{cssClass}} itemsheet" autocomplete="off">
<div class="itemsheet-header"><label class="upcase">{{ localize 'MGT2.Items.Weapon' }}</label></div>
<div class="itemsheet-panel">
<div class="itemsheet-maincol">
<img class="profile-img" src="{{item.img}}" data-edit="img" data-tooltip="{{item.name}}" />
{{> systems/mgt2/templates/items/parts/sheet-physical-item.html }}
</div>
<div class="w-100">
<input class="field field-item-name" name="name" type="text" value="{{item.name}}" />
<nav class="horizontal-tabs tabs mt-1" data-group="primary">
<a class="item tab-select" data-tab="tab1">{{ localize 'MGT2.Items.Description' }}</a>
<a class="item tab-select" data-tab="tab2">{{ localize 'MGT2.Items.Details' }}</a>
<a class="item tab-select" data-tab="tab3">{{ localize 'MGT2.Items.Configuration' }}</a>
</nav>
<div class="tab" data-group="primary" data-tab="tab1">
<div class="field-group mt-1">
<label>{{ localize 'MGT2.Items.Description' }}</label>
<textarea name="system.description" rows="6">{{system.description}}</textarea>
</div>
</div>
<div class="tab" data-group="primary" data-tab="tab2">
<div class="field-groups mt-1">
<div class="field-group flex-1">
<label class="mgt2-checkbox"><input type="checkbox" name="system.equipped" data-dtype="Boolean" {{checked system.equipped}} />{{ localize 'MGT2.Items.Equipped' }}</label>
</div>
{{#if hadContainer}}
<div class="field-group">
<label>{{ localize 'MGT2.Items.Storage' }}</label>
<select name="system.container.id">
{{selectOptions containers selected=system.container.id nameAttr="_id" labelAttr="name"}}
</select>
</div>
{{/if}}
</div>
<div class="field-groups mt-1">
<div class="field-group w3-10">
<label class="mgt2-checkbox"><input type="checkbox" name="system.range.isMelee" data-dtype="Boolean" {{checked system.range.isMelee}} />{{ localize 'MGT2.Items.IsMelee' }}</label>
</div>
{{#unless system.range.isMelee}}
<div class="field-group w3-10">
<label>{{ localize 'MGT2.Items.Range' }}</label>
<div class="flexrow">
<input type="text" name="system.range.value" value="{{system.range.value}}" data-dtype="String" />
<select name="system.range.unit" class="flex-fix" style="width: 5rem;">
{{selectOptions config.MetricRange selected=system.range.unit localize = true}}
</select>
</div>
</div>
{{/unless}}
</div>
<div class="field-groups mt-1">
<div class="field-group w3-10">
<label>{{ localize 'MGT2.Items.Damage' }}</label>
<input type="text" name="system.damage" value="{{system.damage}}" data-dtype="String" />
</div>
<div class="field-group w3-10" style="margin: 0 1rem;">
<label>{{ localize 'MGT2.Items.Magazine' }}</label>
<input type="number" name="system.magazine" value="{{system.magazine}}" data-dtype="Number" />
</div>
<div class="field-group w3-10">
<label>{{ localize 'MGT2.Items.MagazineCost' }}</label>
<input type="number" name="system.magazineCost" value="{{system.magazineCost}}" data-dtype="Number" />
</div>
</div>
<div class="table-container">
<div class="table-row heading color-2">
<div class="row-item row-item-left upcase">{{ localize 'MGT2.Items.Trait' }}</div>
<div class="row-item row-item-left">{{ localize 'MGT2.Items.Description' }}</div>
<div class="row-item row-item-right"><a class="options-create" data-property="traits"><i class="fas fa-plus"></i></a></div>
</div>
{{#each system.traits as |trait i| }}
<div class="table-row dropitem options-part" data-options-part="{{i}}" data-property="traits" role="rowgroup">
<div class="row-item row-item-left"><input type="text" name="system.traits.{{i}}.name" value="{{trait.name}}" /></div>
<div class="row-item row-item-left">
<textarea name="system.traits.{{i}}.description" rows="3">{{trait.description}}</textarea>
</div>
<div class="row-item row-item-right item-controls">
<a class="item-control options-delete" title="Delete Trait"><i class="fas fa-trash"></i></a>
</div>
</div>
{{/each}}
</div>
</div>
<div class="tab" data-group="primary" data-tab="tab3">
{{> systems/mgt2/templates/items/parts/sheet-configuration.html }}
</div>
</div>
</div>
</form>

View File

@@ -0,0 +1,50 @@
<form class="{{cssClass}} flexcol" autocomplete="off" style="padding: 0 6px;">
<div class="form-group">
<label>{{ localize 'MGT2.RollPrompt.CharacteristicDM' }}</label>
<select name="characteristic">
{{selectOptions characteristics selected=characteristic nameAttr="_id" labelAttr="name"}}
</select>
</div>
<div class="form-group">
<label>{{ localize 'MGT2.RollPrompt.SkillDM' }}</label>
<select name="skill">
<option></option>
{{selectOptions skills selected=skill nameAttr="_id" labelAttr="name"}}
</select>
</div>
<div class="form-group">
<label>{{ localize 'MGT2.RollPrompt.Timeframes' }}</label>
<select name="timeframes">
{{selectOptions config.Timeframes selected = timeframe localize = true}}
</select>
</div>
<fieldset>
<legend>{{ localize 'MGT2.RollPrompt.States' }}</legend>
<div class="form-group">
<label class="mgt2-checkbox"><input type="checkbox" name="encumbrance" data-dtype="Boolean" {{checked encumbrance}} />{{ localize 'MGT2.RollPrompt.EncumbranceDM' }}</label>
<label class="mgt2-checkbox"><input type="checkbox" name="fatigue" data-dtype="Boolean" {{checked fatigue}} />{{ localize 'MGT2.RollPrompt.FatigueDM' }}</label>
</div>
</fieldset>
<div class="form-group">
<label>{{ localize 'MGT2.RollPrompt.CustomDM' }}</label>
<input type="text" name="customDM" maxlength="15" />
</div>
{{#if showDifficulty}}
<div class="form-group">
<label>{{ localize 'MGT2.RollPrompt.Difficulty' }}</label>
<select name="difficulty">
<option></option>
{{selectOptions config.Difficulty selected = difficulty localize = true}}
</select>
</div>
{{/if}}
<div class="form-group">
<label>{{ localize 'MGT2.RollPrompt.RollMode' }}</label>
<select name="rollMode">
<option value="publicroll" selected="">{{ localize 'MGT2.RollPrompt.PublicRoll' }}</option>
<option value="gmroll">{{ localize 'MGT2.RollPrompt.PrivateGMRoll' }}</option>
<option value="blindroll">{{ localize 'MGT2.RollPrompt.BlindGMRoll' }}</option>
<option value="selfroll">{{ localize 'MGT2.RollPrompt.SelfRoll' }}</option>
</select>
</div>
</form>