diff --git a/Adventures in Middle Earth/translations/fr.json b/Adventures in Middle Earth/translations/fr.json index f3457849b9..db7f2e4d83 100644 --- a/Adventures in Middle Earth/translations/fr.json +++ b/Adventures in Middle Earth/translations/fr.json @@ -3,11 +3,11 @@ "scholar": "Érudit", "slayer": "Tueur", "treasure-hunter": "Chasseur de Trésor", - "wanderer": "Wanderer", + "wanderer": "Vagabond", "warden": "Gardien", "warrior": "Guerrier", "culture-u": "CULTURE", - "shadow-weakness-u": "SHADOW WEAKNESS", + "shadow-weakness-u": "FAIBLESSE DE L’OMBRE", "distinctive-quality-u": "QUALITÉ DISTINCTIVE", "specialty-u": "SPÉCIALITÉ", "hope-u": "ESPOIR", @@ -21,7 +21,7 @@ "virtues-feats-traits-u": "VERTUS, CARACTÉRISTIQUES, & TRAITS", "lore-core": "Connaissance(Int)", "riddle-core": "Énigmes(Int)", - "shadow-lore-core": "Shadow Lore (Int)", + "shadow-lore-core": "Connaissance de l'ombre(Int)", "traditions-core": "Traditions (Int)", "lore-u": "CONNAISSANCE", "riddle-u": "ÉNIGMES", @@ -34,7 +34,7 @@ "prosperous": "Prospère", "rich": "Riche", "patrons-sanctuaries-u": "PATRONS & SANCTUAIRES", - "add-feats-traits-virts-u": "ADDITIONAL VIRTUES, FEATURES, & TRAITS", + "add-feats-traits-virts-u": "VERTUS, CARACTÉRISTIQUES, & TRAITS SUPPLÉMENTAIRES", "tale-of-years-u": "RÉCIT DES ANNÉES", "miserable-u": "MISÉRABLE", "madness-threshold-u": "SEUIL DE LA FOLIE", @@ -126,7 +126,7 @@ "leg-actions:-u": "ACTIONS LÉGENDAIRES :", "gen-opts-u": "OPTIONS GÉNÉRALES", "npc-u": "PNJ", - "roll-queries:-u": "ROLL QUERIES:", + "roll-queries:-u": "JETS DE DÉS:", "always-adv": "Toujours utiliser l'avantage", "adv-toggle": "Changement d'avantage", "query-adv": "Demander à chaque jet pour l'avantage", @@ -137,7 +137,7 @@ "always-whisp": "Toujours chuchoter les jets", "auto-dmg-roll:-u": "JETS DE DÉGÂTS AUTO :", "never-dmg": "Ne pas lancer les dégâts en auto", - "always-dmg": "Auto Roll Damage & Crit", + "always-dmg": "Tirer les dégâts & les critiques en auto", "ac": "Classe d'Armure", "hp": "Points de Vie", "speed": "Vitesse", @@ -209,9 +209,9 @@ "target:-u": "CIBLE:", "target:": "Cible:", "to-hit-place": "Une cible", - "on-hit:-u": "ON HIT:", + "on-hit:-u": "DÉGÂTS  :", "on-hit-place": "tranchant", - "on-hit2:-u": "ON HIT 2:", + "on-hit2:-u": "DÉGÂTS 2 :", "on-hit-2-place": "feu", "hit:": "Touché: ", "reactions": "Réactions", @@ -243,14 +243,14 @@ "duration:-u": "DURÉE:", "duration:": "Durée:", "difficulty-class-abv": "DD", - "output:-u": "OUTPUT:", - "spellcard-u": "SPELLCARD", - "spell-atk:-u": "SPELL ATTACK:", - "none": "None", + "output:-u": "AFFICHAGE :", + "spellcard-u": "FICHE DE SORT", + "spell-atk:-u": "ATTAQUE DE SORT :", + "none": "Aucun", "dmg:-u": "DÉGÂTS:", "dmg2:-u": "DÉGÂTS 2 :", "healing:-u": "SOINS :", - "add-ability-mod-u": "ADD ABILITY MOD TO DAMAGE OR HEALING", + "add-ability-mod-u": "AJOUTER BONUS DE CARACT. AUX DÉGÂTS/SOINS", "effect:-u": "EFFET :", "npc-atk-effect-place": "1/2 dégâts", "desc:-u": "DESCRIPTION :", @@ -356,15 +356,15 @@ "saving-throw:-u": "JET DE SAUVEGARDE:", "vs-dc:-u": "DD :", "spell-u": "SORT", - "flat-u": "FLAT", - "save": "Save", - "save-effect:-u": "SAVE EFFECT:", + "flat-u": "FIXE", + "save": "Sauvegarde", + "save-effect:-u": "EFFET DE SAUVEGARDE:", "save-effect-place": "1/2 dégâts", "ammunition:-u": "MUNITIONS :", - "ammunition-place": "Arrows", + "ammunition-place": "Flèches", "description:-u": "DESCRIPTION :", "description-place": "Jusqu'à 2 créatures à moins de 5 pieds", - "atk-spellcasting-u": "ATTACKS & SPELLCASTING", + "atk-spellcasting-u": "ATTAQUES & INCANTATIONS", "copper-piece-u": "PC", "silver-piece-u": "PA", "electrum-piece-u": "PE", @@ -373,8 +373,8 @@ "warning-armor-sets-u": "WARNING - MULTIPLE SETS OF ARMOR OR SHIELDS HAVE BEEN ADDED AND AC IS NOT CORRECTLY CALCULATED. UNEQUIP THE ARMOR PIECE FROM THE ITEM DETAILS.", "item-name-u": "NOM DE L'OBJET", "equipped-u": "ÉQUIPÉ", - "use-as-resource-u": "USE AS A RESOURCE", - "prop:-u": "PROP:", + "use-as-resource-u": "EST UN RESSOURCE", + "prop:-u": "PROP. :", "mods:-u": "MODS:", "total-weight-u": "POIDS TOTAL", "immobile-u": "IMMOBILE", @@ -399,27 +399,27 @@ "char-appearance-u": "APPARENCE DU PERSONNAGE", "char-backstory-u": "HISTOIRE DU PERSONNAGE", "allies-orgs-u": "ALLIÉS & ORGANISATIONS", - "add-feats-traits-u": "ADDITIONAL FEATURES & TRAITS", + "add-feats-traits-u": "CAPACITÉS & TRAITS SUPPLÉMENTAIRES", "treasure-u": "TRÉSOR", - "spell-save-dc-u": "SPELL SAVE DC", + "spell-save-dc-u": "DD DE SVG DU SORT", "cantrips-u": "SORTS MINEURS", "ritual-u": "RITUEL", "casting-time:-u": "DURÉE D'INCANT. :", - "casting-time:": "Casting Time:", - "at-higher-lvl-dmg:-u": "HIGHER LVL CAST DMG:", + "casting-time:": "Temps d'Incantation:", + "at-higher-lvl-dmg:-u": "DÉGÂTS À PLUS HAUT NIV. :", "half-dmg-place": "1/2 Dégâts", "hit-die:-u": "DÉ DE VIE :", - "initiative-mod:-u": "INITIATIVE MODIFIER:", - "glob-saving-mod:-u": "GLOBAL SAVING THROW MODIFIER:", - "glob-ac-mod:-u": "GLOBAL ARMOR CLASS MODIFIER:", + "initiative-mod:-u": "MODIFICATEUR D’INITIATIVE :", + "glob-saving-mod:-u": "MODIF. GLOBAL DES JETS DE SAUVEGARDE :", + "glob-ac-mod:-u": "MODIF. GLOBAL À LA CA :", "glob-atk-mod:-u": "MODIFICATEUR GLOBAL D'ATTAQUE MAGIQUE:", - "pass-perc-mod:-u": "PASSIVE PERCEPTION MODIFIER:", - "death-save-mod:-u": "DEATH SAVE MODIFIER:", - "magic-caster-lvl:-u": "MAGIC CASTER LEVEL:", + "pass-perc-mod:-u": "MODIF. PERCEPTION PASSIVE :", + "death-save-mod:-u": "MODIF. SAUVEGARDE CONTRE LA MORT :", + "magic-caster-lvl:-u": "NIV. DE LANCEUR DE SORTS :", "halfling-luck-u": "CHANCE DU HALFELIN", - "arcane-fighter-u": "ARCANE FIGHTER", - "arcane-rogue-u": "ARCANE ROGUE", - "class-options-u": "CLASS OPTIONS ()", + "arcane-fighter-u": "GUERRIER LANCEUR DE SORTS", + "arcane-rogue-u": "ROUBLARD LANCEUR DE SORTS", + "class-options-u": "OPTIONS DE CLASSE ()", "2nd-class:-u": "2e CLASSE :", "lvl:-u": "NIVEAU :", "3rd-class:-u": "3e CLASSE :", @@ -427,21 +427,21 @@ "mutliclass-opts-u": "OPTIONS DE MULTICLASSAGE", "use-cust-class-u": "UTILISER UNE CLASSE PERSONNALISÉE", "class-name:-u": "NOM DE CLASSE:", - "spellcasting-ability:-u": "SPELLCASTING ABILITY:", + "spellcasting-ability:-u": "CAPACITÉ A LANCER DES SORTS:", "spell-slots:-u": "EMPLACEMENTS DE SORTS :", - "spell-full-u": "FULL (Cleric, Druid, Wizard)", - "spell-half-u": "HALF (Paladin, Ranger)", - "spell-third-u": "THIRD (Arcane Fighter/Rogue)", - "cust-class-opts": "CUSTOM CLASS OPTIONS", + "spell-full-u": "COMPLETS (clerc, druid, magicien)", + "spell-half-u": "DEMIS (paladin, rôdeur)", + "spell-third-u": "TIERS (guerrier/roublard lanceur de sort)", + "cust-class-opts": "OPTIONS DE CLASSE PERSONNALISÉE", "normal": "Normal", "expirtise": "Expertise", - "skill-opts-u": "SKILL OPTIONS", + "skill-opts-u": "OPTIONS DE COMPÉTENCE", "version": "v", - "always-roll-adv": "Always Roll Advantage", - "toggle-roll-adv": "Advantage Toggle", - "query-roll-adv": "Query Advantage", - "never-roll-adv": "Never Roll Advantage", - "never-whisper-roll": "Never Whisper Rolls", + "always-roll-adv": "Toujours utiliser l'avantage", + "toggle-roll-adv": "Changement d'avantage", + "query-roll-adv": "Demander à chaque jet pour l'avantage", + "never-roll-adv": "Ne jamais utiliser l'avantage", + "never-whisper-roll": "Ne jamais chuchoter les jets", "query-whisper-roll": "Demander à chaque jet", "always-whisper-roll": "Toujours chuchoter les jets", "never-roll-dmg": "Ne pas lancer les dégâts en auto", @@ -464,7 +464,7 @@ "portions-sheet-utilize": "Certaines parties de cette feuille utilisent du contenu provenant du System Reference Document 5.0 sous licence OGL. Voir la licence OGL et l'avis de droit d’auteur (en anglais). https://wiki.roll20.net/SRD_5.0_OGL_License", "api-required-title": "Essayez maintenant avec l'installation d'API en un clic disponible avec votre abonnement Pro.", "api-required-u": "(API NÉCÉSSAIRE)", - "spell_dc_mod:-u": "SPELL SAVE DC MOD:", + "spell_dc_mod:-u": "MOD. DE DD DE SVG DU SORT :", "custom_ac:-u": "CA PERSO. :", "npc-info": "L'option PNJ active par défaut le style de feuille de personnage pour PNJ pour les nouveaux personnages. Utile si tous les personnages joueurs ont déjà été créés, et que les personnages à venir sont destinés à être des PNJ.", "npc-pc": "PNJ/PJ", @@ -473,8 +473,8 @@ "auto-dmg-roll-info": "By default, attack damage rolls are not rolled until the hit is confirmed. Damage is rolled from the chat roll template by clicking on the name of the attack in the right hand bar, which then displays the damage. The default method is compatible with 3D dice. Optionally, you can choose to have the Auto Roll Damage & Crit option which will roll damage and critical hit dice at the same time of the attack, presenting all possible outcomes at the time of the attack.", "add-char-to-templates-info": "Character names are not added to the roll template by default, and are only displayed as normal in the chat tab as the player/character selected as 'Speaking As'. Turning this option on adds the character making the roll's name to the template, useful for players represting multiple characters.", "inventory-info": "Character Inventories default to the complex style that is compatible with the Roll20 5E Compendium. This includes granular item amounts/weights, weight and encumbrance tracking, sorting, AC calculations, automatic attack generation, and more. The Simple option provides a text field for item lists for players who want more manual control over the sheet.", - "encumberance-info": "The sheet uses the variant encumbrance rules on page 176 of the PHB. The Off option disables the variant rules and only uses a basic over-limit inventory weight check.", - "ammo-tracking-info": "Provides automatic ammo tracking with the 5th Edition OGL by Roll20 Companion API Script.", + "encumberance-info": "La feuille utilise la variante de la règle d'encombrement du manuel du joueur. L'option 'Inactif' désactive cette règle et n'utilise alors qu'une vérification basique de la limite de poids de l'inventaire.", + "ammo-tracking-info": "Fournit un suivi automatique des munitions avec le 5th Edition OGL by Roll20 Companion API Script.", "dungeons-and-dragons-styling": "STYLE DE FEUILLE D&D", "dungeons-and-dragons-styling-info": "Active le style Donjons et Dragons pour la feuille de personnage et les gabarits de jet de dé. Ce paramètre est automatiquement appliqué à toutes les feuilles de personnage et ne peut être utilisé au cas par cas." } \ No newline at end of file diff --git a/Black Crusade Advanced API/translations/fr.json b/Black Crusade Advanced API/translations/fr.json index 7731308cda..a744a2ef64 100644 --- a/Black Crusade Advanced API/translations/fr.json +++ b/Black Crusade Advanced API/translations/fr.json @@ -77,7 +77,7 @@ "pleasure-world-u": "Monde Paradisiaque", "quarantine-world-u": "Monde Quarantaine", "research-station-u": "Station de Recherche", - "shrine-world-u": "Monde Chapelle", + "shrine-world-u": "Yeux de monde sanctuaire", "tau-world-u": "Monde Tau", "tomb-world-u": "Monde Tombeau", "voidborn-u": "Hors-Monde", diff --git a/Black_Crusade/translations/fr.json b/Black_Crusade/translations/fr.json index b3290c3339..209d0375f3 100644 --- a/Black_Crusade/translations/fr.json +++ b/Black_Crusade/translations/fr.json @@ -486,7 +486,7 @@ "acrobatics-u": "Acrobatie", "ag-u": "(Ag)", "s-u": "(F)", - "athletics-u": "Athltisme", + "athletics-u": "Athlétisme", "t-u": "(T)", "awareness-u": "Vigilance", "per-u": "(Per)", diff --git a/Blades in the Dark/translations/fr.json b/Blades in the Dark/translations/fr.json index a0051d54ac..9dcde53171 100644 --- a/Blades in the Dark/translations/fr.json +++ b/Blades in the Dark/translations/fr.json @@ -1154,8 +1154,8 @@ "vampire": "Vampire", "vampire_traits": "Vampire traits", "vampire_viceblurb": "Your vice is life essence, consumed from a living human. Use 1 downtime activity to hunt prey and indulge your vice. Also, when you feed, erase all level 1 harm and mark 4 ticks on your healing clock. This is is the only way you can heal. How do you feed? What telltale sign do you leave on your victims?", - "vault": "Vault", - "vaults": "Vaults", + "vault": "Réserve", + "vaults": "Réserves", "vehicle": "Vehicle", "vehicle_edges_flaws": "Vehicle Edges\nNimble: The vehicle handles easily. Consider this an assist for tricky maneuvers.\nSimple: The vehicle is easy to repair. Remove all of its harm during downtime.\nSturdy: The vehicle keeps operating even when broken.\n\nVehicle Flaws\nCostly: Thee vehicle costs 1 coin per downtime to keep in operation.\nDistinct: Thee vehicle has memorable features. Take +1 heat when you use it on a score.\nFinicky: The vehicle has quirks that only one person understands. When operated without them, the vehicle has -1 quality.", "version": "Version", diff --git a/D&D_3-5/translations/fr.json b/D&D_3-5/translations/fr.json index 21468b1c4a..9c7852560f 100644 --- a/D&D_3-5/translations/fr.json +++ b/D&D_3-5/translations/fr.json @@ -50,33 +50,33 @@ "dexterity-i": "DEX", "constitution-i": "CON", "intelligence-i": "INT", - "wisdom-i": "WIS", + "wisdom-i": "SAG", "charisma-i": "CHA", "show-ability-macros": "Show Ability Macros", - "hit-points-i": "HP", - "hit-points": "Hit Points", - "current-hit-points": "Current HP", + "hit-points-i": "PV", + "hit-points": "Points de vie", + "current-hit-points": "PV courants", "max": "Max", - "nonlethal-damage": "Nonlethal Damage", + "nonlethal-damage": "Dégâts Non Létaux", "initiative-u": "INITIATIVE", "dexterity-modifier": "Dex Mod", "miscellaneous-modifier-a": "Misc Mod", - "speed-u": "SPEED", - "speed": "Speed", + "speed-u": "VITESSE", + "speed": "Vitesse", "alternate-movement": "Alternate Movement", "fly": "Fly", "perfect": "Perfect", "good": "Good", "average": "Average", - "poor": "Poor", + "poor": "Pauvre", "clumsy": "Clumsy", - "none": "None", - "maneuverability": "Maneuverability", + "none": "Aucun", + "maneuverability": "Manœuvrabilité", "glide": "Glide", - "climb": "Climb", + "climb": "Escalade", "burrow": "Burrow", - "swim": "Swim", - "armor-class": "Armor Class", + "swim": "Nage", + "armor-class": "Classe d'Armure", "ability-modifier-a": "Ability Mod", "armor-bonus-a": "Armor Bns", "size-modifier-a": "Size Mod", diff --git a/DFRPG/translations/fr.json b/DFRPG/translations/fr.json index 9b7bc011cc..b95c43e6ae 100644 --- a/DFRPG/translations/fr.json +++ b/DFRPG/translations/fr.json @@ -54,12 +54,12 @@ "conviction": "Conviction", "social": "Social", "presence": "Présence", - "add-additional-stress": "Add Additional Stress", + "add-additional-stress": "Ajouter du stress additionnel", "clear-additional-stress": "Clear Additional Stress", "hunger": "Faim", "discipline": "Discipline", "armor-etc": "Armure, etc", - "consequences": "Consequences", + "consequences": "Conséquences", "type": "type", "physical-mental-social": "P/M/S", "used": "Utilisé?", @@ -68,35 +68,35 @@ "any": "ANY", "moderate": "Modéré", "severe": "Severe", - "extreme": "Extreme", + "extreme": "Extrême", "replace-permanent": "Replace Permanent", - "power-level": "Power Level", - "level-feet-in-the-water": "Feet in the Water", + "power-level": "Niveau de puissance", + "level-feet-in-the-water": "Pieds dans l'eau", "level-up-to-your-waist": "Up to Your Waist", "level-chest-deep": "Chest-Deep", - "level-submerged": "Submerged", - "skill-cap": "Skill Cap", - "skill-points-spent": "Skill Points Spent", - "total-available": "Total Available", + "level-submerged": "Submergé", + "skill-cap": "Limite de compétence", + "skill-points-spent": "Points de compétence dépensés", + "total-available": "Total disponible", "base-refresh-level": "Base Refresh Level", "adjusted-refresh": "Adjusted Refresh", "fate-points": "Points de Destin", - "current-fate-points": "Current
Fate Points", + "current-fate-points": "
Points de Destin Actuels", "player": "Joueur", "skills": "Compétences", "superb": "Superbe{{0}}", "number-of-slots": "# emplacements :", - "great": "Great{{0}}", - "good": "Good{{0}}", - "fair": "Fair{{0}}", - "average": "Average{{0}}", - "mediocre": "Mediocre{{0}}", + "great": "Grand{{0}}", + "good": "Bon{{0}}", + "fair": "Juste{{0}}", + "average": "Moyen{{0}}", + "mediocre": "Médiocre{{0}}", "stunts-and-powers": "Stunts & Powers", "cost": "Coût", "ability": "Ability", "additional-notes": "Additional Notes", "total-refresh-adjustment": "Total Refresh Adjustment", - "the-ladder": "The Ladder", + "the-ladder": "L’échelle", "legendary": "Légendaire", "epic": "Épique", "fantastic": "Fantastique", @@ -117,7 +117,7 @@ "phase-two-description": "Who were the prominent people in your life at this point? Do you have enemies? Close and fast friends? How did your high concept and trouble aspects shape you and events around you? What were the most significant choices you made? What lessons did you learn in this time?", "the-story": "{{0}}The Story:{{1}} What was your first adventure?", "phase-three": "Phase {{0}}three{{1}}", - "story-title": "Story Title", + "story-title": "Titre de l’histoire", "guest-starring": "Guest Starring...", "guest-star": "{{0}}Guest Star:{{1}} Whose path have you crossed?", "phase-four": "Phase {{0}}four{{1}}", diff --git a/Dark Heresy Advanced 2nd Edition/translations/fr.json b/Dark Heresy Advanced 2nd Edition/translations/fr.json index e2ee2aa386..c55c189dce 100644 --- a/Dark Heresy Advanced 2nd Edition/translations/fr.json +++ b/Dark Heresy Advanced 2nd Edition/translations/fr.json @@ -42,7 +42,7 @@ "pleasure-world-u": "Monde Paradisiaque", "quarantine-world-u": "Monde Quarantaine", "research-station-u": "Station de Recherche", - "shrine-world-u": "Monde Chapelle", + "shrine-world-u": "Yeux de Monde sanctuaire", "tau-world-u": "Monde Tau", "tomb-world-u": "Monde Tombeau", "voidborn-u": "Hors-Monde", @@ -151,16 +151,16 @@ "novate-u": "Novate", "vital-u": "Vital", "elder-u": "Ancien", - "forge-world-age-u": "Forge World Age", + "forge-world-age-u": "Âge d'un Monde Forge", "young-u": "Jeune", "mature-u": "Mâture", "venerated-u": "Vénérable", - "hive-world-age-u": "Hive World Age", + "hive-world-age-u": "Âge d'un Monde Ruche", "nipper-u": "Nipper", "juve-u": "Juve", "adult-u": "Adulte", "old-timer-u": "Old Timer", - "void-born-age-u": "Void Born Age", + "void-born-age-u": "Âge de Né dans le vide", "youth-u": "Jeunesse", "methuselah-u": "Mathusalem", "death-world-age-u": "Âge d'un Monde Mort", @@ -174,7 +174,7 @@ "notion-u": "Notion", "evidentiary-u": "Evidentiary", "conviction-u": "Déclaration de culpabilité", - "daemon-world-age-u": "Daemon World Age", + "daemon-world-age-u": "Âge d'un Monde Démon", "runner-u": "Runner", "rock-u": "Roc", "saint-u": "Saint", @@ -182,15 +182,15 @@ "new-meat-u": "Viande fraîche", "convict-u": "Bagnard", "lifter-u": "Lifter", - "quarantine-world-age-u": "Quarantine World Age", + "quarantine-world-age-u": "Âge de Monde de quarantaine", "clean-u": "Clean", - "survivor-u": "Survivor", + "survivor-u": "Survivant", "fossil-u": "Fossile", - "agri-world-age-u": "Agri-World Age", - "seedling-u": "Seedling", - "ripe-u": "Ripe", - "deep-rooted-u": "Deep-rooted", - "feudal-world-age-u": "Feudal World Age", + "agri-world-age-u": "Âge de Monde Agraire", + "seedling-u": "Semis", + "ripe-u": "Mûr", + "deep-rooted-u": "Profondément enraciné", + "feudal-world-age-u": "Âge d'un Monde Féodal", "childe-u": "Childe", "of-age-u": "Of Age", "hoary-u": "Hoary", @@ -213,7 +213,7 @@ "powerful-u": "Puissant", "shrine-world-build-u": "Shrine World Build", "diminished-u": "Diminué", - "lessened-u": "Lessened", + "lessened-u": "Diminué", "faithful-u": "Fidèle", "commended-u": "Commended", "abundant-u": "Abondant", @@ -234,7 +234,7 @@ "stunted-u": "Stunted", "gaunt-u": "Gaunt", "gangling-u": "Gangling", - "spindly-u": "Spindly", + "spindly-u": "Grêle", "death-world-build-u": "Death World Build", "longpole-u": "Longpole", "tough-u": "Tough", @@ -306,55 +306,55 @@ "bluish-u": "Bleuâtre", "greyish-u": "Grisâtre", "milky-u": "Laiteux", - "death-world-skin-u": "Death World Skin", + "death-world-skin-u": "Peau d'un Monde Mort", "pallid-u": "Pâle", - "garden-world-skin-u": "Garden World Skin", + "garden-world-skin-u": "Peau d'un Monde Jardin", "bronzed-u": "Bronzé", - "research-station-skin-u": "Research Station Skin", + "research-station-skin-u": "Peau de Station de Recherche", "daemon-world-skin-u": "Daemon World Skin", "golden-u": "Doré", "penal-colony-skin-u": "Penal Colony Skin", "quarantine-world-skin-u": "Quarantine World Skin", - "chalky-u": "Chalky", + "chalky-u": "Crayeux", "agri-world-skin-u": "Agri-World Skin", - "fuedal-world-skin-u": "Feudal World Skin", - "ochre-u": "Ochre", - "frontier-world-skin-u": "Frontier World Skin", + "fuedal-world-skin-u": "Peau d'un Monde Féodal", + "ochre-u": "Ocre", + "frontier-world-skin-u": "Peau d'un Monde Frontière", "hair-u": "Cheveux", "feral-world-hair-u": "Feral World Hair", - "blonde-u": "Blonde", + "blonde-u": "Blond", "grey": "Gris", "highborn-hair-u": "Highborn Hair", - "shrine-world-hair-u": "Shrine World Hair", + "shrine-world-hair-u": "Cheveux de monde sanctuaire", "none-u": "Aucun", "blonde": "Blond", "russet-u": "Russet", - "forge-world-hair-u": "Forge World Hair", + "forge-world-hair-u": "Cheveux de monde forge", "rust-u": "Rouille", "blond-u": "Blond", - "hive-world-hair-u": "Hive World Hair", - "mousy-u": "Mousy", - "void-born-hair-u": "Void Born Hair", - "copper-u": "Copper", + "hive-world-hair-u": "Cheveux de monde ruche", + "mousy-u": "Terne", + "void-born-hair-u": "Cheveux de né dans le vide", + "copper-u": "Cuivre", "auburn-u": "Auburn", - "death-world-hair-u": "Death World Hair", - "chestnut-u": "Chestnut", + "death-world-hair-u": "Cheveux d'un monde mort", + "chestnut-u": "Châtaignier", "coppery-u": "Cuivrée", - "garden-world-hair-u": "Garden World Hair", + "garden-world-hair-u": "Cheveux d'un monde jardin", "khaki-u": "Kaki", "white-u": "Blanc", - "research-station-hair-u": "Research Station Hair", + "research-station-hair-u": "Cheveux de station de recherche", "ginger-u": "Gingembre", - "ash-blond-u": "Ash-Blond", - "daemon-world-hair-u": "Daemon World Hair", + "ash-blond-u": "Blond cendré", + "daemon-world-hair-u": "Cheveux de monde démon", "penal-colony-hair-u": "Cheveux de colonie pénitentiaire", "quarantine-world-hair-u": "Cheveux de Monde Quarantaine", "dark-red-u": "Rouge foncé", - "agri-world-hair-u": "Agri-World Hair", + "agri-world-hair-u": "Cheveux de monde agraire", "feudal-world-hair-u": "Feudal World Hair", "frontier-world-hair-u": "Frontier World Hair", "henna-u": "Henna", - "exotic-hair-u": "Exotic Hair", + "exotic-hair-u": "Cheveux exotiques", "mauveine-u": "Mauveine ", "unnatural-color-(any)-u": "Unnatural Color (Any) ", "quirks-u": "Quirks:", @@ -487,8 +487,8 @@ "linguistics-u": "Linguistique", "trade-u": "Commerce", "lore-u": "Connaissance", - "common-u": "Common", - "scholastic-u": "Scholastic", + "common-u": "Commun", + "scholastic-u": "Scolastique", "forbidden-u": "Interdit", "other-skills-u": "Autres compétences", "ballistic-skill-u": "CT", @@ -530,18 +530,18 @@ "personality-u": "Personnalité:", "weaponskill-u": "CC", "unnatural-characteristics-u": "Unnatural Characteristics", - "armor-bonus-u": "AB", + "armor-bonus-u": "BA", "multiplied-by-2-u": "x2", "multiplied-by-3-u": "x3", "multiplied-by-6-u": "x6", "soak-u": "Soak", - "arm-right-u": "AR", - "arm-left-u": "AL", - "leg-right-u": "LR", - "leg-left-u": "LL", + "arm-right-u": "BD", + "arm-left-u": "BG", + "leg-right-u": "JD", + "leg-left-u": "JG", "talents-and-traits-u": "Talents & Traits", - "gear-and-weapons-u": "Gear & Weapons", - "special-rules-u": "Special Rules", + "gear-and-weapons-u": "Équipement & Armes", + "special-rules-u": "Règles Spéciales", "miscellaneous-and-notes-u": "Miscellaneous & Notes", "weight-u": "pds.", "kilograms-u": "kg", @@ -598,7 +598,7 @@ "vehicle-u": "Véhicule", "melee-weapons-u": "Armes de Mêlée", "daemon-weapons-u": "Armes démons", - "daemons-willpower-u": "Daemon's Willpower:", + "daemons-willpower-u": "Volonté du démon :", "zero-zero-u": "00", "binding-strength-u": "Binding Strength:", "alignment-u": "Alignement:", @@ -611,7 +611,7 @@ "vulgar-u": "Vulgaire", "jealous-u": "Jaloux", "prideful-u": "Orgueilleux", - "vindicative-u": "Vindictive", + "vindicative-u": "Vindicatif", "overbearing-u": "Overbearing", "ranged-u": "Portée :", "attributes-u": "Attributs:", diff --git a/Dragon Age RPG/translations/fr.json b/Dragon Age RPG/translations/fr.json index 8c62e75294..5f8703d5a7 100644 --- a/Dragon Age RPG/translations/fr.json +++ b/Dragon Age RPG/translations/fr.json @@ -16,7 +16,7 @@ "willpower-u": "VOLONTÉ", "name-u": "NOM", "background-u": "HISTORIQUE", - "age-u": "AGE", + "age-u": "ÂGE", "gender-u": "SEXE", "weight-u": "POIDS", "height-u": "TAILLE", @@ -41,13 +41,13 @@ "melee-weapon-u": "ARMES DE MÊLÉE", "attack-roll-u": "Jet d'attaque", "damage-u": "DÉGÂTS", - "battle-axe": "Battle Axe", + "battle-axe": "Hache de bataille", "weapon-details": "Détails de l'arme", "weapon-groups": "Groupe d'armes", "ranged-weapon-u": "ARMES À DISTANCE", "range-u": "PORTÉE", "ammo-u": "MUNITIONS", - "short-bow": "Short Bow", + "short-bow": "Arc court", "short-range": "Portée Courte", "long-range": "Portée Longue", "magic-focuses-u": "COMPÉTENCES MAGIQUES", @@ -61,7 +61,7 @@ "mana-cost-u": "COÛT MANA", "casting-time-u": "DURÉE INVOCATION", "target-number-small-u": "ND", - "test-u": "TEST", + "test-u": "TEST ", "spellpower": "Puissance Magique", "spell effect": "Effets du sort", "character-u": "PERSONNAGE", @@ -76,7 +76,7 @@ "copper-pieces-small-u": "PC", "silver-pieces-small-u": "PA", "gold-pieces-small-u": "PO", - "talent-u": "TALENT", + "talent-u": "TALENT ", "details-u": "DÉTAILS", "novice": "Novice", "journeyman": "Compagnon", diff --git a/Exalted 3/translations/fr.json b/Exalted 3/translations/fr.json index fe25262d16..0ece23d9e5 100644 --- a/Exalted 3/translations/fr.json +++ b/Exalted 3/translations/fr.json @@ -5,13 +5,13 @@ "solar-exalted": "Exalté solaire", "dawn": "Aube", "zenith": "Zénith", - "twilight": "Twilight", + "twilight": "Pénombre", "night": "Nuit", "eclipse": "Eclipse", "abyssal-exalted": "Exalté abyssale", "dusk": "Crépuscule", "midnight": "Minuit", - "daybreak": "Daybreak", + "daybreak": "Lever du jour", "day": "Jour", "moonshadow": "Moonshadow", "terrestrial-exalted": "Terrestrial Exalted", @@ -26,8 +26,8 @@ "no-moon": "Pas de lune", "casteless": "Hors-caste", "sidereal-exalted": "Exalté sidérale", - "journeys": "Journeys", - "serenity": "Serenity", + "journeys": "Voyages", + "serenity": "Sérénité", "battles": "Batailles", "secrets": "Secrets", "endings": "Endings", @@ -40,14 +40,14 @@ "exigent-exalted": "Exigent Exalted", "exigent": "Exigent", "infernal-exalted": "Infernal Exalted", - "slayer": "Slayer", + "slayer": "Tueur", "malefactor": "Malefactor", "defiler": "Profanateur", "scourge": "Scourge", "fiend": "Fiend", - "custom": "Custom", + "custom": "Personnalisé", "alchemical-exalted": "Alchemical Exalted", - "orichalcum": "Orichalcum", + "orichalcum": "Orichalque", "soulsteel": "Soulsteel", "moonsilver": "Moonsilver", "starmetal": "Starmetal", @@ -57,24 +57,24 @@ "anima": "Anima", "anima-place": "Orchid of golden fire", "supernal-trait": "Supernal Trait", - "abilities": "Abilities", - "archery": "Archery", - "athletics": "Athletics", - "awareness": "Awareness", - "brawl": "Brawl", - "bureaucracy": "Bureaucracy", + "abilities": "Capacités", + "archery": "Tir à l’arc", + "athletics": "Athlétisme", + "awareness": "Vigilance", + "brawl": "Bagarre", + "bureaucracy": "Bureaucratie", "craft": "Craft", - "dodge": "Dodge", - "integrity": "Integrity", + "dodge": "Esquive", + "integrity": "Intégrité", "investigation": "Investigation", - "larceny": "Larceny", - "linguistics": "Linguistics", - "lore": "Lore", - "martial-arts": "Martial Arts", - "medicine": "Medicine", - "melee": "Melee", + "larceny": "Larcin", + "linguistics": "Linguistique", + "lore": "Connaissance", + "martial-arts": "Arts martiaux", + "medicine": "Médecine", + "melee": "Mêlée", "occult": "Occult", - "performance": "Performance", + "performance": "Représentation", "presence": "Presence", "resistance": "Resistance", "ride": "Ride", @@ -118,33 +118,33 @@ "dreaming-pearl-courtesan-style": "Dreaming Pearl Courtesan Style", "steel-devil-style": "Steel Devil Style", "martial-arts-place": "Celestial Monkey Style", - "ability-place": "Astrology", + "ability-place": "Astrologie", "specialties": "Specialties", "specialty-place": "Pirate Tactics", "merits": "Merits", "merits-place": "Artifact", - "willpower": "Willpower", + "willpower": "Volonté", "essence": "Essence", - "personal": "Personal", + "personal": "Personnel", "peripheral": "Peripheral", "committed": "Committed", "limit-break": "Limit Break", "limit-trigger": "Limit Trigger", "limit-trigger-place": "Karal is insulted, belittled, or deliberately frustrated by another character.", "experience-and-crafting": "Experience & Crafting", - "current-experience-points": "Current XP:", - "total-experience-points": "Total XP:", + "current-experience-points": "XP courants:", + "total-experience-points": "XP Total:", "current-solar-experience-points": "Current SXP:", "total-solar-experience-points": "Total SXP:", "silver-experience-points": "Silver XP", "gold-experience-points": "Gold XP", "white-experience-points": "White XP", - "project-place": "Longsword", + "project-place": "Épée longue", "major": "Major", "superior": "Superior", - "legendary": "Legendary", + "legendary": "Légendaire", "weapons-and-gear": "Weapons & Gear", - "weapon": "Weapon", + "weapon": "Arme", "accuracy": "Accuracy", "damage": "Damage", "defense": "Defense", @@ -166,7 +166,7 @@ "natural-soak": "Natural Soak", "armored-soak": "Armored Soak", "total-soak": "Total Soak", - "parry": "Parry", + "parry": "Parade", "parry-without-specialty": "Parry without specialty", "parry-with-specialty": "Parry with specialty", "evasion": "Evasion", @@ -178,21 +178,21 @@ "guile": "Guile", "guile-without-specialty": "Guile without specialty", "guile-with-specialty": "Guile with specialty", - "health-levels": "Health Levels", - "incapacitated": "Incapacitated", + "health-levels": "Niveaux de santé", + "incapacitated": "Incapacité", "intimacies": "Intimacies", "intimacy": "Intimacy", - "intensity": "Intensity", + "intensity": "Intensité", "intimacy-place": "Winter Plum (Grief)", - "minor": "Minor", + "minor": "Mineur", "defining": "Defining", "charms-and-evocations": "Charms & Evocations", "type": "Type", - "duration": "Duration", + "duration": "Durée", "cost": "Cost", - "book": "Book", - "page-number": "Page #", - "effect": "Effect", + "book": "Livre", + "page-number": "N° Page", + "effect": "Effet", "charm-keywords-place": "Uniform, Psyche", "charm-place": "Excellent Solar Larceny", "simple": "Simple", @@ -205,44 +205,44 @@ "charm-page-number-place": "255", "charm-effect-place": "", "sorceries": "Sorceries", - "circle": "Circle", + "circle": "Cercle", "control-spell-abbreviation": "C.", - "control-spell": "Control Spell", + "control-spell": "Sort de contrôle", "spell-place": "Cirrus Skiff", "terrestrial": "Terrestrial", - "celestial": "Celestial", + "celestial": "Céleste", "solar": "Solar", "spell-duration-place": "Until ended", "spell-cost-place": "15m, 1wp", "spell-page-place": "471", - "skill": "Skill", - "spell-keywords-place": "None", + "skill": "Compétence", + "spell-keywords-place": "Aucun", "skill-place": "Larceny", "spell-effect-place": "", "version": "Version", - "more-information": "More Information", + "more-information": "Plus d’informations", "mote-pool-equations": "Mote Pool Equations", "max-personal-motes": "Max Personal Motes", "max-peripheral-motes": "Max Peripheral Motes", - "keywords": "Keywords", - "control": "Control", + "keywords": "Mots clés", + "control": "Contrôle", "spell-desc-place": "", "charm-desc-place": "", - "size": "Size", + "size": "Taille", "drill": "Drill", "magnitude": "Magnitude", "perfect-morale": "Perfect Morale", "poor": "Poor", - "average": "Average", - "elite": "Elite", + "average": "Moyenne", + "elite": "Élite", "might": "Might", - "character-type": "Character Type", + "character-type": "Type de personnage", "battle-group": "Battle Group", "combat-movement": "Combat Movement", "grapple": "Grapple", - "join-battle": "Join Battle", + "join-battle": "Rejoindre la bataille", "actions": "Actions", - "attacks": "Attacks", - "defenses": "Defenses", + "attacks": "Attaques", + "defenses": "Défenses", "quick-character": "Quick Character" } \ No newline at end of file diff --git a/GURPS/gurps.css b/GURPS/gurps.css index b008ca77cd..ea2a74c7fd 100644 --- a/GURPS/gurps.css +++ b/GURPS/gurps.css @@ -808,7 +808,7 @@ input.sheet-toggle-unspoint-points[value="0"] ~ .sheet-row-total { /* -- COMBAT -- */ .sheet-active-defense { width: calc(100% - 140px - 0.8em); } -.sheet-active-defense .sheet-col0 { width: calc(100% - 174px); } +.sheet-active-defense .sheet-col0 { width: calc(100% - 184px); } .sheet-active-defense .sheet-col0 input { text-align:left; } .sheet-active-defense .sheet-col1 { width: 80px; } .sheet-active-defense .sheet-col2 { width: 40px; } @@ -816,37 +816,41 @@ input.sheet-toggle-unspoint-points[value="0"] ~ .sheet-row-total { .sheet-active-defense .sheet-col4 { width: 22px; } .sheet-melee-attacks { width: calc(100% - 140px - 0.8em); } -.sheet-melee-attacks .sheet-col0 { width: calc(100% - 234px); } +.sheet-melee-attacks .sheet-col0 { width: calc(100% - 252px); } .sheet-melee-attacks .sheet-col0 input { text-align:left; } .sheet-melee-attacks .sheet-col1 { width: 40px; } .sheet-melee-attacks .sheet-col1 input { text-align:left; } .sheet-melee-attacks .sheet-col2 { width: 60px; } .sheet-melee-attacks .sheet-col3 { width: 60px; } -.sheet-melee-attacks .sheet-col4 { width: 22px; } +.sheet-melee-attacks .sheet-col4 { width: 30px; } .sheet-melee-attacks .sheet-col5 { width: 30px; } +.sheet-melee-attacks .sheet-col5 input[type="text"] {background-color : #87CEFA;} .sheet-melee-attacks .sheet-col6 { width: 22px; } +.sheet-melee-attacks .sheet-col6 button[type="roll"] {background-color : #87CEFA;} .sheet-melee-attacks .sheet-header .sheet-col5 { width: 52px; } -.sheet-melee-attacks .sheet-header .sheet-col5 { margin-left: 22px; } -.sheet-melee-attacks .sheet-row-stats .sheet-col0 { margin-left: 20px; width: calc(100% - 256px); } +.sheet-melee-attacks .sheet-header .sheet-col5 { margin-left: 30px; } +.sheet-melee-attacks .sheet-row-stats .sheet-col0 { margin-left: 20px; width: calc(100% - 274px); } .sheet-ranged-attacks { width: calc(100% - 140px - 0.8em); } -.sheet-ranged-attacks .sheet-col0 { width: calc(100% - 412px); } +.sheet-ranged-attacks .sheet-col0 { width: calc(100% - 446px); } .sheet-ranged-attacks .sheet-col0 input { text-align:left; } .sheet-ranged-attacks .sheet-col1 { width: 40px; } .sheet-ranged-attacks .sheet-col1 input { text-align:left; } .sheet-ranged-attacks .sheet-col2 { width: 30px; } .sheet-ranged-attacks .sheet-col3 { width: 30px; } -.sheet-ranged-attacks .sheet-col4 { width: 43px; } +.sheet-ranged-attacks .sheet-col4 { width: 60px; } .sheet-ranged-attacks .sheet-col5 { width: 39px; } .sheet-ranged-attacks .sheet-col6 { width: 35px; } .sheet-ranged-attacks .sheet-col7 { width: 60px; } .sheet-ranged-attacks .sheet-col8 { width: 60px; } -.sheet-ranged-attacks .sheet-col9 { width: 22px; } +.sheet-ranged-attacks .sheet-col9 { width: 30px; } .sheet-ranged-attacks .sheet-col10 { width: 30px; } +.sheet-ranged-attacks .sheet-col10 input[type="text"] {background-color : #87CEFA;} .sheet-ranged-attacks .sheet-col11 { width: 22px; } +.sheet-ranged-attacks .sheet-col11 button[type="roll"] {background-color : #87CEFA;} .sheet-ranged-attacks .sheet-header .sheet-col10 { width: 52px; } -.sheet-ranged-attacks .sheet-header .sheet-col10 { margin-left: 22px; } -.sheet-ranged-attacks .sheet-row-stats .sheet-col0 { margin-left: 20px; width: calc(100% - 432px); } +.sheet-ranged-attacks .sheet-header .sheet-col10 { margin-left: 30px; } +.sheet-ranged-attacks .sheet-row-stats .sheet-col0 { margin-left: 20px; width: calc(100% - 468px); } .sheet-damage-reduction { float: right; width: 140px; } .sheet-damage-reduction .sheet-col0 { width: 50px; } diff --git a/GURPS/gurps.html b/GURPS/gurps.html index 8d9b2fe69b..baa47a5837 100644 --- a/GURPS/gurps.html +++ b/GURPS/gurps.html @@ -1,4 +1,4 @@ -
+
@@ -14,8 +14,8 @@ General - Traits - Skills + Traits + Skils Combat Inventory Grimoire @@ -2030,7 +2030,10 @@
-
Skill
+
+ | skill | +
+
@@ -2160,7 +2163,6 @@ See page 269. -
Type
@@ -2189,7 +2191,10 @@
-
Skill
+
+ | skill | +
+
@@ -2466,11 +2471,15 @@

Known Issues

@@ -2486,6 +2495,7 @@ Forum for now (Like Tom and I are doing) - perhaps later we can use GitHub.

Version: 1.4.3

+<<<<<<< HEAD

Pull Request: 10/30/2018

-

* specialized skill

+

* specialized skill

-

Weapons

+

Weapons

@@ -239,19 +239,19 @@
- Dmg + Dmg
- Mod + Mod
- Attack + Attack
- (Avg) + (Avg)
@@ -259,48 +259,48 @@
- More details + More details
- Notes + Notes
- Spd + Spd
- Rng + Rng
- Cap + Cap
- Ammo + Ammo
- Rate + Rate
-

Talents

+

Talents

-

Resources

+

Resources

-

Flaws

+

Flaws

@@ -308,42 +308,42 @@
-

Languages

+

Languages

-

Money

+

Money

-

Encumbrance

+

Encumbrance

-

Equipment

+

Equipment

 
#
-
Weight
+
Weight
@@ -362,21 +362,19 @@
- + @@ -697,7 +695,7 @@ @@ -706,9 +704,10 @@ diff --git a/HollowEarthExpedition/translation.json b/HollowEarthExpedition/translation.json new file mode 100644 index 0000000000..56d7748e76 --- /dev/null +++ b/HollowEarthExpedition/translation.json @@ -0,0 +1,56 @@ +{ + "Ammo": "Ammo", + "Archetype": "Archetype", + "Attack": "Attack", + "Avg-p": "(Avg)", + "Base": "Base", + "Body": "Body", + "Cap": "Cap", + "Charisma": "Charisma", + "Current": "Current", + "Defense": "Defense", + "Dexterity": "Dexterity", + "Dmg": "Dmg", + "Encumbrance": "Encumbrance", + "Equipment": "Equipment", + "Flaws": "Flaws", + "Health": "Health", + "Heavy": "Heavy", + "Initiative": "Initiative", + "Intelligence": "Intelligence", + "Languages": "Languages", + "lbs": "lbs", + "Levels": "Levels", + "Light": "Light", + "Maximum": "Maximum", + "Medium": "Medium", + "Mod": "Mod", + "Modifier": "Modifier", + "Money": "Money", + "More-details": "More details", + "Motivation": "Motivation", + "Move": "Move", + "Notes": "Notes", + "On": "On", + "Perception": "Perception", + "Primary-Attributes": "Primary Attributes", + "Prompt": "Prompt", + "Rate": "Rate", + "Rating": "Rating", + "Resources": "Resources", + "Rng": "Rng", + "Secondary-Attributes": "Secondary Attributes", + "Size": "Size", + "Skills": "Skills", + "Spd": "Spd", + "star-specialized-skill": "* specialized skill", + "Strength": "Strength", + "Stun": "Stun", + "Style": "Style", + "Talents": "Talents", + "Total-Carried": "Total Carried", + "Weapons": "Weapons", + "Weight": "Weight", + "Willpower": "Willpower", + "Wounds": "Wounds" +} \ No newline at end of file diff --git a/HollowEarthExpedition/translations/af.json b/HollowEarthExpedition/translations/af.json new file mode 100644 index 0000000000..56d7748e76 --- /dev/null +++ b/HollowEarthExpedition/translations/af.json @@ -0,0 +1,56 @@ +{ + "Ammo": "Ammo", + "Archetype": "Archetype", + "Attack": "Attack", + "Avg-p": "(Avg)", + "Base": "Base", + "Body": "Body", + "Cap": "Cap", + "Charisma": "Charisma", + "Current": "Current", + "Defense": "Defense", + "Dexterity": "Dexterity", + "Dmg": "Dmg", + "Encumbrance": "Encumbrance", + "Equipment": "Equipment", + "Flaws": "Flaws", + "Health": "Health", + "Heavy": "Heavy", + "Initiative": "Initiative", + "Intelligence": "Intelligence", + "Languages": "Languages", + "lbs": "lbs", + "Levels": "Levels", + "Light": "Light", + "Maximum": "Maximum", + "Medium": "Medium", + "Mod": "Mod", + "Modifier": "Modifier", + "Money": "Money", + "More-details": "More details", + "Motivation": "Motivation", + "Move": "Move", + "Notes": "Notes", + "On": "On", + "Perception": "Perception", + "Primary-Attributes": "Primary Attributes", + "Prompt": "Prompt", + "Rate": "Rate", + "Rating": "Rating", + "Resources": "Resources", + "Rng": "Rng", + "Secondary-Attributes": "Secondary Attributes", + "Size": "Size", + "Skills": "Skills", + "Spd": "Spd", + "star-specialized-skill": "* specialized skill", + "Strength": "Strength", + "Stun": "Stun", + "Style": "Style", + "Talents": "Talents", + "Total-Carried": "Total Carried", + "Weapons": "Weapons", + "Weight": "Weight", + "Willpower": "Willpower", + "Wounds": "Wounds" +} \ No newline at end of file diff --git a/HollowEarthExpedition/translations/cs.json b/HollowEarthExpedition/translations/cs.json new file mode 100644 index 0000000000..56d7748e76 --- /dev/null +++ b/HollowEarthExpedition/translations/cs.json @@ -0,0 +1,56 @@ +{ + "Ammo": "Ammo", + "Archetype": "Archetype", + "Attack": "Attack", + "Avg-p": "(Avg)", + "Base": "Base", + "Body": "Body", + "Cap": "Cap", + "Charisma": "Charisma", + "Current": "Current", + "Defense": "Defense", + "Dexterity": "Dexterity", + "Dmg": "Dmg", + "Encumbrance": "Encumbrance", + "Equipment": "Equipment", + "Flaws": "Flaws", + "Health": "Health", + "Heavy": "Heavy", + "Initiative": "Initiative", + "Intelligence": "Intelligence", + "Languages": "Languages", + "lbs": "lbs", + "Levels": "Levels", + "Light": "Light", + "Maximum": "Maximum", + "Medium": "Medium", + "Mod": "Mod", + "Modifier": "Modifier", + "Money": "Money", + "More-details": "More details", + "Motivation": "Motivation", + "Move": "Move", + "Notes": "Notes", + "On": "On", + "Perception": "Perception", + "Primary-Attributes": "Primary Attributes", + "Prompt": "Prompt", + "Rate": "Rate", + "Rating": "Rating", + "Resources": "Resources", + "Rng": "Rng", + "Secondary-Attributes": "Secondary Attributes", + "Size": "Size", + "Skills": "Skills", + "Spd": "Spd", + "star-specialized-skill": "* specialized skill", + "Strength": "Strength", + "Stun": "Stun", + "Style": "Style", + "Talents": "Talents", + "Total-Carried": "Total Carried", + "Weapons": "Weapons", + "Weight": "Weight", + "Willpower": "Willpower", + "Wounds": "Wounds" +} \ No newline at end of file diff --git a/HollowEarthExpedition/translations/da.json b/HollowEarthExpedition/translations/da.json new file mode 100644 index 0000000000..56d7748e76 --- /dev/null +++ b/HollowEarthExpedition/translations/da.json @@ -0,0 +1,56 @@ +{ + "Ammo": "Ammo", + "Archetype": "Archetype", + "Attack": "Attack", + "Avg-p": "(Avg)", + "Base": "Base", + "Body": "Body", + "Cap": "Cap", + "Charisma": "Charisma", + "Current": "Current", + "Defense": "Defense", + "Dexterity": "Dexterity", + "Dmg": "Dmg", + "Encumbrance": "Encumbrance", + "Equipment": "Equipment", + "Flaws": "Flaws", + "Health": "Health", + "Heavy": "Heavy", + "Initiative": "Initiative", + "Intelligence": "Intelligence", + "Languages": "Languages", + "lbs": "lbs", + "Levels": "Levels", + "Light": "Light", + "Maximum": "Maximum", + "Medium": "Medium", + "Mod": "Mod", + "Modifier": "Modifier", + "Money": "Money", + "More-details": "More details", + "Motivation": "Motivation", + "Move": "Move", + "Notes": "Notes", + "On": "On", + "Perception": "Perception", + "Primary-Attributes": "Primary Attributes", + "Prompt": "Prompt", + "Rate": "Rate", + "Rating": "Rating", + "Resources": "Resources", + "Rng": "Rng", + "Secondary-Attributes": "Secondary Attributes", + "Size": "Size", + "Skills": "Skills", + "Spd": "Spd", + "star-specialized-skill": "* specialized skill", + "Strength": "Strength", + "Stun": "Stun", + "Style": "Style", + "Talents": "Talents", + "Total-Carried": "Total Carried", + "Weapons": "Weapons", + "Weight": "Weight", + "Willpower": "Willpower", + "Wounds": "Wounds" +} \ No newline at end of file diff --git a/HollowEarthExpedition/translations/de.json b/HollowEarthExpedition/translations/de.json new file mode 100644 index 0000000000..56d7748e76 --- /dev/null +++ b/HollowEarthExpedition/translations/de.json @@ -0,0 +1,56 @@ +{ + "Ammo": "Ammo", + "Archetype": "Archetype", + "Attack": "Attack", + "Avg-p": "(Avg)", + "Base": "Base", + "Body": "Body", + "Cap": "Cap", + "Charisma": "Charisma", + "Current": "Current", + "Defense": "Defense", + "Dexterity": "Dexterity", + "Dmg": "Dmg", + "Encumbrance": "Encumbrance", + "Equipment": "Equipment", + "Flaws": "Flaws", + "Health": "Health", + "Heavy": "Heavy", + "Initiative": "Initiative", + "Intelligence": "Intelligence", + "Languages": "Languages", + "lbs": "lbs", + "Levels": "Levels", + "Light": "Light", + "Maximum": "Maximum", + "Medium": "Medium", + "Mod": "Mod", + "Modifier": "Modifier", + "Money": "Money", + "More-details": "More details", + "Motivation": "Motivation", + "Move": "Move", + "Notes": "Notes", + "On": "On", + "Perception": "Perception", + "Primary-Attributes": "Primary Attributes", + "Prompt": "Prompt", + "Rate": "Rate", + "Rating": "Rating", + "Resources": "Resources", + "Rng": "Rng", + "Secondary-Attributes": "Secondary Attributes", + "Size": "Size", + "Skills": "Skills", + "Spd": "Spd", + "star-specialized-skill": "* specialized skill", + "Strength": "Strength", + "Stun": "Stun", + "Style": "Style", + "Talents": "Talents", + "Total-Carried": "Total Carried", + "Weapons": "Weapons", + "Weight": "Weight", + "Willpower": "Willpower", + "Wounds": "Wounds" +} \ No newline at end of file diff --git a/HollowEarthExpedition/translations/el.json b/HollowEarthExpedition/translations/el.json new file mode 100644 index 0000000000..56d7748e76 --- /dev/null +++ b/HollowEarthExpedition/translations/el.json @@ -0,0 +1,56 @@ +{ + "Ammo": "Ammo", + "Archetype": "Archetype", + "Attack": "Attack", + "Avg-p": "(Avg)", + "Base": "Base", + "Body": "Body", + "Cap": "Cap", + "Charisma": "Charisma", + "Current": "Current", + "Defense": "Defense", + "Dexterity": "Dexterity", + "Dmg": "Dmg", + "Encumbrance": "Encumbrance", + "Equipment": "Equipment", + "Flaws": "Flaws", + "Health": "Health", + "Heavy": "Heavy", + "Initiative": "Initiative", + "Intelligence": "Intelligence", + "Languages": "Languages", + "lbs": "lbs", + "Levels": "Levels", + "Light": "Light", + "Maximum": "Maximum", + "Medium": "Medium", + "Mod": "Mod", + "Modifier": "Modifier", + "Money": "Money", + "More-details": "More details", + "Motivation": "Motivation", + "Move": "Move", + "Notes": "Notes", + "On": "On", + "Perception": "Perception", + "Primary-Attributes": "Primary Attributes", + "Prompt": "Prompt", + "Rate": "Rate", + "Rating": "Rating", + "Resources": "Resources", + "Rng": "Rng", + "Secondary-Attributes": "Secondary Attributes", + "Size": "Size", + "Skills": "Skills", + "Spd": "Spd", + "star-specialized-skill": "* specialized skill", + "Strength": "Strength", + "Stun": "Stun", + "Style": "Style", + "Talents": "Talents", + "Total-Carried": "Total Carried", + "Weapons": "Weapons", + "Weight": "Weight", + "Willpower": "Willpower", + "Wounds": "Wounds" +} \ No newline at end of file diff --git a/HollowEarthExpedition/translations/en.json b/HollowEarthExpedition/translations/en.json new file mode 100644 index 0000000000..56d7748e76 --- /dev/null +++ b/HollowEarthExpedition/translations/en.json @@ -0,0 +1,56 @@ +{ + "Ammo": "Ammo", + "Archetype": "Archetype", + "Attack": "Attack", + "Avg-p": "(Avg)", + "Base": "Base", + "Body": "Body", + "Cap": "Cap", + "Charisma": "Charisma", + "Current": "Current", + "Defense": "Defense", + "Dexterity": "Dexterity", + "Dmg": "Dmg", + "Encumbrance": "Encumbrance", + "Equipment": "Equipment", + "Flaws": "Flaws", + "Health": "Health", + "Heavy": "Heavy", + "Initiative": "Initiative", + "Intelligence": "Intelligence", + "Languages": "Languages", + "lbs": "lbs", + "Levels": "Levels", + "Light": "Light", + "Maximum": "Maximum", + "Medium": "Medium", + "Mod": "Mod", + "Modifier": "Modifier", + "Money": "Money", + "More-details": "More details", + "Motivation": "Motivation", + "Move": "Move", + "Notes": "Notes", + "On": "On", + "Perception": "Perception", + "Primary-Attributes": "Primary Attributes", + "Prompt": "Prompt", + "Rate": "Rate", + "Rating": "Rating", + "Resources": "Resources", + "Rng": "Rng", + "Secondary-Attributes": "Secondary Attributes", + "Size": "Size", + "Skills": "Skills", + "Spd": "Spd", + "star-specialized-skill": "* specialized skill", + "Strength": "Strength", + "Stun": "Stun", + "Style": "Style", + "Talents": "Talents", + "Total-Carried": "Total Carried", + "Weapons": "Weapons", + "Weight": "Weight", + "Willpower": "Willpower", + "Wounds": "Wounds" +} \ No newline at end of file diff --git a/HollowEarthExpedition/translations/es.json b/HollowEarthExpedition/translations/es.json new file mode 100644 index 0000000000..56d7748e76 --- /dev/null +++ b/HollowEarthExpedition/translations/es.json @@ -0,0 +1,56 @@ +{ + "Ammo": "Ammo", + "Archetype": "Archetype", + "Attack": "Attack", + "Avg-p": "(Avg)", + "Base": "Base", + "Body": "Body", + "Cap": "Cap", + "Charisma": "Charisma", + "Current": "Current", + "Defense": "Defense", + "Dexterity": "Dexterity", + "Dmg": "Dmg", + "Encumbrance": "Encumbrance", + "Equipment": "Equipment", + "Flaws": "Flaws", + "Health": "Health", + "Heavy": "Heavy", + "Initiative": "Initiative", + "Intelligence": "Intelligence", + "Languages": "Languages", + "lbs": "lbs", + "Levels": "Levels", + "Light": "Light", + "Maximum": "Maximum", + "Medium": "Medium", + "Mod": "Mod", + "Modifier": "Modifier", + "Money": "Money", + "More-details": "More details", + "Motivation": "Motivation", + "Move": "Move", + "Notes": "Notes", + "On": "On", + "Perception": "Perception", + "Primary-Attributes": "Primary Attributes", + "Prompt": "Prompt", + "Rate": "Rate", + "Rating": "Rating", + "Resources": "Resources", + "Rng": "Rng", + "Secondary-Attributes": "Secondary Attributes", + "Size": "Size", + "Skills": "Skills", + "Spd": "Spd", + "star-specialized-skill": "* specialized skill", + "Strength": "Strength", + "Stun": "Stun", + "Style": "Style", + "Talents": "Talents", + "Total-Carried": "Total Carried", + "Weapons": "Weapons", + "Weight": "Weight", + "Willpower": "Willpower", + "Wounds": "Wounds" +} \ No newline at end of file diff --git a/HollowEarthExpedition/translations/fr.json b/HollowEarthExpedition/translations/fr.json new file mode 100644 index 0000000000..56d7748e76 --- /dev/null +++ b/HollowEarthExpedition/translations/fr.json @@ -0,0 +1,56 @@ +{ + "Ammo": "Ammo", + "Archetype": "Archetype", + "Attack": "Attack", + "Avg-p": "(Avg)", + "Base": "Base", + "Body": "Body", + "Cap": "Cap", + "Charisma": "Charisma", + "Current": "Current", + "Defense": "Defense", + "Dexterity": "Dexterity", + "Dmg": "Dmg", + "Encumbrance": "Encumbrance", + "Equipment": "Equipment", + "Flaws": "Flaws", + "Health": "Health", + "Heavy": "Heavy", + "Initiative": "Initiative", + "Intelligence": "Intelligence", + "Languages": "Languages", + "lbs": "lbs", + "Levels": "Levels", + "Light": "Light", + "Maximum": "Maximum", + "Medium": "Medium", + "Mod": "Mod", + "Modifier": "Modifier", + "Money": "Money", + "More-details": "More details", + "Motivation": "Motivation", + "Move": "Move", + "Notes": "Notes", + "On": "On", + "Perception": "Perception", + "Primary-Attributes": "Primary Attributes", + "Prompt": "Prompt", + "Rate": "Rate", + "Rating": "Rating", + "Resources": "Resources", + "Rng": "Rng", + "Secondary-Attributes": "Secondary Attributes", + "Size": "Size", + "Skills": "Skills", + "Spd": "Spd", + "star-specialized-skill": "* specialized skill", + "Strength": "Strength", + "Stun": "Stun", + "Style": "Style", + "Talents": "Talents", + "Total-Carried": "Total Carried", + "Weapons": "Weapons", + "Weight": "Weight", + "Willpower": "Willpower", + "Wounds": "Wounds" +} \ No newline at end of file diff --git a/HollowEarthExpedition/translations/he.json b/HollowEarthExpedition/translations/he.json new file mode 100644 index 0000000000..56d7748e76 --- /dev/null +++ b/HollowEarthExpedition/translations/he.json @@ -0,0 +1,56 @@ +{ + "Ammo": "Ammo", + "Archetype": "Archetype", + "Attack": "Attack", + "Avg-p": "(Avg)", + "Base": "Base", + "Body": "Body", + "Cap": "Cap", + "Charisma": "Charisma", + "Current": "Current", + "Defense": "Defense", + "Dexterity": "Dexterity", + "Dmg": "Dmg", + "Encumbrance": "Encumbrance", + "Equipment": "Equipment", + "Flaws": "Flaws", + "Health": "Health", + "Heavy": "Heavy", + "Initiative": "Initiative", + "Intelligence": "Intelligence", + "Languages": "Languages", + "lbs": "lbs", + "Levels": "Levels", + "Light": "Light", + "Maximum": "Maximum", + "Medium": "Medium", + "Mod": "Mod", + "Modifier": "Modifier", + "Money": "Money", + "More-details": "More details", + "Motivation": "Motivation", + "Move": "Move", + "Notes": "Notes", + "On": "On", + "Perception": "Perception", + "Primary-Attributes": "Primary Attributes", + "Prompt": "Prompt", + "Rate": "Rate", + "Rating": "Rating", + "Resources": "Resources", + "Rng": "Rng", + "Secondary-Attributes": "Secondary Attributes", + "Size": "Size", + "Skills": "Skills", + "Spd": "Spd", + "star-specialized-skill": "* specialized skill", + "Strength": "Strength", + "Stun": "Stun", + "Style": "Style", + "Talents": "Talents", + "Total-Carried": "Total Carried", + "Weapons": "Weapons", + "Weight": "Weight", + "Willpower": "Willpower", + "Wounds": "Wounds" +} \ No newline at end of file diff --git a/HollowEarthExpedition/translations/it.json b/HollowEarthExpedition/translations/it.json new file mode 100644 index 0000000000..56d7748e76 --- /dev/null +++ b/HollowEarthExpedition/translations/it.json @@ -0,0 +1,56 @@ +{ + "Ammo": "Ammo", + "Archetype": "Archetype", + "Attack": "Attack", + "Avg-p": "(Avg)", + "Base": "Base", + "Body": "Body", + "Cap": "Cap", + "Charisma": "Charisma", + "Current": "Current", + "Defense": "Defense", + "Dexterity": "Dexterity", + "Dmg": "Dmg", + "Encumbrance": "Encumbrance", + "Equipment": "Equipment", + "Flaws": "Flaws", + "Health": "Health", + "Heavy": "Heavy", + "Initiative": "Initiative", + "Intelligence": "Intelligence", + "Languages": "Languages", + "lbs": "lbs", + "Levels": "Levels", + "Light": "Light", + "Maximum": "Maximum", + "Medium": "Medium", + "Mod": "Mod", + "Modifier": "Modifier", + "Money": "Money", + "More-details": "More details", + "Motivation": "Motivation", + "Move": "Move", + "Notes": "Notes", + "On": "On", + "Perception": "Perception", + "Primary-Attributes": "Primary Attributes", + "Prompt": "Prompt", + "Rate": "Rate", + "Rating": "Rating", + "Resources": "Resources", + "Rng": "Rng", + "Secondary-Attributes": "Secondary Attributes", + "Size": "Size", + "Skills": "Skills", + "Spd": "Spd", + "star-specialized-skill": "* specialized skill", + "Strength": "Strength", + "Stun": "Stun", + "Style": "Style", + "Talents": "Talents", + "Total-Carried": "Total Carried", + "Weapons": "Weapons", + "Weight": "Weight", + "Willpower": "Willpower", + "Wounds": "Wounds" +} \ No newline at end of file diff --git a/HollowEarthExpedition/translations/ja.json b/HollowEarthExpedition/translations/ja.json new file mode 100644 index 0000000000..56d7748e76 --- /dev/null +++ b/HollowEarthExpedition/translations/ja.json @@ -0,0 +1,56 @@ +{ + "Ammo": "Ammo", + "Archetype": "Archetype", + "Attack": "Attack", + "Avg-p": "(Avg)", + "Base": "Base", + "Body": "Body", + "Cap": "Cap", + "Charisma": "Charisma", + "Current": "Current", + "Defense": "Defense", + "Dexterity": "Dexterity", + "Dmg": "Dmg", + "Encumbrance": "Encumbrance", + "Equipment": "Equipment", + "Flaws": "Flaws", + "Health": "Health", + "Heavy": "Heavy", + "Initiative": "Initiative", + "Intelligence": "Intelligence", + "Languages": "Languages", + "lbs": "lbs", + "Levels": "Levels", + "Light": "Light", + "Maximum": "Maximum", + "Medium": "Medium", + "Mod": "Mod", + "Modifier": "Modifier", + "Money": "Money", + "More-details": "More details", + "Motivation": "Motivation", + "Move": "Move", + "Notes": "Notes", + "On": "On", + "Perception": "Perception", + "Primary-Attributes": "Primary Attributes", + "Prompt": "Prompt", + "Rate": "Rate", + "Rating": "Rating", + "Resources": "Resources", + "Rng": "Rng", + "Secondary-Attributes": "Secondary Attributes", + "Size": "Size", + "Skills": "Skills", + "Spd": "Spd", + "star-specialized-skill": "* specialized skill", + "Strength": "Strength", + "Stun": "Stun", + "Style": "Style", + "Talents": "Talents", + "Total-Carried": "Total Carried", + "Weapons": "Weapons", + "Weight": "Weight", + "Willpower": "Willpower", + "Wounds": "Wounds" +} \ No newline at end of file diff --git a/HollowEarthExpedition/translations/ko.json b/HollowEarthExpedition/translations/ko.json new file mode 100644 index 0000000000..56d7748e76 --- /dev/null +++ b/HollowEarthExpedition/translations/ko.json @@ -0,0 +1,56 @@ +{ + "Ammo": "Ammo", + "Archetype": "Archetype", + "Attack": "Attack", + "Avg-p": "(Avg)", + "Base": "Base", + "Body": "Body", + "Cap": "Cap", + "Charisma": "Charisma", + "Current": "Current", + "Defense": "Defense", + "Dexterity": "Dexterity", + "Dmg": "Dmg", + "Encumbrance": "Encumbrance", + "Equipment": "Equipment", + "Flaws": "Flaws", + "Health": "Health", + "Heavy": "Heavy", + "Initiative": "Initiative", + "Intelligence": "Intelligence", + "Languages": "Languages", + "lbs": "lbs", + "Levels": "Levels", + "Light": "Light", + "Maximum": "Maximum", + "Medium": "Medium", + "Mod": "Mod", + "Modifier": "Modifier", + "Money": "Money", + "More-details": "More details", + "Motivation": "Motivation", + "Move": "Move", + "Notes": "Notes", + "On": "On", + "Perception": "Perception", + "Primary-Attributes": "Primary Attributes", + "Prompt": "Prompt", + "Rate": "Rate", + "Rating": "Rating", + "Resources": "Resources", + "Rng": "Rng", + "Secondary-Attributes": "Secondary Attributes", + "Size": "Size", + "Skills": "Skills", + "Spd": "Spd", + "star-specialized-skill": "* specialized skill", + "Strength": "Strength", + "Stun": "Stun", + "Style": "Style", + "Talents": "Talents", + "Total-Carried": "Total Carried", + "Weapons": "Weapons", + "Weight": "Weight", + "Willpower": "Willpower", + "Wounds": "Wounds" +} \ No newline at end of file diff --git a/HollowEarthExpedition/translations/nl.json b/HollowEarthExpedition/translations/nl.json new file mode 100644 index 0000000000..56d7748e76 --- /dev/null +++ b/HollowEarthExpedition/translations/nl.json @@ -0,0 +1,56 @@ +{ + "Ammo": "Ammo", + "Archetype": "Archetype", + "Attack": "Attack", + "Avg-p": "(Avg)", + "Base": "Base", + "Body": "Body", + "Cap": "Cap", + "Charisma": "Charisma", + "Current": "Current", + "Defense": "Defense", + "Dexterity": "Dexterity", + "Dmg": "Dmg", + "Encumbrance": "Encumbrance", + "Equipment": "Equipment", + "Flaws": "Flaws", + "Health": "Health", + "Heavy": "Heavy", + "Initiative": "Initiative", + "Intelligence": "Intelligence", + "Languages": "Languages", + "lbs": "lbs", + "Levels": "Levels", + "Light": "Light", + "Maximum": "Maximum", + "Medium": "Medium", + "Mod": "Mod", + "Modifier": "Modifier", + "Money": "Money", + "More-details": "More details", + "Motivation": "Motivation", + "Move": "Move", + "Notes": "Notes", + "On": "On", + "Perception": "Perception", + "Primary-Attributes": "Primary Attributes", + "Prompt": "Prompt", + "Rate": "Rate", + "Rating": "Rating", + "Resources": "Resources", + "Rng": "Rng", + "Secondary-Attributes": "Secondary Attributes", + "Size": "Size", + "Skills": "Skills", + "Spd": "Spd", + "star-specialized-skill": "* specialized skill", + "Strength": "Strength", + "Stun": "Stun", + "Style": "Style", + "Talents": "Talents", + "Total-Carried": "Total Carried", + "Weapons": "Weapons", + "Weight": "Weight", + "Willpower": "Willpower", + "Wounds": "Wounds" +} \ No newline at end of file diff --git a/HollowEarthExpedition/translations/pt.json b/HollowEarthExpedition/translations/pt.json new file mode 100644 index 0000000000..56d7748e76 --- /dev/null +++ b/HollowEarthExpedition/translations/pt.json @@ -0,0 +1,56 @@ +{ + "Ammo": "Ammo", + "Archetype": "Archetype", + "Attack": "Attack", + "Avg-p": "(Avg)", + "Base": "Base", + "Body": "Body", + "Cap": "Cap", + "Charisma": "Charisma", + "Current": "Current", + "Defense": "Defense", + "Dexterity": "Dexterity", + "Dmg": "Dmg", + "Encumbrance": "Encumbrance", + "Equipment": "Equipment", + "Flaws": "Flaws", + "Health": "Health", + "Heavy": "Heavy", + "Initiative": "Initiative", + "Intelligence": "Intelligence", + "Languages": "Languages", + "lbs": "lbs", + "Levels": "Levels", + "Light": "Light", + "Maximum": "Maximum", + "Medium": "Medium", + "Mod": "Mod", + "Modifier": "Modifier", + "Money": "Money", + "More-details": "More details", + "Motivation": "Motivation", + "Move": "Move", + "Notes": "Notes", + "On": "On", + "Perception": "Perception", + "Primary-Attributes": "Primary Attributes", + "Prompt": "Prompt", + "Rate": "Rate", + "Rating": "Rating", + "Resources": "Resources", + "Rng": "Rng", + "Secondary-Attributes": "Secondary Attributes", + "Size": "Size", + "Skills": "Skills", + "Spd": "Spd", + "star-specialized-skill": "* specialized skill", + "Strength": "Strength", + "Stun": "Stun", + "Style": "Style", + "Talents": "Talents", + "Total-Carried": "Total Carried", + "Weapons": "Weapons", + "Weight": "Weight", + "Willpower": "Willpower", + "Wounds": "Wounds" +} \ No newline at end of file diff --git a/HollowEarthExpedition/translations/ru.json b/HollowEarthExpedition/translations/ru.json new file mode 100644 index 0000000000..56d7748e76 --- /dev/null +++ b/HollowEarthExpedition/translations/ru.json @@ -0,0 +1,56 @@ +{ + "Ammo": "Ammo", + "Archetype": "Archetype", + "Attack": "Attack", + "Avg-p": "(Avg)", + "Base": "Base", + "Body": "Body", + "Cap": "Cap", + "Charisma": "Charisma", + "Current": "Current", + "Defense": "Defense", + "Dexterity": "Dexterity", + "Dmg": "Dmg", + "Encumbrance": "Encumbrance", + "Equipment": "Equipment", + "Flaws": "Flaws", + "Health": "Health", + "Heavy": "Heavy", + "Initiative": "Initiative", + "Intelligence": "Intelligence", + "Languages": "Languages", + "lbs": "lbs", + "Levels": "Levels", + "Light": "Light", + "Maximum": "Maximum", + "Medium": "Medium", + "Mod": "Mod", + "Modifier": "Modifier", + "Money": "Money", + "More-details": "More details", + "Motivation": "Motivation", + "Move": "Move", + "Notes": "Notes", + "On": "On", + "Perception": "Perception", + "Primary-Attributes": "Primary Attributes", + "Prompt": "Prompt", + "Rate": "Rate", + "Rating": "Rating", + "Resources": "Resources", + "Rng": "Rng", + "Secondary-Attributes": "Secondary Attributes", + "Size": "Size", + "Skills": "Skills", + "Spd": "Spd", + "star-specialized-skill": "* specialized skill", + "Strength": "Strength", + "Stun": "Stun", + "Style": "Style", + "Talents": "Talents", + "Total-Carried": "Total Carried", + "Weapons": "Weapons", + "Weight": "Weight", + "Willpower": "Willpower", + "Wounds": "Wounds" +} \ No newline at end of file diff --git a/HollowEarthExpedition/translations/sv.json b/HollowEarthExpedition/translations/sv.json new file mode 100644 index 0000000000..56d7748e76 --- /dev/null +++ b/HollowEarthExpedition/translations/sv.json @@ -0,0 +1,56 @@ +{ + "Ammo": "Ammo", + "Archetype": "Archetype", + "Attack": "Attack", + "Avg-p": "(Avg)", + "Base": "Base", + "Body": "Body", + "Cap": "Cap", + "Charisma": "Charisma", + "Current": "Current", + "Defense": "Defense", + "Dexterity": "Dexterity", + "Dmg": "Dmg", + "Encumbrance": "Encumbrance", + "Equipment": "Equipment", + "Flaws": "Flaws", + "Health": "Health", + "Heavy": "Heavy", + "Initiative": "Initiative", + "Intelligence": "Intelligence", + "Languages": "Languages", + "lbs": "lbs", + "Levels": "Levels", + "Light": "Light", + "Maximum": "Maximum", + "Medium": "Medium", + "Mod": "Mod", + "Modifier": "Modifier", + "Money": "Money", + "More-details": "More details", + "Motivation": "Motivation", + "Move": "Move", + "Notes": "Notes", + "On": "On", + "Perception": "Perception", + "Primary-Attributes": "Primary Attributes", + "Prompt": "Prompt", + "Rate": "Rate", + "Rating": "Rating", + "Resources": "Resources", + "Rng": "Rng", + "Secondary-Attributes": "Secondary Attributes", + "Size": "Size", + "Skills": "Skills", + "Spd": "Spd", + "star-specialized-skill": "* specialized skill", + "Strength": "Strength", + "Stun": "Stun", + "Style": "Style", + "Talents": "Talents", + "Total-Carried": "Total Carried", + "Weapons": "Weapons", + "Weight": "Weight", + "Willpower": "Willpower", + "Wounds": "Wounds" +} \ No newline at end of file diff --git a/HollowEarthExpedition/translations/tr.json b/HollowEarthExpedition/translations/tr.json new file mode 100644 index 0000000000..56d7748e76 --- /dev/null +++ b/HollowEarthExpedition/translations/tr.json @@ -0,0 +1,56 @@ +{ + "Ammo": "Ammo", + "Archetype": "Archetype", + "Attack": "Attack", + "Avg-p": "(Avg)", + "Base": "Base", + "Body": "Body", + "Cap": "Cap", + "Charisma": "Charisma", + "Current": "Current", + "Defense": "Defense", + "Dexterity": "Dexterity", + "Dmg": "Dmg", + "Encumbrance": "Encumbrance", + "Equipment": "Equipment", + "Flaws": "Flaws", + "Health": "Health", + "Heavy": "Heavy", + "Initiative": "Initiative", + "Intelligence": "Intelligence", + "Languages": "Languages", + "lbs": "lbs", + "Levels": "Levels", + "Light": "Light", + "Maximum": "Maximum", + "Medium": "Medium", + "Mod": "Mod", + "Modifier": "Modifier", + "Money": "Money", + "More-details": "More details", + "Motivation": "Motivation", + "Move": "Move", + "Notes": "Notes", + "On": "On", + "Perception": "Perception", + "Primary-Attributes": "Primary Attributes", + "Prompt": "Prompt", + "Rate": "Rate", + "Rating": "Rating", + "Resources": "Resources", + "Rng": "Rng", + "Secondary-Attributes": "Secondary Attributes", + "Size": "Size", + "Skills": "Skills", + "Spd": "Spd", + "star-specialized-skill": "* specialized skill", + "Strength": "Strength", + "Stun": "Stun", + "Style": "Style", + "Talents": "Talents", + "Total-Carried": "Total Carried", + "Weapons": "Weapons", + "Weight": "Weight", + "Willpower": "Willpower", + "Wounds": "Wounds" +} \ No newline at end of file diff --git a/HollowEarthExpedition/translations/zh.json b/HollowEarthExpedition/translations/zh.json new file mode 100644 index 0000000000..56d7748e76 --- /dev/null +++ b/HollowEarthExpedition/translations/zh.json @@ -0,0 +1,56 @@ +{ + "Ammo": "Ammo", + "Archetype": "Archetype", + "Attack": "Attack", + "Avg-p": "(Avg)", + "Base": "Base", + "Body": "Body", + "Cap": "Cap", + "Charisma": "Charisma", + "Current": "Current", + "Defense": "Defense", + "Dexterity": "Dexterity", + "Dmg": "Dmg", + "Encumbrance": "Encumbrance", + "Equipment": "Equipment", + "Flaws": "Flaws", + "Health": "Health", + "Heavy": "Heavy", + "Initiative": "Initiative", + "Intelligence": "Intelligence", + "Languages": "Languages", + "lbs": "lbs", + "Levels": "Levels", + "Light": "Light", + "Maximum": "Maximum", + "Medium": "Medium", + "Mod": "Mod", + "Modifier": "Modifier", + "Money": "Money", + "More-details": "More details", + "Motivation": "Motivation", + "Move": "Move", + "Notes": "Notes", + "On": "On", + "Perception": "Perception", + "Primary-Attributes": "Primary Attributes", + "Prompt": "Prompt", + "Rate": "Rate", + "Rating": "Rating", + "Resources": "Resources", + "Rng": "Rng", + "Secondary-Attributes": "Secondary Attributes", + "Size": "Size", + "Skills": "Skills", + "Spd": "Spd", + "star-specialized-skill": "* specialized skill", + "Strength": "Strength", + "Stun": "Stun", + "Style": "Style", + "Talents": "Talents", + "Total-Carried": "Total Carried", + "Weapons": "Weapons", + "Weight": "Weight", + "Willpower": "Willpower", + "Wounds": "Wounds" +} \ No newline at end of file diff --git a/HollowEarthExpedition/translations/zu.json b/HollowEarthExpedition/translations/zu.json new file mode 100644 index 0000000000..85ac0f9445 --- /dev/null +++ b/HollowEarthExpedition/translations/zu.json @@ -0,0 +1,56 @@ +{ + "Ammo": "crwdns82658:0crwdne82658:0", + "Archetype": "crwdns82660:0crwdne82660:0", + "Attack": "crwdns82662:0crwdne82662:0", + "Avg-p": "crwdns82664:0crwdne82664:0", + "Base": "crwdns82666:0crwdne82666:0", + "Body": "crwdns82668:0crwdne82668:0", + "Cap": "crwdns82670:0crwdne82670:0", + "Charisma": "crwdns82672:0crwdne82672:0", + "Current": "crwdns82674:0crwdne82674:0", + "Defense": "crwdns82676:0crwdne82676:0", + "Dexterity": "crwdns82678:0crwdne82678:0", + "Dmg": "crwdns82680:0crwdne82680:0", + "Encumbrance": "crwdns82682:0crwdne82682:0", + "Equipment": "crwdns82684:0crwdne82684:0", + "Flaws": "crwdns82686:0crwdne82686:0", + "Health": "crwdns82688:0crwdne82688:0", + "Heavy": "crwdns82690:0crwdne82690:0", + "Initiative": "crwdns82692:0crwdne82692:0", + "Intelligence": "crwdns82694:0crwdne82694:0", + "Languages": "crwdns82696:0crwdne82696:0", + "lbs": "crwdns82698:0crwdne82698:0", + "Levels": "crwdns82700:0crwdne82700:0", + "Light": "crwdns82702:0crwdne82702:0", + "Maximum": "crwdns82704:0crwdne82704:0", + "Medium": "crwdns82706:0crwdne82706:0", + "Mod": "crwdns82708:0crwdne82708:0", + "Modifier": "crwdns82710:0crwdne82710:0", + "Money": "crwdns82712:0crwdne82712:0", + "More-details": "crwdns82714:0crwdne82714:0", + "Motivation": "crwdns82716:0crwdne82716:0", + "Move": "crwdns82718:0crwdne82718:0", + "Notes": "crwdns82720:0crwdne82720:0", + "On": "crwdns82722:0crwdne82722:0", + "Perception": "crwdns82724:0crwdne82724:0", + "Primary-Attributes": "crwdns82726:0crwdne82726:0", + "Prompt": "crwdns82728:0crwdne82728:0", + "Rate": "crwdns82730:0crwdne82730:0", + "Rating": "crwdns82732:0crwdne82732:0", + "Resources": "crwdns82734:0crwdne82734:0", + "Rng": "crwdns82736:0crwdne82736:0", + "Secondary-Attributes": "crwdns82738:0crwdne82738:0", + "Size": "crwdns82740:0crwdne82740:0", + "Skills": "crwdns82742:0crwdne82742:0", + "Spd": "crwdns82744:0crwdne82744:0", + "star-specialized-skill": "crwdns82746:0crwdne82746:0", + "Strength": "crwdns82748:0crwdne82748:0", + "Stun": "crwdns82750:0crwdne82750:0", + "Style": "crwdns82752:0crwdne82752:0", + "Talents": "crwdns82754:0crwdne82754:0", + "Total-Carried": "crwdns82756:0crwdne82756:0", + "Weapons": "crwdns82758:0crwdne82758:0", + "Weight": "crwdns82760:0crwdne82760:0", + "Willpower": "crwdns82762:0crwdne82762:0", + "Wounds": "crwdns82764:0crwdne82764:0" +} \ No newline at end of file diff --git a/L5R Fantasy Flight Games/translations/fr.json b/L5R Fantasy Flight Games/translations/fr.json index 8947e6bb23..c685e8e81c 100644 --- a/L5R Fantasy Flight Games/translations/fr.json +++ b/L5R Fantasy Flight Games/translations/fr.json @@ -1,75 +1,75 @@ { - "character-name-u": "Character Name:", - "clan-u": "Clan:", - "family-u": "Family", - "school-u": "School", - "rank-u": "Rank", - "player-u": "Player Name:", + "character-name-u": "Nom du Personnage:", + "clan-u": "Clan :", + "family-u": "Famille", + "school-u": "École", + "rank-u": "Rang", + "player-u": "Nom du joueur:", "techtypes-u": "Technique Types Available:", - "narrative-u": "Narrative Mode", - "conflict-u": "Conflict Mode", - "advance-u": "Advancement", - "campaign-u": "Campaign Sheet", - "20questions-u": "20 Questions", - "npcs-u": "NPC Sheet", + "narrative-u": "Mode narratif", + "conflict-u": "Mode de conflit", + "advance-u": "Avancement", + "campaign-u": "Feuille de campagne", + "20questions-u": "20 questions", + "npcs-u": "Feuille de PNJ", "air-u": "Air", - "earth-u": "Earth", - "fire-u": "Fire", - "water-u": "Water", - "void-u": "Void", - "skill-name-u": "Skill Name", - "roll-u": "+Skill", - "keep-u": "+Ring", - "ring-u": "Ring:", - "skill-u": "Skill:", - "modifiers-u": "Modifiers:", - "modifiers-nocolon-u": "Modifiers", - "approach-u": "Approach", - "aesthetics-u": "Aesthetics", + "earth-u": "Terre", + "fire-u": "Feu", + "water-u": "Eau", + "void-u": "Vide", + "skill-name-u": "Nom de la Compétence", + "roll-u": "+Compétence", + "keep-u": "+Anneau", + "ring-u": "Anneau:", + "skill-u": "Compétence:", + "modifiers-u": "Modificateurs:", + "modifiers-nocolon-u": "Modificateurs", + "approach-u": "Approche", + "aesthetics-u": "Esthétique", "composition-u": "Composition", "design-u": "Design", - "smithing-u": "Smithing", + "smithing-u": "Forge", "artisan-skills-u": "Artisan Skills", - "martial-skills-u": "Martial Skills", + "martial-skills-u": "Compétences martiales", "fitness-u": "Fitness", "martial_arts_melee-u": "M.A. [Melee]", "martial_arts_ranged-u": "M.A. [Ranged]", "martial_arts_unarmed-u": "M.A. [Unarmed]", - "meditation-u": "Meditation", - "tactics-u": "Tactics", - "social-skills-u": "Social Skills", - "command-u": "Command", - "courtesy-u": "Courtesy", - "games-u": "Games", - "performance-u": "Performance", + "meditation-u": "Méditation", + "tactics-u": "Tactique", + "social-skills-u": "Compétences sociales", + "command-u": "Commandement", + "courtesy-u": "Courtoisie", + "games-u": "Jeux", + "performance-u": "Représentation", "scholar-skills-u": "Scholar Skills", "culture-u": "Culture", - "government-u": "Government", + "government-u": "Gouvernement", "sentiment-u": "Sentiment", - "theology-u": "Theology", - "medicine-u": "Medicine", + "theology-u": "Théologie", + "medicine-u": "Médecine", "trade-skills-u": "Trade Skills", "survival-u": "Survival", "commerce-u": "Commerce", "labor-u": "Labor", "seafaring-u": "Seafaring", "skulduggery-u": "Skulduggery", - "honor-u": "Honor", - "glory-u": "Glory", + "honor-u": "Honneur", + "glory-u": "Gloire", "status-u": "Status", "ninjo-u": "Ninjō", "ninjo-colon-u": "Ninjō:", "giri-u": "Giri", "giri-colon-u": "Giri:", - "titles-u": "Titles", + "titles-u": "Titres", "roller-u": "Roller", "symbolkey-u": "Symbol Key", - "success-u": "Success", - "explosivesuccess-u": "Explosive Success", - "opportunity-u": "Opportunities", + "success-u": "Succès", + "explosivesuccess-u": "Succès explosif", + "opportunity-u": "Opportunités", "strife-u": "Strife", - "socialstatus-u": "Social Status", - "advantagesanddisadvantages-u": "Advantages and Disadvantages", + "socialstatus-u": "Statut social", + "advantagesanddisadvantages-u": "Advantages &aml; Disadvantages", "distinctions-u": "DISTINCTIONS: Reroll up to two dice of your choice when a distinction helps you on a check.", "adversities-u": "ADVERSITIES: Reroll two dice showing success or explossive success results when a flaw hinders you on a check. Then, if you failed, regain 1 Void point.", "passions-u": "PASSIONS: After performing a check related to your passion, remove 3 strife.", @@ -85,8 +85,8 @@ "fire-stance-u": "Fire Stance (conflict only): If you succeed, increase your degrees of success by 1 for each strife result.", "water-stance-u": "Water Stance (conflict only): During your turn, you may perform 1 additional action that does not require a check.", "void-stance-u": "Void Stance (conflict only): You do not gain Strife from strife results on checks.", - "advantages-u": "Advantages", - "disadvantages-u": "Disadvantages", + "advantages-u": "Avantages", + "disadvantages-u": "Désavantages", "school-ability-u": "School Ability", "derivative-attributes-u": "Derivative Attributes", "endurance-u": "Endurance", @@ -98,12 +98,12 @@ "max-void-u": "Max Void", "current-u": "Cur Void", "conditions-u": "Conditions", - "weapons-u": "Weapons", - "armor-u": "Armor", - "name-u": "Name", - "damage-u": "Damage", + "weapons-u": "Armes", + "armor-u": "Armure", + "name-u": "Nom", + "damage-u": "Dégât", "deadliness-u": "Deadliness", - "range-u": "Range", + "range-u": "Portée", "protection-type-u": "Protection Type (Resistance)", "physical-resistance-u": "Phy Resistance", "supernatural-resistance-u": "Sup Resistance", @@ -128,8 +128,8 @@ "disadvantages-colon-u": "Disadvatages:", "demeanor-u": "Demeanor:", "typical-unmasking-u": "Typical Unmasking:", - "honor-colon-u": "Honor:", - "glory-colon-u": "Glory:", + "honor-colon-u": "Honneur:", + "glory-colon-u": "Gloire:", "status-colon-u": "Status:", "abilities-colon-u": "Abilities: ", "gear-equiped-u": "Gear (equipped):", diff --git a/L5R/translations/fr.json b/L5R/translations/fr.json index 7f6c8f707f..6e8db7f24d 100644 --- a/L5R/translations/fr.json +++ b/L5R/translations/fr.json @@ -141,7 +141,7 @@ "sleight-of-hand-u": "Passe-Passe", "stealth-u": "Discrétion", "temptation-u": "Tentation", - "melee-weapons-u": "Armes de Mélée", + "melee-weapons-u": "Armes de Mêlée", "weapon-u": "Arme", "skill-u": "Compétence", "attack-bonus-roll-u": "Jet d'attaque", @@ -174,20 +174,20 @@ "cast-u": "Lancement", "sentence-spell-warning-u": "Assurez-vous que chaque anneaux aient la même valeur. Autrement, les affinités seront mal affichées.", "school-u?": "École?", - "attack-bonus-added-u": "Flat Attack Bonus", - "weapon-damage-bonus-u": "Flat Damage Bonus", + "attack-bonus-added-u": "Bonus à l'Attaque Fixe", + "weapon-damage-bonus-u": "Bonus aux dégâts fixe", "simple-u": "Action simple ?", "bow-bonus-added-u": "Flat Bow Bonus", "total-experience-u": "Expérience Totale", "available-experience-u": "Expérience disponible", - "calculate-rank-u": "Calulate Rank", + "calculate-rank-u": "Calculer le rang", "additional-ranks-u": "Rangs supplémentaires", "type-u": "Type", "roll-keep-bonus-u": "Roll/Keep Bonus", "additional-+-u": "Additionnel +", "bonus-wounds-u": "+Niveau de blessure", "penalty-u": "Pénalité", - "equipment-u": "Equipment and Money", + "equipment-u": "Équipement et argent", "allies-enemies-u": "Alliés et ennemis", "description-u": "Description :", "universal-u": "Universel", diff --git a/Lames du Cardinal/ldc.html b/Lames du Cardinal/ldc.html index 521414a031..ce4c45d5b2 100644 --- a/Lames du Cardinal/ldc.html +++ b/Lames du Cardinal/ldc.html @@ -3,135 +3,134 @@
-
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ + + + + + + + + + +
-
- - - - - - - - - - -
-
-
-
+
+
-
-
- - - - -
-
- - - - -
-
- - - - -
-
- - - - -
-
- - - -
+
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + + +
+
+ + + +
-
+
-
-
- - -
-
-
+
+
+ + +
+
-
- +
+
@@ -139,34 +138,17 @@
-

-
- - -
-
- - -
-
- - -
-
- -
- - -
- - - - - - - - - - - -
+

+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file diff --git a/Metal Adventures/MetalAdventures.css b/Metal Adventures/MetalAdventures.css index 01b997a331..1e01ce105f 100644 --- a/Metal Adventures/MetalAdventures.css +++ b/Metal Adventures/MetalAdventures.css @@ -120,6 +120,16 @@ input[type='number'] { text-align: right; } +input[type='number'].sheet-great { + width: 60px !important; + text-align: right; +} + +input[type='number'].sheet-great100 { + width: 100px !important; + text-align: right; +} + .sheet-number-title { width: 40px; text-align: center; diff --git a/Metal Adventures/MetalAdventures.html b/Metal Adventures/MetalAdventures.html index 10b6cc6b6d..ccacdd55e0 100644 --- a/Metal Adventures/MetalAdventures.html +++ b/Metal Adventures/MetalAdventures.html @@ -102,9 +102,9 @@
- - - + + +
@@ -748,8 +748,8 @@ - - + + @@ -911,15 +911,17 @@
-
-
- Traits -
+
+
Les traits
- - + + +
@@ -949,8 +951,8 @@ - - + + @@ -1010,7 +1012,7 @@
- +
Vaisseau
@@ -1024,31 +1026,86 @@ Vaisseau militaire
+ +
+ + +
+ +
+ + K/t +
+ +
+ + US/h + ( US/j) +
+ +
+ + PC +
+ +
+ + +
+ +
+ + +
+ +
+ + ¢ +
+ +
+ + +
+
@@ -1093,18 +1150,24 @@
+
+ + K + ( US) +
+
Armes
- + + + + + + X @@ -1116,7 +1179,7 @@ - +
@@ -1126,24 +1189,17 @@
Équipage
- X - X + - - - - -
@@ -1402,6 +1458,18 @@ on("change:pnjTrempePointBase change:pnjSurviePointBase change:repeating_pnjSant + +on("change:shipCoque", function() { + getAttrs(["shipCoque"], function(v) { + setAttrs({ + shipIndemne_max: +v.shipCoque, + shipBlesseLeger_max: +v.shipCoque, + shipBlesseGrave_max: +v.shipCoque, + shipMort_max: +v.shipCoque, + }); + }); +}); + diff --git a/Metal Adventures/sheet.json b/Metal Adventures/sheet.json index 2197e44bbd..df63dc13e1 100644 --- a/Metal Adventures/sheet.json +++ b/Metal Adventures/sheet.json @@ -4,5 +4,5 @@ "authors": "Jaufré Devosse", "preview": "Screenshot.jpg", "roll20userid": "1641403", - "instructions": "Version 1.0 of Metal Adventures CharacterSheet. This version manage only PJ" + "instructions": "Version 2.0 of Metal Adventures CharacterSheet. This version manage PJ, PNJ and Ships" } \ No newline at end of file diff --git a/Mutants and Masterminds 3E/mutants-and-masterminds.css b/Mutants and Masterminds 3E/mutants-and-masterminds.css index 1bb38f605b..8501e70473 100644 --- a/Mutants and Masterminds 3E/mutants-and-masterminds.css +++ b/Mutants and Masterminds 3E/mutants-and-masterminds.css @@ -1,8 +1,59 @@ +input[type="text"].sheet-output-message { + position:absolute; + z-index:101; + top: 0; + left: 0; + right: 0; + width: 100%; + border: none; + background: #FFEE88; + text-align: center; +} +.sheet-hide-output { + position:absolute; + z-index: 103; + right: 6px; + top: 6px; + width:auto; +} +input.sheet-hide-output { + opacity:0; +} +input[type="checkbox"].sheet-hide-output + span::before { + position:absolute; + z-index: 102; + right: 7px; + top: 2px; + text-align: center; + display: inline-block; + + content: "x"; + width: auto; + height: 10px; + font-size: 20px; +} + +input.sheet-hide-output:checked { + display:none; +} +input.sheet-hide-output:checked + span { + display:none; +} +input.sheet-hide-output:checked ~ .sheet-output-message { + display:none; +} + +input.sheet-no-border { + border:none; + background:none; + box-shadow:unset; +} + .sheet-macro-show:not(:checked)~.sheet-macro { display:none; } -input[type="checkbox"] + span::before +input[type="checkbox"].sheet-macro-show + span::before { margin-right: 4px; line-height: 10px; @@ -15,11 +66,18 @@ input[type="checkbox"] + span::before height: 10px; font-size: 10px; } -input[type="checkbox"]:checked + span::before +input[type="checkbox"].sheet-macro-show:checked + span::before { content: "▼"; } +.sheet-secret-macro-show { + display:none; +} +.sheet-secret-macro-show:not(:checked)~.sheet-macro { + display:none; +} + hr { border-color:black; } @@ -48,6 +106,22 @@ hr { vertical-align:middle; } +label.sheet-table-checkbox { + clear: both; + float: none; + position: relative; + display: inline-block; + width: auto; +} +label.sheet-table-checkbox input { + width:auto; + display:inline-block; +} +label.sheet-table-checkbox span { + display:inline-block; + font-size:13px; +} + input[type="text"], select { width:100%; margin:0; @@ -203,6 +277,7 @@ input, select { width:100%; } .sheet-section-powers, .sheet-section-advantages, .sheet-section-equipment, +.sheet-section-wealth, .sheet-section-details, .sheet-section-points, .sheet-section-modifiers, diff --git a/Mutants and Masterminds 3E/mutants-and-masterminds.html b/Mutants and Masterminds 3E/mutants-and-masterminds.html index ae32efc75e..a5cd4dc40b 100644 --- a/Mutants and Masterminds 3E/mutants-and-masterminds.html +++ b/Mutants and Masterminds 3E/mutants-and-masterminds.html @@ -1,3 +1,413 @@ + + + + +

@@ -639,10 +1049,17 @@
- - + + - + +  Options   + +
+ + + +

@@ -654,19 +1071,31 @@  Advantages
- +

+ +
+
+  Wealth +
+ + + +
+
+
 Equipment, Vehicles, and Headquarters
+
diff --git a/Mutants and Masterminds 3E/sheet.json b/Mutants and Masterminds 3E/sheet.json index 154b67f046..01cd85337b 100644 --- a/Mutants and Masterminds 3E/sheet.json +++ b/Mutants and Masterminds 3E/sheet.json @@ -1,8 +1,8 @@ { "html": "mutants-and-masterminds.html", "css": "mutants-and-masterminds.css", - "authors": "Samuel Marino, Floyd Grubb", - "roll20userid": "63511, 1670", + "authors": "Samuel Marino, Floyd Grubb, Joseph Cloutier", + "roll20userid": "63511, 1670, 1248601", "preview": "mutants-and-masterminds-preview.jpg", "instructions": "" } diff --git a/Pathfinder Official/translations/de.json b/Pathfinder Official/translations/de.json index 01b0e0d0f4..ef9492d9a7 100644 --- a/Pathfinder Official/translations/de.json +++ b/Pathfinder Official/translations/de.json @@ -1,7 +1,7 @@ { - "additional-attacks:": "Additional Attacks:", + "additional-attacks:": "Weitere Angriffe:", "extra": "Extra", - "off-hand-rapid-shot": "Off-hand/Rapid Shot", + "off-hand-rapid-shot": "Nebenhand/ Schnellschuß", "fob": "Flut von Schlägen", "return-to:": "Zurück zu:", "edit-sheet": "Bogen direkt bearbeiten", diff --git a/Pathfinder Official/translations/zh.json b/Pathfinder Official/translations/zh.json index 5d221c820a..75d13cb03a 100644 --- a/Pathfinder Official/translations/zh.json +++ b/Pathfinder Official/translations/zh.json @@ -1,16 +1,16 @@ { - "additional-attacks:": "Additional Attacks:", + "additional-attacks:": "額外攻擊:", "extra": "Extra", - "off-hand-rapid-shot": "Off-hand/Rapid Shot", + "off-hand-rapid-shot": "副手/快速射擊", "fob": "疾風連擊", "return-to:": "Return to:", - "edit-sheet": "Edit sheet directly", + "edit-sheet": "直接編輯角色卡", "npc-new": "創建 NPC", "mancer-confirm-yes": "使用Charactermancer", - "do_you_want_mancer": "How do you want to create this character?", + "do_you_want_mancer": "你想怎麼創造此角色?", "skills-notes": "技能註記", "mr-u": "MR", - "per-lvl": "Per Lvl", + "per-lvl": "每等級", "per-level": "每等級", "classes": "職業", "skill-points": "Skill Points", @@ -616,7 +616,7 @@ "temp-adjustment": "臨時調整", "temporaray-hp": "Temporary HP", "tiny": "超小型", - "to:": "to:", + "to:": "到:", "total": "總共", "total-bonus": "總加值", "total-ranks": "總級數", diff --git a/Pathfinder Playtest/translations/fr.json b/Pathfinder Playtest/translations/fr.json index f7a4358166..4165a7a5a3 100644 --- a/Pathfinder Playtest/translations/fr.json +++ b/Pathfinder Playtest/translations/fr.json @@ -19,10 +19,10 @@ "pc": "PJ", "senses": "SENS", "update-pilot": "MISE À JOUR PILOTE", - "physical_track": "PHYSICAL TRACK", - "mental_track": "MENTAL TRACK", - "strength_track": "STRENGTH TRACK", - "dexterity_track": "DEXTERITY TRACK", + "physical_track": "ÉCHELLE PHYSIQUE", + "mental_track": "ÉCHELLE MENTALE", + "strength_track": "ÉCHELLE DE FORCE", + "dexterity_track": "ÉCHELLE DE DÉXTERITÉ", "constitution_track": "CONSTITUTION TRACK", "intelligence_track": "INTELLIGENCE TRACK", "wisdom_track": "WISDOM TRACK", @@ -33,8 +33,8 @@ "sensor-bonus": "SENSOR BONUS", "update-pilot-tooltip": "Pull piloting ranks from the opened pilot's sheet", "weakened": "AFFAIBLI", - "impaired": "IMPAIRED", - "debilitated": "DEBILITATED", + "impaired": "HANDICAPÉ", + "debilitated": "DÉFAILLANT", "bedridden": "CLOUÉ AU LIT", "comatose": "COMATEUX", "dead": "MORT", @@ -46,16 +46,16 @@ "staggered": "CHANCELANT", "immobile": "IMMOBILE", "dexterity-poison": "POISON DE DEXTÉRITÉ", - "sluggish": "SLUGGISH", - "stiffened": "STIFFENED", + "sluggish": "APATHIQUE", + "stiffened": "RAIDI", "constitution-poison": "POISON DE CONSTITUTION", "unconscious": "INCONSCIENT", "intelligence-poison": "POISON D’INTELLIGENCE", - "animalistic": "ANIMALISTIC", + "animalistic": "BESTIAL", "wisdom-poison": "POISON DE SAGESSE", "confused": "CONFUS", "charisma-poison": "POISON DE CHARISME", - "pliable": "PLIABLE", + "pliable": "MALLÉABLE", "catatonic": "CATATONIQUE", "asleep": "ENDORMI", "bleeding": "SAIGNEMENT", @@ -77,32 +77,32 @@ "helpless": "IMPUISSANT", "nauseated": "NAUSSÉEUX", "negative_levels": "NIVEAUX NEGATIFS", - "off_kilter": "OFF-KILTER", - "off_target": "OFF-TARGET", - "overburdened": "OVERBURDENED", - "panicked": "PANICKED", - "paralyzed": "PARALYZED", - "pinned": "PINNED", - "prone": "PRONE", - "shaken": "SHAKEN", - "sickened": "SICKENED", + "off_kilter": "EN APESENTEUR", + "off_target": "IMPRÉCIS", + "overburdened": "SURCHARGÉ", + "panicked": "PANIQUÉ", + "paralyzed": "PARALYSÉ", + "pinned": "IMMOBILISÉ", + "prone": "À TERRE", + "shaken": "SECOUÉ", + "sickened": "FIÉVREUX", "stable": "STABLE", - "stunned": "STUNNED", - "ancestry-details": "ANCESTRY DETAILS", - "npc": "NPC", - "ship": "SHIP", + "stunned": "ÉTOURDI", + "ancestry-details": "DÉTAILS DES ANCÊTRES", + "npc": "PNJ", + "ship": "VAISSEAU", "drone": "DRONE", - "house-rules": "HOUSE RULES", - "resolve": "RESOLVE", - "key-ability": "KEY ABILITY", - "highest-ability": "HIGHEST ABILITY", + "house-rules": "RÈGLES MAISON", + "resolve": "PERSÉVÉRANCE", + "key-ability": "CARACTÉRISTIQUE ESSENTIELLE", + "highest-ability": "PLUS HAUTE CARACTÉRISTIQUE", "buff-stacking": "BUFF STACKING", "half-specialization-weapons": "HALF SPECIALIZATION WEAPONS", "character": "PERSONNAGE", "class": "CLASSE", "char-name-u": "NOM DU PERSONNAGE", "class-level": "CLASSE/NIVEAU", - "ancestry": "ANCESTRY", + "ancestry": "ANCÊTRES", "hp": "PV", "theme": "THÈME", "size": "TAILLE", @@ -123,16 +123,16 @@ "skills": "COMPÉTENCES", "abi": "ABI", "spell": "SORT", - "poor": "POOR", - "good": "GOOD", + "poor": "PAUVRE", + "good": "BON", "menus": "MENUS", "initiative": "INITIATIVE", - "attacks": "ATTACKS", - "attack": "ATTACK", - "damage": "DAMAGE", + "attacks": "ATTAQUES", + "attack": "ATTAQUE", + "damage": "DÉGÂTS", "saves": "SAUVEGARDES", - "abilities-u": "ABILITIES", - "ability-checks": "ABILITY CHECKS", + "abilities-u": "CARACTÉRISTIQUES", + "ability-checks": "TESTS DE CARACTÉRISTIQUE", "buffs": "BONUS", "mods": "MODS", "ability-scores": "VALEURS DES CARACTÉRISTIQUES", @@ -239,17 +239,17 @@ "based-dc_": "Based DC ", "fort-save": "FORT SAVE", "ref-save": "REF SAVE", - "will-save": "WILL SAVE", + "will-save": "JET DE VOLONTÉ", "A-Sucessful-Save:": "A Sucessful Save:", "spellclasses": "SPELLCLASSES", - "ability": "ABILITY", - "progress": "PROGRESS", + "ability": "CARACTÉRISTIQUE", + "progress": "PROGRÈS", "spells-per-day": "SPELLS PER DAY", - "1st-level": "1st LEVEL", - "school": "SCHOOL", - "str": "STR", - "4th-level": "4th LEVEL", - "7th-level": "7th LEVEL", + "1st-level": "1er NIVEAU", + "school": "ÉCOLE", + "str": "FOR", + "4th-level": "4ème NIVEAU", + "7th-level": "7ème NIVEAU", "2nd-level": "2ème NIVEAU", "5th-level": "5ème NIVEAU", "8th-level": "8ème NIVEAU", @@ -269,7 +269,7 @@ "sr": "RM", "resistances": "RÉSISTANCES", "weaknesses": "FAIBLESSES", - "offense": "OFFENSE", + "offense": "OFFENSIF", "space": "ESPACE", "reach": "PORTÉE", "spells-known": "SORTS CONNUS", @@ -277,13 +277,13 @@ "statistics": "STATISTIQUES", "feats": "DONS", "other-abilities": "AUTRES CAPACITÉS", - "gear": "GEAR", + "gear": "ÉQUIPEMENT", "ecology": "ÉCOLOGIE", "environment": "ENVIRONNEMENT", "organization": "ORGANISATION", "tactics": "TACTIQUES", "special-abilities": "CAPACITÉS SPÉCIALES", - "purpose": "PURPOSE", + "purpose": "USAGE", "import": "IMPORT", "export": "EXPORT", "paizo-statblock": "PAIZO STATBLOCK", @@ -293,12 +293,12 @@ "tier": "TIER", "make-and-model": "MAKE AND MODEL", "frame": "FRAME", - "maneuverability": "MANEUVERABILITY", + "maneuverability": "MANŒUVRABILITÉ", "drift-rating": "DRIFT RATING", - "crew": "CREW", - "captain": "CAPTAIN", - "engineer": "ENGINEER", - "pilot": "PILOT", + "crew": "ÉQUIPAGE", + "captain": "CAPITAINE", + "engineer": "INGÉNIEUR", + "pilot": "PILOTE", "gunner": "GUNNER", "gunnery": "GUNNERY", "science-officer": "SCIENCE OFFICER ", diff --git a/Pathfinder Playtest/translations/zh.json b/Pathfinder Playtest/translations/zh.json index 312750acf5..a7cd5a7aa9 100644 --- a/Pathfinder Playtest/translations/zh.json +++ b/Pathfinder Playtest/translations/zh.json @@ -352,7 +352,7 @@ "save": "SAVE", "dc": "DC", "save-effect:": "豁免效果:", - "notes:": "NOTES:", + "notes:": "註記:", "level": "等級 ", "roll-crit": "ROLL CRITICAL EFFECT", "random-crit": "APPLY RANDOM CRITICAL EFFECT", @@ -523,9 +523,9 @@ "material-abbrv": "M", "spell point cost": "Spell Point Cost", "hp abilities": "hp abilities", - "ac notes": "AC Notes", - "save notes": "Save Notes", - "skill notes": "Skill Notes", + "ac notes": "AC註記", + "save notes": "豁免註記", + "skill notes": "技能註記", "lore": "LORE", "interaction abilities": "Interaction Abilities", "casting time": "Casting Time", diff --git a/Polaris/translations/fr.json b/Polaris/translations/fr.json index 9ae9bde837..abfeff306c 100644 --- a/Polaris/translations/fr.json +++ b/Polaris/translations/fr.json @@ -265,7 +265,7 @@ "maximum-speed": "Allure max", "mechanic": "Mécanique", "melee": "Contact", - "melee-attack": "Attaque Mélée", + "melee-attack": "Attaque de Mêlée", "melee-damage-modifier": "Modif. de dommages (cont.)", "meleeWeapons": "ARMES (CONTACT)", "meleeWeapons-exp": "Développer les armes de contact", diff --git a/Qin Warring States/Qin.html b/Qin Warring States/Qin.html index 6c6b6334c5..0250d77bd2 100644 --- a/Qin Warring States/Qin.html +++ b/Qin Warring States/Qin.html @@ -2,46 +2,66 @@

-

Name: +

Name:


-

State: - +

State: +

-

Character Type:

-

Height:  Weight: - Sex: - Age:

+

Character Type: +

+
Height: + Weight: + Sex: + Age: +
WoundsWounds
+
- @@ -52,31 +72,94 @@ - - - - -
- + + + +Metal
+Earth
+Wood +Water
Gift: - + Gift: + Gift -Specialization
+
Gift Specialization
Renown + Renown Weakness: - + Weakness: + Experience: +Experience:

-

Chi: Current Chi:

-

Passive Defense:

+

Chi: + Current Chi:

+

Passive Defense:

-

Resistance:

+

Resistance:


@@ -89,10 +172,10 @@ Specialization
- + - + @@ -193,7 +276,7 @@ Specialization
- + @@ -262,7 +345,7 @@ Specialization
- + @@ -307,7 +390,7 @@ Specialization
- + @@ -334,7 +417,7 @@ Specialization
- + @@ -365,11 +448,11 @@ Specialization
Breath of LifeBreath of Life
NormalNormal 0
BruisedBruised 0
Slightly InjuredSlightly Injured -1
Seriously InjuredSeriously Injured -3
Fatally InjuredFatally Injured -5
- + - - + - - + +
SKILLSSKILLS

Metal
Protection +
Metal
Protection
@@ -378,18 +461,27 @@ Specialization
- -DMG: -Total DMG: -CM -LE -Techniques + +

DMG:

+

Total DMG:

+

C

+

M

+

L

+

E

+

Techniques


Water

Wood

Water

Wood
@@ -410,8 +502,8 @@ Techniques
Afflictionsbanes
Weapon Name
Mod
Damage
Boons - Banes
Properties

Weapons

vs
with

Wealth

Defense

Use?
Name
Defense
Total
+000
Total
10

Items

Count?
Name
Amount
Total

Talents

/1
Attack Roll 20+

Traditions

/
/1
Requirement
Target
Area
Duration
Triggered
Attack Roll 20+
Sacrifice
Permanence
Aftereffect
Special

Background

Novice training
Novice training
Expert development
Expert development
Expert objective
Expert objective
Master development
Master development
Master quest
Master quest
Difficulty
Size1
Perception100
Defense10Health10Damage
Strength100Strength—Agility100Agility—Intellect100Intellect—Will100Will—
Speed10
Insanity
Corruption
Afflictionsbanes
Attacks
(reach+)+
withboons()vs
reach+with
Special attacks
Special actions
Power
End of the round
{{#title}}
{{title}}
{{#subtitle}}
{{subtitle}}
{{/subtitle}}
{{/title}}{{#name}}
{{name}}
{{/name}}{{^sacrifice}}
{{#showroll}}
{{roll-label}}{{#boons}}{{#rollGreater() boons 0}}+{{boons}}
with {{boons}} {{#rollLess() boons 2}}boon{{/rollLess() boons 2}}{{#rollGreater() boons 1}}boons{{/rollGreater() boons 1}}
{{/rollGreater() boons 0}}{{#rollLess() boons 0}}{{boons}}
with{{boons}} {{#rollGreater() boons -2}}bane{{/rollGreater() boons -2}}{{#rollLess() boons -1}}banes{{/rollLess() boons -1}}
{{/rollLess() boons 0}}{{/boons}}: {{roll}}{{#versus}} vs {{versus}}{{/versus}}
{{/showroll}}{{#damage}}
Damage: {{damageroll}}
{{/damage}}{{#damageplus}}
{{damageplus}}
{{/damageplus}}
{{/sacrifice}}{{#spell}}{{^sacrifice}}
{{#requirement}}
Requirement {{requirement}}
{{/requirement}}{{#target}}
Target {{target}}
{{/target}}{{#area}}
Area {{area}}
{{/area}}{{#duration}}
Duration {{duration}}
{{/duration}}
{{/sacrifice}}{{/spell}}
{{#sacrifice}}
Sacrifice {{sacrifice}}
{{/sacrifice}}{{^sacrifice}}{{#rollGreater() roll 19}}{{#roll20plus}}
Attack Roll 20+ {{roll20plus}}
{{/roll20plus}}{{/rollGreater() roll 19}}{{#triggered}}
Triggered {{triggered}}
{{/triggered}}{{#permanence}}
Permanence {{permanence}}
{{/permanence}}{{#aftereffect}}
Aftereffect {{aftereffect}}
{{/aftereffect}}{{#special}}
Special {{special}}
{{/special}}{{#description}}
{{description}}
{{/description}}{{/sacrifice}}
- \ No newline at end of file + \ No newline at end of file diff --git a/Shadowrun5thEdition/README.md b/Shadowrun5thEdition/README.md index dab69cbd52..ce7757cf2b 100644 --- a/Shadowrun5thEdition/README.md +++ b/Shadowrun5thEdition/README.md @@ -27,7 +27,7 @@ This sheet will work with Firefox but its best suited for Chrome. ### AI Support -AI are not supported inherently but the sheet can be used for them. User the Cyberdeck in the Matrix tab to set your Matrix Attributes. Mental attributes can be entered as normal. Depth can be tracked in the Misc input in the Personal Data section. Be sure to select Emerged in the Options tab to give yourself access to the Resonance input in the Attributes section. Weakness & Powers can be tracked in the Other Abilities under the Magic tab or entered in Qualities. +AI are not supported inherently but the sheet can be used for them. User the Cyberdeck in the Matrix tab to set your Matrix Attributes. Mental attributes can be entered as normal. Depth can be tracked in the Misc input in the Personal Data section. Weakness & Powers can be tracked in the Other Abilities under the Magic tab or entered in Qualities. ### Attributes diff --git a/Shadowrun5thEdition/Shadowrun5thEdition.css b/Shadowrun5thEdition/Shadowrun5thEdition.css index a38b7d1903..32b962c60d 100644 --- a/Shadowrun5thEdition/Shadowrun5thEdition.css +++ b/Shadowrun5thEdition/Shadowrun5thEdition.css @@ -412,6 +412,14 @@ .sheet-core-combat h3 { margin-right: 0px;} + .sheet-flag-primary + div {display: none;} + + .sheet-flag-primary[value="primary"] + div { + display: inline; + margin-right: -5%;} + + .sheet-flag-primary + div > span {font-family: "pictos";} + /***** PRIMARY ARMOR *****/ .sheet-cc-arm button[type="roll"] { padding: 2px 3px; @@ -2072,6 +2080,8 @@ display: inline-block; width: 100%;} + .sheet-vehicle .sheet-character-type {left: 25%;} + /*:+:+:+: NPC ARMOR BUTTONS :+:+:+:*/ .sheet-npc .sheet-armor-buttons { display: inline; diff --git a/Shadowrun5thEdition/Shadowrun5thEdition.html b/Shadowrun5thEdition/Shadowrun5thEdition.html index e20ca6e16e..dae2b13816 100644 --- a/Shadowrun5thEdition/Shadowrun5thEdition.html +++ b/Shadowrun5thEdition/Shadowrun5thEdition.html @@ -557,7 +557,7 @@ x
- +
@@ -906,7 +906,10 @@
-
+
+
S
+ +
@@ -968,7 +971,10 @@
-
+
+
S
+ +
@@ -1003,7 +1009,7 @@
- +
@@ -1012,7 +1018,10 @@
-
+
+
S
+ +
@@ -1193,7 +1202,7 @@
-
+
@@ -1269,7 +1278,7 @@
-
+
@@ -1964,6 +1973,9 @@

+
+
+

@@ -1997,15 +2009,15 @@
-

-

-

-

-

-

-

-

-
+

+

+

+

+

+

+

+

+



@@ -2112,7 +2124,7 @@
-
+
+ d6 @@ -2163,15 +2175,15 @@
-
- + @@ -2296,11 +2308,11 @@ +
+ : + +
:
@@ -2837,7 +2854,7 @@
- +
@@ -2853,7 +2870,16 @@ {{#rollGreater() edge 0}} ♦ Edge{{/rollGreater() edge 0}}
{{#dice}}
{{dice}}
{{/dice}} - {{#desc}}
{{desc}} {{#rollGreater() rea 0}}, Reach {{rea}}{{/rollGreater() rea 0}}
{{/desc}} + {{#desc}} +
+ + {{desc}} + {{#rollGreater() rea 0}}, Reach {{rea}}{{/rollGreater() rea 0}} + {{#rollGreater() drain 1}}, Drain {{drain}}{{/rollGreater() drain 1}} + {{#rollLess() drain 2}}, Drain 2{{/rollLess() drain 2}} + +
+ {{/desc}} {{#opp}}
{{opp}}
{{/opp}}
@@ -3037,7 +3063,7 @@ update_liftCarry(); }); - on("change:physical_modifier", function() { + on("change:physical_modifier change:flag_drone", function() { update_physicalTrack(); }); @@ -3090,154 +3116,37 @@ }); //Calculate ATTRIBUTES - on("change:body_base change:body_modifier change:body_temp", function() { - getAttrs(["body_base", "body_modifier", "body_temp"], function(v) { - var bas = parseInt(v.body_base) || 0; - var mod = parseInt(v.body_modifier) || 0; - var tem = parseInt(v.body_temp) || 0; - var bon = mod + tem; - var stat = bas + bon; - let update = {}; - update["body"] = stat; - (bon != 0) ? update["display_body"] = bas + " (" + stat + ")" : update["display_body"] = bas; - setAttrs(update); - }); - }); + [ + 'body', + 'agility', + 'reaction', + 'strength', + 'willpower', + 'logic', + 'intuition', + 'charisma', + 'magic', + 'resonance', + ].forEach(attr => { + // Attach listener + on(`change:${attr}_base change:${attr}_modifier change:${attr}_temp`, function() { + // Load attribute values + getAttrs([`${attr}_base`, `${attr}_modifier`, `${attr}_temp`], function(v) { + // Do some math to calculate the total + const bas = parseInt(v[`${attr}_base`]) || 0; + const mod = parseInt(v[`${attr}_modifier`]) || 0; + const tem = parseInt(v[`${attr}_temp`]) || 0; + const bon = mod + tem; + const stat = bas + bon; - on("change:agility_base change:agility_modifier change:agility_temp", function() { - getAttrs(["agility_base", "agility_modifier", "agility_temp" ], function(v) { - var bas = parseInt(v.agility_base) || 0; - var mod = parseInt(v.agility_modifier) || 0; - var tem = parseInt(v.agility_temp) || 0; - var bon = mod + tem; - var stat = bas + bon; - let update = {}; - - update["agility"] = stat; - (bon != 0) ? update["display_agility"] = bas + " (" + stat + ")" : update["display_agility"] = bas; - setAttrs(update); - }); - }); - - on("change:reaction_base change:reaction_modifier change:reaction_temp", function() { - getAttrs(["reaction_base", "reaction_modifier", "reaction_temp"], function(v) { - var bas = parseInt(v.reaction_base) || 0; - var mod = parseInt(v.reaction_modifier) || 0; - var tem = parseInt(v.reaction_temp) || 0; - var bon = mod + tem; - var stat = bas + bon; - let update = {}; - - update["reaction"] = stat; - (bon != 0) ? update["display_reaction"] = bas + " (" + stat + ")": update["display_reaction"] = bas; - setAttrs(update); - }); - }); - - on("change:strength_base change:strength_modifier change:strength_temp", function() { - getAttrs(["strength_base", "strength_modifier", "strength_temp"], function(v) { - var bas = parseInt(v.strength_base) || 0; - var mod = parseInt(v.strength_modifier) || 0; - var tem = parseInt(v.strength_temp) || 0; - var bon = mod + tem; - var stat = bas + bon; - let update = {}; - - update["strength"] = stat; - (bon != 0) ? update["display_strength"] = bas + " (" + stat + ")" : update["display_strength"] = bas; - setAttrs(update); - }); - }); - - on("change:willpower_base change:willpower_modifier change:willpower_temp", function() { - getAttrs(["willpower_base", "willpower_modifier", "willpower_temp"], function(v) { - var bas = parseInt(v.willpower_base) || 0; - var mod = parseInt(v.willpower_modifier) || 0; - var tem = parseInt(v.willpower_temp) || 0; - var bon = mod + tem; - var stat = bas + bon; - let update = {}; - - update["willpower"] = stat; - (bon != 0) ? update["display_willpower"] = bas + " (" + stat + ")" : update["display_willpower"] = bas; - setAttrs(update); - }); - }); - - on("change:logic_base change:logic_modifier change:logic_temp", function() { - getAttrs(["logic_base", "logic_modifier", "logic_temp"], function(v) { - var bas = parseInt(v.logic_base) || 0; - var mod = parseInt(v.logic_modifier) || 0; - var tem = parseInt(v.logic_temp) || 0; - var bon = mod + tem; - var stat = bas + bon; - let update = {}; - - update["logic"] = stat; - (bon != 0) ? update["display_logic"] = bas + " (" + stat + ")" : update["display_logic"] = bas; - setAttrs(update); - }); - }); - - on("change:intuition_base change:intuition_modifier change:intuition_temp", function() { - getAttrs(["intuition_base", "intuition_modifier", "intuition_temp"], function(v) { - var bas = parseInt(v.intuition_base) || 0; - var mod = parseInt(v.intuition_modifier) || 0; - var tem = parseInt(v.intuition_temp) || 0; - var bon = mod + tem; - var stat = bas + bon; - let update = {}; - - update["intuition"] = stat; - (bon != 0) ? update["display_intuition"] = bas + " (" + stat + ")" : update["display_intuition"] = bas; - setAttrs(update); - }); - }); - - on("change:charisma_base change:charisma_modifier change:charisma_temp", function() { - getAttrs(["charisma_base", "charisma_modifier", "charisma_temp"], function(v) { - var bas = parseInt(v.charisma_base) || 0; - var mod = parseInt(v.charisma_modifier) || 0; - var tem = parseInt(v.charisma_temp) || 0; - var bon = mod + tem; - var stat = bas + bon; - let update = {}; - - update["charisma"] = stat; - (bon != 0) ? update["display_charisma"] = bas + " (" + stat + ")" : update["display_charisma"] = bas; - setAttrs(update); - }); - }); - - on("change:magic_base change:magic_modifier change:magic_temp", function() { - getAttrs(["magic_base", "magic_modifier", "magic_temp"], function(v) { - var bas = parseInt(v.magic_base) || 0; - var mod = parseInt(v.magic_modifier) || 0; - var tem = parseInt(v.magic_temp) || 0; - var bon = mod + tem; - var stat = bas + bon; - let update = {}; - - update["magic"] = stat; - (bon != 0) ? update["display_magic"] = bas + " (" + stat + ")" : update["display_magic"] = bas; - setAttrs(update); - }); - }); - - on("change:resonance_base change:resonance_modifier change:resonance_temp", function() { - getAttrs(["resonance_base", "resonance_modifier", "resonance_temp"], function(v) { - var bas = parseInt(v.resonance_base) || 0; - var mod = parseInt(v.resonance_modifier) || 0; - var tem = parseInt(v.resonance_temp) || 0; - var bon = mod + tem; - var stat = bas + bon; - let update = {}; - - update["resonance"] = stat; - (bon != 0) ? update["display_resonance"] = bas + " (" + stat + ")" : update["display_resonance"] = bas; - setAttrs(update); - }); - }); + // Update the finalized total + setAttrs({ + [attr]: stat, + [`display_${attr}`]: bon === 0 ? bas : `${bas} (${stat})` + }); + }); + }); + }); //Calculate OVERFLOW var update_overflow = function () { @@ -3314,38 +3223,87 @@ //SOAK POOLS var update_soak = function () { - getAttrs(["body", "armor_rating", "soak_modifier", "soak_temp"], function(v){ - const body = parseInt(v.body) || 0; - const armor = parseInt(v.armor_rating) || 0; + getAttrs(["body", "armor_rating", "soak_modifier", "soak_temp"], function(v) { + const bod = parseInt(v.body) || 0; + const arm = parseInt(v.armor_rating) || 0; const mod = parseInt(v.soak_modifier) || 0; var tem = parseInt(v.soak_temp) || 0; - var tot = rea + int + mod + tem; + var tot = bod + arm + mod + tem; setAttrs({soak: tot}); }); }; - //Set Primary Armor when the star is selected - on("change:repeating_armor", function() { - console.log(":+:+:+:+: repeating armor ran!! :+:+:+:+:"); - getAttrs(["repeating_armor_name", "repeating_armor_rating", "repeating_armor_acid_modifier", "repeating_armor_electrical_modifier", "repeating_armor_cold_modifier", "repeating_armor_fire_modifier", "repeating_armor_radiation_modifier", "repeating_armor_primary", "repeating_armor_dicepool_modifier"], function(v) { - console.log("IS THIS OWRKING NOW?W?W?W"); - let update = {}; + //This function checks changes to repeating_armor and updates the Primary Armor if needed + on("change:repeating_armor", function(eventInfo) { + const source = eventInfo.sourceAttribute; + const newV = eventInfo.newValue; + const arm = ["repeating_armor"]; - if (v.repeating_armor_primary === "primary") { - update["armor_name"] = v.repeating_armor_name; - if (v.repeating_armor_rating) {update["armor_rating"] = v.repeating_armor_rating}; - if (v.repeating_armor_dicepool_modifier) {update["soak_modifier"] = v.repeating_armor_dicepool_modifier}; - if (v.repeating_armor_acid_modifier) {update["acid_modifier"] = v.repeating_armor_acid_modifier}; - if (v.repeating_armor_cold_modifier) {update["cold_modifier"] = v.repeating_armor_cold_modifier}; - if (v.repeating_armor_electrical_modifier) {update["electrical_modifier"] = v.repeating_armor_electrical_modifier}; - if (v.repeating_armor_fire_modifier) {update["fire_modifier"] = v.repeating_armor_fire_modifier}; - if (v.repeating_armor_radiation_modifier) {update["radiation_modifier"] = v.repeating_armor_radiation_modifier}; + //Check if the event was related to the primary flag + if (source.includes('primary')) { + //Check if the primary flag is set to primary + if (newV === 'primary') { + //Get attributes from the repeating_armor + getAttrs([`${arm}_name`, `${arm}_rating`, `${arm}_acid_modifier`, `${arm}_electrical_modifier`, `${arm}_cold_modifier`,`${arm}_fire_modifier`, `${arm}_radiation_modifier`, `${arm}_dicepool_modifier`], function(v) { + let update = {}; + //Update the hidden static Primary Armor attributes with the repeating_armor attributes + update["armor_name"] = v[`${arm}_name`]; + if (v[`${arm}_rating`]) {update["armor_rating"] = v[`${arm}_rating`]}; + if (v[`${arm}_dicepool_modifier`]) {update["soak_modifier"] = v[`${arm}_dicepool_modifier`]}; + if (v[`${arm}_acid_modifier`]) {update["acid_modifier"] = v[`${arm}_acid_modifier`]}; + if (v[`${arm}_cold_modifier`]) {update["cold_modifier"] = v[`${arm}_cold_modifier`]}; + if (v[`${arm}_electrical_modifier`]) {update["electrical_modifier"] = v[`${arm}_electrical_modifier`]}; + if (v[`${arm}_fire_modifier`]) {update["fire_modifier"] = v[`${arm}_fire_modifier`]}; + if (v[`${arm}_radiation_modifier`]) {update["radiation_modifier"] = v[`${arm}_radiation_modifier`]}; + + setAttrs(update); + }); + + //Set the other repeating_armor primary flags to 0 aka unchecked + getSectionIDs(`${arm}`, function(ids) { + let IDs = []; + let update = {}; + + for(var i=0; i < ids.length; i++) { + IDs.push(`${arm}_` + ids[i] + "_primary"); + }; + + IDs.forEach(id => { + if (id != source) { + update[`${id}`] = 0; + }; + }); + + setAttrs(update); + }); + }; + //Check if the event was for a relevant Primary Armor attribute + } else if (source.includes('name') || source.includes('rating') || source.includes('dicepool') || source.includes('acid') || source.includes('cold') || source.includes('electrical') || source.includes('fire') || source.includes('radiation')) { + //Get the primary flag attribute for this armor. Also get the repeating_armor attribute we'll need for an update, doing it now is more efficient. + getAttrs([`${arm}_primary`, `${source}`], function(v) { + //Check if this armor is the designated Primary Armor. + if (v[`${arm}_primary`] === 'primary') { + let update = {}; + //Apply the repeating_armor attribute to its static counterpart + switch (true) { + case /name/.test(source): update["armor_name"] = v[`${source}`]; break; + case /rating/.test(source): update["armor_rating"] = v[`${source}`]; break; + case /dicepool/.test(source): update["soak_modifier"] = v[`${source}`]; break; + case /acid/.test(source): update["acid_modifier"] = v[`${source}`]; break; + case /cold/.test(source): update["cold_modifier"] = v[`${source}`]; break; + case /electrical/.test(source): update["electrical_modifier"] = v[`${source}`]; break; + case /fire/.test(source): update["fire_modifier"] = v[`${source}`]; break; + case /radiation/.test(source): update["radiation_modifier"] = v[`${source}`]; break; + default: console.log(`Source ${source} was invalid`);} + + setAttrs(update); }; - - setAttrs(update); }); - }); + } else { + console.log("CHANGE NOT RELEVENT Primary Armor"); + }; + }); var update_liftCarry = function () { getAttrs(["body", "strength", "lift_carry_modifier"], function(v) { @@ -3406,12 +3364,13 @@ //Manipulating Condition Tracks //PHYSICAL TRACK var update_physicalTrack = function() { - getAttrs(["body","physical_modifier", "sheet_type"], function(v) { + getAttrs(["body","physical_modifier", "sheet_type", "flag_drone"], function(v) { var bod = parseInt(v.body) || 0; var mod = parseInt(v.physical_modifier) || 0; tra = (v.sheet_type === "pc" || v.sheet_type === "goon") ? (Math.ceil(bod/2) + 8 + mod) : - ((v.sheet_type === "vehicle") ? (Math.ceil(bod/2) + 12 + mod) : - "Not a goon or vehicle"); + (v.sheet_type === "vehicle" && v.flag_drone === "drone") ? (Math.ceil(bod/2) + 6 + mod) : + (v.sheet_type === "vehicle") ? (Math.ceil(bod/2) + 12 + mod) : + "Not a goon or vehicle"; let update = {}; update["physical"] = tra; update["physical_max"] = tra; @@ -3446,15 +3405,16 @@ }); }); - on("change:physical_damage", function() { - getAttrs(["physical", "physical_damage", "physical_max"], function(v) { - var phy = parseInt(v.physical) || 0; - var Dam = parseInt(v.physical_damage) || 0; - var Max = parseInt(v.physical_max) || 0; - var Wou = Max - Dam; - (phy === Wou) ? console.log("Physical is already tracked") : setAttrs({physical: Wou}); + //Convert physical damage into the physical + on("change:physical_damage", function() { + getAttrs(["physical", "physical_damage", "physical_max"], function(v) { + var phy = parseInt(v.physical) || 0; + var Dam = parseInt(v.physical_damage) || 0; + var Max = parseInt(v.physical_max) || 0; + var Wou = Max - Dam; + (phy === Wou) ? console.log("Physical is already tracked") : setAttrs({physical: Wou}); + }); }); - }); //Convert stun into the stun damage track boxes on("change:stun", function() { @@ -3469,15 +3429,16 @@ }); }); - on("change:stun_damage", function() { - getAttrs(["stun", "stun_damage", "stun_max"], function(v) { - var stu = parseInt(v.stun) || 0; - var Dam = parseInt(v.stun_damage) || 0; - var Max = parseInt(v.stun_max) || 0; - var Wou = Max - Dam; - (stu === Wou) ? console.log("stun is already tracked") : setAttrs({stun: Wou}); + //Convert stun damage into stun + on("change:stun_damage", function() { + getAttrs(["stun", "stun_damage", "stun_max"], function(v) { + var stu = parseInt(v.stun) || 0; + var Dam = parseInt(v.stun_damage) || 0; + var Max = parseInt(v.stun_max) || 0; + var Wou = Max - Dam; + (stu === Wou) ? console.log("stun is already tracked") : setAttrs({stun: Wou}); + }); }); - }); //Add wounds based on Physical modifiers via Physical or Stun on("change:stun_damage change:physical_damage change:pain_tolerance", function() { @@ -3627,37 +3588,70 @@ }); //Weapon displays set into an Array - on("change:repeating_weapon", function() { - getAttrs(["repeating_weapon_weapon_range", "repeating_weapon_weapon_melee", "repeating_weapon_weapon_type", "repeating_weapon_weapon_reach", "repeating_weapon_weapon_acc", "repeating_weapon_weapon_dv", "repeating_weapon_weapon_ap", "repeating_weapon_weapon_mode", "repeating_weapon_weapon_rc", "repeating_weapon_weapon_ammo", "repeating_weapon_weapon_note"], function(v){ - amm = (v.repeating_weapon_weapon_ammo === "") ? ("") : (v.repeating_weapon_weapon_ammo) + " (c), "; + // Builder function to display details properly + // Note that since undefined are falsey if there's no label or sign we can leave the parameters blank + function repeatingStringBuilder(v, keyBase) { + return function(key, label, sign) { + // fetch the attr from v checking if it has a value + const val = v[`${keyBase}${key}`]; + if (!val) return ''; - acc = (v.repeating_weapon_weapon_acc > 0) ? "ACC " + (v.repeating_weapon_weapon_acc) + ", " : (""); + // Apply the sign if needed + const disp = sign && val > 0 ? `+${val}` : val; - ap = (v.repeating_weapon_weapon_ap > 0) ? ("AP " + "+" + (v.repeating_weapon_weapon_ap) + ", ") : - ((v.repeating_weapon_weapon_ap < 0) ? ("AP " + (v.repeating_weapon_weapon_ap) + ", ") : - ("")); + // Apply label if needed + return label ? `${label} ${disp}` : disp; + } + } - dv = (v.repeating_weapon_weapon_dv === "") ? ("") : "DV " + (v.repeating_weapon_weapon_dv) + ", "; +on("change:repeating_weapon", function() { + getAttrs(["repeating_weapon_weapon_range", "repeating_weapon_weapon_melee", "repeating_weapon_weapon_type", "repeating_weapon_weapon_reach", "repeating_weapon_weapon_acc", "repeating_weapon_weapon_dv", "repeating_weapon_weapon_ap", "repeating_weapon_weapon_mode", "repeating_weapon_weapon_rc", "repeating_weapon_weapon_ammo", "repeating_weapon_weapon_note"], function(v){ + // Local builder putting the needed variables into scope for repeatingStringBuilder + const b = repeatingStringBuilder(v, 'repeating_weapon_weapon_'); + // Determine fields to display and in their proper order and formatting + // Anonymous function is purely stylistic and adds more overhead than just a simple switch/case. Personally I find the function looks cleaner and hides any internal scope that might conflict with outside + const display = (function() { + // 0 for weapon_range is a ranged weapon. A 1 is a melee weapon. + switch(v.repeating_weapon_weapon_range) { + case '0': + // Not a fan of how ammo has to be handled. Could potentially be placed in the repeatingStringBuilder if used more often for other change:repeating functions as some sort of suffix parameter + const ammo = b('amm'); + return [ + b('type'), + b('acc', 'ACC'), + b('dv', 'DV'), + b('ap', 'AP', true), + b('mode'), + b('rc', 'RC'), + ammo ? `${ammo} (c)` : '', + b('note') + ]; + case '1': return [ + b('type'), + b('reach', 'Reach', true), + b('acc', 'ACC'), + b('dv', 'DV'), + b('ap', 'AP', true), + b('note') + ]; + default: return [ + b('type'), + b('acc', 'ACC'), + b('dv', 'DV'), + b('ap', 'AP', true), + b('note') + ]; + } + })() + // Remove all empty strings + .filter(s => s) + // Concat all the strings and add comma between + .join(', '); - mod = (v.repeating_weapon_weapon_mode === "") ? ("") : (v.repeating_weapon_weapon_mode) + ", "; - - not = (v.repeating_weapon_weapon_note === "") ? ("") : (v.repeating_weapon_weapon_note); - - rc = (v.repeating_weapon_weapon_rc === "") ? ("") : "RC " + (v.repeating_weapon_weapon_rc) + ", "; - - rea = (v.repeating_weapon_weapon_reach > 0) ? ("Reach " + (v.repeating_weapon_weapon_reach) + ", ") : - ((v.repeating_weapon_weapon_reach < 0) ? ("Reach " + (v.repeating_weapon_weapon_reach) + ", ") : - ("")); - - typ = (v.repeating_weapon_weapon_type === "") ? ("") : (v.repeating_weapon_weapon_type) + ", "; - - display = (v.repeating_weapon_weapon_range === "0") ? (" [" + typ + acc + dv + ap + mod + rc + amm + not + "]") : - ((v.repeating_weapon_weapon_range === "1") ? (" [" + typ + rea + acc + dv + ap + not + "]") : - (" [" + typ + acc + dv + ap + not + "]")); - - setAttrs({repeating_weapon_weapon: display}); - }); - }); + // Finally wrap square brackets around the weapon display + setAttrs({repeating_weapon_weapon: `[${display}]`}); + }); +}); //Spell displays set into an Array on("change:repeating_NPCspell", function() { @@ -3873,54 +3867,95 @@ }); -//Repeating Range & Melee weapons dicepools - on("change:repeating_range", function() { - getAttrs(["repeating_range_dicepool_modifier", "repeating_range_spec", "repeating_range_primary", "repeating_range_weapon", "repeating_range_damage", "repeating_range_acc", - "repeating_range_ap", "repeating_range_mode", "repeating_range_recoil", "repeating_range_ammo", "repeating_range_skill"], function(v){ - const mod = parseInt(v.repeating_range_dicepool_modifier) || 0; - const spec = parseInt(v.repeating_range_spec) || 0; - let update = {}; +//REFACTORED Range & MELEE UPDATES + ['repeating_range', + 'repeating_melee', + ].forEach(weap => { + on(`change:${weap}`, function(eventInfo) { + const source = eventInfo.sourceAttribute; + const newV = eventInfo.newValue; + const type = weap.slice(-5); - update["repeating_range_dicepool"] = mod + spec; + //Setting this here for now to ensure dicepool attribute gets updated + //Move this for the Version 1.2 + getAttrs([`${weap}_dicepool_modifier`, `${weap}_spec`], function(v) { + const mod = parseInt(v[`${weap}_dicepool_modifier`]) || 0; + const spec = parseInt(v[`${weap}_spec`]) || 0; + const tot = mod + spec; - if (v.repeating_range_primary === "primary") { - update["primary_range_weapon"] = v.repeating_range_weapon; - update["primary_range_weapon_dicepool"] = mod + spec; - if (v.repeating_range_skill) {update["primary_range_weapon_skill"] = v.repeating_range_skill}; - if (v.repeating_range_damage) {update["primary_range_weapon_damage"] = v.repeating_range_damage}; - if (v.repeating_range_acc) {update["primary_range_weapon_acc"] = v.repeating_range_acc}; - if (v.repeating_range_ap) {update["primary_range_weapon_ap"] = v.repeating_range_ap}; - if (v.repeating_range_mode) {update["primary_range_weapon_mode"] = v.repeating_range_mode}; - if (v.repeating_range_recoil) {update["primary_range_weapon_recoil"] = v.repeating_range_recoil}; - if (v.repeating_range_ammo) {update["primary_range_weapon_ammo"] = v.repeating_range_ammo}; - }; + setAttrs({[`${weap}_dicepool`]: tot}); + }); - setAttrs(update); - }); - }); + if (source.includes('primary')) { + if (newV === 'primary') { + //Shared attributes names. + let array = ["dicepool", "weapon", "damage", "acc", "ap", "skill"]; + //Add the range or melee specific ones + (type === "range") ? array.push("ammo", "mode", "recoil") : array.push("reach"); + //Add the repeating section to the begining of each attribute + let attrs = []; + for(var i=0; i < array.length; i++) { + attrs.push(`${weap}_` + array[i]); + }; - on("change:repeating_melee", function() { - getAttrs(["repeating_dicepool_modifier", "repeating_melee_spec", "repeating_melee_primary", "repeating_melee_weapon", "repeating_melee_damage", "repeating_melee_acc", - "repeating_melee_ap", "repeating_melee_reach", "repeating_melee_skill"], function(v){ - const mod = parseInt(v.repeating_melee_dicepool_modifier) || 0; - const spec = parseInt(v.repeating_melee_spec) || 0; - let update = {}; + getAttrs(attrs, function(v) { + let update = {}; + //Primary weapon name does not follow the naming scheme. + update[`primary_${type}_weapon`] = v[`${weap}_weapon`]; - update["repeating_melee_dicepool"] = mod + spec; + _.each(array, function(value) { + if (value != undefined || value != "weapon") { + update[`primary_${type}_weapon_${value}`] = v[`${weap}_${value}`]; + }; + }); - if (v.repeating_melee_primary === "primary") { - update["primary_melee_weapon"] = v.repeating_melee_weapon; - update["primary_melee_weapon_dicepool"] = mod + spec; - if (v.repeating_melee_skill) {update["primary_melee_weapon_skill"] = v.repeating_melee_skill}; - if (v.repeating_melee_damage) {update["primary_melee_weapon_damage"] = v.repeating_melee_damage}; - if (v.repeating_melee_acc) {update["primary_melee_weapon_acc"] = v.repeating_melee_acc}; - if (v.repeating_melee_ap) {update["primary_melee_weapon_ap"] = v.repeating_melee_ap}; - if (v.repeating_melee_reach) {update["primary_melee_weapon_reach"] = v.repeating_melee_reach}; - }; + setAttrs(update); + }); - setAttrs(update); - }); - }); + //Set the other repeating_weapon primary flags to 0 aka unchecked + getSectionIDs(`${weap}`, function(ids) { + let IDs = []; + let update = {}; + + for(var i=0; i < ids.length; i++) { + IDs.push(`${weap}_` + ids[i] + "_primary"); + }; + + IDs.forEach(id => { + if (id != source) { + update[`${id}`] = 0; + }; + }); + + setAttrs(update); + }); + }; + } else if (source.includes('dicepool') || source.includes('weapon') || source.includes('damage') || source.includes('acc') || source.includes('ap') || source.includes('skill') || source.includes('reach') || source.includes('ammo') || source.includes('mode') || source.includes('recoil')) { + getAttrs([`${weap}_primary`, `${source}`], function(v) { + if (v[`${weap}_primary`] === 'primary') { + let update = {}; + //This whole process needs refactored in the future. Its working for now. + switch (true) { + case /weapon/.test(source): update[`primary_${type}_weapon`] = v[`${source}`]; break; + case /damage/.test(source): update[`primary_${type}_weapon_damage`] = v[`${source}`]; break; + case /dicepool/.test(source): update[`primary_${type}_weapon_dicepool`] = v[`${source}`]; break; + case /acc/.test(source): update[`primary_${type}_weapon_acc`] = v[`${source}`]; break; + case /ap/.test(source): update[`primary_${type}_weapon_ap`] = v[`${source}`]; break; + case /skill/.test(source): update[`primary_${type}_weapon_skill`] = v[`${source}`]; break; + case /reach/.test(source): update[`primary_${type}_weapon_reach`] = v[`${source}`]; break; + case /ammo/.test(source): update[`primary_${type}_weapon_ammo`] = v[`${source}`]; break; + case /mode/.test(source): update[`primary_${type}_weapon_mode`] = v[`${source}`]; break; + case /recoil/.test(source): update[`primary_${type}_weapon_recoil`] = v[`${source}`]; break; + default: console.log(`Source ${source} was invalid`);} + + setAttrs(update); + }; + }); + } else { + console.log("Change was not relevant."); + }; + }); + }); //Repeating IDs & Lifestyles Section Display on("change:repeating_lifestyle", function() { @@ -3961,49 +3996,29 @@ //Cyberdeck Calculations - on("change:attack_temp change:attack_base change:attack_modifier", function() { - getAttrs(["attack_temp", "attack_base", "attack_modifier"], function(v) { - const temp = parseInt(v.attack_temp) || 0; - const base = parseInt(v.attack_base) || 0; - const mod = parseInt(v.attack_modifier) || 0; - let tot = temp + base + mod; + [ + 'attack', + 'sleaze', + 'data_processing', + 'firewall', + ].forEach(attr => { + // Attach listener + on(`change:${attr}_base change:${attr}_modifier change:${attr}_temp`, function() { + // Load attribute values + getAttrs([`${attr}_base`, `${attr}_modifier`, `${attr}_temp`], function(v) { + // Do some math to calculate the total + const bas = parseInt(v[`${attr}_base`]) || 0; + const mod = parseInt(v[`${attr}_modifier`]) || 0; + const tem = parseInt(v[`${attr}_temp`]) || 0; + const tot = tem + bas + mod; - setAttrs({attack: tot}); - }); - }); - - on("change:sleaze_temp change:sleaze_base change:sleaze_modifier", function() { - getAttrs(["sleaze_temp", "sleaze_base", "sleaze_modifier"], function(v) { - const temp = parseInt(v.sleaze_temp) || 0; - const base = parseInt(v.sleaze_base) || 0; - const mod = parseInt(v.sleaze_modifier) || 0; - let tot = temp + base + mod; - - setAttrs({sleaze: tot}); - }); - }); - - on("change:data_processing_temp change:data_processing_base change:data_processing_modifier", function() { - getAttrs(["data_processing_temp", "data_processing_base", "data_processing_modifier"], function(v) { - const temp = parseInt(v.data_processing_temp) || 0; - const base = parseInt(v.data_processing_base) || 0; - const mod = parseInt(v.data_processing_modifier) || 0; - let tot = temp + base + mod; - - setAttrs({data_processing: tot}); - }); - }); - - on("change:firewall_temp change:firewall_base change:firewall_modifier", function() { - getAttrs(["firewall_temp", "firewall_base", "firewall_modifier"], function(v) { - const temp = parseInt(v.firewall_temp) || 0; - const base = parseInt(v.firewall_base) || 0; - const mod = parseInt(v.firewall_modifier) || 0; - let tot = temp + base + mod; - - setAttrs({firewall: tot}); - }); - }); + // Update the finalized total + setAttrs({ + [attr]: tot + }); + }); + }); + }); //Vehicle displays for PCs on("change:repeating_vehicle:name", function(){ @@ -4019,101 +4034,34 @@ }); }); - on("change:repeating_vehicle:handling_base change:repeating_vehicle:handling_modifier change:repeating_vehicle:handling_temp", function(){ - getAttrs(["repeating_vehicle_handling_base", "repeating_vehicle_handling_modifier", "repeating_vehicle_handling_temp"], function(v) { - const base = parseInt(v.repeating_vehicle_handling_base) || 0; - const mod = parseInt(v.repeating_vehicle_handling_modifier) || 0; - const temp = parseInt(v.repeating_vehicle_handling_temp) || 0; - let tot = base + mod + temp; - let update = {}; - update["repeating_vehicle_handling"] = tot; - (mod != 0 || temp != 0) ? update["repeating_vehicle_display_handling"] = base + " (" + tot + ")" : update["repeating_vehicle_display_handling"] = base; + [ + 'acceleration', + 'armor', + 'body', + 'data_processing', + 'handling', + 'pilot', + 'sensor', + 'speed', + ].forEach(attr => { + // Attach listener + on(`change:repeating_vehicle:${attr}_base change:repeating_vehicle:${attr}_modifier change:repeating_vehicle:${attr}_temp`, function() { + // Load attribute values + getAttrs([`repeating_vehicle_${attr}_base`, `repeating_vehicle_${attr}_modifier`, `repeating_vehicle_${attr}_temp`], function(v) { + // Do some math to calculate the total + const bas = parseInt(v[`repeating_vehicle_${attr}_base`]) || 0; + const mod = parseInt(v[`repeating_vehicle_${attr}_modifier`]) || 0; + const tem = parseInt(v[`repeating_vehicle_${attr}_temp`]) || 0; + const bon = mod + tem; + const stat = bas + bon; - setAttrs(update); - }); - }); + // Update the finalized total + setAttrs({ + [attr]: stat, + [`repeating_vehicle_display_${attr}`]: bon === 0 ? bas : `${bas} (${stat})` + }); + }); + }); + }); - on("change:repeating_vehicle:acceleration_base change:repeating_vehicle:acceleration_modifier change:repeating_vehicle:acceleration_temp", function(){ - getAttrs(["repeating_vehicle_acceleration_base", "repeating_vehicle_acceleration_modifier", "repeating_vehicle_acceleration_temp"], function(v) { - const base = parseInt(v.repeating_vehicle_acceleration_base) || 0; - const mod = parseInt(v.repeating_vehicle_acceleration_modifier) || 0; - const temp = parseInt(v.repeating_vehicle_acceleration_temp) || 0; - let tot = base + mod + temp; - let update = {}; - update["repeating_vehicle_acceleration"] = tot; - (mod != 0 || temp != 0) ? update["repeating_vehicle_display_acceleration"] = base + " (" + tot + ")" : update["repeating_vehicle_display_acceleration"] = base; - - setAttrs(update); - }); - }); - - on("change:repeating_vehicle:speed_base change:repeating_vehicle:speed_modifier change:repeating_vehicle:speed_temp", function(){ - getAttrs(["repeating_vehicle_speed_base", "repeating_vehicle_speed_modifier", "repeating_vehicle_speed_temp"], function(v) { - const base = parseInt(v.repeating_vehicle_speed_base) || 0; - const mod = parseInt(v.repeating_vehicle_speed_modifier) || 0; - const temp = parseInt(v.repeating_vehicle_speed_temp) || 0; - let tot = base + mod + temp; - let update = {}; - update["repeating_vehicle_speed"] = tot; - (mod != 0 || temp != 0) ? update["repeating_vehicle_display_speed"] = base + " (" + tot + ")" : update["repeating_vehicle_display_speed"] = base; - - setAttrs(update); - }); - }); - - on("change:repeating_vehicle:pilot_base change:repeating_vehicle:pilot_modifier change:repeating_vehicle:pilot_temp", function(){ - getAttrs(["repeating_vehicle_pilot_base", "repeating_vehicle_pilot_modifier", "repeating_vehicle_pilot_temp"], function(v) { - const base = parseInt(v.repeating_vehicle_pilot_base) || 0; - const mod = parseInt(v.repeating_vehicle_pilot_modifier) || 0; - const temp = parseInt(v.repeating_vehicle_pilot_temp) || 0; - let tot = base + mod + temp; - let update = {}; - update["repeating_vehicle_pilot"] = tot; - (mod != 0 || temp != 0) ? update["repeating_vehicle_display_pilot"] = base + " (" + tot + ")" : update["repeating_vehicle_display_pilot"] = base; - - setAttrs(update); - }); - }); - - on("change:repeating_vehicle:body_base change:repeating_vehicle:body_modifier change:repeating_vehicle:body_temp", function(){ - getAttrs(["repeating_vehicle_body_base", "repeating_vehicle_body_modifier", "repeating_vehicle_body_temp"], function(v) { - const base = parseInt(v.repeating_vehicle_body_base) || 0; - const mod = parseInt(v.repeating_vehicle_body_modifier) || 0; - const temp = parseInt(v.repeating_vehicle_body_temp) || 0; - let tot = base + mod + temp; - let update = {}; - update["repeating_vehicle_body"] = tot; - (mod != 0 || temp != 0) ? update["repeating_vehicle_display_body"] = base + " (" + tot + ")" : update["repeating_vehicle_display_body"] = base; - - setAttrs(update); - }); - }); - - on("change:repeating_vehicle:armor_base change:repeating_vehicle:armor_modifier change:repeating_vehicle:armor_temp", function(){ - getAttrs(["repeating_vehicle_armor_base", "repeating_vehicle_armor_modifier", "repeating_vehicle_armor_temp"], function(v) { - const base = parseInt(v.repeating_vehicle_armor_base) || 0; - const mod = parseInt(v.repeating_vehicle_armor_modifier) || 0; - const temp = parseInt(v.repeating_vehicle_armor_temp) || 0; - let tot = base + mod + temp; - let update = {}; - update["repeating_vehicle_armor"] = tot; - (mod != 0 || temp != 0) ? update["repeating_vehicle_display_armor"] = base + " (" + tot + ")" : update["repeating_vehicle_display_armor"] = base; - - setAttrs(update); - }); - }); - - on("change:repeating_vehicle:sensor_base change:repeating_vehicle:sensor_modifier change:repeating_vehicle:sensor_temp", function(){ - getAttrs(["repeating_vehicle_sensor_base", "repeating_vehicle_sensor_modifier", "repeating_vehicle_sensor_temp"], function(v) { - const base = parseInt(v.repeating_vehicle_sensor_base) || 0; - const mod = parseInt(v.repeating_vehicle_sensor_modifier) || 0; - const temp = parseInt(v.repeating_vehicle_sensor_temp) || 0; - let tot = base + mod + temp; - let update = {}; - update["repeating_vehicle_sensor"] = tot; - (mod != 0 || temp != 0) ? update["repeating_vehicle_display_sensor"] = base + " (" + tot + ")" : update["repeating_vehicle_display_sensor"] = base; - - setAttrs(update); - }); - }); \ No newline at end of file diff --git a/Shadowrun5thEdition/translation.json b/Shadowrun5thEdition/translation.json index 84b33e5f9b..3e16e4ca2a 100644 --- a/Shadowrun5thEdition/translation.json +++ b/Shadowrun5thEdition/translation.json @@ -102,6 +102,7 @@ "disguise": "Disguise", "diving": "Diving", "drain": "Drain", + "drone": "Drone", "duration": "Duration", "e": "E", "echos": "Echos", diff --git a/Shadowrun5thEdition/translations/af.json b/Shadowrun5thEdition/translations/af.json index 18093382b4..c1fc1ae6b9 100644 --- a/Shadowrun5thEdition/translations/af.json +++ b/Shadowrun5thEdition/translations/af.json @@ -102,6 +102,7 @@ "disguise": "Disguise", "diving": "Diving", "drain": "Drain", + "drone": "Drone", "duration": "Duration", "e": "E", "echos": "Echos", diff --git a/Shadowrun5thEdition/translations/cs.json b/Shadowrun5thEdition/translations/cs.json index 18093382b4..c1fc1ae6b9 100644 --- a/Shadowrun5thEdition/translations/cs.json +++ b/Shadowrun5thEdition/translations/cs.json @@ -102,6 +102,7 @@ "disguise": "Disguise", "diving": "Diving", "drain": "Drain", + "drone": "Drone", "duration": "Duration", "e": "E", "echos": "Echos", diff --git a/Shadowrun5thEdition/translations/da.json b/Shadowrun5thEdition/translations/da.json index 18093382b4..c1fc1ae6b9 100644 --- a/Shadowrun5thEdition/translations/da.json +++ b/Shadowrun5thEdition/translations/da.json @@ -102,6 +102,7 @@ "disguise": "Disguise", "diving": "Diving", "drain": "Drain", + "drone": "Drone", "duration": "Duration", "e": "E", "echos": "Echos", diff --git a/Shadowrun5thEdition/translations/de.json b/Shadowrun5thEdition/translations/de.json index 8320424fbc..c6118349ae 100644 --- a/Shadowrun5thEdition/translations/de.json +++ b/Shadowrun5thEdition/translations/de.json @@ -102,6 +102,7 @@ "disguise": "Disguise", "diving": "Diving", "drain": "Drain", + "drone": "Drone", "duration": "Duration", "e": "E", "echos": "Echos", diff --git a/Shadowrun5thEdition/translations/el.json b/Shadowrun5thEdition/translations/el.json index 18093382b4..c1fc1ae6b9 100644 --- a/Shadowrun5thEdition/translations/el.json +++ b/Shadowrun5thEdition/translations/el.json @@ -102,6 +102,7 @@ "disguise": "Disguise", "diving": "Diving", "drain": "Drain", + "drone": "Drone", "duration": "Duration", "e": "E", "echos": "Echos", diff --git a/Shadowrun5thEdition/translations/en.json b/Shadowrun5thEdition/translations/en.json index 18093382b4..c1fc1ae6b9 100644 --- a/Shadowrun5thEdition/translations/en.json +++ b/Shadowrun5thEdition/translations/en.json @@ -102,6 +102,7 @@ "disguise": "Disguise", "diving": "Diving", "drain": "Drain", + "drone": "Drone", "duration": "Duration", "e": "E", "echos": "Echos", diff --git a/Shadowrun5thEdition/translations/es.json b/Shadowrun5thEdition/translations/es.json index 18093382b4..c1fc1ae6b9 100644 --- a/Shadowrun5thEdition/translations/es.json +++ b/Shadowrun5thEdition/translations/es.json @@ -102,6 +102,7 @@ "disguise": "Disguise", "diving": "Diving", "drain": "Drain", + "drone": "Drone", "duration": "Duration", "e": "E", "echos": "Echos", diff --git a/Shadowrun5thEdition/translations/fr.json b/Shadowrun5thEdition/translations/fr.json index 71e1802c7d..16f72308ee 100644 --- a/Shadowrun5thEdition/translations/fr.json +++ b/Shadowrun5thEdition/translations/fr.json @@ -52,23 +52,23 @@ "close": "Close", "closecombat": "Close Combat Group", "clubs": "Clubs", - "cold": "Cold", - "coldprotection": "Cold Protection", + "cold": "Froid", + "coldprotection": "Protection contre le froid", "combat": "Combat", "combatskill": "Compétence de combat", "combatskills": "Compétences de combat", - "combattype": "Combat Type", + "combattype": "Type de combat", "compiling": "Compilation", - "complexform": "Complex Form", + "complexform": "Forme complexe", "composure": "Composure", "computer": "Informatique", "con": "Con", "conditionfooter": "For every 3 boxes of damage on any one damage track, the character takes a -1 Dice Pool modifier on tests; these modifiers are cumulative within and across damage tracks.", "conditionmonitor": "Moniteur de Condition", "conditionmonitorm": "Moniteur de Condition (M)", - "conditionmonitormodifiers": "Condition Monitor Modifiers (P/S): ", + "conditionmonitormodifiers": "Modificateurs de moniteur de condition (P/E) : ", "conditionmonitorpm": "Moniteur de Condition (P/M)", - "conditionmonitorps": "Condition Monitor (P/S)", + "conditionmonitorps": "Moniteur de Condition (P/E)", "conjuring": "Conjuring", "conjuringgroup": "Conjuring Group", "connection": "Connexion", @@ -102,6 +102,7 @@ "disguise": "Déguisement", "diving": "Diving", "drain": "Drain", + "drone": "Drone", "duration": "Durée", "e": "E", "echos": "Échos", @@ -121,29 +122,29 @@ "exoticmelee": "Exotic Melee", "exoticnote": "Exotics are not linked to skills. Use modifier Dice input to set skill dice.", "exoticrange": "Exotic Range", - "extended": "Extended", + "extended": "Étendu", "f": "F", "fa": "FA", "fade": "Fade", "fadevalue": "Fade Value", "fakeid": "Fake ID", "fakeidsrelated": "Fake IDs / Related Lifestyles / Funds / Licenses", - "far": "Far", - "favor": "Favor", - "file": "File", - "fire": "Fire", + "far": "Loin", + "favor": "Faveur", + "file": "Fichier", + "fire": "Feu", "firearms": "Groupe d’armes à feu", - "fireprotection": "Fire Protection", - "firewall": "Firewall", - "firstaid": "First Aid", - "flight": "Flight", + "fireprotection": "Protection contre le feu", + "firewall": "Pare-feu", + "firstaid": "Premiers Soins", + "flight": "Vol", "forgery": "Forgery", "freefall": "Free Fall", "funds": "Funds", - "gear": "Gear", + "gear": "Équipement", "gm": "To GM", "goon": "Goon", - "gunnery": "Gunnery", + "gunnery": "Artillerie", "gymnastics": "Gymnastics", "hacking": "Hacking", "hand": "Hand", @@ -166,7 +167,7 @@ "influencegroup": "Influence Group", "initiate": "Initiate", "initiative": "Initiative", - "initiativedice": "Initiative Dice", + "initiativedice": "Dé d'initiative", "instant": "Instant", "instruction": "Instruction", "intimidation": "Intimidation", @@ -203,14 +204,14 @@ "matrixdevice": "Matrix Device", "matrixinit": "Matrix Ini", "matrixinitiative": "Matrix Initiative", - "medicine": "Medicine", + "medicine": "Médecine", "melee": "Mêlée", "memory": "Mémoire", "mental": "Mental", "mentallimit": "Mental Limit:", - "metamagic": "Metamagic", - "metatype": "Metatype", - "misc": "Misc", + "metamagic": "Métamagie", + "metatype": "Métatype", + "misc": "Divers", "mode": "Mode", "model": "Model", "modeoptions": "Mode Options", @@ -237,10 +238,10 @@ "overflow": "Overflow", "overflowmodifier": "Overflow Modifier", "p": "P", - "painfooter": "Low Pain Tolernace adds a -1 and High Pain Tolerance adds a +1 per rank.", + "painfooter": "Faible Tolérance à la douleur ajoute un -1 et Haute tolérance à la douleur ajoute un + 1 par rang.", "paintolerance": "Tolérance à la douleur", "palming": "Palming", - "pc": "PC", + "pc": "PJ", "perception": "Perception", "performance": "Performance", "permanent": "Permanent", @@ -258,11 +259,11 @@ "pilotgroundcraft": "Pilot Ground Craft", "pilotwalker": "Pilot Walker", "pilotwatercraft": "Pilot Watercraft", - "pistols": "Pistols", + "pistols": "Pistolets", "player": "Player", "plot": "Plot", - "power": "Power", - "powers": "Powers", + "power": "Puissance", + "powers": "Pouvoirs", "prep": "Prep...", "primary": "Primary", "primaryarmor": "Primary Armor", @@ -322,24 +323,24 @@ "speedoff": "Speed (Off)", "spellcasting": "Spellcasting", "spellcategory": "Spell Category", - "spells": "Spells", + "spells": "Sorts", "sprite": "Sprite", "ss": "SS", "stealthgroup": "Stealth Group", "streetcred": "Street Cred", "strength": "Strength", - "stun": "Stun", + "stun": "Étourdissement", "stunbonus": "Stun Bonus", "stundamagetrack": "Stun Damage Track", "style": "Style", "submersion": "Submersion", "summoning": "Summoning", - "survival": "Survival", + "survival": "Survie", "sustained": "Sustained", - "swimming": "Swimming", + "swimming": "Natation", "t": "T", "ta": "T (A)", - "target": "Target", + "target": "Cible", "taskinggroup": "Tasking Group", "technicalskills": "Technical Skills", "technique": "Technique", @@ -348,7 +349,7 @@ "throwingweapons": "Armes de jet", "topps": "The Topps Company, Inc. has sole ownership of the names, logo, artwork, marks, photographs, sounds, audio, video and/or any proprietary material used in connection with the game Shadowrun. The Topps Company, Inc. has granted permission to use such names, logos, artwork, marks and/or any proprietary materials for promotional and informational purposes on its website but does not endorse, and is not affiliated with any official capacity whatsoever.", "total": "Total ", - "totalkarma": "Total Karma", + "totalkarma": "Karma total", "tracking": "Tracking", "type": "Type", "unarmedcombat": "Combat sans armes", diff --git a/Shadowrun5thEdition/translations/he.json b/Shadowrun5thEdition/translations/he.json index 18093382b4..c1fc1ae6b9 100644 --- a/Shadowrun5thEdition/translations/he.json +++ b/Shadowrun5thEdition/translations/he.json @@ -102,6 +102,7 @@ "disguise": "Disguise", "diving": "Diving", "drain": "Drain", + "drone": "Drone", "duration": "Duration", "e": "E", "echos": "Echos", diff --git a/Shadowrun5thEdition/translations/it.json b/Shadowrun5thEdition/translations/it.json index 18093382b4..c1fc1ae6b9 100644 --- a/Shadowrun5thEdition/translations/it.json +++ b/Shadowrun5thEdition/translations/it.json @@ -102,6 +102,7 @@ "disguise": "Disguise", "diving": "Diving", "drain": "Drain", + "drone": "Drone", "duration": "Duration", "e": "E", "echos": "Echos", diff --git a/Shadowrun5thEdition/translations/ja.json b/Shadowrun5thEdition/translations/ja.json index 18093382b4..c1fc1ae6b9 100644 --- a/Shadowrun5thEdition/translations/ja.json +++ b/Shadowrun5thEdition/translations/ja.json @@ -102,6 +102,7 @@ "disguise": "Disguise", "diving": "Diving", "drain": "Drain", + "drone": "Drone", "duration": "Duration", "e": "E", "echos": "Echos", diff --git a/Shadowrun5thEdition/translations/ko.json b/Shadowrun5thEdition/translations/ko.json index 18093382b4..c1fc1ae6b9 100644 --- a/Shadowrun5thEdition/translations/ko.json +++ b/Shadowrun5thEdition/translations/ko.json @@ -102,6 +102,7 @@ "disguise": "Disguise", "diving": "Diving", "drain": "Drain", + "drone": "Drone", "duration": "Duration", "e": "E", "echos": "Echos", diff --git a/Shadowrun5thEdition/translations/nl.json b/Shadowrun5thEdition/translations/nl.json index 18093382b4..c1fc1ae6b9 100644 --- a/Shadowrun5thEdition/translations/nl.json +++ b/Shadowrun5thEdition/translations/nl.json @@ -102,6 +102,7 @@ "disguise": "Disguise", "diving": "Diving", "drain": "Drain", + "drone": "Drone", "duration": "Duration", "e": "E", "echos": "Echos", diff --git a/Shadowrun5thEdition/translations/pt.json b/Shadowrun5thEdition/translations/pt.json index 18093382b4..c1fc1ae6b9 100644 --- a/Shadowrun5thEdition/translations/pt.json +++ b/Shadowrun5thEdition/translations/pt.json @@ -102,6 +102,7 @@ "disguise": "Disguise", "diving": "Diving", "drain": "Drain", + "drone": "Drone", "duration": "Duration", "e": "E", "echos": "Echos", diff --git a/Shadowrun5thEdition/translations/ru.json b/Shadowrun5thEdition/translations/ru.json index 18093382b4..c1fc1ae6b9 100644 --- a/Shadowrun5thEdition/translations/ru.json +++ b/Shadowrun5thEdition/translations/ru.json @@ -102,6 +102,7 @@ "disguise": "Disguise", "diving": "Diving", "drain": "Drain", + "drone": "Drone", "duration": "Duration", "e": "E", "echos": "Echos", diff --git a/Shadowrun5thEdition/translations/sv.json b/Shadowrun5thEdition/translations/sv.json index 18093382b4..c1fc1ae6b9 100644 --- a/Shadowrun5thEdition/translations/sv.json +++ b/Shadowrun5thEdition/translations/sv.json @@ -102,6 +102,7 @@ "disguise": "Disguise", "diving": "Diving", "drain": "Drain", + "drone": "Drone", "duration": "Duration", "e": "E", "echos": "Echos", diff --git a/Shadowrun5thEdition/translations/tr.json b/Shadowrun5thEdition/translations/tr.json index 18093382b4..c1fc1ae6b9 100644 --- a/Shadowrun5thEdition/translations/tr.json +++ b/Shadowrun5thEdition/translations/tr.json @@ -102,6 +102,7 @@ "disguise": "Disguise", "diving": "Diving", "drain": "Drain", + "drone": "Drone", "duration": "Duration", "e": "E", "echos": "Echos", diff --git a/Shadowrun5thEdition/translations/zh.json b/Shadowrun5thEdition/translations/zh.json index 18093382b4..c1fc1ae6b9 100644 --- a/Shadowrun5thEdition/translations/zh.json +++ b/Shadowrun5thEdition/translations/zh.json @@ -102,6 +102,7 @@ "disguise": "Disguise", "diving": "Diving", "drain": "Drain", + "drone": "Drone", "duration": "Duration", "e": "E", "echos": "Echos", diff --git a/Shadowrun5thEdition/translations/zu.json b/Shadowrun5thEdition/translations/zu.json index 2ceb55472c..e2cb02de28 100644 --- a/Shadowrun5thEdition/translations/zu.json +++ b/Shadowrun5thEdition/translations/zu.json @@ -102,6 +102,7 @@ "disguise": "crwdns81150:0crwdne81150:0", "diving": "crwdns81152:0crwdne81152:0", "drain": "crwdns81154:0crwdne81154:0", + "drone": "crwdns82766:0crwdne82766:0", "duration": "crwdns81156:0crwdne81156:0", "e": "crwdns81158:0crwdne81158:0", "echos": "crwdns81160:0crwdne81160:0", diff --git a/ShadowrunAnarchy/README.md b/ShadowrunAnarchy/README.md new file mode 100644 index 0000000000..6301e1c67b --- /dev/null +++ b/ShadowrunAnarchy/README.md @@ -0,0 +1,10 @@ +# Shadowrun-Anarchy +Shadowrun Anarchy for Roll20. All rights resevered to FASA & Catalyst or whomever owns Shadowrun Anarchy and all that jazz. + +# Any + +Questions, comments, concerns and suggestions can be posted to the [R20 post](https://app.roll20.net/forum/post/6609397/shadowrun-anarchy-unofficial-character-sheet-v-dot-1-5) + +# Tips + +You can support the Emerald Grid's continued creation of Shadowrun content via [Patreon](https://www.patreon.com/emeraldgrid) or tip me directly via [Paypal](paypal.me/CassieLevett) diff --git a/ShadowrunAnarchy/SR Anarchy.css b/ShadowrunAnarchy/ShadowrunAnarchy.css similarity index 97% rename from ShadowrunAnarchy/SR Anarchy.css rename to ShadowrunAnarchy/ShadowrunAnarchy.css index 3d1b45fad4..34ed554fcb 100644 --- a/ShadowrunAnarchy/SR Anarchy.css +++ b/ShadowrunAnarchy/ShadowrunAnarchy.css @@ -1973,15 +1973,42 @@ input.sheet-npc-desc { .sheet-rolltemplate-sAnarchy .inlinerollresult.importantroll { border: none; } + .sheet-rolltemplate-sAnarchy .inlinerollresult.fullfail {color: #589cda;} + .sheet-rolltemplate-sAnarchy .inlinerollresult.fullcrit {color: #e9b230;} -.sheet-rolltemplate-sAnarchy .inlinerollresult.fullfail { - color: #589cda; +.sheet-rolltemplate-sAnarchy .sheet-template-desc {font-size: 1em;} + +/* FRENCH adjustments */ + +.charsheet.lang-fr .sheet-karma-bubbles input[type="number"] { + margin-top: -2em; } -.sheet-rolltemplate-sAnarchy .inlinerollresult.fullcrit { - color: #e9b230; +.charsheet.lang-fr .sheet-cuerow input[type="checkbox"] { + left: 55%; + top: -25px;} + + .charsheet.lang-fr .sheet-cuerow input[type="checkbox"] + span {left: 52.5%;} + +.charsheet.lang-fr .sheet-geartoggle input[type="checkbox"] {left: 58%;} + .charsheet.lang-fr .sheet-geartoggle input[type="checkbox"] + span {left: 50%;} + +.charsheet.lang-fr sheet-npc .sheet-weaponsubtitlesbox { + left: 3%; } -.sheet-rolltemplate-sAnarchy .sheet-template-desc { - font-size: 1em; -} \ No newline at end of file +.charsheet.lang-fr .sheet-weaponlabels { + width: 23%; +} + +.charsheet.lang-fr .sheet-npc .sheet-npc-consection .sheet-radio-header-small { + left: 4%; + margin-right: -70px; + width: 15%; +} + +.charsheet.lang-fr .sheet-npc .sheet-weaponsubtitlesbox { + left: 4%; +} + +/* END FRENCH adjustments */ \ No newline at end of file diff --git a/ShadowrunAnarchy/SR Anarchy.html b/ShadowrunAnarchy/ShadowrunAnarchy.html similarity index 98% rename from ShadowrunAnarchy/SR Anarchy.html rename to ShadowrunAnarchy/ShadowrunAnarchy.html index da9ae697e5..88415d4a88 100644 --- a/ShadowrunAnarchy/SR Anarchy.html +++ b/ShadowrunAnarchy/ShadowrunAnarchy.html @@ -1,4 +1,4 @@ - +
Shadowrun logo @@ -581,12 +581,12 @@
- - - - - - + + + + + +
@@ -890,7 +890,7 @@
- +
@@ -1323,4 +1323,4 @@ on("change:repeating_skills", function() { }); - + \ No newline at end of file diff --git a/ShadowrunAnarchy/sheet.json b/ShadowrunAnarchy/sheet.json index 3df9003607..084d171bc7 100644 --- a/ShadowrunAnarchy/sheet.json +++ b/ShadowrunAnarchy/sheet.json @@ -1,10 +1,10 @@ { - "html": "SR Anarchy.html", - "css": "SR Anarchy.css", + "html": "ShadowrunAnarchy.html", + "css": "ShadowrunAnarchy.css", "authors": "Cassie Levett", "roll20userid": "557736", "patreon": "https://www.patreon.com/emeraldgrid", "preview": "Anarchy_preview.PNG", - "version": "Version 1.5", - "instructions": "The Topps Company, Inc. has sole ownership of the names, logo, artwork, marks, photographs, sounds, audio, video and/or any proprietary material used in connection with the game Shadowrun. The Topps Company, Inc. has granted permission to use such names, logos, artwork, marks and/or any proprietary materials for promotional and informational purposes on its website but does not endorse, and is not affiliated with any official capacity whatsoever." + "version": "Version 1.6", + "instructions": "*The Topps Company, Inc. has sole ownership of the names, logo, artwork, marks, photographs, sounds, audio, video and/or any proprietary material used in connection with the game Shadowrun. The Topps Company, Inc. has granted permission to use such names, logos, artwork, marks and/or any proprietary materials for promotional and informational purposes on its website but does not endorse, and is not affiliated with any official capacity whatsoever.*" } \ No newline at end of file diff --git a/ShadowrunAnarchy/translations/fr.json b/ShadowrunAnarchy/translations/fr.json index 4255702524..2e8e81bdf0 100644 --- a/ShadowrunAnarchy/translations/fr.json +++ b/ShadowrunAnarchy/translations/fr.json @@ -17,13 +17,13 @@ "weapons": "Armes", "unarmed": "Non armés", "damage": "Dommages", - "close": "Corps à corps", + "close": "Mêlée", "near": "Près", "far": "Loin", "condition": "Moniteur d’État", "armor": "Armure", "physical": "Physique", - "stun": "Etourissement", + "stun": "Étourdissement", "plot": "Histoire", "gear": "Equipement", "contacts": "Contacts", diff --git a/Splittermond/Sheet.html b/Splittermond/Sheet.html index 803cdffba3..1f637119b5 100644 --- a/Splittermond/Sheet.html +++ b/Splittermond/Sheet.html @@ -1249,19 +1249,22 @@

Kampf & Meisterschaften

- - - + + + -

Initiative, Schaden & Fokus

 

Zustände

Initiative, Patzer & Splitterpunkte

 

Zustände, Schaden & Fokus

- + - + + + + + + + + + + + + + +
+ + + + @@ -1277,9 +1280,9 @@ - - - + + + @@ -1297,18 +1300,18 @@ - +
Diverses
Lebenspunkte K: E: V:
Schadensmodifikator
Fokus K: E: V: K: E: V:
Splitterpunkte
Zauberpatzer
+   - +
- + @@ -1332,6 +1335,63 @@
ZustandStufeStufe Aktiv?
+ + + + + + + + + + + +
Schaden
 Verzehren Erschöpfen Kanalisieren
+
+ + + + + + + + + + + + + +
Fokus
 Verzehren Erschöpfen Kanalisieren
 Kanalisierten zu Erschöpftem Fokus umwandeln
+
 
+   + +   + + + + + + + + + + +
Regeneration
Bonus:  Verschnaufpause Ruhephase
+

Nahkampfwaffen

@@ -2180,68 +2240,143 @@ {{#rollBetween() naming 0 0}} {{#rollBetween() result 3 20}} {{#rollBetween() fk 1 1}} - Keine Auswirkungen! + Keine Auswirkungen! {{/rollBetween() fk 1 1}} {{#rollBetween() fk 2 2}} - Keine Auswirkungen! + Keine Auswirkungen! {{/rollBetween() fk 2 2}} {{#rollBetween() fk 0 0}} - Erschöpft 2 + {{#rollBetween() sbm 0 0}} + Erschöpft 2 + {{/rollBetween() sbm 0 0}} + {{#rollBetween() sbm 1 1}} + Keine Auswirkungen! + {{/rollBetween() sbm 1 1}} {{/rollBetween() fk 0 0}} {{/rollBetween() result 3 20}} {{#rollBetween() result 21 35}} {{#rollBetween() fk 1 1}} - Erschöpft 2 + {{#rollBetween() sbm 0 0}} + Erschöpft 2 + {{/rollBetween() sbm 0 0}} + {{#rollBetween() sbm 1 1}} + Keine Auswirkungen! + {{/rollBetween() sbm 1 1}} {{/rollBetween() fk 1 1}} {{#rollBetween() fk 2 2}} - Keine Auswirkungen! + Keine Auswirkungen! {{/rollBetween() fk 2 2}} {{#rollBetween() fk 0 0}} - Erschöpft 2 und Glaubenskrise 1 + {{#rollBetween() sbm 0 0}} + Erschöpft 2 und Glaubenskrise 1 + {{/rollBetween() sbm 0 0}} + {{#rollBetween() sbm 1 1}} + Erschöpft 2 + {{/rollBetween() sbm 1 1}} {{/rollBetween() fk 0 0}} {{/rollBetween() result 21 35}} {{#rollBetween() result 36 70}} {{#rollBetween() fk 1 1}} - Erschöpft 2 und Glaubenskrise 1 + {{#rollBetween() sbm 0 0}} + Erschöpft 2 und Glaubenskrise 1 + {{/rollBetween() sbm 0 0}} + {{#rollBetween() sbm 1 1}} + Erschöpft 2 + {{/rollBetween() sbm 1 1}} {{/rollBetween() fk 1 1}} {{#rollBetween() fk 2 2}} - Erschöpft 2 + {{#rollBetween() sbm 0 0}} + Erschöpft 2 + {{/rollBetween() sbm 0 0}} + {{#rollBetween() sbm 1 1}} + Keine Auswirkungen! + {{/rollBetween() sbm 1 1}} {{/rollBetween() fk 2 2}} {{#rollBetween() fk 0 0}} - Erschöpft 2, Benommen 2 und Glaubenskrise 2 + {{#rollBetween() sbm 0 0}} + Erschöpft 2, Benommen 2 und Glaubenskrise 2 + {{/rollBetween() sbm 0 0}} + {{#rollBetween() sbm 1 1}} + Erschöpft 2 und Glaubenskrise 1 + {{/rollBetween() sbm 1 1}} {{/rollBetween() fk 0 0}} {{/rollBetween() result 36 70}} {{#rollBetween() result 71 100}} {{#rollBetween() fk 1 1}} - Erschöpft 2, Benommen 2 und Glaubenskrise 2 + {{#rollBetween() sbm 0 0}} + Erschöpft 2, Benommen 2 und Glaubenskrise 2 + {{/rollBetween() sbm 0 0}} + {{#rollBetween() sbm 1 1}} + Erschöpft 2 und Glaubenskrise 1 + {{/rollBetween() sbm 1 1}} {{/rollBetween() fk 1 1}} {{#rollBetween() fk 2 2}} - Erschöpft 2 und Glaubenskrise 1 + {{#rollBetween() sbm 0 0}} + Erschöpft 2 und Glaubenskrise 1 + {{/rollBetween() sbm 0 0}} + {{#rollBetween() sbm 1 1}} + Erschöpft 2 + {{/rollBetween() sbm 1 1}} {{/rollBetween() fk 2 2}} {{#rollBetween() fk 0 0}} - Erschöpft 2, Benommen 2 und Glaubenskrise 3 + {{#rollBetween() sbm 0 0}} + Erschöpft 2, Benommen 2 und Glaubenskrise 3 + {{/rollBetween() sbm 0 0}} + {{#rollBetween() sbm 1 1}} + Erschöpft 2, Benommen 2 und Glaubenskrise 2 + {{/rollBetween() sbm 1 1}} {{/rollBetween() fk 0 0}} {{/rollBetween() result 71 100}} {{#rollBetween() result 101 130}} {{#rollBetween() fk 1 1}} - Erschöpft 2, Benommen 2 und Glaubenskrise 3 + {{#rollBetween() sbm 0 0}} + Erschöpft 2, Benommen 2 und Glaubenskrise 3 + {{/rollBetween() sbm 0 0}} + {{#rollBetween() sbm 1 1}} + Erschöpft 2, Benommen 2 und Glaubenskrise 2 + {{/rollBetween() sbm 1 1}} {{/rollBetween() fk 1 1}} {{#rollBetween() fk 2 2}} - Erschöpft 2, Benommen 2 und Glaubenskrise 2 + {{#rollBetween() sbm 0 0}} + Erschöpft 2, Benommen 2 und Glaubenskrise 2 + {{/rollBetween() sbm 0 0}} + {{#rollBetween() sbm 1 1}} + Erschöpft 2 und Glaubenskrise 1 + {{/rollBetween() sbm 1 1}} {{/rollBetween() fk 2 2}} {{#rollBetween() fk 0 0}} - Angsterfüllt, Erschöpft 3, Benommen 2 und Glaubenskrise 3 + {{#rollBetween() sbm 0 0}} + Angsterfüllt, Erschöpft 3, Benommen 2 und Glaubenskrise 3 + {{/rollBetween() sbm 0 0}} + {{#rollBetween() sbm 1 1}} + Erschöpft 2, Benommen 2 und Glaubenskrise 3 + {{/rollBetween() sbm 1 1}} {{/rollBetween() fk 0 0}} {{/rollBetween() result 101 130}} {{#rollGreater() result 130}} {{#rollBetween() fk 1 1}} - Angsterfüllt, Erschöpft 3, Benommen 2 und Glaubenskrise 3 + {{#rollBetween() sbm 0 0}} + Angsterfüllt, Erschöpft 3, Benommen 2 und Glaubenskrise 3 + {{/rollBetween() sbm 0 0}} + {{#rollBetween() sbm 1 1}} + Erschöpft 2, Benommen 2 und Glaubenskrise 3 + {{/rollBetween() sbm 1 1}} {{/rollBetween() fk 1 1}} {{#rollBetween() fk 2 2}} - Erschöpft 2, Benommen 2 und Glaubenskrise 3 + {{#rollBetween() sbm 0 0}} + Erschöpft 2, Benommen 2 und Glaubenskrise 3 + {{/rollBetween() sbm 0 0}} + {{#rollBetween() sbm 1 1}} + Erschöpft 2, Benommen 2 und Glaubenskrise 2 + {{/rollBetween() sbm 1 1}} {{/rollBetween() fk 2 2}} {{#rollBetween() fk 0 0}} - Angsterfüllt, Erschöpft 4 und Benommen 3.

Keine Zauber bis zur n&aauml;chsten Ruhephase + {{#rollBetween() sbm 0 0}} + Angsterfüllt, Erschöpft 4 und Benommen 3.

Keine Zauber bis zur n&aauml;chsten Ruhephase + {{/rollBetween() sbm 0 0}} + {{#rollBetween() sbm 1 1}} + Angsterfüllt, Erschöpft 3, Benommen 2 und Glaubenskrise 3 + {{/rollBetween() sbm 1 1}} {{/rollBetween() fk 0 0}} {{/rollGreater() result 130}} {{/rollBetween() naming 0 0}} @@ -3331,25 +3466,25 @@ on("change:behinderung", function(eventinfo) { }); on("change:lebenspunkte", function(e) { - getAttrs(["lebenspunkte"], function(v) { + getAttrs(["lebenspunkte", "lebenspunkte_e", "lebenspunkte_k", "lebenspunkte_v"], function(v) { setAttrs({ - lebenspunkte_t: (+v.lebenspunkte * 5) + lebenspunkte_t: (+v.lebenspunkte * 5) - +v.lebenspunkte_e - +v.lebenspunkte_k - +v.lebenspunkte_v }); }); }); on("change:fokus", function(e) { - getAttrs(["fokus"], function(v) { + getAttrs(["fokus", "fokus_e", "fokus_k", "fokus_v"], function(v) { setAttrs({ - fokus_t: +v.fokus + fokus_t: +v.fokus - +v.fokus_e - +v.fokus_k - +v.fokus_v }); }); }); -on("change:lebenspunkte_t change:schmerzresistenz change:sw1 change:sw2 change:verwundet", function(e) { - getAttrs(["lebenspunkte", "lebenspunkte_t", "schmerzresistenz", "sw1", "sw2", "verwundet"], function(v) { +on("change:lebenspunkte_v change:schmerzresistenz change:sw1 change:sw2 change:verwundet", function(e) { + getAttrs(["lebenspunkte", "lebenspunkte_v", "schmerzresistenz", "sw1", "sw2", "verwundet"], function(v) { var mod; - var row = Math.ceil( ((+v.lebenspunkte * 5) - +v.lebenspunkte_t) / v.lebenspunkte ); + var row = Math.ceil( +v.lebenspunkte_v / +v.lebenspunkte ); row += +v.verwundet; var sr = v.schmerzresistenz; var sw1 = v.sw1; @@ -3728,7 +3863,7 @@ on("change:lpnscgesamt change:schmerzimmunnsc", function(f) { }); on("change:notizen", function(eventInfo) { - getAttrs(["notizen"], function (v) { + getAttrs(["notizen", "fokus", "lebenspunkte"], function (v) { let notizen = v.notizen.toLowerCase(); if (notizen.startsWith("!setnull(")) { switch (notizen.slice(9).slice(0, -1)) { @@ -3736,10 +3871,22 @@ on("change:notizen", function(eventInfo) { setAttrs({hiddensr: 0}); break; case "lp": - setAttrs({hiddenlp: 0}); + setAttrs({ + hiddenlp: 0, + lebenspunkte_k: 0, + lebenspunkte_e: 0, + lebenspunkte_v: 0, + lebenspunkte_t: +v.lebenspunkte * 5 + }); break; case "fokus": - setAttrs({hiddenfokus: 0}); + setAttrs({ + hiddenfokus: 0, + fokus_k: 0, + fokus_e: 0, + fokus_v: 0, + fokus_t: +v.fokus + }); break; case "gsw": setAttrs({hiddengsw: 0}); @@ -5379,4 +5526,116 @@ function createNSCFromTemplate (template) { setAttrs(newrowattrs); } +on("change:schadenv change:schadene change:schadenk", function(f) { + getAttrs(["schadenv", "schadene", "schadenk", "schadenum", "lebenspunkte_k", "lebenspunkte_e", "lebenspunkte_v", "lebenspunkte_t"], function(v) { + let dmg = +v.schadenum; + let lp_t = +v.lebenspunkte_t; + if (v.schadenv == true) { + let lp_v = +v.lebenspunkte_v; + setAttrs({ + lebenspunkte_v: +lp_v + +dmg, + lebenspunkte_t: +lp_t - +dmg, + schadenv: false, + schadenum: 0 + }); + } else if (v.schadene == true) { + let lp_e = +v.lebenspunkte_e; + setAttrs({ + lebenspunkte_e: +lp_e + +dmg, + lebenspunkte_t: +lp_t - +dmg, + schadene: false, + schadenum: 0 + }); + } else if (v.schadenk == true) { + let lp_k = +v.lebenspunkte_k; + setAttrs({ + lebenspunkte_k: +lp_k + +dmg, + lebenspunkte_t: +lp_t - +dmg, + schadenk: false, + schadenum: 0 + }); + } + }); +}); + +on("change:fokusv change:fokuse change:fokusk change:fokuskzue", function(f) { + getAttrs(["fokusv", "fokuse", "fokusk", "fokuskzue", "fokusnum", "fokus_k", "fokus_e", "fokus_v", "fokus_t"], function(v) { + let fok = +v.fokusnum; + let fokus_t = +v.fokus_t; + if (v.fokusv == true) { + let fok_v = +v.fokus_v; + setAttrs({ + fokus_v: +fok_v + +fok, + fokus_t: +fokus_t - +fok, + fokusv: false, + fokusnum: 0 + }); + } else if (v.fokuse == true) { + let fok_e = +v.fokus_e; + setAttrs({ + fokus_e: +fok_e + +fok, + fokus_t: +fokus_t - +fok, + fokuse: false, + fokusnum: 0 + }); + } else if (v.fokusk == true) { + let fok_k = +v.fokus_k; + setAttrs({ + fokus_k: +fok_k + +fok, + fokus_t: +fokus_t - +fok, + fokusk: false, + fokusnum: 0 + }); + } else if (v.fokuskzue == true) { + let fok_k = +v.fokus_k; + let fok_e = +v.fokus_e; + setAttrs({ + fokus_k: +fok_k - +fok, + fokus_e: +fok_e + +fok, + fokuskzue: false, + fokusnum: 0 + }); + } + }); +}); + +on("change:verschnaufpause change:ruhephase", function(f) { + getAttrs(["fokus_k", "fokus_e", "fokus_v", "fokus_t", "lebenspunkte_k", "lebenspunkte_e", "lebenspunkte_v", "lebenspunkte_t", "regbonus", "verschnaufpause", "ruhephase", "konstitution", "willenskraft", "lebenspunkte", "fokus"], function(v) { + let fokus_t = +v.fokus_t; + let fokus_v = +v.fokus_v; + let fokus_e = +v.fokus_e; + let fokus_k = +v.fokus_k; + let lp_t = +v.lebenspunkte_t; + let lp_v = +v.lebenspunkte_v; + let lp_e = +v.lebenspunkte_e; + let lp_k = +v.lebenspunkte_k; + let kon = +v.konstitution; + let wil = +v.willenskraft; + let regbonus = +v.regbonus; + setAttrs({ + lebenspunkte_t: +lp_t + +lp_e, + lebenspunkte_e: 0, + fokus_t: +fokus_t + fokus_e, + fokus_e: 0, + verschnaufpause: false + }); + lp_t += +lp_e; + fokus_t += fokus_e; + if (v.ruhephase == true) { + let lpges = Math.min(+lp_t + +regbonus + (+kon * 2), +v.lebenspunkte * 5); + let lpv = Math.max(+lp_v - +regbonus - (+kon *2), 0); + let fokges = Math.min(+fokus_t + (+wil * 2), +v.fokus); + let fokv = Math.max(+fokus_v - (+wil * 2), 0); + setAttrs({ + lebenspunkte_t: +lpges, + lebenspunkte_v: +lpv, + fokus_t: +fokges, + fokus_v: +fokv, + ruhephase: false, + regbonus: 0 + }); + } + }); +}); + \ No newline at end of file diff --git a/Starfinder Official/Starfinder.css b/Starfinder Official/Starfinder.css index 5605c9cd7f..933266feab 100644 --- a/Starfinder Official/Starfinder.css +++ b/Starfinder Official/Starfinder.css @@ -137,8 +137,7 @@ label{ display:inline; position:relative; } -button[type=roll]::before -{ +button[type=roll]::before{ content: "" !important; } button[type=roll]:hover, @@ -166,6 +165,7 @@ label:hover, --circlecolor:#707070; --borderradius:0px 4px 4px 4px; margin-left:5px; + min-width:881px; } .sheet-starfinder .sheet-disclaimer{ grid-area:disclaimer; @@ -254,6 +254,7 @@ label:hover, grid-template-rows: [char-tab-start class-tab-start third-tab-start] 19px [hcontent-start] 1px [third-tab-end char-tab-end class-tab-end] auto [hcontent-end]; justify-items:stretch; align-items:stretch; + position:relative; /*background: url("https://cdn.rawgit.com/Kurohyou/roll20-character-sheets/61f96565/Starfinder%20HUD/Assets/SF-hirez-thin.png") top left/15px no-repeat, url("https://cdn.rawgit.com/Kurohyou/roll20-character-sheets/61f96565/Starfinder%20HUD/Assets/SF-hirez-wide.png") bottom right/176.5px no-repeat;*/ @@ -275,9 +276,9 @@ label:hover, .sheet-pc > .sheet-header-content > .sheet-char-info, .sheet-pc > .sheet-header-content > .sheet-class-info, .sheet-pc > .sheet-header-content > .sheet-spellclass-details, -.sheet-in-play > .sheet-buffs, -.sheet-in-play > .sheet-menus, -.sheet-in-play > .sheet-conditions{ +.sheet-starfinder .sheet-in-play > .sheet-buffs, +.sheet-starfinder .sheet-in-play > .sheet-menus, +.sheet-starfinder .sheet-in-play > .sheet-conditions{ display:none; grid-area:hcontent; flex-wrap:wrap; @@ -324,31 +325,6 @@ label:hover, grid-column:1/-1 !important; position:absolute; } -:not(.sheet-section-container) > .sheet-section-container > .sheet-border.sheet-corner{ - display:none; -} -.sheet-border.sheet-top-right{ - top:calc(var(--wedge) / 2 *1.41); - left:calc(100% - var(--wedge)*1.7); - height:0px; -} -.sheet-border.sheet-bottom-left{ - top:calc(100% + var(--wedge) / 2 *-1.6); - left:-2px; - height:0px; - background-color:red; -} -.sheet-border.sheet-top-left{ - top:calc(var(--wedge) / 2 *1.41); - left:-2px; -} -.sheet-border.sheet-bottom-right{ - top:calc(100% + var(--wedge) / 2 *-1.6); - left:calc(100% - var(--wedge)*1.7); -} -.sheet-always-glow{ - box-shadow:var(--box-shadow); -} .sheet-hide-tab:checked + .sheet-section{ z-index:11; } @@ -591,6 +567,10 @@ input[type=radio].sheet-char-tab.sheet-class-details-tab:checked ~ .sheet-class- position:relative; min-height:20px; } +.repcontainer .repitem:not(:last-child) .sheet-filter-container, +.repcontainer .repitem:not(:last-child) .sheet-spell{ + margin-bottom:5px; +} .sheet-starfinder input.sheet-show-options, .sheet-show-options + span { width: 18px; @@ -718,7 +698,7 @@ input[type=radio].sheet-char-tab.sheet-class-details-tab:checked ~ .sheet-class- position:relative; margin:0px; } -.sheet-mod-container span{ +.sheet-mod-container > span{ position:absolute; top:0px; } @@ -793,7 +773,6 @@ label.sheet-pseudo-repcontrol input{ .repcontainer:not([data-groupname='repeating_profession']):not([data-groupname='repeating_condition']){ grid-area:container; max-width:100%; - display:grid; grid-template-columns:1fr; grid-gap:5px; align-content:start; @@ -918,6 +897,7 @@ input[type=radio].sheet-tab-button.sheet-options:checked ~ .sheet-page.sheet-opt ". . . . . . ."/*bottom gutter*/; text-align:center; grid-column-gap:5px; + position:relative; } .sheet-proficiency-section span.sheet-light-armor{ grid-area:light-label; @@ -1097,6 +1077,7 @@ input[type=radio].sheet-tab-button.sheet-options:checked ~ .sheet-page.sheet-opt grid-template-columns:[tot-start]20px [tot-end arith-start] 10px [arith-end select-start] 40px [select-end]; grid-template-rows:[tot-start arith-start select-start] auto [tot-end arith-end select-end]; justify-items:center; + position:relative; } .sheet-initiative-container > .sheet-section-container .sheet-tot{ grid-area:tot; @@ -1126,6 +1107,7 @@ input[type=radio].sheet-tab-button.sheet-options:checked ~ .sheet-page.sheet-opt grid-template-rows: [char-tab-start class-tab-start] 19px [hcontent-start] 1px [char-tab-end class-tab-end] 1fr [hcontent-end]; justify-items:stretch; align-items:stretch; + position:relative; /*background: url("https://cdn.rawgit.com/Kurohyou/roll20-character-sheets/61f96565/Starfinder%20HUD/Assets/SF-hirez-thin.png") top left/15px no-repeat, url("https://cdn.rawgit.com/Kurohyou/roll20-character-sheets/61f96565/Starfinder%20HUD/Assets/SF-hirez-wide.png") bottom right/176.5px no-repeat;*/ @@ -1627,8 +1609,7 @@ textarea.sheet-abi-description{ .sheet-field-container{ position:relative; } -.sheet-filter-container, -.sheet-field-container .sheet-row{ +.sheet-filter-container{ display:none; } .sheet-atk-tab, @@ -1864,16 +1845,27 @@ span.sheet-field{ .sheet-filter-container.sheet-item .sheet-id{ grid-column:1 / 5; } -.sheet-filter-container.sheet-item input[type=checkbox].sheet-attacher:not(:checked) ~ textarea.sheet-attacher, -.sheet-filter-container.sheet-item input[type=checkbox].sheet-mods:not(:checked) ~ textarea.sheet-mods{ +.sheet-filter-container input[type=checkbox].sheet-attacher:not(:checked) ~ div.sheet-attacher, +.sheet-filter-container input[type=checkbox].sheet-mods:not(:checked) ~ div.sheet-mods{ display:none; } -.sheet-filter-container.sheet-item .sheet-attacher:checked ~ .sheet-attacher, -.sheet-filter-container.sheet-item .sheet-mods:checked ~ .sheet-mods{ +.sheet-filter-container .sheet-attacher:checked ~ .sheet-attacher, +.sheet-filter-container .sheet-mods:checked ~ .sheet-mods, +.sheet-starfinder .sheet-help-container{ grid-column:1/5; - display:block; + display:grid; + grid-template-columns:1fr; margin:0px; } +.sheet-filter-container.sheet-spell .sheet-attacher:checked ~ .sheet-attacher, +.sheet-filter-container.sheet-spell .sheet-mods:checked ~ .sheet-mods, +.sheet-filter-container.sheet-spell .sheet-field-container > .sheet-help-container{ + grid-column:1/3; +} +.sheet-filter-container .sheet-attacher:checked ~ .sheet-attacher > .sheet-row, +.sheet-filter-container .sheet-mods:checked ~ .sheet-mods > .sheet-row{ + display:flex; +} .sheet-filter-container.sheet-item .sheet-armor-purpose{ display:none; } @@ -2414,13 +2406,25 @@ input[type=checkbox].sheet-class-spells:checked + .sheet-spellclass-container, grid-template-columns:[label-start repcontrol-start] 60px [label-end repcontrol-end repeating-start] 1fr [repeating-end]; grid-template-rows:[label-start repeating-start] 20px [label-end repcontrol-start] minmax(20px,auto) [repeating-end repcontrol-end]; } +.sheet-statblock > .sheet-spell-like-row{ + display:grid; + grid-template-columns:[repcontrol-start repeating-start] 1fr [repeating-end repcontrol-end]; + grid-template-rows:[repeating-start] auto [repeating-end repcontrol-start] auto [repcontrol-end]; +} +.sheet-statblock > .sheet-spell-like-row .sheet-filter[value=SP] ~ .sheet-filter-container, +.sheet-statblock > .sheet-row .repcontainer[data-groupname='repeating_ability'] .sheet-filter:not([value=SP]) ~ .sheet-filter-container{ + display:block; +} .sheet-statblock > .sheet-attack-row > .sheet-attack-label{ grid-area:label; } -.sheet-statblock > .sheet-attack-row > .repcontainer[data-groupname='repeating_attack']{ +.sheet-statblock > .sheet-attack-row > .repcontainer, +.sheet-statblock > .sheet-spell-like-row > .repcontainer{ grid-area:repeating; max-height:initial; } +.sheet-statblock > .sheet-spell-like-row > .repcontrol, +.sheet-statblock > .sheet-spell-like-row > .sheet-pseudo-repcontrol, .sheet-statblock > .sheet-attack-row > .repcontrol, .sheet-statblock > .sheet-attack-row > .sheet-pseudo-repcontrol{ grid-area:repcontrol; @@ -2428,10 +2432,12 @@ input[type=checkbox].sheet-class-spells:checked + .sheet-spellclass-container, position:relative; top:-5px; } -.sheet-statblock > .sheet-attack-row > .repcontrol{ +.sheet-statblock > .sheet-attack-row > .repcontrol, +.sheet-statblock > .sheet-spell-like-row > .repcontrol{ justify-self:center; } -.sheet-statblock > .sheet-attack-row > .sheet-pseudo-repcontrol{ +.sheet-statblock > .sheet-attack-row > .sheet-pseudo-repcontrol, +.sheet-statblock > .sheet-spell-like-row > .sheet-pseudo-repcontrol{ justify-self:start; } .sheet-statblock > .sheet-attack-row .repcontainer[data-groupname='repeating_attack']{ @@ -2455,7 +2461,8 @@ input[type=checkbox].sheet-class-spells:checked + .sheet-spellclass-container, top:-5px; align-self:flex-end; } -.sheet-statblock .repcontrol[data-groupname='repeating_attack'] .repcontrol_add{ +.sheet-statblock .sheet-attack-row .repcontrol_add, +.sheet-statblock .sheet-spell-like-row .repcontrol_add{ display:none !important; } .sheet-attack-label{ @@ -3463,9 +3470,56 @@ grid-template-columns:0px [life-support-start sensors-start weapons-start weapon top:-5px; text-align:center; } -.sheet-starfinder .repcontainer .repitem{ +.sheet-starfinder .repcontainer:not([data-groupname="repeating_buff"]) .repitem{ overflow:hidden; } +/*############################################################ Help dialog defaults ############################################################*/ +.sheet-starfinder div.sheet-help-container:not(:first-child){ + width:15px; + height:18px; + grid-template-columns:none !important; + grid-template-rows:none !important; + justify-self: end; + align-self:start; + border:0px; + position:absolute; + overflow:hidden; + align-items:end; + align-items:flex-end; + z-index:100; +} +.sheet-starfinder div.sheet-help-container .sheet-help-icon{ + align-self:end; + width:15px; + height:18px; +} +.sheet-starfinder div.sheet-help-container .sheet-help-content{ + opacity:0; + position:absolute; +} +.sheet-starfinder div.sheet-help-container:not(:first-child):hover{ + width:100%; + height:80px; + border:1px solid black; + background-color:white; + justify-content:flex-end; + grid-template-columns:1fr 15px !important; + grid-template-rows:1fr !important; + top:-62px; +} +.sheet-help-content *{ + font-family:arial; +} +.sheet-help-content > *{ + display:block; +} +.sheet-starfinder div.sheet-help-container:hover .sheet-help-content{ + opacity:100; + position:relative; + align-self:flex-start; + max-height:100%; + overflow-y:scroll; +} /*############################################################ ROLL TEMPLATES ############################################################*/ .sheet-rolltemplate-sf_generic, .sheet-rolltemplate-sf_attack, @@ -3873,4 +3927,4 @@ grid-template-columns:0px [life-support-start sensors-start weapons-start weapon overflow-y:auto; overflow-x:hidden; } -/* ########################################################################################################################################*/ \ No newline at end of file +/* ########################################################################################################################################*/ diff --git a/Starfinder Official/Starfinder.html b/Starfinder Official/Starfinder.html index 38fb2425af..ad9067c675 100644 --- a/Starfinder Official/Starfinder.html +++ b/Starfinder Official/Starfinder.html @@ -11,6 +11,7 @@ This pattern can be found at https://regexr.com/3mi9v + @@ -19,7 +20,7 @@ This pattern can be found at https://regexr.com/3mi9v
- + y x @@ -147,6 +148,13 @@ This pattern can be found at https://regexr.com/3mi9v +
+
+ The textareas in this repeating section are used to enter buffs, penalties, and other modifications to the sheet. Full details can be found on the sheet's wiki page, but the basic syntax is given here: + +X BonusType to target BonusType is optional and can be any word (letters and spaces). Target is the name of the attribute you want to modify. Underscores in the name can be replaced with spaces. You may also use the keywords attack and damage to affect all attack and damage attributes of attacks, spells, and abilities. +
+ ? +

CONDITIONS

@@ -251,11 +259,11 @@ This pattern can be found at https://regexr.com/3mi9v
- +

CHARACTER

- +

CLASS

@@ -827,6 +835,38 @@ This pattern can be found at https://regexr.com/3mi9v
+
+
+ This section stores all the basic information on your character. Most of these fields have no effect on the sheet itself, but there are two that do: + Class/Level: is filled by the sheet as you enter your class(es) and level(s) in the class tab. + Race HP: This is used by the sheet to calculate your hp and stores your racial starting hp. +
+ ? +
+
+
+ This section stores all the basic information on your class(es). The fields are organized into the following columns: + Name: The name of the class. This is concatenated with level to create the class/level field in the character details screen. + Level: The level of this class. In addition to affecting the class/level field, this is used to calculate much of your character's info from health to skills + Stamina Points: How many stamina points the class grants at each level. + Hit Points: How many hit points the class grants at each level. + Base Attack Bonus Progression: The progression of the class' BAB. 1/2 BAB classes will have a bab of 0 at level 1 and 10 at level 20. 3/4 BAB classes will have a bab of 0 at level 1 and 15 at level 20. Full BAB (or 1) will have a BAB equal to their level. + Fortitude/Reflex/Will Save Progressions: The progression of the saves. There are two progressions: Good, which starts at 2, and Poor which starts at 0. + Skills/Level: The number of skill points your class grants each level, not counting intelligence bonus + Key Ability: The class' key ability score + Spells Checkbox: Checked if the class casts spells +
+ ? +
+
+
+ This section stores the details of all your spellcasting classes. A panel is created for each class that casts spells, and each panel has the following editable fields: + Casting Ability: The ability used to cast spells. + Spell Progression: How quickly the class gains new spell levels. Technomancer and Mystic are partial spell casters. Other progressions are included to support importing pathfinder classes. + Spells/Day: There is a current and a maximum for each spell level. These are displayed as different spell levels are gained. +
+ ? +
@@ -863,6 +903,12 @@ This pattern can be found at https://regexr.com/3mi9v

ABILITY SCORES

+ + + + + + MOD TOT @@ -923,6 +969,12 @@ This pattern can be found at https://regexr.com/3mi9v
+
+
+ This section stores your ability scores and modifiers, as well as allowing handling for ability damage, penalties, and drain. +
+ ? +
@@ -967,6 +1019,12 @@ This pattern can be found at https://regexr.com/3mi9v
+
+
+ This section displays your total and current health values. The hp, sp, and rp maximums are calculated based on your stats and class levels. Any items or abilities that modify these values are handled via the mods section of the item, ability, and buff repeating sections. +
+ ? +
@@ -1035,6 +1093,16 @@ This pattern can be found at https://regexr.com/3mi9v
+
+
+ This section displays your character's armor classes and miscellaneous notes about them. Armor bonuses are handled via the mods section of the item, ability, and/or buff repeating sections below and above. You can enter armor related buffs like so: + +X armor to eac + +Y armor to kac + -Z armor to acp + U max dex to armor +
+ ? +
@@ -1098,6 +1166,12 @@ This pattern can be found at https://regexr.com/3mi9v
+
+
+ This section displays your character's save bonuses and miscellaneous notes about them. The BASE column shows what bonus you receive from your class levels and is calculated by the sheet based on the information entered in the class details pane above. Any items or abilities that modify these values are handled via the mods section of the item, ability, and buff repeating sections. +
+ ? +
@@ -1742,6 +1816,12 @@ This pattern can be found at https://regexr.com/3mi9v
+
+
+ This section contains all of your skills. Profession skills may be added by clicking the plus sign. +
+ ? +
@@ -1944,11 +2024,17 @@ This pattern can be found at https://regexr.com/3mi9v
- - - - - + + +
+ +
+
+ This textarea is used to override the default roll template output, send api commands with the roll, or include any other chat messages you want sent at the same time as the roll. The first line of the textarea is included with the roll template, while any other lines are sent as independent chat messages. +
+ ? +
+
@@ -2073,10 +2159,34 @@ This pattern can be found at https://regexr.com/3mi9v - +
+
+ +
+
+
+ This textarea is used to enter buffs, penalties, and other modifications to the sheet. Full details can be found on the sheet's wiki page, but the basic syntax is given here: + +X BonusType to target BonusType is optional and can be any word (letters and spaces). Target is the name of the attribute you want to modify. Underscores in the name can be replaced with spaces. You may also use the keywords attack and damage to affect all attack and damage attributes of attacks, spells, and abilities. + Entering Armor Mods: The mods syntax can handle eac and kac bonuses, armor check penalty, and maximum dexterity bonuses: + +X armor to eac + +Y armor to kac + -Z armor to acp + U max dex to armor +
+ ? +
+
- +
+ +
+
+ This textarea is used to override the default roll template output, send api commands with the roll, or include any other chat messages you want sent at the same time as the roll. The first line of the textarea is included with the roll template, while any other lines are sent as independent chat messages. +
+ ? +
+
@@ -2257,9 +2367,9 @@ This pattern can be found at https://regexr.com/3mi9v 10
@@ -2272,19 +2382,31 @@ This pattern can be found at https://regexr.com/3mi9v
- + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + +
+ +
+
+ This textarea is used to override the default roll template output, send api commands with the roll, or include any other chat messages you want sent at the same time as the roll. The first line of the textarea is included with the roll template, while any other lines are sent as independent chat messages. +
+ ? +
+
@@ -4523,11 +4691,17 @@ This pattern can be found at https://regexr.com/3mi9v - - - - - + + +
+ +
+
+ This textarea is used to override the default roll template output, send api commands with the roll, or include any other chat messages you want sent at the same time as the roll. The first line of the textarea is included with the roll template, while any other lines are sent as independent chat messages. +
+ ? +
+
@@ -4564,10 +4738,261 @@ This pattern can be found at https://regexr.com/3mi9v REACH +
+ SPELL-LIKE ABILITIES + ( + CL + + MELEE + + RANGED + + ) +
+
SPELLS KNOWN - (CL + ( + CL + MELEE + + RANGED + )
@@ -4614,7 +5039,17 @@ This pattern can be found at https://regexr.com/3mi9v